aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libstdc++/ChangeLog479
-rw-r--r--contrib/libstdc++/ChangeLog-1998942
-rw-r--r--contrib/libstdc++/ChangeLog-19993545
-rw-r--r--contrib/libstdc++/ChangeLog-20005644
-rw-r--r--contrib/libstdc++/ChangeLog-20016067
-rw-r--r--contrib/libstdc++/ChangeLog-20025590
-rw-r--r--contrib/libstdc++/ChangeLog-20038619
-rw-r--r--contrib/libstdc++/ChangeLog-20046707
-rw-r--r--contrib/libstdc++/ChangeLog-20055468
-rw-r--r--contrib/libstdc++/ChangeLog-20065528
-rw-r--r--contrib/libstdc++/Makefile.am118
-rw-r--r--contrib/libstdc++/Makefile.in800
-rw-r--r--contrib/libstdc++/README96
-rw-r--r--contrib/libstdc++/acinclude.m42397
-rw-r--r--contrib/libstdc++/aclocal.m4591
-rw-r--r--contrib/libstdc++/config.h.in1094
-rw-r--r--contrib/libstdc++/config/abi/compatibility.h219
-rw-r--r--contrib/libstdc++/config/abi/post/alpha-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/hppa-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/i386-linux-gnu/baseline_symbols.txt3147
-rw-r--r--contrib/libstdc++/config/abi/post/i486-linux-gnu/baseline_symbols.txt3147
-rw-r--r--contrib/libstdc++/config/abi/post/ia64-linux-gnu/baseline_symbols.txt3147
-rw-r--r--contrib/libstdc++/config/abi/post/mips-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/s390-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/s390x-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/sparc-linux-gnu/baseline_symbols.txt3169
-rw-r--r--contrib/libstdc++/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt3147
-rw-r--r--contrib/libstdc++/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt3147
-rw-r--r--contrib/libstdc++/config/abi/pre/gnu-versioned-namespace.ver202
-rw-r--r--contrib/libstdc++/config/abi/pre/gnu.ver776
-rw-r--r--contrib/libstdc++/config/abi/pre/none.ver7
-rw-r--r--contrib/libstdc++/config/allocator/bitmap_allocator_base.h42
-rw-r--r--contrib/libstdc++/config/allocator/malloc_allocator_base.h42
-rw-r--r--contrib/libstdc++/config/allocator/mt_allocator_base.h42
-rw-r--r--contrib/libstdc++/config/allocator/new_allocator_base.h42
-rw-r--r--contrib/libstdc++/config/allocator/pool_allocator_base.h42
-rw-r--r--contrib/libstdc++/config/cpu/alpha/atomic_word.h38
-rw-r--r--contrib/libstdc++/config/cpu/arm/cxxabi_tweaks.h80
-rw-r--r--contrib/libstdc++/config/cpu/cris/atomic_word.h36
-rw-r--r--contrib/libstdc++/config/cpu/cris/atomicity.h78
-rw-r--r--contrib/libstdc++/config/cpu/generic/atomic_word.h52
-rw-r--r--contrib/libstdc++/config/cpu/generic/atomicity_builtins/atomicity.h50
-rw-r--r--contrib/libstdc++/config/cpu/generic/atomicity_mutex/atomicity.h61
-rw-r--r--contrib/libstdc++/config/cpu/generic/cpu_defines.h38
-rw-r--r--contrib/libstdc++/config/cpu/generic/cxxabi_tweaks.h60
-rw-r--r--contrib/libstdc++/config/cpu/hppa/atomicity.h96
-rw-r--r--contrib/libstdc++/config/cpu/i386/atomicity.h75
-rw-r--r--contrib/libstdc++/config/cpu/i486/atomicity.h54
-rw-r--r--contrib/libstdc++/config/cpu/ia64/atomic_word.h69
-rw-r--r--contrib/libstdc++/config/cpu/m68k/atomicity.h134
-rw-r--r--contrib/libstdc++/config/cpu/mips/atomicity.h86
-rw-r--r--contrib/libstdc++/config/cpu/powerpc/atomic_word.h42
-rw-r--r--contrib/libstdc++/config/cpu/powerpc/cpu_defines.h41
-rw-r--r--contrib/libstdc++/config/cpu/sh/atomicity.h107
-rw-r--r--contrib/libstdc++/config/cpu/sparc/atomic_word.h53
-rw-r--r--contrib/libstdc++/config/cpu/sparc/atomicity.h127
-rw-r--r--contrib/libstdc++/config/io/basic_file_stdio.cc381
-rw-r--r--contrib/libstdc++/config/io/basic_file_stdio.h112
-rw-r--r--contrib/libstdc++/config/io/c_io_stdio.h54
-rw-r--r--contrib/libstdc++/config/locale/darwin/ctype_members.cc171
-rw-r--r--contrib/libstdc++/config/locale/generic/c++locale_internal.h30
-rw-r--r--contrib/libstdc++/config/locale/generic/c_locale.cc180
-rw-r--r--contrib/libstdc++/config/locale/generic/c_locale.h97
-rw-r--r--contrib/libstdc++/config/locale/generic/codecvt_members.cc218
-rw-r--r--contrib/libstdc++/config/locale/generic/collate_members.cc73
-rw-r--r--contrib/libstdc++/config/locale/generic/ctype_members.cc268
-rw-r--r--contrib/libstdc++/config/locale/generic/messages_members.cc53
-rw-r--r--contrib/libstdc++/config/locale/generic/messages_members.h93
-rw-r--r--contrib/libstdc++/config/locale/generic/monetary_members.cc172
-rw-r--r--contrib/libstdc++/config/locale/generic/numeric_members.cc108
-rw-r--r--contrib/libstdc++/config/locale/generic/time_members.cc205
-rw-r--r--contrib/libstdc++/config/locale/generic/time_members.h88
-rw-r--r--contrib/libstdc++/config/locale/gnu/c++locale_internal.h64
-rw-r--r--contrib/libstdc++/config/locale/gnu/c_locale.cc150
-rw-r--r--contrib/libstdc++/config/locale/gnu/c_locale.h112
-rw-r--r--contrib/libstdc++/config/locale/gnu/codecvt_members.cc307
-rw-r--r--contrib/libstdc++/config/locale/gnu/collate_members.cc74
-rw-r--r--contrib/libstdc++/config/locale/gnu/ctype_members.cc304
-rw-r--r--contrib/libstdc++/config/locale/gnu/messages_members.cc82
-rw-r--r--contrib/libstdc++/config/locale/gnu/messages_members.h116
-rw-r--r--contrib/libstdc++/config/locale/gnu/monetary_members.cc656
-rw-r--r--contrib/libstdc++/config/locale/gnu/numeric_members.cc152
-rw-r--r--contrib/libstdc++/config/locale/gnu/time_members.cc396
-rw-r--r--contrib/libstdc++/config/locale/gnu/time_members.h85
-rw-r--r--contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.cc112
-rw-r--r--contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.h51
-rw-r--r--contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.cc61
-rw-r--r--contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.h77
-rw-r--r--contrib/libstdc++/config/os/aix/atomic_word.h43
-rw-r--r--contrib/libstdc++/config/os/aix/atomicity.h58
-rw-r--r--contrib/libstdc++/config/os/aix/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/aix/ctype_inline.h76
-rw-r--r--contrib/libstdc++/config/os/aix/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/aix/os_defines.h56
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ctype_base.h76
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h152
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h96
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/os_defines.h47
-rw-r--r--contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver1
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h79
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h152
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h96
-rw-r--r--contrib/libstdc++/config/os/bsd/freebsd/os_defines.h44
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h63
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h80
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h98
-rw-r--r--contrib/libstdc++/config/os/bsd/netbsd/os_defines.h38
-rw-r--r--contrib/libstdc++/config/os/djgpp/ctype_base.h59
-rw-r--r--contrib/libstdc++/config/os/djgpp/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/djgpp/ctype_noninline.h96
-rw-r--r--contrib/libstdc++/config/os/djgpp/os_defines.h45
-rw-r--r--contrib/libstdc++/config/os/generic/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/generic/ctype_inline.h170
-rw-r--r--contrib/libstdc++/config/os/generic/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/generic/os_defines.h41
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ctype_base.h66
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h164
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver26
-rw-r--r--contrib/libstdc++/config/os/gnu-linux/os_defines.h51
-rw-r--r--contrib/libstdc++/config/os/hpux/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/hpux/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/hpux/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/hpux/os_defines.h100
-rw-r--r--contrib/libstdc++/config/os/irix/atomic_word.h35
-rw-r--r--contrib/libstdc++/config/os/irix/atomicity.h43
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h76
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h98
-rw-r--r--contrib/libstdc++/config/os/irix/irix5.2/os_defines.h51
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h76
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h99
-rw-r--r--contrib/libstdc++/config/os/irix/irix6.5/os_defines.h54
-rw-r--r--contrib/libstdc++/config/os/mingw32/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/mingw32/ctype_inline.h77
-rw-r--r--contrib/libstdc++/config/os/mingw32/ctype_noninline.h104
-rw-r--r--contrib/libstdc++/config/os/mingw32/os_defines.h55
-rw-r--r--contrib/libstdc++/config/os/newlib/ctype_base.h62
-rw-r--r--contrib/libstdc++/config/os/newlib/ctype_inline.h76
-rw-r--r--contrib/libstdc++/config/os/newlib/ctype_noninline.h103
-rw-r--r--contrib/libstdc++/config/os/newlib/os_defines.h48
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h76
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h94
-rw-r--r--contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h36
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h96
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h36
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h61
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h85
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h96
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h36
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h62
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h37
-rw-r--r--contrib/libstdc++/config/os/tpf/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/tpf/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/tpf/ctype_noninline.h108
-rw-r--r--contrib/libstdc++/config/os/tpf/os_defines.h50
-rw-r--r--contrib/libstdc++/config/os/uclibc/ctype_base.h68
-rw-r--r--contrib/libstdc++/config/os/uclibc/ctype_inline.h78
-rw-r--r--contrib/libstdc++/config/os/uclibc/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/uclibc/os_defines.h49
-rw-r--r--contrib/libstdc++/config/os/vxworks/ctype_base.h61
-rw-r--r--contrib/libstdc++/config/os/vxworks/ctype_inline.h80
-rw-r--r--contrib/libstdc++/config/os/vxworks/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/vxworks/os_defines.h41
-rw-r--r--contrib/libstdc++/config/os/windiss/ctype_base.h60
-rw-r--r--contrib/libstdc++/config/os/windiss/ctype_inline.h134
-rw-r--r--contrib/libstdc++/config/os/windiss/ctype_noninline.h97
-rw-r--r--contrib/libstdc++/config/os/windiss/os_defines.h42
-rwxr-xr-xcontrib/libstdc++/configure111817
-rw-r--r--contrib/libstdc++/configure.ac407
-rw-r--r--contrib/libstdc++/configure.host312
-rw-r--r--contrib/libstdc++/crossconfig.m4418
-rw-r--r--contrib/libstdc++/fragment.am25
-rw-r--r--contrib/libstdc++/include/Makefile.am1211
-rw-r--r--contrib/libstdc++/include/Makefile.in1582
-rw-r--r--contrib/libstdc++/include/backward/algo.h145
-rw-r--r--contrib/libstdc++/include/backward/algobase.h91
-rw-r--r--contrib/libstdc++/include/backward/alloc.h52
-rw-r--r--contrib/libstdc++/include/backward/backward_warning.h39
-rw-r--r--contrib/libstdc++/include/backward/bvector.h64
-rw-r--r--contrib/libstdc++/include/backward/complex.h39
-rw-r--r--contrib/libstdc++/include/backward/defalloc.h117
-rw-r--r--contrib/libstdc++/include/backward/deque.h66
-rw-r--r--contrib/libstdc++/include/backward/fstream.h48
-rw-r--r--contrib/libstdc++/include/backward/function.h126
-rw-r--r--contrib/libstdc++/include/backward/hash_map.h68
-rw-r--r--contrib/libstdc++/include/backward/hash_set.h69
-rw-r--r--contrib/libstdc++/include/backward/hashtable.h72
-rw-r--r--contrib/libstdc++/include/backward/heap.h67
-rw-r--r--contrib/libstdc++/include/backward/iomanip.h66
-rw-r--r--contrib/libstdc++/include/backward/iostream.h56
-rw-r--r--contrib/libstdc++/include/backward/istream.h34
-rw-r--r--contrib/libstdc++/include/backward/iterator.h187
-rw-r--r--contrib/libstdc++/include/backward/list.h66
-rw-r--r--contrib/libstdc++/include/backward/map.h65
-rw-r--r--contrib/libstdc++/include/backward/multimap.h65
-rw-r--r--contrib/libstdc++/include/backward/multiset.h65
-rw-r--r--contrib/libstdc++/include/backward/new.h42
-rw-r--r--contrib/libstdc++/include/backward/ostream.h34
-rw-r--r--contrib/libstdc++/include/backward/pair.h66
-rw-r--r--contrib/libstdc++/include/backward/queue.h37
-rw-r--r--contrib/libstdc++/include/backward/rope.h56
-rw-r--r--contrib/libstdc++/include/backward/set.h65
-rw-r--r--contrib/libstdc++/include/backward/slist.h52
-rw-r--r--contrib/libstdc++/include/backward/stack.h68
-rw-r--r--contrib/libstdc++/include/backward/stream.h34
-rw-r--r--contrib/libstdc++/include/backward/streambuf.h36
-rw-r--r--contrib/libstdc++/include/backward/strstream181
-rw-r--r--contrib/libstdc++/include/backward/tempbuf.h74
-rw-r--r--contrib/libstdc++/include/backward/tree.h52
-rw-r--r--contrib/libstdc++/include/backward/vector.h66
-rw-r--r--contrib/libstdc++/include/bits/allocator.h163
-rw-r--r--contrib/libstdc++/include/bits/basic_ios.h468
-rw-r--r--contrib/libstdc++/include/bits/basic_ios.tcc202
-rw-r--r--contrib/libstdc++/include/bits/basic_string.h2467
-rw-r--r--contrib/libstdc++/include/bits/basic_string.tcc1012
-rw-r--r--contrib/libstdc++/include/bits/boost_concept_check.h933
-rw-r--r--contrib/libstdc++/include/bits/c++config206
-rw-r--r--contrib/libstdc++/include/bits/char_traits.h367
-rw-r--r--contrib/libstdc++/include/bits/codecvt.h474
-rw-r--r--contrib/libstdc++/include/bits/concept_check.h85
-rw-r--r--contrib/libstdc++/include/bits/cpp_type_traits.h414
-rw-r--r--contrib/libstdc++/include/bits/deque.tcc778
-rw-r--r--contrib/libstdc++/include/bits/fstream.tcc910
-rw-r--r--contrib/libstdc++/include/bits/functexcept.h95
-rw-r--r--contrib/libstdc++/include/bits/gslice.h170
-rw-r--r--contrib/libstdc++/include/bits/gslice_array.h214
-rw-r--r--contrib/libstdc++/include/bits/indirect_array.h208
-rw-r--r--contrib/libstdc++/include/bits/ios_base.h968
-rw-r--r--contrib/libstdc++/include/bits/istream.tcc1047
-rw-r--r--contrib/libstdc++/include/bits/list.tcc385
-rw-r--r--contrib/libstdc++/include/bits/locale_classes.h582
-rw-r--r--contrib/libstdc++/include/bits/locale_facets.h4689
-rw-r--r--contrib/libstdc++/include/bits/locale_facets.tcc2891
-rw-r--r--contrib/libstdc++/include/bits/localefwd.h197
-rw-r--r--contrib/libstdc++/include/bits/mask_array.h204
-rw-r--r--contrib/libstdc++/include/bits/ostream.tcc374
-rw-r--r--contrib/libstdc++/include/bits/ostream_insert.h126
-rw-r--r--contrib/libstdc++/include/bits/postypes.h217
-rw-r--r--contrib/libstdc++/include/bits/slice_array.h269
-rw-r--r--contrib/libstdc++/include/bits/sstream.tcc279
-rw-r--r--contrib/libstdc++/include/bits/stl_algo.h5504
-rw-r--r--contrib/libstdc++/include/bits/stl_algobase.h935
-rw-r--r--contrib/libstdc++/include/bits/stl_bvector.h1023
-rw-r--r--contrib/libstdc++/include/bits/stl_construct.h188
-rw-r--r--contrib/libstdc++/include/bits/stl_deque.h1620
-rw-r--r--contrib/libstdc++/include/bits/stl_function.h755
-rw-r--r--contrib/libstdc++/include/bits/stl_heap.h463
-rw-r--r--contrib/libstdc++/include/bits/stl_iterator.h827
-rw-r--r--contrib/libstdc++/include/bits/stl_iterator_base_funcs.h182
-rw-r--r--contrib/libstdc++/include/bits/stl_iterator_base_types.h170
-rw-r--r--contrib/libstdc++/include/bits/stl_list.h1273
-rw-r--r--contrib/libstdc++/include/bits/stl_map.h740
-rw-r--r--contrib/libstdc++/include/bits/stl_multimap.h670
-rw-r--r--contrib/libstdc++/include/bits/stl_multiset.h565
-rw-r--r--contrib/libstdc++/include/bits/stl_numeric.h339
-rw-r--r--contrib/libstdc++/include/bits/stl_pair.h149
-rw-r--r--contrib/libstdc++/include/bits/stl_queue.h443
-rw-r--r--contrib/libstdc++/include/bits/stl_raw_storage_iter.h110
-rw-r--r--contrib/libstdc++/include/bits/stl_relops.h138
-rw-r--r--contrib/libstdc++/include/bits/stl_set.h578
-rw-r--r--contrib/libstdc++/include/bits/stl_stack.h261
-rw-r--r--contrib/libstdc++/include/bits/stl_tempbuf.h172
-rw-r--r--contrib/libstdc++/include/bits/stl_tree.h1576
-rw-r--r--contrib/libstdc++/include/bits/stl_uninitialized.h392
-rw-r--r--contrib/libstdc++/include/bits/stl_vector.h1006
-rw-r--r--contrib/libstdc++/include/bits/stream_iterator.h216
-rw-r--r--contrib/libstdc++/include/bits/streambuf.tcc179
-rw-r--r--contrib/libstdc++/include/bits/streambuf_iterator.h400
-rw-r--r--contrib/libstdc++/include/bits/stringfwd.h70
-rw-r--r--contrib/libstdc++/include/bits/valarray_after.h554
-rw-r--r--contrib/libstdc++/include/bits/valarray_array.h704
-rw-r--r--contrib/libstdc++/include/bits/valarray_array.tcc246
-rw-r--r--contrib/libstdc++/include/bits/valarray_before.h735
-rw-r--r--contrib/libstdc++/include/bits/vector.tcc496
-rw-r--r--contrib/libstdc++/include/c/std_cassert.h38
-rw-r--r--contrib/libstdc++/include/c/std_cctype.h41
-rw-r--r--contrib/libstdc++/include/c/std_cerrno.h55
-rw-r--r--contrib/libstdc++/include/c/std_cfloat.h41
-rw-r--r--contrib/libstdc++/include/c/std_ciso646.h37
-rw-r--r--contrib/libstdc++/include/c/std_climits.h41
-rw-r--r--contrib/libstdc++/include/c/std_clocale.h41
-rw-r--r--contrib/libstdc++/include/c/std_cmath.h124
-rw-r--r--contrib/libstdc++/include/c/std_csetjmp.h49
-rw-r--r--contrib/libstdc++/include/c/std_csignal.h41
-rw-r--r--contrib/libstdc++/include/c/std_cstdarg.h42
-rw-r--r--contrib/libstdc++/include/c/std_cstddef.h45
-rw-r--r--contrib/libstdc++/include/c/std_cstdio.h84
-rw-r--r--contrib/libstdc++/include/c/std_cstdlib.h41
-rw-r--r--contrib/libstdc++/include/c/std_cstring.h41
-rw-r--r--contrib/libstdc++/include/c/std_ctime.h41
-rw-r--r--contrib/libstdc++/include/c/std_cwchar.h62
-rw-r--r--contrib/libstdc++/include/c/std_cwctype.h45
-rw-r--r--contrib/libstdc++/include/c_compatibility/assert.h30
-rw-r--r--contrib/libstdc++/include/c_compatibility/ctype.h49
-rw-r--r--contrib/libstdc++/include/c_compatibility/errno.h35
-rw-r--r--contrib/libstdc++/include/c_compatibility/float.h35
-rw-r--r--contrib/libstdc++/include/c_compatibility/iso646.h35
-rw-r--r--contrib/libstdc++/include/c_compatibility/limits.h35
-rw-r--r--contrib/libstdc++/include/c_compatibility/locale.h39
-rw-r--r--contrib/libstdc++/include/c_compatibility/math.h74
-rw-r--r--contrib/libstdc++/include/c_compatibility/setjmp.h38
-rw-r--r--contrib/libstdc++/include/c_compatibility/signal.h40
-rw-r--r--contrib/libstdc++/include/c_compatibility/stdarg.h37
-rw-r--r--contrib/libstdc++/include/c_compatibility/stddef.h38
-rw-r--r--contrib/libstdc++/include/c_compatibility/stdio.h85
-rw-r--r--contrib/libstdc++/include/c_compatibility/stdlib.h67
-rw-r--r--contrib/libstdc++/include/c_compatibility/string.h58
-rw-r--r--contrib/libstdc++/include/c_compatibility/time.h60
-rw-r--r--contrib/libstdc++/include/c_compatibility/wchar.h114
-rw-r--r--contrib/libstdc++/include/c_compatibility/wctype.h55
-rw-r--r--contrib/libstdc++/include/c_std/cmath.tcc59
-rw-r--r--contrib/libstdc++/include/c_std/std_cassert.h49
-rw-r--r--contrib/libstdc++/include/c_std/std_cctype.h86
-rw-r--r--contrib/libstdc++/include/c_std/std_cerrno.h57
-rw-r--r--contrib/libstdc++/include/c_std/std_cfloat.h52
-rw-r--r--contrib/libstdc++/include/c_std/std_ciso646.h38
-rw-r--r--contrib/libstdc++/include/c_std/std_climits.h52
-rw-r--r--contrib/libstdc++/include/c_std/std_clocale.h65
-rw-r--r--contrib/libstdc++/include/c_std/std_cmath.h602
-rw-r--r--contrib/libstdc++/include/c_std/std_csetjmp.h68
-rw-r--r--contrib/libstdc++/include/c_std/std_csignal.h64
-rw-r--r--contrib/libstdc++/include/c_std/std_cstdarg.h64
-rw-r--r--contrib/libstdc++/include/c_std/std_cstddef.h60
-rw-r--r--contrib/libstdc++/include/c_std/std_cstdio.h189
-rw-r--r--contrib/libstdc++/include/c_std/std_cstdlib.h227
-rw-r--r--contrib/libstdc++/include/c_std/std_cstring.h130
-rw-r--r--contrib/libstdc++/include/c_std/std_ctime.h82
-rw-r--r--contrib/libstdc++/include/c_std/std_cwchar.h280
-rw-r--r--contrib/libstdc++/include/c_std/std_cwctype.h112
-rw-r--r--contrib/libstdc++/include/debug/bitset328
-rw-r--r--contrib/libstdc++/include/debug/debug.h145
-rw-r--r--contrib/libstdc++/include/debug/deque393
-rw-r--r--contrib/libstdc++/include/debug/formatter.h394
-rw-r--r--contrib/libstdc++/include/debug/functions.h293
-rw-r--r--contrib/libstdc++/include/debug/hash_map42
-rw-r--r--contrib/libstdc++/include/debug/hash_map.h284
-rw-r--r--contrib/libstdc++/include/debug/hash_multimap.h268
-rw-r--r--contrib/libstdc++/include/debug/hash_multiset.h243
-rw-r--r--contrib/libstdc++/include/debug/hash_set42
-rw-r--r--contrib/libstdc++/include/debug/hash_set.h259
-rw-r--r--contrib/libstdc++/include/debug/list540
-rw-r--r--contrib/libstdc++/include/debug/macros.h224
-rw-r--r--contrib/libstdc++/include/debug/map42
-rw-r--r--contrib/libstdc++/include/debug/map.h332
-rw-r--r--contrib/libstdc++/include/debug/multimap.h319
-rw-r--r--contrib/libstdc++/include/debug/multiset.h327
-rw-r--r--contrib/libstdc++/include/debug/safe_base.h225
-rw-r--r--contrib/libstdc++/include/debug/safe_iterator.h648
-rw-r--r--contrib/libstdc++/include/debug/safe_iterator.tcc148
-rw-r--r--contrib/libstdc++/include/debug/safe_sequence.h188
-rw-r--r--contrib/libstdc++/include/debug/set42
-rw-r--r--contrib/libstdc++/include/debug/set.h332
-rw-r--r--contrib/libstdc++/include/debug/string1023
-rw-r--r--contrib/libstdc++/include/debug/vector423
-rw-r--r--contrib/libstdc++/include/ext/algorithm527
-rw-r--r--contrib/libstdc++/include/ext/array_allocator.h149
-rw-r--r--contrib/libstdc++/include/ext/atomicity.h118
-rw-r--r--contrib/libstdc++/include/ext/bitmap_allocator.h1140
-rw-r--r--contrib/libstdc++/include/ext/codecvt_specializations.h521
-rw-r--r--contrib/libstdc++/include/ext/concurrence.h225
-rw-r--r--contrib/libstdc++/include/ext/debug_allocator.h128
-rw-r--r--contrib/libstdc++/include/ext/functional428
-rw-r--r--contrib/libstdc++/include/ext/hash_fun.h172
-rw-r--r--contrib/libstdc++/include/ext/hash_map605
-rw-r--r--contrib/libstdc++/include/ext/hash_set574
-rw-r--r--contrib/libstdc++/include/ext/hashtable.h1135
-rw-r--r--contrib/libstdc++/include/ext/iterator118
-rw-r--r--contrib/libstdc++/include/ext/malloc_allocator.h129
-rw-r--r--contrib/libstdc++/include/ext/memory199
-rw-r--r--contrib/libstdc++/include/ext/mt_allocator.h746
-rw-r--r--contrib/libstdc++/include/ext/new_allocator.h125
-rw-r--r--contrib/libstdc++/include/ext/numeric151
-rw-r--r--contrib/libstdc++/include/ext/numeric_traits.h98
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/assoc_container.hpp689
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp179
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp73
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/traits.hpp91
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/basic_types.hpp217
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp503
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp76
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp87
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp224
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp278
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp126
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp188
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp70
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp217
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp142
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp243
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp387
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp62
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp126
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp162
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp152
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp256
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp363
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp158
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp150
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp165
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp78
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp99
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp99
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp252
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp97
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp70
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp220
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp78
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp62
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp259
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp178
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp84
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp122
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp67
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp55
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp240
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp103
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp97
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp198
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp79
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp222
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp238
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp647
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp89
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp123
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp197
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp61
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp62
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp80
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp55
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp59
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp97
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp109
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp107
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp101
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp77
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp47
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp106
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp49
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp76
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp77
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp89
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp94
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp139
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp60
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp60
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp65
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp52
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp78
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/cond_dealtor.hpp131
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp109
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/container_base_dispatch.hpp338
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp74
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp185
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp229
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp59
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp60
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp61
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp77
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp83
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp106
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp91
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp92
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp76
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp52
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp46
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp688
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp64
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp49
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp117
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp124
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp89
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp106
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp143
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp78
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp80
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp80
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp80
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp64
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp64
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp59
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp113
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp114
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp65
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp59
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp365
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp333
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp79
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp83
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp83
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp83
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp168
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp160
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp158
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp147
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp156
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp70
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp181
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp94
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp355
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp129
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp63
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp62
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp101
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp147
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp63
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp66
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp141
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp96
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp63
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp112
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp86
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp365
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp65
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp92
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp57
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp61
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp80
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/map_debug_base.hpp356
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp80
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp279
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp90
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp199
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp66
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp69
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp109
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp303
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp528
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp57
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp143
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp189
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp97
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp59
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp242
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp56
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp107
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp222
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp146
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp99
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp85
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp117
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp220
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp123
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp325
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp275
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/head.hpp130
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp64
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp471
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp609
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp126
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/leaf.hpp177
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_base.hpp134
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp344
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp92
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp526
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp490
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp69
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp109
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp156
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp260
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp99
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp235
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp119
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/traits.hpp356
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp61
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp97
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp106
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp84
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp295
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp45
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp52
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp121
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/node.hpp144
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp286
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp319
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp130
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp94
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp127
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp113
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp160
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp268
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp204
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp87
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp59
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp221
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp96
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp300
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp100
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp165
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp260
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp131
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp145
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp79
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp108
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp80
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp163
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp105
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp45
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp99
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/node.hpp131
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp289
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp304
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp118
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/traits.hpp119
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/standard_policies.hpp163
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp112
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp118
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp302
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp57
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp332
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp132
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp357
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp61
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp122
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp56
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp147
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp78
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/tree_trace_base.hpp215
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp122
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp56
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp189
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp157
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp95
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp78
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp105
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp255
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/type_utils.hpp165
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/types_traits.hpp85
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp135
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp157
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp156
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp149
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/exception.hpp108
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/hash_policy.hpp610
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/list_update_policy.hpp141
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/priority_queue.hpp131
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/tag_and_trait.hpp357
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/tree_policy.hpp168
-rw-r--r--contrib/libstdc++/include/ext/pb_ds/trie_policy.hpp365
-rw-r--r--contrib/libstdc++/include/ext/pod_char_traits.h187
-rw-r--r--contrib/libstdc++/include/ext/pool_allocator.h260
-rw-r--r--contrib/libstdc++/include/ext/rb_tree98
-rw-r--r--contrib/libstdc++/include/ext/rc_string_base.h717
-rw-r--r--contrib/libstdc++/include/ext/rope2913
-rw-r--r--contrib/libstdc++/include/ext/ropeimpl.h1702
-rw-r--r--contrib/libstdc++/include/ext/slist1081
-rw-r--r--contrib/libstdc++/include/ext/sso_string_base.h569
-rw-r--r--contrib/libstdc++/include/ext/stdio_filebuf.h162
-rw-r--r--contrib/libstdc++/include/ext/stdio_sync_filebuf.h283
-rw-r--r--contrib/libstdc++/include/ext/throw_allocator.h437
-rw-r--r--contrib/libstdc++/include/ext/type_traits.h153
-rw-r--r--contrib/libstdc++/include/ext/typelist.h473
-rw-r--r--contrib/libstdc++/include/ext/vstring.h2198
-rw-r--r--contrib/libstdc++/include/ext/vstring.tcc690
-rw-r--r--contrib/libstdc++/include/ext/vstring_fwd.h75
-rw-r--r--contrib/libstdc++/include/ext/vstring_util.h177
-rw-r--r--contrib/libstdc++/include/precompiled/extc++.h65
-rw-r--r--contrib/libstdc++/include/precompiled/stdc++.h86
-rw-r--r--contrib/libstdc++/include/precompiled/stdtr1c++.h58
-rw-r--r--contrib/libstdc++/include/std/std_algorithm.h70
-rw-r--r--contrib/libstdc++/include/std/std_bitset.h1344
-rw-r--r--contrib/libstdc++/include/std/std_complex.h1489
-rw-r--r--contrib/libstdc++/include/std/std_deque.h80
-rw-r--r--contrib/libstdc++/include/std/std_fstream.h808
-rw-r--r--contrib/libstdc++/include/std/std_functional.h57
-rw-r--r--contrib/libstdc++/include/std/std_iomanip.h300
-rw-r--r--contrib/libstdc++/include/std/std_ios.h52
-rw-r--r--contrib/libstdc++/include/std/std_iosfwd.h168
-rw-r--r--contrib/libstdc++/include/std/std_iostream.h81
-rw-r--r--contrib/libstdc++/include/std/std_istream.h848
-rw-r--r--contrib/libstdc++/include/std/std_iterator.h75
-rw-r--r--contrib/libstdc++/include/std/std_limits.h1161
-rw-r--r--contrib/libstdc++/include/std/std_list.h81
-rw-r--r--contrib/libstdc++/include/std/std_locale.h48
-rw-r--r--contrib/libstdc++/include/std/std_map.h73
-rw-r--r--contrib/libstdc++/include/std/std_memory.h374
-rw-r--r--contrib/libstdc++/include/std/std_numeric.h71
-rw-r--r--contrib/libstdc++/include/std/std_ostream.h575
-rw-r--r--contrib/libstdc++/include/std/std_queue.h77
-rw-r--r--contrib/libstdc++/include/std/std_set.h73
-rw-r--r--contrib/libstdc++/include/std/std_sstream.h593
-rw-r--r--contrib/libstdc++/include/std/std_stack.h72
-rw-r--r--contrib/libstdc++/include/std/std_stdexcept.h148
-rw-r--r--contrib/libstdc++/include/std/std_streambuf.h823
-rw-r--r--contrib/libstdc++/include/std/std_string.h61
-rw-r--r--contrib/libstdc++/include/std/std_utility.h69
-rw-r--r--contrib/libstdc++/include/std/std_valarray.h1039
-rw-r--r--contrib/libstdc++/include/std/std_vector.h82
-rw-r--r--contrib/libstdc++/include/tr1/array251
-rw-r--r--contrib/libstdc++/include/tr1/bind_iterate.h78
-rw-r--r--contrib/libstdc++/include/tr1/bind_repeat.h192
-rw-r--r--contrib/libstdc++/include/tr1/boost_shared_ptr.h1149
-rw-r--r--contrib/libstdc++/include/tr1/cctype56
-rw-r--r--contrib/libstdc++/include/tr1/cfenv84
-rw-r--r--contrib/libstdc++/include/tr1/cfloat47
-rw-r--r--contrib/libstdc++/include/tr1/cinttypes81
-rw-r--r--contrib/libstdc++/include/tr1/climits51
-rw-r--r--contrib/libstdc++/include/tr1/cmath943
-rw-r--r--contrib/libstdc++/include/tr1/common.h78
-rw-r--r--contrib/libstdc++/include/tr1/complex409
-rw-r--r--contrib/libstdc++/include/tr1/cstdarg39
-rw-r--r--contrib/libstdc++/include/tr1/cstdbool43
-rw-r--r--contrib/libstdc++/include/tr1/cstdint92
-rw-r--r--contrib/libstdc++/include/tr1/cstdio57
-rw-r--r--contrib/libstdc++/include/tr1/cstdlib79
-rw-r--r--contrib/libstdc++/include/tr1/ctgmath39
-rw-r--r--contrib/libstdc++/include/tr1/ctime39
-rw-r--r--contrib/libstdc++/include/tr1/ctype.h39
-rw-r--r--contrib/libstdc++/include/tr1/cwchar72
-rw-r--r--contrib/libstdc++/include/tr1/cwctype57
-rw-r--r--contrib/libstdc++/include/tr1/fenv.h39
-rw-r--r--contrib/libstdc++/include/tr1/float.h39
-rw-r--r--contrib/libstdc++/include/tr1/functional1106
-rw-r--r--contrib/libstdc++/include/tr1/functional_hash.h232
-rw-r--r--contrib/libstdc++/include/tr1/functional_iterate.h922
-rw-r--r--contrib/libstdc++/include/tr1/hashtable1182
-rw-r--r--contrib/libstdc++/include/tr1/hashtable_policy.h903
-rw-r--r--contrib/libstdc++/include/tr1/inttypes.h39
-rw-r--r--contrib/libstdc++/include/tr1/limits.h39
-rw-r--r--contrib/libstdc++/include/tr1/math.h99
-rw-r--r--contrib/libstdc++/include/tr1/memory56
-rw-r--r--contrib/libstdc++/include/tr1/mu_iterate.h52
-rw-r--r--contrib/libstdc++/include/tr1/random2374
-rw-r--r--contrib/libstdc++/include/tr1/random.tcc1547
-rw-r--r--contrib/libstdc++/include/tr1/ref_fwd.h59
-rw-r--r--contrib/libstdc++/include/tr1/ref_wrap_iterate.h44
-rw-r--r--contrib/libstdc++/include/tr1/repeat.h677
-rw-r--r--contrib/libstdc++/include/tr1/stdarg.h39
-rw-r--r--contrib/libstdc++/include/tr1/stdbool.h39
-rw-r--r--contrib/libstdc++/include/tr1/stdint.h39
-rw-r--r--contrib/libstdc++/include/tr1/stdio.h39
-rw-r--r--contrib/libstdc++/include/tr1/stdlib.h56
-rw-r--r--contrib/libstdc++/include/tr1/tgmath.h39
-rw-r--r--contrib/libstdc++/include/tr1/tuple161
-rw-r--r--contrib/libstdc++/include/tr1/tuple_defs.h114
-rw-r--r--contrib/libstdc++/include/tr1/tuple_iterate.h172
-rw-r--r--contrib/libstdc++/include/tr1/type_traits703
-rw-r--r--contrib/libstdc++/include/tr1/type_traits_fwd.h226
-rw-r--r--contrib/libstdc++/include/tr1/unordered_map168
-rw-r--r--contrib/libstdc++/include/tr1/unordered_set166
-rw-r--r--contrib/libstdc++/include/tr1/utility102
-rw-r--r--contrib/libstdc++/include/tr1/wchar.h39
-rw-r--r--contrib/libstdc++/include/tr1/wctype.h39
-rw-r--r--contrib/libstdc++/libmath/Makefile.am41
-rw-r--r--contrib/libstdc++/libmath/Makefile.in492
-rw-r--r--contrib/libstdc++/libmath/copysignf.c39
-rw-r--r--contrib/libstdc++/libmath/mathconf.h309
-rw-r--r--contrib/libstdc++/libmath/signbit.c41
-rw-r--r--contrib/libstdc++/libmath/signbitf.c41
-rw-r--r--contrib/libstdc++/libmath/signbitl.c48
-rw-r--r--contrib/libstdc++/libmath/stubs.c455
-rw-r--r--contrib/libstdc++/libsupc++/Makefile.am171
-rw-r--r--contrib/libstdc++/libsupc++/Makefile.in731
-rw-r--r--contrib/libstdc++/libsupc++/cxxabi.h537
-rw-r--r--contrib/libstdc++/libsupc++/del_op.cc50
-rw-r--r--contrib/libstdc++/libsupc++/del_opnt.cc41
-rw-r--r--contrib/libstdc++/libsupc++/del_opv.cc38
-rw-r--r--contrib/libstdc++/libsupc++/del_opvnt.cc38
-rw-r--r--contrib/libstdc++/libsupc++/eh_alloc.cc166
-rw-r--r--contrib/libstdc++/libsupc++/eh_arm.cc170
-rw-r--r--contrib/libstdc++/libsupc++/eh_aux_runtime.cc56
-rw-r--r--contrib/libstdc++/libsupc++/eh_call.cc161
-rw-r--r--contrib/libstdc++/libsupc++/eh_catch.cc143
-rw-r--r--contrib/libstdc++/libsupc++/eh_exception.cc53
-rw-r--r--contrib/libstdc++/libsupc++/eh_globals.cc162
-rw-r--r--contrib/libstdc++/libsupc++/eh_personality.cc759
-rw-r--r--contrib/libstdc++/libsupc++/eh_term_handler.cc51
-rw-r--r--contrib/libstdc++/libsupc++/eh_terminate.cc83
-rw-r--r--contrib/libstdc++/libsupc++/eh_throw.cc110
-rw-r--r--contrib/libstdc++/libsupc++/eh_type.cc51
-rw-r--r--contrib/libstdc++/libsupc++/eh_unex_handler.cc34
-rw-r--r--contrib/libstdc++/libsupc++/exception135
-rw-r--r--contrib/libstdc++/libsupc++/exception_defines.h51
-rw-r--r--contrib/libstdc++/libsupc++/guard.cc201
-rw-r--r--contrib/libstdc++/libsupc++/new116
-rw-r--r--contrib/libstdc++/libsupc++/new_handler.cc54
-rw-r--r--contrib/libstdc++/libsupc++/new_op.cc72
-rw-r--r--contrib/libstdc++/libsupc++/new_opnt.cc67
-rw-r--r--contrib/libstdc++/libsupc++/new_opv.cc38
-rw-r--r--contrib/libstdc++/libsupc++/new_opvnt.cc38
-rw-r--r--contrib/libstdc++/libsupc++/pure.cc56
-rw-r--r--contrib/libstdc++/libsupc++/tinfo.cc756
-rw-r--r--contrib/libstdc++/libsupc++/tinfo.h36
-rw-r--r--contrib/libstdc++/libsupc++/tinfo2.cc167
-rw-r--r--contrib/libstdc++/libsupc++/typeinfo169
-rw-r--r--contrib/libstdc++/libsupc++/unwind-cxx.h253
-rw-r--r--contrib/libstdc++/libsupc++/vec.cc512
-rw-r--r--contrib/libstdc++/libsupc++/vterminate.cc103
-rw-r--r--contrib/libstdc++/linkage.m4542
-rwxr-xr-xcontrib/libstdc++/scripts/check_performance93
-rwxr-xr-xcontrib/libstdc++/scripts/create_testsuite_files54
-rwxr-xr-xcontrib/libstdc++/scripts/extract_symvers67
-rw-r--r--contrib/libstdc++/scripts/gen_bind_includers.pl30
-rw-r--r--contrib/libstdc++/scripts/gen_includers.pl126
-rw-r--r--contrib/libstdc++/scripts/gen_includers2.pl31
-rw-r--r--contrib/libstdc++/scripts/make_exports.pl144
-rwxr-xr-xcontrib/libstdc++/scripts/make_graph.py576
-rwxr-xr-xcontrib/libstdc++/scripts/make_graphs.py160
-rwxr-xr-xcontrib/libstdc++/scripts/testsuite_flags.in69
-rw-r--r--contrib/libstdc++/src/Makefile.am291
-rw-r--r--contrib/libstdc++/src/Makefile.in804
-rw-r--r--contrib/libstdc++/src/allocator-inst.cc42
-rw-r--r--contrib/libstdc++/src/bitmap_allocator.cc126
-rw-r--r--contrib/libstdc++/src/codecvt.cc153
-rw-r--r--contrib/libstdc++/src/compatibility-ldbl.cc73
-rw-r--r--contrib/libstdc++/src/compatibility.cc528
-rw-r--r--contrib/libstdc++/src/complex_io.cc111
-rw-r--r--contrib/libstdc++/src/concept-inst.cc113
-rw-r--r--contrib/libstdc++/src/ctype.cc114
-rw-r--r--contrib/libstdc++/src/debug.cc692
-rw-r--r--contrib/libstdc++/src/debug_list.cc33
-rw-r--r--contrib/libstdc++/src/ext-inst.cc68
-rw-r--r--contrib/libstdc++/src/fstream-inst.cc51
-rw-r--r--contrib/libstdc++/src/functexcept.cc159
-rw-r--r--contrib/libstdc++/src/globals_io.cc110
-rw-r--r--contrib/libstdc++/src/ios-inst.cc45
-rw-r--r--contrib/libstdc++/src/ios.cc194
-rw-r--r--contrib/libstdc++/src/ios_failure.cc49
-rw-r--r--contrib/libstdc++/src/ios_init.cc203
-rw-r--r--contrib/libstdc++/src/ios_locale.cc61
-rw-r--r--contrib/libstdc++/src/iostream-inst.cc49
-rw-r--r--contrib/libstdc++/src/istream-inst.cc113
-rw-r--r--contrib/libstdc++/src/istream.cc647
-rw-r--r--contrib/libstdc++/src/limits.cc481
-rw-r--r--contrib/libstdc++/src/list.cc141
-rw-r--r--contrib/libstdc++/src/locale-inst.cc363
-rw-r--r--contrib/libstdc++/src/locale.cc440
-rw-r--r--contrib/libstdc++/src/locale_facets.cc94
-rw-r--r--contrib/libstdc++/src/locale_init.cc460
-rw-r--r--contrib/libstdc++/src/localename.cc313
-rw-r--r--contrib/libstdc++/src/misc-inst.cc81
-rw-r--r--contrib/libstdc++/src/mt_allocator.cc804
-rw-r--r--contrib/libstdc++/src/ostream-inst.cc116
-rw-r--r--contrib/libstdc++/src/pool_allocator.cc174
-rw-r--r--contrib/libstdc++/src/sstream-inst.cc51
-rw-r--r--contrib/libstdc++/src/stdexcept.cc79
-rw-r--r--contrib/libstdc++/src/streambuf-inst.cc66
-rw-r--r--contrib/libstdc++/src/streambuf.cc118
-rw-r--r--contrib/libstdc++/src/string-inst.cc88
-rw-r--r--contrib/libstdc++/src/strstream.cc419
-rw-r--r--contrib/libstdc++/src/tree.cc436
-rw-r--r--contrib/libstdc++/src/valarray-inst.cc116
-rw-r--r--contrib/libstdc++/src/wlocale-inst.cc81
-rw-r--r--contrib/libstdc++/src/wstring-inst.cc39
853 files changed, 0 insertions, 393609 deletions
diff --git a/contrib/libstdc++/ChangeLog b/contrib/libstdc++/ChangeLog
deleted file mode 100644
index 2236fe957842..000000000000
--- a/contrib/libstdc++/ChangeLog
+++ /dev/null
@@ -1,479 +0,0 @@
-2008-05-19 Release Manager
-
- * GCC 4.2.4 released.
-
-2008-03-13 David Edelsohn <edelsohn@gnu.org>
-
- Backport from mainline:
- 2008-01-26 David Edelsohn <edelsohn@gnu.org>
-
- PR target/34794
- * config/os/aix/os_defines.h: Define __COMPATMATH__.
-
-2008-02-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/27_io/fpos/14320-1.cc: Check for "long long" and
- remove XFAIL.
-
-2008-02-01 Release Manager
-
- * GCC 4.2.3 released.
-
-2008-01-06 Ted Phelps <phelps@gnusto.com>
-
- PR c++/34152
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Check
- _GLIBCXX_HAVE_GETIPINFO instead of HAVE_GETIPINFO.
-
-2008-01-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/34680
-
- Revert:
- 2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
- * include/bits/locale_facets.tcc (has_facet, use_facet): Simplify
- RTTI checks.
-
- 2007-12-14 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/30127
- PR libstdc++/34449
- * include/bits/locale_facets.tcc (use_facet): Check facet hierarchy.
- (has_facet): Same.
- * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
- * testsuite/22_locale/global_templates/
- standard_facet_hierarchies.cc: New.
-
-2007-12-17 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/bits/locale_facets.tcc (has_facet, use_facet): Simplify
- RTTI checks.
-
-2007-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/global_templates/
- standard_facet_hierarchies.cc: Fix for generic locale model.
-
-2007-12-14 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/30127
- PR libstdc++/34449
- * include/bits/locale_facets.tcc (use_facet): Check facet hierarchy.
- (has_facet): Same.
- * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: New.
- * testsuite/22_locale/global_templates/
- standard_facet_hierarchies.cc: New.
-
-2007-11-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_put<>::_M_insert_int): When
- ios_base::showpos and the type is signed and the value is zero,
- prepend +.
- * testsuite/22_locale/num_put/put/char/12.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/12.cc: Likewise.
-
-2007-10-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random
- (uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
- result_type, true_type)): Fix small thinko.
-
-2007-10-19 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/33815
- * include/tr1/random
- (uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
- result_type, true_type)): Avoid the modulo (which uses the low-order
- bits).
-
-2007-10-18 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/33807
- * include/bits/allocator.h (operator==(const allocator<_Tp>&,
- const allocator<_Tp>&), operator!=(const allocator<_Tp>&,
- const allocator<_Tp>&)): Add.
- * testsuite/20_util/memory/allocator/33807.cc: New.
-
-2007-10-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * docs/html/Makefile: Follow up to libstdc++/14991, remove target.
-
-2007-10-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * src/valarray-inst.cc, include/ext/atomicity.h,
- include/ext/concurrence.h, include/bits/basic_string.h,
- include/bits/fstream.tcc, include/ext/vstring.h: Fix comment typos.
-
-2007-10-14 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * include/tr1_impl/boost_shared_ptr.h: (__weak_ptr::lock()): Add
- missing template argument.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/
- explicit_instantiation/2.cc: New.
- * testsuite/tr1/2_general_utilities/memory/weak_ptr/
- explicit_instantiation/2.cc: New.
-
-2007-10-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/33734
- * include/ext/codecvt_specializations.h (encoding_state::good,
- init, destroy): Use cast notation instead of reinterpret_cast.
-
-2007-10-07 Release Manager
-
- * GCC 4.2.2 released.
-
-2007-10-06 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/33678
- * libsupc++/typeinfo (typeinfo): Revert ordering of virtual components.
-
-2007-08-28 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/33128
- * include/tr1/random (uniform_int<>::_M_call): Deal with
- __urng() returning negative values.
- * testsuite/tr1/5_numerical_facilities/random/uniform_int/33128.cc:
- New.
-
-2007-08-17 Johannes Willkomm <willkomm@sc.rwth-aachen.de>
-
- PR libstdc++/33084
- * include/std/valarray (operator _Op(const _Tp&,
- const valarray<>&)): Fix typo.
- * testsuite/26_numerics/numeric_arrays/valarray/33084.cc: New.
-
-2007-07-19 Release Manager
-
- * GCC 4.2.1 released.
-
-2007-07-05 Joerg Richter <joerg.richter@pdv-fs.de>
-
- PR libstdc++/31957
- * include/Makefile.am: Work around an AIX sed oddity.
- * include/Makefile.in: Regenerate.
-
-2007-06-28 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/32509
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Carry out the checks
- involving the de_DE locale only if an auto locale config is
- used for a target suitable for the gnu locale model.
- * docs/html/install.html: Update.
- * configure: Regenerated.
-
-2007-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/throw_allocator.h: Fixes for -fno-exceptions.
- * testsuite/util/testsuite_shared.cc: Same.
- * testsuite/util/io/illegal_input_error.hpp: Same.
- * testsuite/util/io/verified_cmd_line_input.cc: Same.
-
- * libsupc++/typeinfo (type_info): Correct comment formatting,
- clarify member access and public interface.
- * libsupc++/exception: Less compressed comments.
- * libsupc++/new: Same.
-
-2007-06-08 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/install.html: Adjust consistently with libstdc++/31717.
-
-2007-06-08 Francesco Palagi <palagi@arcetri.astro.it>
-
- * include/std/std_fstream.h: Add Table 92 in comment.
-
-2007-06-06 Benjamin Kosnik <bkoz@redhat.com>
- Frank Mori Hess <frank.hess@nist.gov>
-
- * docs/html/debug.html: Correct link.
-
-2007-05-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/31717
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Re-organize. Sanity check
- gnu locale model requests to make sure it will work for the requested
- target. Add checks for strxfrm_l, strerror_l when in gnu locale,
- and strerror_r everywhere.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
- * config.h.in: Regenerated.
-
-2007-05-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/ostream.tcc: Do not inhibit implicit instantiation
- of __ostream_insert here...
- * include/bits/ostream_insert.h: ... do it here.
-
-2007-05-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/31621
- * acinclude.m4 ([GLIBCXX_CHECK_LINKER_FEATURES]): Use the C compiler.
- * configure: Regenerate.
-
-2007-05-13 Release Manager
-
- * GCC 4.2.0 released.
-
-2007-04-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: vstring bits)
- * include/bits/ostream_insert.h: New.
- * include/Makefile.am: Add.
- * include/ext/vstring.h (operator<<(basic_ostream<>&,
- const __versa_string<>&): Forward to __ostream_insert.
- * include/bits/basic_string.h (operator<<(basic_ostream<>&,
- const string<>&)): Likewise.
- * include/std/std_ostream.h (operator<<(basic_ostream<>&, _CharT),
- operator<<(basic_ostream<char,>&, char), operator<<(basic_ostream<>&,
- const _CharT*), operator<<(basic_ostream<char,>&, const char*)):
- Likewise.
- * include/ext/vstring.tcc (operator<<(basic_ostream<>&,
- const __versa_string<>&)): Remove.
- (class basic_ostream): Remove friend declarations.
- (basic_ostream<>::_M_write(char_type, streamsize),
- _M_insert(const char_type*, streamsize)): Remove.
- * include/bits/ostream.tcc (_M_insert(const char_type*, streamsize)):
- Remove definition.
- (operator<<(basic_ostream<>&, const char*)): Use __ostream_insert.
- * include/ext/vstring_util.h: Include <bits/ostream_insert.h>.
- * include/std/std_string.h: Likewise.
- * config/abi/pre/gnu.ver: Adjust.
- * src/ostream-inst.cc: Add __ostream_insert instantiations.
- * include/Makefile.in: Rebuild.
- * testsuite/ext/vstring/inserters_extractors/char/28277.cc: New.
- * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc: New.
-
-2007-04-07 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/31481
- * include/ext/type_traits.h (__numeric_traits): Move...
- * include/ext/numeric_traits.h: ... here; fix type of
- __max_digits10.
- * include/Makefile.am: Add.
- * include/ext/pb_ds/detail/type_utils.hpp: Include
- <ext/numeric_traits.h> too.
- * include/tr1/random: Likewise.
- * testsuite/ext/type_traits/numeric_traits.cc: Move...
- * testsuite/ext/numeric_traits/numeric_traits.cc: ... here.
- * include/Makefile.in: Regenerate.
- * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc:
- Adjust dg-error line number.
- * testsuite/ext/type_traits/add_unsigned_floating_neg.cc:
- Likewise.
- * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc:
- Likewise.
- * testsuite/ext/type_traits/add_unsigned_integer_neg.cc:
- Likewise.
-
-2007-04-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_map.h (map<>::insert(iterator, const value_type&):
- Uglify parameter.
-
-2007-04-02 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/31401 (vstring bits)
- * include/ext/vstring.tcc (find(const _CharT*, size_type,
- size_type)): Avoid unsigned overflow.
-
-2007-03-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/31401
- * include/bits/basic_string.tcc (find(const _CharT*, size_type,
- size_type)): Avoid unsigned overflow.
- * testsuite/21_strings/basic_string/find/char/4.cc: New.
- * testsuite/21_strings/basic_string/find/wchar_t/4.cc: Likewise.
-
-2007-03-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28080 (partial)
- * include/tr1/random (class random_device): Rework to use simple
- <cstdio> input, do not include <fstream>.
- * include/tr1/random.tcc (all inserters and extractors): Refer
- to ios_base as base class of basic_istream or basic_ostream.
-
-2007-03-05 Joseph Myers <joseph@codesourcery.com>
-
- PR libstdc++/30675
- * testsuite/lib/libstdc++.exp (v3-build_support): Use [transform
- "ar"] and [transform "ranlib"].
-
-2007-03-05 Richard Guenther <rguenther@suse.de>
-
- Backport from mainline:
- 2007-02-27 Richard Guenther <rguenther@suse.de>
-
- * acinclude.m4: Adjust regular expression for ld version extraction.
- * configure: Regenerate.
-
-2007-03-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/31031
- * include/bits/istream.tcc: Inhibit implicit instantiation of
- the _M_insert helpers.
- * include/bits/ostream.tcc: Likewise for _M_extract.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
- 31031.cc: New.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/
- 31031.cc: Likewise.
-
-2007-03-03 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28080 (partial)
- * include/tr1/functional: Split out hash bits to...
- * include/tr1/functional_hash.h: ...here.
- * include/Makefile.am: Add.
- * include/tr1/unordered_set: Include the latter instead.
- * include/tr1/unordered_map: Likewise.
- * include/Makefile.in: Regenerate.
-
- * include/tr1/utility (get(std::pair<>&), get(const std::pair<>&)):
- Mark inline.
-
-2007-02-21 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Compile testglue
- with -fexceptions.
-
-2007-02-07 Hans-Peter Nilsson <hp@axis.com>
-
- PR testsuite/28870
- * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: Use only
- 10000 iterations for simulator targets.
- * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Use only 5
- iterations for simulator targets.
- * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
- * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
- * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
- * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
- * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Ditto.
- * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
- * testsuite/23_containers/set/modifiers/16728.cc: Use only 10
- iterations for simulator targets.
-
-2007-02-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_deque.h (operator<): Qualify call.
-
-2007-02-01 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14493
- * libsupc++/typeinfo (bad_cast::what, bad_typeid::what): Declare.
- * libsupc++/tinfo.cc: Define.
- * libsupc++/exception (bad_exception::what): Declare.
- * libsupc++/eh_exception.cc: Define.
- (exception::what): Adjust, don't use typeid.
- * libsupc++/new (bad_alloc::what): Declare.
- * libsupc++/new_handler.cc: Define.
- * config/abi/pre/gnu.ver: Export the new methods @3.4.9.
- * testsuite/18_support/14493.cc: New.
-
-2007-02-01 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29496
- * include/debug/safe_base.h (_Safe_sequence_base::_M_get_mutex,
- _Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
- New.
- * src/debug.cc: Define the latter.
- (_Safe_sequence_base::_M_detach_all, _M_detach_singular,
- _M_revalidate_singular, _M_swap): Use the mutex.
- (_Safe_iterator_base::_M_attach, _M_detach): Adjust, forward to the
- *_single version.
- * include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach_single,
- _M_invalidate_single): New.
- * include/debug/safe_iterator.tcc: Define.
- (_Safe_iterator<>::_M_invalidate): Adjust, forward to
- _M_invalidate_single.
- * include/debug/safe_sequence.h (_Safe_sequence<>::_M_invalidate_if,
- _M_transfer_iter): Use the mutex, adjust, forward to the *_single
- versions of _M_invalidate and _M_attach.
- * config/abi/pre/gnu.ver (_Safe_sequence_base::_M_get_mutex,
- _Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single):
- Add @GLIBCXX_3.4.9; adjust.
-
-2007-01-27 Steve LoBasso <slobasso@yahoo.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/deque.tcc (deque<>::erase(iterator, iterator)):
- Fix condition.
- * testsuite/23_containers/deque/modifiers/erase/3.cc: New.
-
-2007-01-26 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/30586
- * config/cpu/ia64/atomic_word.h: Just include <bits/cxxabi_tweaks.h>.
- * testsuite/abi/30586.cc: New.
-
-2007-01-26 Benjamin Kosnik <bkoz@redhat.com>
-
- Revert.
- 2006-12-11 Benjamin Kosnik <bkoz@redhat.com>
- PR libstdc++/28125
- * acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
- AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
- * configure: Regenerate.
- * scripts/testsuite_flags.in (cxxflags): Add LIBICONV bits.
-
-2007-01-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/29722 continued
- * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add
- libsupc++ library directory.
- * testsuite/abi/cxx_runtime_only_linkage.cc: Remove hard-coded
- path specification.
-
-2007-01-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29989
- * include/bits/c++config: #undef min and max.
- * include/bits/stl_algobase.h: Remove min and max #undefs.
- * testsuite/18_support/numeric_limits/29989.cc: New.
-
-2007-01-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_valarray.h (valarray<>::cshift): Fix typo.
-
-2007-01-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (fill_n(char*, _Size,
- const signed char&)): Fix signature.
- * testsuite/25_algorithms/fill/3.cc: New.
-
-2007-01-13 John David Anglin <dave.anglin@nrc-cnrc.gc>
-
- * config/cpu/hppa/atomicity.h (__exchange_and_add): Don't use ordered
- store.
- (__atomic_add): Likewise.
-
-2007-01-13 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14991
- * docs/html/17_intro/porting-howto.html ([3]): Mention stdio_filebuf.
- * docs/html/17_intro/porting-howto.xml: Remove.
-
- * docs/html/17_intro/porting-howto.html: Remove spurious end tags
- pointed out by validator.w3.org.
-
-2007-01-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/30416 (continued)
- * include/std/std_valarray.h (valarray<>::shift, valarray<>::cshift):
- Allways return the same variable, thus facilitating NRVO.
-
-2007-01-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/30416
- * include/std/std_valarray.h (valarray<>::shift, valarray<>::cshift):
- Do not segfault when |n| > size.
- * testsuite/26_numerics/valarray/30416.cc: New.
-
-2007-01-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/30365
- * crossconfig.m4 (case *-linux*): Run GLIBCXX_CHECK_LFS.
- * configure: Regenerate.
-
-2007-01-06 Matthias Klose <doko@debian.org>
-
- * include/tr1/random (gamma_distribution): Fix typo in formula.
- * docs/doxygen/user.cfg.in: Use package amsmath.
diff --git a/contrib/libstdc++/ChangeLog-1998 b/contrib/libstdc++/ChangeLog-1998
deleted file mode 100644
index 2549db484838..000000000000
--- a/contrib/libstdc++/ChangeLog-1998
+++ /dev/null
@@ -1,942 +0,0 @@
-1998-12-31 Benjamin Kosnik <bkoz@lunatic.cygnus.com>
-
- * bits/fstream.tcc: Add fstream ctor for cin/cout/etc.
- * bits/std_fstream.h: Ditto.
- * src/stdstreams.cc: Ditto.
-
- * math/cpowl.c: Fix header typo with last change.
-
-1998-12-31 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * COPYING: New file (GPL v 2).
- * LICENSE.STD: Remove.
- * ./*: Change license.
-
-1998-12-30 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/std_streambuf.h (std): Remove static on _M_init.
- * bits/streambuf.tcc (std): Ditto.
-
- * bits/std_fstream.h: Add changes as discussed with Nathan, including
- state_type and codecvt_type members, the allocation of an internal
- buffer, the streamlined codecvt calls, etc.
-
-1998-12-21 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/std_sstream.h: Tweak.
- * bits/fstream.tcc: Remove unused stubs.
- * bits/std_fstream.h: Tweak.
-
-1998-12-17 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/std_streambuf.h: Move _IO_file_flags into basic_filebuf.
- Remove unused _IO_* members, possibly put into filebuf, which may
- need them.
- * bits/std_fstream.h: Add _M_flag.
- * bits/sbuf_iter.h: Tweak.
-
- * bits/std_cstdio.h: Add SEEK_SET, SEEK_END, SEEK_CUR.
- * bits/ios_base.h: Use.
-
- * src/stdstreams.cc: Modify to reflect standard ctors for
- filebuf.
- * src/misc-inst.cc: Ditto.
-
- * bits/os_raw.h: Wrap in std namespace. Model parameters on
- underlying C library calls instead of the underlying unix
- filesystem.
- * src/os_raw.cc (_S_os_open): Use fopen, and compute a mode
- string as per p.659.
- (_S_os_close): Model on fopen.
- (_S_os_read): Model on fread.
- (_S_os_write): Model on fwrite.
- (_S_os_seek): Model on fseek.
-
- * bits/ios_base.h: Tweak.
- * bits/std_iosfwd.h: Wrap libio.h include with extern "C".
- * bits/std_sstream.h: Tweak.
- * bits/sstream.tcc: Remove old, uncalled code.
- * bits/std_fstream.h: Major reconstruction.
- * bits/fstream.tcc: Disable for the time being.
-
-1998-12-11 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/basic_string.h: Fix insert method.
- * stl/bits/stl_iterator.h: Remove previous hack.
- * bits/std_streambuf.h (sbumpc): Correct increment/return oddness.
- * bits/std_sstream.h: Fix more regressions.
- * testsuite/27/27stringbuf.C: Add (almost) complete tests.
-
-1998-12-09 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * bits/basic_string.h: Tweak.
-
- * stl/bits/stl_iterator.h: Specialize iterator_traits for int so
- that string::append can be instantiated. HACK--checkin
- basic_string::iterator class.
-
-1998-12-07 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/std_sstream.h: Tweak.
- * bits/sstream.tcc: Tweak ctors.
-
- FIXME invalid friend defs. . WHERE ARE THEY??
-
- * bits/sbuf_iter.h (istreambuf_iterator::equal): Change to new
- names for basic_streambuf data members.
-
- * bits/std_streambuf.h: Add getloc() initialization bits.
- basic_streambuf(): Initialize with global locale data.
- imbue(): Set _M_init.
-
- * bits/std_streambuf.h(seekoff, seekpos): Complete with invalid
- stream pos == pos_type(off_type(-1)).
- in_avail(): Complete default implementation.
- snextc, sbumpc, sputbackc, sungetc, sputc, setg, xsputn,
- underflow, uflow, xsgetn, showmany, sync: Ditto.
-
- * bits/std_streambuf.h: _M_snextc_helper(): Remove.
-
- * bits/streambuf.tcc (sputbackc): Temporarily remove, need to
- re-populate with in-line member functions that are too big. Add
- initialization for _M_init.
-
-1998-12-03 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/sstream.tcc: Convert _Allocator to _Alloc. Add typedefs
- for basic_string and basic_streambuf. Scope _IO_buf_* pointers to
- streambuf_type.
-
- * src/stdstreams.cc (std): Disable wchar_t instantiations.
-
- * bits/c++config.h (_G_DEPRICATED): Add.
- (_G_USE_WCHAR_T): Add.
- * bits/std_streambuf.h: Radical reconstruction of basic_streambuf.
- Take out _Streambuf_base. Put _IO_FILE data member in basic_filebuf.
- * bits/streambuf.tcc (sputbackc): Remove ctor anti-def, Tweak.
- * bits/std_fstream.h: Add comment for implementation.
- * src/streambuf.cc: Remove.
- * src/Makefile.in: Remove streambuf.lo.
- * src/misc-inst.cc: Tweak.
-
-1998-12-02 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_sstream.h: Add const_cast to rdbuf returns.
- * testsuite/27stringstream.C: Modify.
-
-1998-11-25 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * src/Makefile.in (libstdc___la_OBJECTS): Add streambuf.lo.
- (libstdc___la_SOURCES): Ditto.
-
- * bits/streambuf.tcc: Tweak.
-
- * src/streambuf.cc: New file, add out-of-line definitions for
- _Streambuf_base.
-
- * src/misc-inst.cc: Remove _Streambuf_base instantiations.
- Comment out wchar_t versions of the buffer instantiations, for now.
-
- * bits/std_streambuf.h: Wrap libio.h include with extern "C".
- Remove template wrapper around _Streambuf_base.
- Move IO_* data members into _Streambuf_base.
- Move _Streambuf_base members into streambuf.tcc.
-
- * bits/c++config.h (_G_USE_LIBIO): Enable.
-
-1998-11-02 Nathan Myers <ncm@cantrip.org>
-
- * CHECKLIST: downgrade iterator implementations
- * DESIGN: fill out notes about unimplemented features
-
-1998-10-31 Nathan Myers <ncm@cantrip.org>
-
- * CHECKLIST: itemized list of all interfaces, and status of each.
-
-1998-10-30 Nathan Myers <ncm@cantrip.org>
-
- * RELEASE-NOTES: add notes about optional includes, linking, running
- * src/Makefile.am: handle header installs properly
- * src/Makefile.in: regenerate from new src/Makefile.am
-
-1998-10-30 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * bits/basic_string.h: Revert npos pending ciso646.
- * src/Makefile.am: Revert CXX flags for now.
- * src/Makefile.in: Ditto.
-
-1998-10-30 Brendan Kehoe <brendan@cygnus.com>
-
- * bits/std_sstream.h: Re-order ctors to put base before member
- inits.
-
-1998-10-30 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * stl/bits/std_memory.h: Fix typo.
-
-1998-10-30 Nathan Myers <ncm@cantrip.org>
-
- * src/string[A-Z]+.cc: change back to include "string.cc".
- * src/Makefile.am: revert filename changes. We need a different
- way to keep filenames in std/ from confusing Make.
- * bits/basic_string.h: define _S_max_size right, return it from
- string::max_size(); churn definition of npos again.
- * bits/string.tcc: fix _S_frob_size to avoid uint overflow.
- * bits/ios.cc: remove #ifdef on ios_base locale member initialization
- * BUGS: clear cruft.
- * C++STYLE: Touchup for release.
- * CHECKLIST: Touchup for release.
- * DESIGN: New file.
- * LICENSE.STD: Add requirement to retain copyrights and to provide
- the license with any copies.
- * README: Update for release.
- * TODO: Minor touchup for release.
- * RELEASE-NOTES: prepare for release
-
-1998-10-29 Ulrich Drepper <drepper@cygnus.com>
-
- * src/string[A-Z]+.cc: Include stdstring.cc, not string.cc.
-
- * src/Makefile.am (CXXFLAGS): Define _GNU_SOURCE.
-
- * src/Makefile.am (CXXLINK): New variable. Make sure we don't use
- CXX to generate the shared object.
-
- * src/Makefile.am (headers): Remove duplicated char_traits.h.
-
-1998-10-29 Brendan Kehoe <brendan@cygnus.com>
-
- * bits/basic_string.h (basic_string<>::max_size): Subtract 1, not
- 2, from npos, solving infinite loop problems.
-
-1998-10-29 18:41 Ulrich Drepper <drepper@cygnus.com>
-
- * src/Makefile.am: Add rules to install headers.
-
-1998-10-29 Nathan Myers <ncm@cantrip.org>
-
- * bits/std_ostream.h: Remove #ifdef on operator<< for long double
- * bits/ostream.tcc: Remove #ifdef on operator<< for long double
- * shadow/libio.h:
- * shadow/unistd.h:
- * shadow/bits/wrap_libio.h:
- * shadow/bits/wrap_unistd.h: New files.
-
-1998-10-29 Brendan Kehoe <brendan@cygnus.com>
-
- * bits/ostream.tcc (operator<<): Wrap with #ifdef
- _G_HAVE_LONG_DOUBLE_IO, to match bits/std_ostream.h.
-
-1998-10-29 Ulrich Drepper <drepper@cygnus.com>
-
- * src/Makefile.am: Add temporarily rules to make sure misc-inst.cc
- is not compiled with -fno-implicit-templates in effect.
-
- * src/Makefile.am (EXTRA_SOURCES): Add string.cc and wstring.cc here.
- (libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files.
- * src/stringADDCS.cc: Wrapper around string.cc to define individual
- function.
- * src/stringADDPS.cc: Likewise.
- * src/stringADDSC.cc: Likewise.
- * src/stringADDSP.cc: Likewise.
- * src/stringADDSS.cc: Likewise.
- * src/stringBIST.cc: Likewise.
- * src/stringBOST.cc: Likewise.
- * src/stringCHTR.cc: Likewise.
- * src/stringEQPS.cc: Likewise.
- * src/stringEQSP.cc: Likewise.
- * src/stringEQSS.cc: Likewise.
- * src/stringEXTRA.cc: Likewise.
- * src/stringGEPS.cc: Likewise.
- * src/stringGESP.cc: Likewise.
- * src/stringGESS.cc: Likewise.
- * src/stringGETLI.cc: Likewise.
- * src/stringGTPS.cc: Likewise.
- * src/stringGTSP.cc: Likewise.
- * src/stringGTSS.cc: Likewise.
- * src/stringINSER.cc: Likewise.
- * src/stringLEPS.cc: Likewise.
- * src/stringLESP.cc: Likewise.
- * src/stringLESS.cc: Likewise.
- * src/stringLTPS.cc: Likewise.
- * src/stringLTSP.cc: Likewise.
- * src/stringLTSS.cc: Likewise.
- * src/stringMAIN.cc: Likewise.
- * src/stringNEPS.cc: Likewise.
- * src/stringNESP.cc: Likewise.
- * src/stringNESS.cc: Likewise.
- * src/stringSCOPY.cc: Likewise.
- * src/wstringADDCS.cc: Wrapper around wstring.cc to define individual
- functions.
- * src/wstringADDPS.cc: Likewise.
- * src/wstringADDSC.cc: Likewise.
- * src/wstringADDSP.cc: Likewise.
- * src/wstringADDSS.cc: Likewise.
- * src/wstringBIST.cc: Likewise.
- * src/wstringBOST.cc: Likewise.
- * src/wstringCHTR.cc: Likewise.
- * src/wstringEQPS.cc: Likewise.
- * src/wstringEQSP.cc: Likewise.
- * src/wstringEQSS.cc: Likewise.
- * src/wstringEXTRA.cc: Likewise.
- * src/wstringGEPS.cc: Likewise.
- * src/wstringGESP.cc: Likewise.
- * src/wstringGESS.cc: Likewise.
- * src/wstringGETLI.cc: Likewise.
- * src/wstringGTPS.cc: Likewise.
- * src/wstringGTSP.cc: Likewise.
- * src/wstringGTSS.cc: Likewise.
- * src/wstringINSER.cc: Likewise.
- * src/wstringLEPS.cc: Likewise.
- * src/wstringLESP.cc: Likewise.
- * src/wstringLESS.cc: Likewise.
- * src/wstringLTPS.cc: Likewise.
- * src/wstringLTSP.cc: Likewise.
- * src/wstringLTSS.cc: Likewise.
- * src/wstringMAIN.cc: Likewise.
- * src/wstringNEPS.cc: Likewise.
- * src/wstringNESP.cc: Likewise.
- * src/wstringNESS.cc: Likewise.
- * src/wstringSCOPY.cc: Likewise.
- * src/string.cc: Remove now unneeded #defines now.
-
-1998-10-29 Nathan Myers <ncm@cantrip.org>
-
- * bits/locfacets.tcc: Define num_put::put(... const void*), improve
- integer formatting.
- * bits/ostream.tcc: Delete cruft, rewrite various op<< as members,
- add definitions for double, long double, const void*.
- * bits/std_ostream.h: Move op<<'s back into class ostream,
- define some in-line.
- * bits/string.tcc: fix unnecessary-copying bug in op[], typos in
- string construction from input iterators that Brendan reported.
-
-
-1998-10-28 Brendan Kehoe <brendan@cygnus.com>
-
- * stl/bits/stl_pair.h (op!=, op>, p<=, op>=): Add missing definitions.
-
- * bits/valarray_meta.h (class _Constant): Move declaration to the
- top, so the rest of the file can grok it.
- (_ApplyBinaryFunction::operator[]): Add missing parenthesis.
-
- * bits/std_sstream.h (basic_ostringstream::str): Fix typo of extra
- semicolon.
- (basic_stringstream::str, both instances): Likewise.
-
-1998-10-28 Nathan Myers <ncm@cantrip.org>
-
- * bits/locfacets.h: fix num_put<>::falsename()
- * bits/locfacets.tcc: fix _Format_cache<>::_M_populate bool name init
- * testsuite/27/27octfmt.C, testsuite/27/27octfmt.C: new tests
- * bits/locfacets.tcc: touch up _S_group_digits.
- * src/misc-inst.cc: adjust _S_group_digits insts to match.
-
-1998-10-27 Nathan Myers <ncm@cantrip.org>
-
- * stl/bits/stl_config.h: Turn off long long support, for now.
- * src/locale-inst.cc: Instantiate num_put<> only for
- ostreambuf_iterator, num_get only for istreambuf_iterator.
- * src/misc-inst.cc: Delete duplicate locale-related instantiations,
- add lots of new instantiations for num_put support function templates;
- remove junk about __match_parallel for ostreambuf_iterator.
-
-1998-10-27 Nathan Myers <ncm@cantrip.org>
-
- * bits/locfacets.tcc: Make num_put's digit grouping work.
- * bits/string.tcc: More uglification.
- * src/ios.cc: initialize format cache right
-
-1998-10-26 Nathan Myers <ncm@cantrip.org>
-
- * bits/basic_string.h: Uglify more names.
- * bits/fstream.tcc: Rewrite some filebut output handling.
- * bits/ios_base.h: Cosmetic.
- * bits/locfacets.h: Changes to _Format_cache for support of num_put.
- Also, specialize its default ctor for optimal default case.
- #ifdef out "long long" prototypes for now.
- * bits/locfacets.tcc: Do complete, optimized num_put<>::do_put
- implementation for integer types. (Still needs optimized
- std::copy() applied to ostreambuf_iterator to be optimal.)
- * bits/ostream.tcc: Write operator<< for long, bool types.
- Make other operators<< non-members, per spec. (Many still
- not implemented.) Identify those that fail to create a sentry.
- * bits/sbuf_iter: Cosmetic.
- * bits/std_fstream.h: Add some filebuf members.
- * bits/std_locale.h: Include <limits> for use in bits/locfacets.h
- * bits/std_ostream.h: Make member operators<< global, per spec.
- (Should do the same in std_istream.h.)
- * bits/std_string.h: Include <limits> for use in bits/locfacets.h
- * bits/string.tcc: Uglify names
- * shadow/bits/std_cstdlib.h: Optimize std::div and std::ldiv.
- * src/ios.cc: Specialize _Format_cache<> for char and wchar_t,
- for optimal default behavior.
-
-1998-10-26 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc again.
-
-1998-10-21 Nathan Myers <ncm@cantrip.org>
-
- * src/locale.cc: make ctype operations actually work for glibc
- * CHECKLIST: add a comprehensive (i.e. huge) implementation
- checklist of stdlib facilities. Not filled in yet.
-
-1998-10-20 Nathan Myers <ncm@cantrip.org>
-
- * bits/string.tcc: fix patching NULs on string ends.
-
-1998-10-19 Nathan Myers <ncm@cantrip.org>
-
- * bits/std_iosfwd.h: eliminate "basic_" prefix on streambuf
- iterator forward declarations
- * bits/sbuf_iter.h: eliminate default template argument definitions
- on streambuf iterators (rely on <iosfwd> decls).
- * TODO: add note about lazy facet construction
- * bits/basic_ios.h: hit operator void* again. This should be the
- last time we need to touch it.
- * bits/basic_ios.h: copyfmt now returns *this.
- * bits/basic_string.h: fix npos again. npos cannot be defined as zero.
- * bits/basic_string.h: put back overloaded constructors; adjust
- behavior for default allocator on copy constructor.
- * bits/char_traits.h: make not_eof return correct type.
- * bits/loccore.h: remove call to bits/std_stdexcept.h; subincludes
- cannot be in non-standard headers or we get include loops (bad)
- * bits/loccore.h: delete ifdef'd out workarounds for old compiler bugs.
- * bits/loccore.h: add apparatus to support lazy construction of
- facets.
- * bits/locfacets.tcc: Uglify names in __match_parallel decl.
- * bits/std_ios.h: add include of <typeinfo> to get bad_cast for
- locale use_facet<> failure.
- * bits/std_locale.h: same.
- * bits/std_string.h: same.
- * bits/std_stdexcept.h: change exception member __msg from a
- reference to a regular object.
- * bits/string.tcc: add pasting a NUL on the end of strings after
- each operation. We had already left room for it, but previously
- plugged it only on a call to c_str(), but the WG changed the
- requirement when I wasn't looking. (Can't leave them alone for
- a second without they break something else.)
- * bits/valarray_meta.h: add Gaby's changes from 981018.
- * src/locale.cc: add new type _Bad_use_facet to be thrown on
- failure of use_facet<>().
- * src/stdexcept.cc: remove pragma, remove bkoz's #if 0,
- comment out leftover member definitions
-
-1998-10-16 Ulrich Drepper <drepper@cygnus.com>
-
- * string/Makefile.am: Revert last change.
- * math/Makefile.am: Likewise.
-
-1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/std_sstream.h: Fix typo.
-
-1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * src/Makefile.am (libstdc___la_SOURCES): Add misc-inst.cc.
-
- * bits/std_sstream.h: Add typedefs, member definitions. Clean.
- * bits/std_stdexcept.h: Remove.
-
-1998-10-15 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * src/misc-inst.cc: Tweak again.
-
- * bits/std_sstream.h: Move out-of-line definitions to sstream.tcc.
- * bits/sstream.tcc: New file.
-
-1998-10-15 Ulrich Drepper <drepper@cygnus.com>
-
- * configure.in: Test for machine/param.h, sys/machine.h and fp.h.
- Don't run AC_C_BIGENDIAN if machine/param.h or sys/machine.h are
- available.
-
- * math/mathconf.h: Include sys/machine.h, machine/param.h and fp.h
- if available.
- (INFINITE_P): Use IS_INF macro if available.
-
-1998-10-15 Ulrich Drepper <drepper@cygnus.com>
-
- * math/Makefile.am (EXTRA_LTLIBRARIES): Renamed from
- noinst_LTLIBRARIES.
- * string/Makefile.am: Likewise.
-
-1998-10-15 Ulrich Drepper <drepper@cygnus.com>
-
- * configure.in (AC_CHECK_FUNCS): Add finite, qfinite, fpclass, and
- qfpclass.
- (AC_CHECK_HEADERS): Add machine/endian.h. If no header specifying
- endianess is available run AC_C_BIGENDIAN.
-
- * math/clog10l.c: Add ugly hack around bug in Irix 6.2 header until
- fixincludes is fixed.
- * math/clogl.c: Likewise.
- * math/csqrtl.c: Likewise.
- * math/mycabsl.c: Likewise.
-
- * math/mathconf.h: Include machine/endian.h if possible. If no
- header describing endianess is available rely on WORDS_BIGENDIAN
- macro.
- (FINITE_P, FINITEF_P, FINITEL_P): Use finite functino if available.
- (INFINITE_P, INFINITEF_P, INFINITEL_P): Use fpclass function if
- available.
-
- * src/complex.cc (polar): Don't use sincos on OSF machines.
-
-1998-10-09 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * src/locale-inst.cc: Don't instantiate time_get for
- ostreambuf_iterators as time_get::do_get_weekday and
- time_get::do_get_monthname use __match_parallel, which is illegal
- for ostreambuf_iterators to use, as they don't have operator== or
- operator!=.
- * bits/std_stdexcept.h: Add dtor definitions.
- Use stl/bits/std_stdexcept.h instead of this file?
- * bits/sbuf_iter.h : Tweak.
- * src/misc-inst.cc: Tweak.
-
-1998-10-09 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/std_stdexcept.h: New file.
- * src/stdexcept.cc: Define the following:
- logic_error::what()
- runtime_error::what()
-
- * src/misc-inst.cc: New file.
- * src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc.
- (libstdc___la_OBJECTS): Add misc-inst.lo.
-
- * bits/basic_string.h: Disable non-standard ctor declarations.
- * bits/string.tcc: Disable definitions as well.
- * src/string.cc: Disable <ios> dependencies.
- * bits/sbuf_iter.h (std): Add default to template parameter for
- ostreambuf_iterator and istreambuf_iterator.
- * bits/std_iosfwd.h: Change istreambuf_iterator to
- basic_istreambuf_iterator. Likewise for ostreambuf.
- * bits/locfacets.tcc (__match_parallel): Fix typo.
- * src/ios.cc (imbue): Remove the _G_HAVE_LOCALE guards around
- ios_base::imbue.
- * bits/std_streambuf.h: Define _Streambuf_base::getloc().
- * bits/std_istream.h: Define the following:
- get (basic_streambuf<char_type,_Traits>& __sb, char_type __delim)
- get (char_type* __s, streamsize __n, char_type __delim);
- getline (char_type* __s, streamsize __n, char_type __delim)
- * bits/loccore.h : FIXME friend template code for use_facet.
- Add std_stdexcept.h include so that range_error will be defined.
- Add explicit conversion to string for range_error throws. (HACK?)
-
-1998-10-8 Ulrich Drepper <drepepr@cygnus.com>
-
- * configure.in: Check for sincos, sincosf, and sincosl.
- * src/complex.cc (polar): Use sincos if available.
-
- * bits/c++config.h: Fix hack to get LONG_LONG* definitions on Linux.
- * stl/bits/std_limits.h: Include bits/c++config.h. HACK!!!
-
- * math/clog10.c: Fix typo (FP_INIFITE_P -> INFINITE_P).
-
- * math/cpow.c: Use c_log, not clog.
- * math/cpowf.c: Likewise.
- * math/cpowl.c: Likewise.
-
- * math/cexp.c: Remove unused fpclassify calls. Use FINITE_P instead
- of isfinite call.
-
- * math/mathconf.h (FINITE_P, FINITEF_P, FINITEL_P): Define using
- isfinite macro if it is available.
- (INFINITE_P, INFINITEF_P, INFINITEL_P): Define using isinf macro.
-
- * math/ccosf.c: Use appropriate test macros for this type.
- * math/ccoshf.c: Likewise.
- * math/ccoshl.c: Likewise.
- * math/ccosl.c: Likewise.
- * math/cexpf.c: Likewise.
- * math/cexpl.c: Likewise.
- * math/clog10f.c: Likewise.
- * math/clog10l.c: Likewise.
- * math/clogf.c: Likewise.
- * math/clogl.c: Likewise.
- * math/csinf.c: Likewise.
- * math/csinhf.c: Likewise.
- * math/csinhl.c: Likewise.
- * math/csinl.c: Likewise.
- * math/csqrtf.c: Likewise.
- * math/csqrtl.c: Likewise.
- * math/ctanf.c: Likewise.
- * math/ctanhf.c: Likewise.
- * math/ctanhl.c: Likewise.
- * math/ctanl.c: Likewise.
-
-1998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net>
-
- * bits/basic_ios.h: Fix previous change.
-
-1998-10-06 Benjamin Kosnik <bkoz@bliss.nabi.net>
-
- * bits/basic_ios.h: Add const_cast<basic_ios&>
- (operator void*): As per 5.2.9 p 2, make sure static_cast is
- well-formed.
- * bits/char_traits.h: No _CharT for specialization, change to 0.
- * bits/basic_string.h: As per 9.4.2 p4, initialize with
- constant-initializer.
- * bits/locfacets.tcc: Add template parameter to initialization list.
-
-1998-10-02 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * bits/basic_string.h: Should just be <, not <=.
-
-1998-10-01 Benjamin Kosnik <bkoz@bliss.nabi.net>
-
- * bits/string.tcc (compare): Fix for strings that are similar, but
- not the same length.
-
-1998-09-04 Brendan Kehoe <brendan@cygnus.com>
-
- * bits/c++config.h: For __linux__, define _GNU_SOURCE. This is
- required for us to get LONG_LONG_{MIN,MAX} out of gcc's limits.h.
- We can't check for __GLIBC__ here, since this header can be read
- before any system one (that would lead to features.h) being used.
-
- * stl/bits/stl_config.h (__STL_LONG_LONG): Re-enabled
-
- * stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use
- LONG_LONG_MIN, LONG_LONG_MAX, and ULONG_LONG_MAX.
-
- * stl/bits/stl_config.h: Don't do __STL_LONG_LONG, it uses
- LONGLONG_{MIN,MAX} which I can't find the origin of.
-
-1998-09-03 Brendan Kehoe <brendan@cygnus.com>
-
- * stl/bits/stl_iterator.h: Add extern decl of cin for now; where
- should this come from, if not iostream.h?
- (class istream_iterator): Make the new operator!= a friend also.
-
- * stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T,
- __STL_MEMBER_TEMPLATE_CLASSES, and __STL_LONG_LONG. Don't include
- _G_config.h like the egcs one does.
-
-1998-09-01 Brendan Kehoe <brendan@cygnus.com>
-
- * bits/string.tcc: Call `_M_destroy' instead of `destroy'.
-
- * bits/valarray_meta.h: Throughout, rename _Expr typedefs to be
- _Expr1 (or _Expr_def if it's taken), and change definitions.
- Avoids redecl of the template parm.
-
- * bits/string.tcc (basic_string copy ctor): Fix typo in declaration.
- (operator>>): Initialize __ERROR with ios_base::goodbit, not 0.
-
- * bits/std_streambuf.h (_POSIX_SOURCE): Only define if it's not
- already done.
-
- * src/locale-inst.cc: New file, **TOTAL HACK**. There has GOT to
- be a better way to do this.
-
- * src/stlinst.cc: New file.
-
- * BUGS: New file, with various discovered bugs that need to be
- fixed.
-
- * Makefile.in, math/Makefile.in, string/Makefile.in,
- src/Makefile.in: Reran automake.
-
- Workarounds, these may not all be the final fixes:
-
- * bits/basic_ios.h (class basic_ios): Make _M_strbuf be protected,
- not private, for basic_istream::get() in std_istream.h to be able
- to use it.
- (basic_ios::operator void*): Don't use static_cast for the false
- case.
- (basic_ios::copyfmt): Fix `rhs.except' to be `rhs.exceptions ()'.
- This appears to have been in sep94, but didn't get corrected
- afterwards.
-
- * bits/basic_string.h (npos): Don't init here.
- * bits/string.tcc: Instead, do initialization here, to -1 instead
- of the size_type destructor.
-
- * src/traits.cc, src/wtraits.cc: New files.
- * bits/char_traits.h: For char_traits<char> and
- char_traits<wchar_t>, declare static, but define over in the src
- files.
-
- * bits/gslice.h: Comment out forward decls of _Array, valarray,
- gslice_array, and _GsliceExpression.
-
- * bits/std_cstdio.h [__sparc__ && __svr4__]: #undef all of
- clearerr, feof, ferror, getc, getchar, putc, putchar, stdin,
- stdout, and stderr. Note we do get unresolved refs to stdin, but
- that'll get fixed by the "true" solution.
-
- * bits/std_ios.h: Include <bits/std_streambuf.h> to get the
- definition of basic_streambuf.h, which is used in basic_ios.h to
- call pubimbue.
-
- * bits/std_streambuf.h: Don't include libio.h for now.
- (class basic_streambuf): Define missing methods pubimbue and
- getloc.
-
- * src/Makefile.am (libstdc___la_SOURCES): Add stdexcept.cc,
- ios.cc, os_raw.cc, stdstreams.cc, locale.cc, localename.cc,
- locale-inst.cc, stlinst.cc, traits.cc, wtraits.cc.
-
- * src/ios.cc: Instantiate basic_ios<char> and basic_ios<wchar_t>.
-
- * src/locale.cc: Come up with munged versions of _S_toupper,
- _S_tolower, and _S_table instead of the glibc-specific ones, so
- they're at least defined, if not necessarily usable. The glibc
- ones on any other system will yield unresolved refs to
- __ctype_{b,toupper,tolower}.
-
- * src/string.cc: Define all of ADDCS, ADDPS, et al. Add
- basic_ios, basic_istream, basic_ostream. Don't do char_traits
- anymore cuz of the explicit specialization in char_traits.h.
- Also add _S_string_copy, but this doesn't fix it -- cf the BUGS
- file for the details.
-
- * stl/bits/stl_algobase.h (equal): Fix to do `! (x==y)'.
- * stl/bits/stl_iterator.h (__distance): Likewise.
-
- * stl/bits/stl_iterator.h: As with 8/18 set, define missing op!=,
- op>, op<=, and op>= for reverse_iterator. Also add op!= for
- istream_iterator.
-
-1998-08-26 Brendan Kehoe <brendan@cygnus.com>
-
- * bits/string.tcc (basic_string::compare (const char*)): Fix to
- return 0, not 1.
-
-1998-08-25 Brendan Kehoe <brendan@cygnus.com>
-
- This should really be fixed with __asm__ directives renaming the
- symbol, but keeping the function.
- * math/clogf.c (c_logf): Renamed from `clogf'.
- * math/clogl.c (c_logl): Renamed from `clogl'.
- * math/complex-stub.h (c_logf, c_logl): Change decls.
-
- * bits/locfacets.h (class _Numeric_get): For friend decls, rename
- _CharT and _InIter parms, since they duplicate the enclosing ones.
-
-1998-08-19 Brendan Kehoe <brendan@cygnus.com>
-
- Deal with conflict of the iostreams `clog' and our internal
- complex number `clog'.
- * src/complex.cc: Call `c_log' instead of `clog'.
- * math/clog.c (c_log):: Renamed from clog.
- * math/complex-stub.h (c_log): Renamed from clog decl.
-
- * bits/locfacets.h (class _Numeric_get): Tweak fwd decls of the
- get/put classes.
- (num_put::put): #if 0 long long version, since we don't declare or
- define the long long version of do_put.
-
-1998-08-18 Nathan Myers <ncm@cantrip.org>
-
- * bits/basic_string.h: add basic_string<>::push_back(), fix return
- type of get_allocator (thanks to Ryszard Kabatek).
- * bits/char_traits.h: make init order of fpos<> members
- match decl order.
- * bits/ios_base.h: fix decls of ios_base bitmask & enum types, add
- flags _S_fd_in etc. for special filebuf ctor.
- * bits/locfacets.h: make _Numeric_get and _Format_cache public
- to work around problems in friend declarations.
- * bits/locfacets.tcc: qualify _S_get_cache in num_get<>::get(..bool&),
- fix random type errors & typos
- * bits/std_fstream.h: major refitting to bypass libio (for now),
- instrument to use bits/fstream.tcc template definitions
- * bits/std_iosfwd.h: mess with wrappers
- * bits/std_istream.h: remove meaningless comment
- * bits/std_ostream.h: instrument to work with ostream.tcc.
- * bits/std_streambuf.h: instrument to work with streambuf.tcc
- * bits/fstream.tcc: template defs for <fstream>
- * bits/ostream.tcc: template defs for <ostream>
- * bits/streambuf.tcc: template defs for <streambuf>
- * bits/os_raw.h: thin OS interface wrapper, to bypass libio (for now).
- * Delete .cc files, replace with bits/*.tcc
- src/fstream.cc
- src/istream.cc
- src/ostream.cc
- src/streambuf.cc
- * Add files:
- src/os_raw.cc: thin interface to OS, to bypass libio (for now).
- src/stdstreams.cc: cout, cin, etc. definitions
- (these still need work: must be init'd before user statics.)
-
-
-1998-08-18 Brendan Kehoe <brendan@cygnus.com>
-
- Sent to SGI before checkin:
- * stl/bits/stl_vector.h (operator!=, operator>, operator<=,
- operator>=): Define.
- * stl/bits/stl_bvector.h (vector<bool>::flip): Define method.
- * stl/bits/stl_deque.h (operator!=, operator>, operator<=,
- operator>=): Define.
- (operator==, operator<): Add inline.
- * stl/bits/stl_map.h (operator!=, operator<, operator<=,
- operator>=): Define.
- * stl/bits/stl_multimap.h (operator!=, operator<, operator<=,
- operator>=): Define.
- * stl/bits/stl_list.h (operator!=, operator<, operator<=,
- operator>=): Define.
- * stl/bits/stl_set.h (operator!=, operator<, operator<=,
- operator>=): Define.
- * stl/bits/stl_multiset.h (operator!=, operator<, operator<=,
- operator>=): Define.
-
- * bits/std_valarray.h (_Shift_left, _Shift_right): Inherit from
- unary_function.
-
-1998-08-15 Nathan Myers <ncm@cantrip.org>
-
- * bits/ios_base.h: change nominal bitmask and enum types to real enums
- * bits/locfacets.h: make _Format_cache bool names usable by num_get
- * bits/locfacets.tcc: make num_get<>::get(... bool&) use _Format_cache
- * bits/std_fstream.h: minor cleanups: ctors delegate to open()
- * bits/std_iosfwd.h: more bitmask changes, for ios_base::iostate
- * bits/std_sstream.h: formatting cleanups
-
-1998-08-14 Nathan Myers <ncm@cantrip.org>
-
- * bits/locfacets.tcc: implement num_get<>::do_get(..., bool&)
- * bits/locfacets.tcc: implement time_get<>::do_get_weekday
- * bits/locfacets.tcc: implement time_get<>::do_get_monthname
- * bits/locfacets.h: fix missing argument in do_get_monthname
- (this is a bug in the standard, ref. 36 in my list.)
- * bits/locfacets.h: make month and day name caches mutable
- * bits/locfacets.tcc: various typos in get() functions
- * bits/sbuf_iter.h: fix omission in istreambuf_iterator::op++().
- * bits/std_streambuf.h: fix typo in sgetn (Brendan)
-
-1998-08-12 Nathan Myers <ncm@cantrip.org>
- * move streambuf iterators to bits/sbuf_iter.h
- * optimize streambuf iterators
- * begin generalizing streambuf
- * begin implementing num_get<>::get (starting with bool)
- * patch stl/bits/stl_config.h so that relops operators are
- contained properly, out of the way.
-
-1998-07-24 Nathan Myers <ncm@cantrip.org>
- * Fold in SGI 3.11 changes (uglified names, some algorithm
- improvements, very minor bug fixes.)
- * Uglify names elsewhere to match (s/_T/_Tp/).
- * Begin work on optimized streambuf
- * Put complex.cc in namespace std:: (thanks Martin)
-
-1998-07-17 Nathan Myers <ncm@cantrip.org>
-
- * bits/char_traits.h: add _Char_traits_match template.
- * bits/string.tcc: fix bugs in various find_last* members.
- * bits/basic_string.h: redeclare member _S_find.
- * stl/bits/stl_iterator.h: change member names in nonstandard
- templates bidirectional_reverse_iterator and
- random_access_reverse_iterator to match expected changes
- in upstream source.
- * src/string.cc: fix definitions of stream operators.
-
-1998-07-14 16:06 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.am (SUBDIRS): Add string.
-
- * configure.in: Test for long double functions separately. Test for
- ISO C 89 float functions. Test for endian.h and sys/isa_defs.h.
- Generate string/Makefile.
-
- * bits/c++config.h: Define mbstate_t for Solaris.
-
- * bits/char_traits.h: Remove unused #if.
-
- * bits/std_cwchar.h: Declare wide char string functions.
-
- * m4/stringfcts.m4: New file.
-
- * math/complex-stub.h: Declare nan.
- * math/nan.c: New file.
-
- * math/mathconf.h: Hack around missing endian.h file.
- Handle missing NAN definition.
- Handle missing float math functions.
-
- * src/Makefile.am (libstdc___la_LIBADD): Add libstring.la.
- (libstdc___la_LDFLAGS): Set version information.
-
- * src/complexl.cc: Don't compile any code if no long double functions
- are available.
-
- * string/Makefile.am: New file.
- * string/dummy.c: New file.
- * string/wmemchr.c: New file.
- * string/wmemcmp.c: New file.
- * string/wmemcpy.c: New file.
- * string/wmemmove.c: New file.
- * string/wmemset.c: New file.
-
-1998-07-14 10:45 Ulrich Drepper <drepper@cygnus.com>
-
- * configure.in: Make it work.
- * install-sh: New file.
- * missing: New file.
- * mkinstalldirs: New file.
- * m4/mathfcts.m4: New file.
- * math/Makefile.am: New file.
-
- * bits/std_complex.h (conj): Mark specializations as inline.
-
- * math/carg.c: New file.
- * math/cargf.c: New file.
- * math/cargl.c: New file.
- * math/mycabs.c: New file.
- * math/mycabsf.c: New file.
- * math/mycabsl.c: New file.
- * math/signbit.c: New file.
- * math/signbitf.c: New file.
- * math/signbitl.c: New file.
-
- * math/ccos.c: Avoid ISO C 9x functionality.
- * math/ccosf.c: Likewise.
- * math/ccosh.c: Likewise.
- * math/ccoshf.c: Likewise.
- * math/ccoshl.c: Likewise.
- * math/ccosl.c: Likewise.
- * math/cexp.c: Likewise.
- * math/cexpf.c: Likewise.
- * math/cexpl.c: Likewise.
- * math/clog.c: Likewise.
- * math/clog10.c: Likewise.
- * math/clog10f.c: Likewise.
- * math/clog10l.c: Likewise.
- * math/clogf.c: Likewise.
- * math/clogl.c: Likewise.
- * math/cpow.c: Likewise.
- * math/cpowf.c: Likewise.
- * math/cpowl.c: Likewise.
- * math/csin.c: Likewise.
- * math/csinf.c: Likewise.
- * math/csinh.c: Likewise.
- * math/csinhf.c: Likewise.
- * math/csinhl.c: Likewise.
- * math/csinl.c: Likewise.
- * math/csqrt.c: Likewise.
- * math/csqrtf.c: Likewise.
- * math/csqrtl.c: Likewise.
- * math/ctan.c: Likewise.
- * math/ctanf.c: Likewise.
- * math/ctanh.c: Likewise.
- * math/ctanhf.c: Likewise.
- * math/ctanhl.c: Likewise.
- * math/ctanl.c: Likewise.
-
- * math/complex-stub.h: New file.
-
- * math/mathconf.h: New file.
-
- * src/Makefile.am: New file.
-
- * src/complex.cc: Use mathconf.h instead of complex.h.
- Don't use cabs, always use __mycabs.
-
-1998-02-13 Brendan Kehoe <brendan@cygnus.com>
-
- * iterator (class reverse_iterator): Do some tweaks to be in sync
- w/ the FDIS.
-
diff --git a/contrib/libstdc++/ChangeLog-1999 b/contrib/libstdc++/ChangeLog-1999
deleted file mode 100644
index b0334dcd45d7..000000000000
--- a/contrib/libstdc++/ChangeLog-1999
+++ /dev/null
@@ -1,3545 +0,0 @@
-1999-12-26 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/gentop/status: Add snapshot version column, update
- for Solaris 7.
- * docs/status.html: Regenerated.
-
-1999-12-26 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/faq/index.html: Turn README and RELEASE-NOTES into links
- from installation FAQ, and specify location of text files.
- * docs/faq/index.txt: Regenerated.
-
-1999-12-23 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/gentop/download: Add links to prebuilds for Cygwin/Mingw32.
- * docs/download.html: Regenerated.
-
-1999-12-22 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/faq/index.html: Update 'what works' for .7 snapshot,
- clean up various links.
- * docs/faq/index.txt: Regenerated.
- * docs/gentop/gentop: Smarter regeneration script.
- * docs/gentop/{head,foot}chunk.html: Updated with new
- contributors link and mod date.
- * docs/gentop/index: Snapshot relase date.
- * docs/gentop/thanks: New contributors page added.
- * docs/{download,how,index,links,mail,status,thanks}.html:
- Regenerated from gentop; thanks.html created.
-
-1999-12-21 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * bits/c++config.h.in (__GLIBCPP__): 19991221.
- * docs/index.html: Add correct information.
-
- * config/irix: New directory.
- * config/irix/ctype.cc: Add irix-6.5 info. Not tested.
- * config/irix/bits/ctype_base.h: And here.
-
- * config/aix: New directory.
- * config/aix/ctype.cc: Add aix-4.2 info. Not tested.
- * config/aix/bits/ctype_base.h: And here.
-
-1999-12-21 Philip Martin <pm@corris.dircon.co.uk>
-
- * bits/basic_string.h: Add special case handling for integral
- "iterators".
- * bits/std_string.h: include type_traits.h
- * testsuite/21_strings/ctor_copy_dtor.cc: Tweak.
-
-1999-12-21 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * bits/fstream.tcc (seekoff): Output buffer based on _M_*_in and
- _M_*_end now.
- * bits/std_fstream.h (sync): And here.
- * testsuite/27_io/filebuf.cc: Revisions.
- * testsuite/27_io/filebuf-2.tst: Correct, remove weird character
- at the end of the file.
- * testsuite/27_io/filebuf-3.tst: Correct.
-
-1999-12-21 Phil Edwards <pedwards@jaj.com>
-
- * docs/gentop/index: Hold off on .7 announcement date.
- * docs/index.html: Regenerate.
-
-1999-12-21 Benjamin Kosnik <bkoz@kcygnus.com>
-
- * bits/std_fstream.h (sync): Move _M_file->sync() to
- _M_really_overflow().
- * bits/fstream.tcc (seekoff): Call sync, not _M_really_overflow so
- as to get the _M_file->sync action, which forces the external
- buffer to update itself.
- (underflow): Same here.
-
-1999-12-21 Phil Edwards <pedwards@jaj.com>
-
- * bits/c++config.h.in: Uncomment _GLIBCPP_USE_NAMESPACES and move...
- * acconfig.h: ...to here.
- * config.h.in: Regenerate from aclocal.
- * acinclude.m4: Add GLIBCPP_ENABLE_DEBUG, GLIBCPP_ENABLE_NAMESPACES.
- * aclocal.m4: Regenerate from acinclude.
- * configure.in: Use ENABLE macros here.
- * configure: Regenerate.
- * src/Makefile.am: Use results from ENABLE macros.
- * src/Makefile.in: Regenerate.
-
-1999-12-20 Benjamin Kosnik <bkoz@cygnus.com>
-
- * mkcheck (SRC_DIR): Now have to include config/* dir if "make
- check" and not "make check-install." Temporarily hack in linux
- support.
-
- * bits/std_streambuf.h: Tweaks.
- * bits/streambuf.tcc (xsgetn): Tweaks.
- * bits/std_fstream.h (sync): Make _M_really_overflow consistent.
- * bits/fstream.tcc (filebuf::underflow): Simplify.
- * bits/std_sstream.h (streambuf::underflow): Minor change to make
- checks for read position precisely implement the standard.
- * bits/basic_file.h (filepos_cur): Base this on _offset.
- * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
- * testsuite/27_io/filebuf.cc: Tweak.
-
-1999-12-20 Benjamin Kosnik <bkoz@cygnus.com>
-
- * docs/17_intro/RELEASE-NOTES: Fix typos.
-
- * bits/locale_facets.h (ctype): Modify, use __to_type to abstract
- out platform-specific bits.
- * config/default/ctype.cc: And here.
- * config/defaults/bits/ctype_base.h: And here.
- * config/linux/ctype.cc: And here.
- * config/linux/bits/ctype_base.h (ctype_base): And here.
- * config/solaris/bits/ctype_base.h (ctype_base): Add
- __to_type. Comment, as it looks like this is for solaris2.6 and
- above: solaris2.5.1 doesn't seem to have the same definitions.
- * config/solaris/ctype.cc: And here.
-
-1999-12-19 Benjamin Kosnik <bkoz@cygnus.com>
- Ulrich Drepper <drepper@cygnus.com>
-
- * acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.
-
- * src/locale.cc: Take out platform-specific hacks.
- * config/linux/ctype.cc: Put here.
- * config/solaris/ctype.cc: Put here.
- * config/default/ctype.cc: Put here.
-
- * bits/locale_facets.h: Take out platform-specific hacks.
- * config/linux/bits/ctype_base.h: Put here.
- * config/solaris/bits/ctype_base.h: Put here.
- * config/default/bits/ctype_base.h: Put here.
-
- * configure.in: Bump version.
- Add tests for top-level config directory.
- * configure: Regenerated.
- * src/Makefile.am (INCLUDES): Add platform-specific dir.
- * src/Makefile: Regenerate.
-
-1999-12-19 Benjamin Kosnik <bkoz@cygnus.com>
- Ulrich Drepper <drepper@cygnus.com>
-
- * bits/locale_facets.h: Hack in solaris support.
- * src/locale.cc: Here too.
-
-1999-12-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * docs/17_intro/TODO: Update
- * docs/17_intro/RELEASE-NOTES (New): Update.
-
-1999-12-17 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/c++config.h.in (__GLIBCPP__): Bump.
- * docs/17_intro/RELEASE-NOTES: Update, Gaby please add your stuff.
- * docs/17_intro/TODO: Update.
-
- * bits/locale_facets.h: Touch this too.
- * bits/localefwd.h: Add typedefs for loooooong vector names.
- * bits/locale_facets.tcc (locale::operator()): Need parens.
- (has_facet): Simplify.
- * src/locale-inst.cc: Add instantiations.
- * src/locale.cc: Tweaks.
-
- * bits/std_streambuf.h: Move indeterminates into. .
- * bits/std_fstream.h: Here.
- * bits/fstream.tcc (underflow): Rewind just for ios_base::out
- streams.
- * bits/sstream.tcc: Very minor formatting tweaks.
- * bits/std_streambuf.h (_M_set_determinate): If exclusively an
- input buffer, set _M_buf to offset.
- * bits/istream.tcc (std): Tweaks.
- * testsuite/27_io/istream_unformatted.cc (test05): More tweaks,
- include fstream.
- * testsuite/27_io/filebuf.cc: Tweaks.
-
-1999-12-17 Phil Edwards <pedwards@jaj.com>
-
- * configure.in: Add OPTLEVEL, -O2 for gcc 2.96+, nothing otherwise.
- * configure: Regenerate.
- * src/Makefile.am: Use OPTLEVEL in CXXFLAGS.
- * src/Makefile.in: Regenerate. Also picks up OTHER_CXXFLAGS rename
- to OPTIMIZE_CXXFLAGS from a previous revision (1.96) to Makefile.am.
-
-1999-12-17 Phil Edwards <pedwards@jaj.com>
-
- * docs/21_strings/stringtok_std_h.txt: New algorithm
- suggested by Chris King.
- * docs/21_strings/howto.html: Link to new version.
-
-1999-12-16 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_array.h (__valarray_sum): Use operator+=, not
- operator+.
- * docs/17_intro/TODO: Update.
-
-1999-12-15 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/gentop/footchunk.html: Updated, fixed CRLFs.
- * docs/gentop/gentop: Ditto.
- * docs/gentop/headchunk.html: Ditto.
- * docs/*.html: Regenerated from gentop.
- * docs/*/howto.html: Updated as test.
- * docs/faq/index.html: Updated, fixed CRLFs.
- * docs/faq/index.txt: Regenerated.
-
-1999-12-15 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * mknumeric_limits (OUT_C): restart only if $OUT_C is present.
-
- * bits/std_complex.h
- (complex<float>::complex(const complex<double>&),
- complex<float>::complex(const complex<long double>&)): Define.
-
- * docs/17_intro/TODO: Update.
-
-1999-12-13 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/istream.tcc (seekg): Don't set _M_gcount.
- (tellg): Same.
- * bits/fstream.tcc (filebuf::underflow): Re-sync
- external byte sequence's input buffer only. . .
- * testsuite/27_io/istream_unformatted.cc (test04): New tests for
- tellg, seekg and filebufs.
- (test05): Same for stringbufs.
- * testsuite/27_io/istream_unformatted-2.tst: New file.
- * testsuite/27_io/istream_unformatted-1.tst: New file.
- * testsuite/27_io/istream_unformatted-1.txt: New file.
- * testsuite/21_strings/inserters_extractors.cc (test05): Change
- output file.
-
-1999-12-13 Phil Edwards <pedwards@jaj.com>
-
- * docs/gentop/*: New directory, containing bits for the homepages.
- * docs/*.html: Regenerated from gentop.
- * docs/*/*.html: Entries added and regenerated.
-
-1999-12-13 Benjamin Kosnik <bkoz@gnu.org>
-
- Efforts to get -O2 to work with -Winline -Werrors.
- * bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
- _Tp&): Remove inline declaration, as cannot be inlined and
- -Winline -Werror complains. An interesting question is why this
- cannot be inlined, as I can see no real reason to disqualify it.
- (__valarray_product(const _Tp*, const _Tp*)): Same here.
- * bits/std_valarray.h (valarray::operator[](size_t)): Same here.
-
- * docs/17_intro/TODO: Update.
-
-1999-12-12 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/std_fstream.h (seekpos): Tweaks, fixes. Move definition to
- fstream.tcc.
- * bits/basic_file.h (filepos_cur()): Make pointers themselves be
- the resultant position.
- * bits/fstream.tcc (seekoff): Explicitly set return value to
- resultant external byte sequence position, not value returned from
- _M_file->seekoff. Need to make
- (seekpos): New definition.
-
- * bits/istream.tcc (seekg): As per Library Issues List 136, set to
- just istream. Necessary, or else tellg will give an invalid stream
- position, but seekg will return a valid stream position, which is
- not groovy: see testcase addition.
- * bits/ostream.tcc (seekp): Same.
-
- * bits/streambuf.tcc (_S_copy_streambufs): Simplify.
- * bits/sstream.tcc: Tweaks.
- * bits/locale_facets.tcc: Tweaks.
- (num_put::do_put(iter_type, ios_base, char_type, const void*)):
- Re-write in a way that is easier for the inliner to work with.
- * bits/ios_base.h: Use explicit static_cast<int>(...) notation.
-
-1999-12-10 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/locale_facets.tcc: Tweaks.
- * bits/locale_facets.h (use_facet): Can't inline, remove inline
- from declaration.
- * bits/localefwd.h: And here.
- * bits/std_ostream.h: Tweaks, sentry ctor can't be inlined.
- * bits/ostream.tcc: Put here.
-
- Frank Ch. Eigler <fche@cygnus.com>
- * src/Makefile.am: Adjust CXXFLAGS, add AM_CXXFLAGS.
-
-1999-12-08 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
- in and out buffers update independently.
-
- * bits/basic_ios.h: Minor formatting.
- * bits/fstream.tcc (std): Fix indentation.
-
-1999-12-08 Chip Salzenberg <chip@valinux.com>
-
- * bits/char_traits.h (char_traits<>): Move not_eof() functions
- after corresponding eof() functions, so they're easier for the
- compiler to inline.
- * bits/locale_facets.h (money_base::__default_pattern): Move
- static variable out of inline functions.
- (_Moneypunct<>::do_{pos,neg}_format): Use it.
- * src/locale-inst.cc (money_base::__default_pattern): Define it.
-
-1999-12-08 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_fstream.h (filebuf::open): Tweak.
- * bits/fstream.tcc (filebuf::seekoff): Simplify, fix.
- * bits/std_ios.h: Minor tweaks for headers.
-
-1999-12-06 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/c++config.h.in (_GLIBCPP_FULLY_COMPLIANT_HEADERS): New macro.
- * src/string-inst.cc: Add guards . . .
- * src/misc-inst.cc: And here.
- * bits/std_sstream.h: And here.
- * bits/std_fstream.h: And here.
- * bits/std_streambuf.h: And here.
- * bits/std_istream.h: And here.
- * bits/std_ostream.h: And here.
-
-1999-12-06 Scott Snyder <snyder@fnal.gov>
-
- * bits/istream.tcc (basic_istream::read): Try to handle __n == 0
- case.
- (basic_istream::readsome): And here as well.
- * testsuite/27_io/istream_unformatted.cc: Test a zero-length
- read().
-
-1999-12-06 Mumit Khan <khan@xraylith.wisc.edu>
-
- * bits/istream.tcc (basic_istream::ignore): streamsize is not
- necessarily an `int'.
-
-1999-12-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * mknumeric_limits: Don't use $CXXFLAGS when building
- gen-num-limits. It's definitely wrong to use it since $CXXFLAGS
- generally instructs the compiler not to emit template
- instantiations and we end up with undefined symbols. Sigh.
-
-1999-12-05 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/locale_facets.tcc: Tweak.
- (_S_format_long): Adjust showpos formatting for hex and oct.
- * bits/std_ostream.h (operator<<(short)): Correctly deal with hex
- and oct by formatting as unsigned.
- (operator<<(int)): Same here.
- * bits/ostream.tcc (operator<<(long)): Same.
- (operator<<(long long)): Same.
- (_S_pad_char): Actually treat ios_base::internal as something
- worth doing correctly. Remove const designation on ios argument.
- * testsuite/27_io/ios_manip_basefield.cc (test02): Add tests.
- * testsuite/27_io/ostream_inserter_arith.cc (test03): Add tests.
-
-1999-12-04 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/std_sstream.h (streambuf::underflow): Check for mode == in.
-
-1999-12-03 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/locale_facets.tcc (num_put::do_put(bool): Fix.
-
- * bits/sstream.tcc (streambuf::seekoff): Add parens.
- * bits/istream.tcc (istream::get(sb)): Handle exceptional events.
- (operator>>(istream, _CharT*)): Change streamsize to int_type.
- (operator>>(istream, _CharT&)): Fix typedef'd type to be _CharT.
- * bits/ostream.tcc (ostream::operator<<(const char*)): Stub out
- unused argument.
- (ostream::operator<<(_CharT)): Fix.
-
- * bits/std_sstream.h: Temporarily disable including sstream.tcc to
- see if this will increase compile speed.
- * bits/std_ostream.h: Likewise. . .
- * bits/std_istream.h: And here.
- * bits/std_fstream.h: And here.
- * src/misc-inst.cc: Add relevant header file includes for
- instantiation purposes.
- * src/string-inst.cc: And here.
- * testsuite/27_io/ostream_inserter_arith.cc: Add test case.
-
-1999-12-02 Benjamin Kosnik <bkoz@gnu.org>
-
- * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
- * bits/istream.tcc (get(streambuf)): More fixes.
- (istream::ignore): Get specific about numeric_limits<int>::max()
- requirements.
-
- * bits/fstream.tcc (filebuf::open): Tweaks for _M_last_overflowed.
- (filebuf::close): Same.
- * testsuite/27_io/filebuf.cc: Add tests for ios_base::ate.
-
-1999-12-01 Phil Edwards <pedwards@jaj.com>
-
- * mkcheck: Support for compilation/execution timing.
- * testsuite/printnow.c: New file.
-
-1999-12-01 Phil Edwards <pedwards@jaj.com>
-
- * bits/std_cwchar.h: Test for _GLIBCPP_USE_WCHAR_T.
- * configure.in: Test for presence of wchar.h before testing
- for any of its features.
- * configure: Regenerate.
-
-1999-11-30 Benjamin Kosnik <bkoz@gnu.org>
-
- Preliminary istream validations complete.
- * bits/istream.tcc (istream::getline): Fixes. Tweaks to make
- formatting more consistent. Removal of if-statements inside of for
- loops.
- (ignore): Fix.
- (get): Same.
- (putback): Same.
- * bits/std_istream.h: Same.
- * bits/sstream.tcc (stringbuf::pbackfail): Fix.
- * testsuite/27_io/stringbuf.cc: Tweak.
- * testsuite/27_io/istream_unformatted.cc (test02): Mo' tests.
-
- * bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
- failbit on failure, as per 27.6.2.5.2.
-
- * stl/bits/std_vector.h: Allow bool specializations. Should move
- ext/std_bvector to bits, not ext, maybe.
-
-1999-11-30 Mumit Khan <khan@xraylith.wisc.edu>
-
- * configure.in: Fix checks for mbstate_t and WCHAR_MIN/MAX.
- * configure: Regenerate.
-
-1999-11-29 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/istream.tcc (get(streambuf, char)): Fix.
- * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
-
-1999-11-29 Scott Snyder <snyder@fnal.gov>
-
- * bits/basic_string.h (append(const _Char*, size_type)): The
- length of the appended string is given exactly by the second arg,
- regardless of the data in the character array.
- * bits/string.tcc (basic_string(const _CharT*, size_type, const
- _Alloc&)): Likewise.
- * testsuite/21_strings/append.cc (test01): Remove erroneous test
- of basic_string::append.
-
-1999-11-29 Chip Salzenberg <chip@valinux.com>
-
- * Makefile.in: Tweaks for CXXFLAGS.
- * */Makefile.in: Same.
-
-1999-11-29 Mumit Khan <khan@xraylith.wisc.edu>
-
- * conficd bgure.in: Check for wide character support.
- * bits/c++config.h.in (_GLIBC_USE_WCHAR_T): Move from here ...
- * acconfig.h (_GLIBC_USE_WCHAR_T): to here.
- * bits/string.tcc (wstring::_S_find): Guard wchar_t specialization.
-
-1999-11-29 Mumit Khan <khan@xraylith.wisc.edu>
-
- * acinclude.m4: Fix typo.
- * src/complex.cc: Fix macro line continuation.
-
-1999-11-29 Petter Urkedal <petter@matfys.lth.se>
-
- * src/Makefile.am (CXXFLAGS): Add -Wno-format to allow non-
- string literals in format, as used in locale-facets.tcc.
-
-1999-11-28 Benjamin Kosnik <bkoz@gnu.org>
-
- * testsuite/27_io/istream_unformatted.cc (test03): Add tests.
- * bits/istream.tcc (istream::get): Extract to argument minus one.
- Various tweaks and fixes.
-
-1999-11-22 Mumit Khan <khan@xraylith.wisc.edu>
-
- * bits/locale_facets.tcc: Workaround for compiler crash on
- ix86-*-mingw32.
-
-1999-11-21 Mumit Khan <khan@xraylith.wisc.edu>
-
- * acinclude.m4: New file. New _GLIBCPP_CHECK_FLOAT_SUPPORT macro.
- * configure.in: Use.
- * acconfig.h: New _GLIBCPP_BUGGY_FLOAT_COMPLEX macro.
- * src/complexf.cc: New _GLIBCPP_FLOAT_SPECIALIZATION macro.
- * bits/std_complex.h: Use.
- * src/complex.cc: Use.
-
-1999-11-19 Mumit Khan <khan@xraylith.wisc.edu>
-
- * testsuite/18_support/numeric_limits.cc: Add missing std:: prefix.
- * testsuite/21_strings/inserters_extractors.cc: Likewise.
- * testsuite/22_locale/ctype.cc: Likewise.
- * testsuite/23_containers/multiset.cc: Likewise.
- * testsuite/23_containers/vector_ctor.cc: Likewise.
- * testsuite/26_numerics/binary_closure.cc: Likewise.
- * testsuite/27_io/fpos.cc: Likewise.
- * testsuite/27_io/ios_base_callbacks.cc: Likewise.
- * testsuite/27_io/istream_extractor_arith.cc: Likewise.
- * testsuite/27_io/istream_extractor_char.cc: Likewise.
- * testsuite/27_io/istream_extractor_other.cc: Likewise.
- * testsuite/27_io/istream_sentry.cc: Likewise.
- * testsuite/27_io/ostream_inserter_char.cc: Likewise.
- * testsuite/27_io/ostream_inserter_other.cc: Likewise.
- * testsuite/27_io/streambuf.cc: Likewise.
- * testsuite/27_io/stringstream.cc: Likewise.
-
-1999-11-19 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_meta.h: Don't forget to define tanh
-
-1999-11-18 Philip Martin <pm@corris.dircon.co.uk>
-
- * src/stl-inst.cc: Use typedef to refer to iterator
- * stl/bits/stl_algobase.h: Add traits based dispatch for
- __normal_iterator in the copy()algorithm
- * stl/bits/type_traits.h: Add _Is_normal_iterator trait support
-
-1999-11-18 Kevin Ediger <kediger@licor.com>
-
- * src/locale.cc (locale::_Imp::_Imp): Use auto_ptr to make
- constructors for locale::_Impl exception safe.
-
-1999-11-18 Scott Snyder <snyder@fnal.gov>
-
- * stl/bits/stl_queue.h: The C++ standard gives the default for the
- _Sequence template argument of priority_queue<> as vector<>, not
- deque<>.
-
-1999-11-18 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
- parameter.
- * bits/sstream.tcc: Adjust here too.
-
-1999-11-17 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/sbuf_iter.h (istreambuf_iter::equal): Tweak.
- * bits/istream.tcc (operator>>): Replace iostate(0) with
- iostate(ios_base::goodbit), which is the same thing, but hopefully
- a bit clearer.
- * bits/locale_facets.tcc (do_get(bool)): Streamline, deal with
- libraries issue list 17.
- (do_gets): Don't set goodbit explicitly, instead only set on
- failures as good bit is the default setting.
- * bits/ios_base.h (setf): Set correctly.
- * bits/fstream.tcc: Tweak.
- * bits/std_sstream.h (_M_really_sync): Fix ibuffer positioning for
- in|out bufs that are empty. . .
- * testsuite/27_io/istream_extractor_arith.cc (test03): Add.
-
-1999-11-16 Benjamin Kosnik <bkoz@gnu.org>
-
- * testsuite/27_io/streambuf.cc (class testbuf): Don't set _M_buf_size.
- * bits/std_streambuf.h (setp): Set _M_buf_size, _M_mode.
- Add comments "all about _M_buf."
- (setg): Set _M_mode.
-
-1999-11-16 Kevin Ediger <kediger@licor.com>
-
- * bits/locale_facets.tcc (_S_build_float_format): New function.
- (_S_output_float): New function.
- (num_put::do_put(double)): Use 'em.
- (num_put::do_put(long double)): Use 'em.
- * testsuite/27_io/ostream_inserter_arith.cc: New file.
-
-1999-11-15 Scott Snyder <snyder@fnal.gov>
-
- * bits/basic_file.h: Type of __off parm should be __c_streampos, to
- match how libio is calling us.
- * src/basic_file.cc (sys_seek): Likewise.
- * bits/std_fstream.h (basic_filebuf::sync): Restore sync call.
-
-1999-11-15 Benjamin Kosnik <bkoz@gnu.org>
-
- * docs/17_intro/contribute.html: Add link to assignment form.
- * docs/17_intro/libstdc++-assign.txt: New file.
-
- * mkcheck (TESTS_FILE): Move a copy of test files as well as
- output files.
-
- * bits/std_streambuf.h (_M_buf_bump): New function.
- * bits/streambuf.tcc: Mods to support _M_buf_bump.
- (xsputn): Here. Also add checks for output valid.
- (xsgetn): Add checks for input valid.
- (sputc): Here.
- (sgetc): Set _M_in_end to _M_buf + _M_buf_end.
- * bits/std_sstream.h (_M_really_sync): Set _M_buf.
- Set _M_out_end to variable-length-end.
- * bits/sstream.tcc (overflow): Use _M_buf_bump.
- (seekpos): Same.
- (seekoff): Same.
- * bits/fstream.tcc (std): Tweak formatting.
- (filebuf::overflow): Simplify.
- (filebuf::showmanyc): Same.
- (filebuf::underflow): Same.
- * testsuite/27_io/filebuf.cc: Fix.
- * testsuite/27_io/ostream_inserter_other.cc: Fix.
- * testsuite/27_io/ostream_inserter_other-2.tst: New file.
- * testsuite/27_io/stringbuf.cc: Tweak.
- * testsuite/27_io/streambuf.cc: Tweak.
- * testsuite/27_io/istream_extractor_other.cc: Fix.
-
-1999-11-11 Matthias Klose <doko@cs.tu-berlin.de>
-
- * stl_deque.h: Use static_casts<size_type>(signed_type).
-
-1999-11-11 Benjamin Kosnik <bkoz@gnu.org>
-
- Cleanups for callbacks, more regression hunting. Remaining
- failures (1) due to last unresolved stringstream issues, not
- regressions per se.
- * bits/std_fstream.h: Revert. Disable call to _M_file->sync as
- killing 27_io/filebuf.cc tests. . . need another solution.
-
- * bits/streambuf.tcc (_S_copy_streambufs): Fix.
- * testsuite/27_io/istream_extractor_other.cc: Tweak comments.
-
- * bits/basic_ios.h: Add cached facets here. UGH. The standard
- foils all attempts at a graceful, minimal implementation.
- * bits/basic_ios.tcc: Tweaks.
- * bits/istream.tcc: Fix.
- * bits/ostream.tcc: Fix.
- * bits/std_istream.h: Fix.
- * bits/std_ostream.h: Fix.
- * src/ios.cc (ios_base::imbue): Set _M_locale_ios before calling
- callbacks.
- * bits/locale_facets.tcc (std): Minor, minor formatting tweak.
- (_S_pad_numeric): Make comprehensible.
-
-1999-11-10 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_ostream.h: Add callbacks for _M_fnumput.
- (_S_ostream_fcache): New function.
- Move functions out-of-line.
- * bits/ostream.tcc: Put here.
-
- * bits/std_istream.h: Add callbacks for _M_fnumget.
- (_S_istream_fcache): New function.
- Move functions out-of-line.
- * bits/istream.tcc: Put here.
-
- * bits/basic_ios.tcc (basic_ios::imbue): Tweaks, remove call to
- _M_call_callbacks(), as ios_base::imbue does this already.
- * src/ios.cc (register_callback): Clean.
- (_M_call_callbacks): Same.
- * bits/ios_base.h: Callback work.
- * testsuite/27_io/ios_base_callbacks.cc (test01): New file.
-
-1999-11-10 Benjamin Kosnik <bkoz@cygnus.com>
- Matthias Klose <doko@cs.tu-berlin.de>
-
- * stl/ext/stl_rope.h: Fix initialization order.
-
-1999-11-09 Scott Snyder <snyder@fnal.gov>
-
- * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
- _M_file->sync() so that redirection works correctly.
-
-1999-11-09 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/istream.tcc: Re-order.
- * bits/std_istream.h: Fix getline problems.
- * testsuite/27_io/istream_unformatted.cc: New tests.
-
- Clean up regressions.
- * bits/std_sstream.h: Set initial stringbufs correctly.
-
-1999-11-09 Scott Snyder <snyder@fnal.gov>
-
- * stl_vector.h (_M_range_insert): Fix mixing pointers and
- vector::iterator.
- * testsuite/23_containers/vector_modifiers.cc (test01): New file,
- tests.
-
-1999-11-09 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/Makefile.am (CXXFLAGS): Add -Winline.
- * src/Makefile.in: Regenerate.
-
-1999-11-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
- building meta-expressions don't forget to take the contained
- closures.
-
-1999-11-02 Benjamin Kosnik <benjamin@cygnus.com>
-
- * configure: Regenerate.
-
-1999-11-02 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_meta.h (_Expr<>::sum): Tweak. Use copy-initialization
- syntax.
- * bits/valarray_meta.h (min): Likewise.
- * bits/valarray_meta.h (max): Likewise.
-
-1999-11-01 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_sstream.h (_M_really_sync): Take into account in | out bufs.
- * bits/std_streambuf.h (_S_copy_streambufs): New function.
- * bits/streambuf.tcc: Define.
- * bits/istream.tcc (istream::operator>>(streambuf)): Rewrite.
- * bits/ostream.tcc (ostream::operator<<(streambuf)): Rewrite.
- * testsuite/27_io/ostream_inserter_other.cc: Add tests.
- * testsuite/27_io/ostream_inserter_other-1.tst: New file.
-
- * bits/basic_string.h: Explicitly cast npos to unsigned type,
- reported by Richard Atterer.
- * bits/char_traits.h: For consistency's sake, here too.
-
- * configure.in: Bump version to 2.90.7.
-
-1999-10-31 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/27_io/ostream_inserter_char-1.tst: Check file output.
- * testsuite/27_io/ostream_inserter_char.cc (test05, test01): Add tests.
- * bits/streambuf.tcc (xsputn): Treat--size const char for long loops.
- (xsgetn): Same.
- * bits/sstream.tcc (seekpos): Tricks, mostly: check _M_mode before
- writing into buffer.
- (seekoff): Same.
-
-1999-10-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_array.h (__valarray_sum): New function.
- * bits/valarray_array.h (__valarray_product): Same.
-
- * bits/std_valarray.h (valarray<T>::product): Comment out.
- * bits/std_valarray.h (valarray<T>::sum): Use __valarray_sum
- instead of accumulate.
-
- * src/valarray-inst.cc: Remove explicit intantiation of
- class multiplies<size_t>, accumulate, valarray<size_t>::product.
- * src/valarray-inst.cc (__valarray_product): Instantiate
- explicitly.
- * src/valarray-inst.cc (__valarray_product(const
- valarray<size_t>&)): New function.
- * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't use
- valarray<size_t>::product. Use __valarray_product instead.
-
-
-1999-10-25 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_ostream.h (ostream.inserters.char): Correctly pad output.
- (_S_pad_char): New function. Not done: ios_base::internal.
- * bits/ostream.tcc: Clean for above.
- * bits/locale_facets.tcc (_S_fill): Remove ostreambufiterator
- specialization that was commented out, as ostreams now have to
- correctly deal with padding.
- * testsuite/27_io/ostream_inserter_char.cc (main): Add tests.
-
- * testsuite/21_strings/ctor_copy_dtor.cc(test02): Add test case
- from mailing list. This is a bug, and should be fixed.
- * testsuite/21_strings/inserters_extractors.cc (main): Tweak, fix typo.
-
-1999-10-22 Petter Urkedal <petter@matfys.lth.se>
-
- * stl/bits/stl_numeric.h (__power): Replaced argument name `__opr'
- to avoid conflict with gcc name mangling.
- * stl/bits/stl_algo.h (__transform): Same.
-
-1999-10-21 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/ios_base.h: Change argument names.
- * docs/17_intro/BADNAMES: Add __opr.
-
-1999-10-20 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- Work on compilation slowdowns from 10-5 to 10-12, which are
- related to the _Callback_list inlining/merge-ifcation, which is
- still a pending issue, but this stuff is necessary cleanup anyway.
-
- * src/ios.cc: Re-arrange.
- * bits/ios_base.h: Tweak.
- * bits/basic_ios.tcc: Move out of line definitions here, move
- small out-of-line definitions inline.
- * bits/basic_ios.h: From here.
-
- * bits/streambuf.tcc (pbackfail, overflow): Move back inline.
- * bits/std_streambuf.h: From here.
-
-1999-10-19 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/27_io/istream_extractor_char.cc: Add tests.
- * bits/std_istream.h: Tweaks--set eofbit on eof condition.
- * bits/istream.tcc (operator>>(istream&, string&): Remove
- vestigial issspace hacks and use ctype::is instead.
- (getline): Remove unnecessary loops, fortify and pasteurize.
- (ws): Same.
-
-1999-10-18 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/istream.tcc (operator>>): Tweak.
- * bits/std_istream.h: Fix according to library issues list 68.
- Add typedefs.
-
- * bits/locale_facets.h: Fix table_size to be non-zero.
-
-1999-10-18 Vadim Egorov <egorovv@HotPOP.com>
-
- * src/basic_file.cc: ifdef instead of comment for binary mode
-
-1999-10-18 Russell Davidson <russell@qed.econ.queensu.ca>
-
- * bits/std_sstream.h: Stringbuf initialization based on actual,
- not allocated, size.
- * testsuite/21_strings/inserters_extractors.cc (test06): Add test
- case.
-
-1999-10-17 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/26_numerics/c_math.cc (test03): Tweak.
- * testsuite/27_io/istream_manip.cc (test01): Corrections due to
- sentry change.
- * testsuite/21_strings/inserters_extractors.cc (test01): Same.
-
-1999-10-14 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_istream.h: Tweaks.
- * bits/istream.tcc (istream::sentry::sentry()): Simplify, correct
- as per issues list addition--set failbit, eof on empty buffers.
- * testsuite/27_io/istream_sentry.cc: New file.
-
-1999-10-12 Chris Prince <prince@wcug.wwu.edu>
-
- * bits/std_cstdio.h: Remove Solaris hacks.
-
-1999-10-12 Phil Edwards <philip.edwards@sn.wpafb.af.mil>
-
- * docs/index.html: Fix minor typos and tweaks.
- * docs/17_intro/contribute.html: Ditto.
- * docs/*/howto.html: Ditto. More "EGCS"->"GCC" conversion, notes on
- thread safety and binary I/O, links to external sites.
- * docs/faq/index.html: EGCS/GCC cleanup, new entries for Cygwin
- and MT.
-
-1999-10-12 Petter Urkedal <petter@matfys.lth.se>
-
- * bits/std_cmath.h (abs(float)): When ::absf is not present, call
- ::fabs(double) rather than ::abs(int).
-
-1999-10-11 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/std_streambuf.h: Fix minor blip--should explicitly return
- *gptr(), not the result of underflow.
- (pbackfail): Conform to default behavior.
- (overflow): Same.
- * bits/streambuf.tcc: Add out-of-line streambuf members.
- (xsputn): Tweak.
- (xsgetn): Tweak.
- * testsuite/27_io/streambuf.cc: New file.
- * testsuite/27_io/filebuf.cc: Correct test.
-
-1999-10-08 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/std_cmath.h: Correctly cast int to double.
- * testsuite/26_numerics/c_math.cc: Add test.
-
- * mknumeric_limits (OUT_C): Tweaks.
- * src/gen-num-limits.cc: Checks for WCHAR_MIN, WCHAR_MAX before
- trying to instantiate type_traits<wchar_t>.
- * acconfig.h: Add _GLIBCPP_HAS_WCHAR_MIN_MAX.
- * configure.in (LIBS): Plus checks for WCHAR_MIN, WCHAR_MAX.
- * configure: Regenerate.
-
-1999-10-06 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/streambuf.tcc (streambuf::xsgetn): Rewrite.
- (streambuf::xsputn): Put in break.
- Aiming for parity between these two (mostly) similar functions.
- Need to re-write tests.
-
- * bits/ios_base.h (ios_base::_M_copy_base): Remove declaration.
- Make data members protected, not private.
- * src/ios.cc (ios_base::_M_copy_base): Move _Callback_list into
- ios_base.h. As called only once, collapse into . . .
- * bits/basic_ios.h (basic_ios::copyfmt): Fix.
- (basic_ios::clear): Throw ios_base::failure on occasion.
- (basic_ios::exceptions): Fix.
- * testsuite/27_io/ios_members.cc (test02): Add tests.
-
- * bits/fpos.h: Default initialize.
- * testsuite/27_io/fpos.cc (test03): Add test.
-
-1999-10-04 Russell Davidson <russell@qed.econ.queensu.ca>
-
- * src/basic_file.cc: Fix open modes.
-
-1999-10-04 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/locale_facets.tcc (num_get<>::do_get): Fix typo.
-
-1999-09-23 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/streambuf.tcc: Yea. Fix this for real.
- * testsuite/27_io/ostream_inserter_other.cc: Add file.
- * src/Makefile.*: Regenerate.
-
-1999-09-22 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/std_cstdlib.h: Add more linux-specif hacks to the header
- files so that stdtof and strtold will be declared. Some hacks
- already exits in bits/std_cctype.h -- these should all be removed
- at a later date.
- * bits/locale_facets.tcc: Add cstring.h include.
- _S_format_long: Use long, not int.
- Add std_limits.h include, for numeric_limits.
- * testsuite/27_io/istream.cc: Make instantiations work when using
- -fhonor-std.
- * testsuite/27_io/ostream.cc: Same.
-
-1999-09-21 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/fpos.h (fpos::operator streamoff): Make const, don't return
- a reference. Same for operators == and !=.
- * testsuite/27_io/fpos.cc: Add tests.
-
-1999-09-21 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_array.h: Fix typo.
-
- * mknumeric_limits: Make sure we are regenerating things from
- scratch. Otherwise things get redefined. Not good.
-
-1999-09-20 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/std_ostream.h: Fix typo.
- * bits/std_istream.h: Same.
- * bits/std_iomanip.h: Same.
-
- * bits/istream.tcc (sentry::sentry()): Remove optional tie with
- ostream, as happens with underflow anyway.
- * testsuite/27_io/istream.cc (main): New file.
- * testsuite/27_io/ostream.cc (main): New file.
- * testsuite/27_io/istream_unformatted.cc: Add tests.
-
- * src/Makefile.am (headers): Add new file.
- * src/Makefile.in (headers): Regenerated.
-
- * bits/basic_ios.h: Remove local-related files.
- * bits/basic_ios.tcc: New file, add locale-related items.
- * src/misc-inst.cc: Add include of basic_ios.tcc, as a hack for now.
- * testsuite/27_io/ios_members_static.cc: Change to
- * testsuite/27_io/ios_base_members_static.cc: This.
- * testsuite/27_io/ios_members.cc: New file.
- * testsuite/27_io/stdios_basefield_manip: Change to
- * testsuite/27_io/ios_manip_basefield.cc: This.
- * testsuite/27_io/stdios_fmtflags_manip: Change to
- * testsuite/27_io/ios_manip_fmtflags.cc: This.
-
- * bits/fpos.h: Fix discarding qualifiers on this when
- using _M_position with a const fpos.
- * bits/std_iosfwd.h: Tweak.
- * testsuite/27_io/fpos.cc: New file.
-
-1999-09-17 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/streambuf.tcc (streambuf::xsputn): Tweak.
- * bits/ostream.tcc: Tweak.
- * testsuite/21_strings/inserters_extractors.cc (test04, test05):
- Add new regressions.
-
-1999-09-16 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/basic_ios.h: Inline, tweak.
- * bits/fstream.tcc (basic_filebuf::_M_really_overflow): Tweak,
- pass back accurate return value to basic_filebuf::overflow.
- * bits/streambuf.tcc (streambuf::xsputn): Fix overflow accounting.
- This fixes sstream problems reported in libstdc++/9, but screws up
- filebufs. That solution is pending.
-
-1999-09-15 Vadim Egorov <egorovv@1c.ru>
-
- * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for
- zero count puts.
- * testsuite/21_strings/inserters_extractors.cc (test01): Add test.
-
-1999-09-08 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * bits/c++config.h.in: Add emacs hints.
-
- * stl/bits/stl_range_errors.h: Don't define here, for now define
- in stdexcept.cc along with string inlines __length_error, etc.
- * src/stdexcept.cc: Define here.
- * stl/bits/stl_config.h (__STL_CAN_THROW_RANGE_ERRORS): Enable, so
- at(size_t) will be declared/defined.
- (__STL_THREADS): Fix mess surrounding use of this, enable.
-
-1999-08-31 Benjamin Kosnik <bkoz@milou.cygnus.com>
-
- * testsuite/27_io/istream_extractor_arith.cc: Fix.
- * src/localename.cc: Tweak formatting, fix assignment to
- const compiler errors.
-
-1999-08-25 Benjamin Kosnik <bkoz@cygnus.com>
-
- * acconfig.h: Add absf, cosf.
- * configure.in (use_builtin_sinf): Same.
- * configure: Regenerate.
- * bits/std_cmath.h: Add mess of defines.
- * testsuite/26_numerics/modf_float.cc: Change to
- * testsuite/26_numerics/c_math.cc: This.
-
- * src/locale.cc: Change.
- * bits/locale_facets.h: Fix.
- * testsuite/22_locale/ctype.cc: Add temporary tests.
-
-1999-08-24 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/fpos.h: Test.
-
- * docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
- Fix database name for "libstdc++".
-
-1999-08-23 Benjamin Kosnik <bkoz@cygnus.com>
-
- * mknumeric_limits (numeric_limits): Add default definitions to
- member functions.
- * testsuite/18_support/numeric_limits.cc: New file.
-
-1999-08-18 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_istream.h: Correct initialization.
- * bits/std_ostream.h: Likewise.
- * bits/std_sstream.h: Likewise.
- * bits/std_fstream.h: Likewise.
- * testsuite/27_io/stringstream.cc: Add test case.
-
- * bits/std_sstream.h: Replace ____string_type with __string_type.
- * bits/basic_ios.h (basic_ios::rdbuf(sb*): Call clear(), as required.
- * bits/std_ostream.h: Tweak dtor.
-
-1999-08-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * src/Makefile.am (CXXFLAGS): Add -O2.
- * src/Makefile.in: Likewise.
-
- * src/gen-num-limits.cc: Conditionally allow wchar_t. See what
- this breaks. . .
- * mknumeric_limits (numeric_limits): Uglify.
-
- * bits/std_istream.h: Fix warnings.
- * bits/locale_facets.tcc: Collateral damage from
- char_traits<char>::int_type change.
-
- * testsuite/27_io/istream_extractor_char.cc: Terminate strings.
-
-1999-08-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * docs/index.html: Add mailing list form.
- * docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.
-
-1999-08-16 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/streambuf.tcc (streambuf::xsputn): Allow copies to continue
- if overflow successfully allocates more space.
- * bits/std_sstream.h: Adjust comments.
- * bits/sstream.tcc (stringbuf::overflow): Copy buffer into string
- before overflow forces a resize.
- * testsuite/27_io/ostream_inserter_char.cc: New file.
-
- * bits/std_fstream.h: Remove declaration.
- * bits/fstream.tcc: Move uflow.
- * bits/std_streambuf.h: To here.
- * bits/streambuf.tcc: Make consistent.
-
- * src/Makefile.am (WERROR): Enable.
- * src/Makefile.in: Regenerate.
- * bits/sbuf_iter.h: Tweak.
- * bits/char_traits.h: (char_traits<wchar_t>::eof): Use WEOF.
- Use unsigned int as char_traits<char>::int_type.
-
- * bits/ostream.tcc (ostream::putc(char)): Tweak.
- * testsuite/27_io/iostream_objects.cc: Terminate string.
- Move cin::operator>>(char*) test to extractor_char.cc.
- * testsuite/27_io/stringstream.cc: Add stringstream instantiation.
- * bits/std_istream.h (basic_iostream): Make explicit definition
- for default ctor.
- * bits/std_sstream.h: Fix typos.
- * bits/fstream.tcc (_M_init_filebuf): Set to indeterminate for
- basic_filebuf ctor with fileno open arguments. Thus, filebufs are
- initialized in a consistent manner, no matter if the underlying
- FILE/bit bucket is a tty or a text file or some other imaginary
- construct. This and setting _M_buf_size to 1 for cin allows
- istream::get(char) to work in a manner consistent with what others
- expect.
-
- * docs/index.html: Link Stroustrup's C++ page.
-
-1999-08-12 Michael Cook <cook@sightpath.com>
-
- * bits/fstream.tcc: Fix signed/unsigned -Wall warning.
- * bits/istream.tcc: ditto.
- * bits/sbuf_iter.h: ditto.
- * bits/std_istream.h: ditto.
- * src/Makefile.am: Add -Wall to CXXFLAGS.
- * src/Makefile.in: ditto.
-
-1999-08-12 Benjamin Kosnik <bkoz@tintin.cygnus.com>
- Russell Davidson <russell@ehess.cnrs-mrs.fr>
-
- * bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
- * src/Makefile.am (myinstallheaders): Tweak, remove PHONY.
-
-1999-08-11 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * testsuite/27_io/istream_unformatted.cc: New file.
-
- * testsuite/27_io/istream_extractor_arith.cc (test02): Add more
- elaborate tests for int types with noskipws.
-
- * testsuite/27_io/istream_extractor_other-1.txt: New file.
- * testsuite/27_io/istream_extractor_other-1.tst: New file.
- * testsuite/27_io/istream_extractor_other-2.tst: New file.
- * testsuite/27_io/istream_extractor_other.cc: Add tests.
- * bits/istream.tcc: Fix operator>>(streambuf*).
-
- * testsuite/23_containers/vector_ctor.cc (test01): Add.
-
- * docs/index.html: Remove references to egcs.
- * docs/17_intro/DESIGN: Same.
- * docs/17_intro/contribute.html: Same.
- * docs/17_intro/RELEASE-NOTES: Ditto.
- * docs/17_intro/howto.html: Same here.
-
- Russell Davidson <russell@ehess.cnrs-mrs.fr>
- * stl/bits/stl_vector.h (_M_insert_aux):
- * bits/locale_facets.tcc (_M_extract): Tweaks for preliminary
- decimal/floating point support.
- * bits/locale_facets.h: Change _M_extract prototype.
- * bits/char_traits.h (char_traits::to_int_type): Cast to unsigned.
- * bits/std_istream.h (istream::read(char_type, streamsize)): Fix.
-
-1999-08-10 Michael Cook <cook@sightpath.com>
-
- * bits/fstream.tcc: Fix for unused variable warning (-Wall).
- * bits/ios_base.h: ditto.
- * bits/istream.tcc: ditto.
- * bits/locale_facets.h: ditto.
- * bits/locale_facets.tcc: ditto.
- * bits/std_streambuf.h: ditto.
- * src/basic_file.cc: ditto.
- * src/locale.cc: ditto.
- * src/localename.cc: ditto.
-
-1999-08-10 Kirat Singh <singhki@jany.gs.com>
-
- * bits/std_iomanip.h: Inline.
-
-1999-08-10 Alfred Minarik <a8601248@unet.univie.ac.at>
-
- * bits/std_streambuf.h: Correct member initialization order.
- * src/ios.cc: Add definitions for ios_base data members.
-
-1999-08-06 Phil Edwards <pedwards@ball.com>
-
- * docs/index.html: Seventh snapshot updates. Minor tweaks.
- * docs/faq/index.html: Ditto. Removed bugs sections that have
- been fixed for a long time... Lots of "egcs" references still
- exist.
- * docs/faq/index.txt: Regenerated.
-
-1999-08-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
- Andreas Amann <amann@physik.tu-berlin.de>
-
- * testsuite/26_numerics/binary_closure.cc (main): new test.
-
-1999-07-29 Andreas Amann <amann@physik.tu-berlin.de>
-
- * bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
- segmentation fault.
-
-1999-08-04 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * docs/index.html (host): Put in testing status.
-
-1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
-
- * docs/index.html: Update for libstdc++-2.90.6 release.
- * docs/17_intro/RELEASE-NOTES (New): Update.
- * docs/17_intro/BUGS: Update.
- * bits/c++config.h.in (__GLIBCPP__): Bump version number.
- * README (file): Update.
-
-1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/Makefile.am (generated_headers): Remove bits/c++config.h as
- a target.
- ($(generated_headers)): Same.
- * src/gen-c++config.cc: Remove, rename to
- * bits/c++config.h.in: New file. Bump version number.
- * configure.in: Generate bits/c++config.h at configure time.
- * math/mathconf.h: include bits/c++config.h, not config.h.
-
- * bits/std_cmath.h: Fix remaining link error for solaris shared
- builds. _GLIBCPP_HAS_BUILTIN_SINF has to be disabled for the time
- being, as on Solaris this silently calls sinf, which does not
- exist.
-
- * src/complex.cc: More tweaks.
-
-1999-08-03 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/complex.cc: Same.
- * math/complex-stub.h: Change.
- * math/c_log10*.c: Change back to clog10*.c.
-
- * configure.in (NEED_C_LOG10): Delete.
- * configure: Regenerate.
- * math/Makefile.am: Change.
-
-1999-07-30 Benjamin Kosnik <bkoz@cygnus.com>
-
- * math/Makefile.am: Fix, for real.
- * configure.in (use_builtin_sinf): Ok, make autoconf solution.
- * math/clog.c: Move to c_log.c.
- * math/clog*: Ditto.
- * math/c_log10l.c (c_log10l): Change function name.
- * math/c_log10f.c (c_log10f): Change function name.
- * math/c_log10.c (c_log10): Change function name.
-
- * math/complex-stub.h: Change to c_log* variants.
- * src/complex.cc: And here.
-
-1999-07-29 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/27_io/istream_extractor_other.cc: Correct last test.
- * bits/sstream.tcc (stringbuf::overflow): Don't update the input
- sequence, just the output sequence.
- * bits/std_sstream.h (stringbuf::str()): Only in stringbufs return
- the original string, all others use complicated heuristic.
-
- * src/complex.cc: Assume c_log10.
- * math/Makefile.am (EXTRA_yes): Fix c_log/c_logf unresolved
- symbols in shared libraries by making c_log/c_log10 part of the
- "must cmpile" sources. This may not work on solaris, must check.
-
-1999-07-29 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/istream.tcc (operator>>(streambuf*)): Re-do.
- * bits/std_istream.h: Fix char extractors.
- * testsuite/27_io/istream_extractor_char.cc: Change.
- * testsuite/27_io/istream_extractor_other.cc: Add tests.
-
-1999-07-28 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_cctype.h: Fix for solaris2.6 builds.
-
- * bits/istream.tcc: Fix, thanks Alfred.
- * bits/std_istream.h: Formatting changes.
-
- * libio/Makefile.am (libio_la_SOURCES): Remove cleanup.c, so that
- _IO_cleanup will not be undefined.
- * libio/*: Regenerate.
-
- * bits/basic_string.h: More namespace-safety stuff.
- * testsuite/27_io/istream_extractor_char.cc: Fix.
- * testsuite/27_io/istream_extractor_arith.cc: Fix.
- * testsuite/27_io/iostream_objects.cc: Fix.
- * testsuite/27_io/ios_ctor.cc: Fix.
- * testsuite/27_io/istream_manip.cc: Make namespace safe.
- * testsuite/27_io/istream_extractor_other.cc: New file.
-
- * mkcheck (TESTS_FILE): Tweaks.
-
-1999-07-27 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/gen-c++config.cc: Note here, change version.
- * acconfig.h( _GLIBCPP_USE_CTYPE_ISBIT): New macro.
- * src/locale.cc: Used here.
- * configure.in (use_builtin_sinf): Check for _ISBit using autoconf.
-
- * aclocal.m4: Regenerate by running `aclocal -I m4.`
-
- * bits/istream.tcc: Fix.
- * bits/std_istream.h: More changes to extractors.
-
- * testsuite/27_io/istream_extractor_char.cc: More.
- * testsuite/21_strings/inserters_extractors.cc (test01): Fix logic
- error in testsuite construction.
-
- * bits/std_istream.h: Partially revert.
- * bits/std_ostream.h: Same.
- * bits/std_sstream.h: Revert.
-
-1999-07-26 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_sstream.h: Change initialization.
- * bits/std_ostream.h: Make default ctor/assign/operator= private.
- * bits/std_istream.h: Same, also correct sentry args.
- * bits/istream.tcc: Add correct sentry args.
-
- * testsuite/27_io/istream_extractor_char.cc: New file.
- * testsuite/27_io/istream_extractor_arith.cc: New file, old file,
- name changes making me dizzy.
-
-1999-07-26 Ulrich Drepper <drepper@happy.cygnus.com>
- Benjamin Kosnik <bkoz@cygnus.com>
-
- * aclocal.m4, config.guess, config.sub, ltconfig ltmain.sh: Update
- to libtool 1.3.3.
-
-1999-07-26 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/std_complex.h: Tweak. Make the primary template class
- complex work with user-defined numerical types. Provide member
- definitions. Restructure.
- (class complex<float>): Uglify. Remove __value(). Rename __val
- to _M_value. Rename __complex_value_type to _ComplexT. Make it
- private. Remove dependency on __value(). Fix various explicit
- specialization syntax. Declare a some functions friend. Now the
- implementation is nearly comforming.
- (class complex<double>): Likewise.
- (class complex<long double>): Likewise.
-
- * src/complex.cc: Tweak. Remove dependency on complex::__value().
- (sin, sinh, tan, than): Fix call to corresponding C9x function
- syntax.
-
-1999-07-24 Benjamin Kosnik <bkoz@fidel.cygnus.com>
-
- * bits/istream.tcc (ws): Fix error with failbit being set.
-
- Disabled due to egcs/gcc-2_95 internal compiler errors.
- * src/Makefile.am (CXXFLAGS): Add -fsquangle -fhonor-std
- -fnew-exceptions. Compiling with namespaces enabled will now be
- the default.
- * mkcheck (CXX_FLAG): Same.
- * src/gen-c++config.cc (_GLIBCPP_USE_NAMESPACES): Yup. New macro.
- * bits/std_cctype.h: Not enough to just define in namespace std if
- ctype-isms are macros. Need to also define in namespace std:: if
- the C functions are just plain functions.
-
- * src/gen-num-limits.cc: Fix spelling inconsistencies.
-
-1999-07-24 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * docs/18_support/howto.html: Start documentation. Need to keep
- track of the ongoing discussion in th LWG reflector.
-
- * src/gen-num-limits.cc: Tweak.
- (class predicate): New class.
- (class value): Likewise.
- Make the whole machinery more flexible. Add comments.
-
-1999-07-23 Benjamin Kosnik <bkoz@fidel.cygnus.com>
-
- * bits/ios_base.h: Move state/exception functions into basic_ios.
- * bits/basic_ios.h: Same.
- * src/ios.cc: And here. Callbacks don't attempt to reset
- state now.
-
- * bits/std_streambuf.h: Separate ios and streambuf locale data
- members and cached facets. Using this convention: _M_locale_buf for
- the streambuf-related classes, and _M_locale_ios for the ios
- hierarchy.
- * bits/fstream.tcc: And here.
- * bits/basic_ios.h: And here. Also, add cached ctype.
- * src/ios.cc: Ditto.
- * bits/ios_base.h: Ditto.
- * bits/std_istream.h: Use cached ctype facet.
- * docs/27_io/iostreams_hierarchy.pdf: Update for new data member
- arraignment.
-
- * testsuite/27_io/ios_ctor.cc: New file.
- * src/ios.cc: Move _M_state init to basic_ios::init().
- * bits/basic_ios.h: To here.
-
- Attempt for some consistency in naming for testsuite/27_io/*.cc.
- * testsuite/27_io/boolfmt.cc: Rename to stdios_fmtflags_manip.cc
- * testsuite/27_io/octfmt.cc: Rename to stdios_basefield_manip.cc
- * testsuite/27_io/istream_manip.cc: Rename to istringstream_manip.cc.
- * testsuite/27_io/ostream_manip.cc: Rename to ostringstream_manip.cc.
-
-1999-07-22 Benjamin Kosnik <bkoz@fidel.cygnus.com>
-
- * src/ios.cc: Tweak initializations of standard iostream
- objects to closely match the standard. Tie cin/wcin, set flags on
- cerr/wcerr
- * bits/char_traits.h: Change from size_t to int_type, as per
- standard. As per wide streams.
- * bits/basic_ios.h: Infect with __ctype_type, as a preparation
- for caching a bunch of ctype info. For instance, ctype_base::space
- info needs to be stored somewhere, somehow.
- * bits/std_istream.h: Also here.
- * bits/std_ostream.h: Ditto.
- * bits/std_istream.h (operator>>(istream, char): Aggh. Fixup.
- * testsuite/27_io/iostream_objects.cacc (test01): Oh yeah. Fix
- stream states.
-
- * bits/istream.tcc (ws): Fix.
- * testsuite/27_io/istream_manip.cc: New file, test ws.
- * testsuite/27_io/ostream_manip.cc: New file, test endl, ends, flush.
-
- * bits/basic_string.h: Provide a specialized member function for
- _S_find<char> using strchr.
- * src/string-inst.cc: Put specializations here.
- * bits/string.tcc: Small fix for find, remove typo.
- * testsuite/21_strings/find.cc (test01): Add tests to catch this
- find bug. . .
-
-1999-07-20 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * bits/basic_ios.h: Put into basic_ios namespace.
- Tweak widen/narrow.
-
-1999-07-19 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * bits/std_sstream.h (stringbuf::sync): Change to _M_really_sync,
- adjust _M_*_cur pointers inside the function, so callee doesn't
- have to adjust.
- * bits/sstream.tcc (stringbuf::overflow): Tweak.
-
- * mkcheck: Tweak. Add execution time field, even though it is not
- implemented yet. Simplify pass/fail status notation.
-
-1999-07-18 Mumit Khan <khan@xraylith.wisc.edu>
-
- * configure.in: Check for float.h and underscored version of
- math functions.
- * acconfig.h: Add @BOTTOM@ section for handling underscored
- math functions.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * math/mathconf.h (float.h): Include conditionally.
- (M_PI): Define conditionally.
- (INFINITE_P): Define for Mingw.
- * bits/locale_facets.tcc: Workaround for compiler crash on
- ix86-*-mingw32.
- * bits/std_cwchar.h (bits/std_cstddef.h): Include.
- * src/locale.cc (bits/std_istream.h): Include.
- (bits/std_ostream.h): Likewise.
-
-1999-07-18 Phil Edwards <pedwards@ball.com>
-
- * docs/faq/index.html: Updated __black_count notes, fixed typos.
- * docs/faq/index.txt: Regenerated.
-
-1999-07-15 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * testsuite/27_io/stringbuf.cc: Cccchanges, latent bugs.
-
- * bits/sstream.tcc (stringbuf::overflow): Modify accounting of
- newly-allocated buffer.
- * bits/streambuf.tcc (streambuf::xsgetn): Aaaaaah. Fix final
- overflow condition bits.
-
-1999-07-14 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_sstream.h (stringbuf::_M_init_stringbuf): Set
- _M_buf_size to initial _M_string.size(), even though for
- ostringstreams it is pretty pointless. It's necessary for
- istringstreams.
- (stringbuf::str()): Adjust.
- (stringbuf::str()): Adjust, call _M_init_stringbuf.
- * bits/streambuf.tcc (streambuf::xsgetn): Adjust return value for
- overflow's possible success.
- (streambuf::xsputn): Adjust.
-
- * testsuite/27_io/filebuf.cc: Adjust for the xsgetn re-write from
- yesterday.
- * testsuite/27_io/stringbuf.cc: Tweak.
- * testsuite/21_strings/inserters_extractors.cc (test01): Remove
- notes to myself.
- * testsuite/23_containers/vector_cons.cc: Rename to be consistent
- with other constructor tests to. . .
- * testsuite/23_containers/vector_ctor.cc: New file.
-
-1999-07-14 Alfred Minarik <a8601248@unet.univie.ac.at>
-
- * testsuite/*: Changes to make the testsuit compilable with
- -fhonor-std. Contains direct qualification of library names with
- std::.
-
-1999-07-13 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * bits/streambuf.tcc: Tweaks.
- (streambuf::xsputn): Optimize, fix for sstreams.
- (streambuf::xsgetn): Same.
- * bits/sstream.tcc (stringbuf::overflow): Adjust _M_buf_size
- correctly, handle overflow/reallocate conditions correctly.
- * bits/std_sstream.h: Fix typo.
- _M_init_stringbuf(): Fix _M_buf_size initialization.
- (stringbuf::str()): Construct return string if output has occurred.
-
- * bits/basic_string.h: Fix typo from yesterday's patch.
-
-1999-07-12 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/string.tcc: _M_mutate - clear _M_state again.
- * bits/basic_string.h: In the three functions that return
- an iterator set _M_state to -1 before return.
- Also optimized two cases of operator+.
-
-1999-07-12 Phil Edwards <pedwards@ball.com>
-
- * docs/index.html: Expand egcs-1.1.2 notes/links.
- * docs/faq/index.html: And here. Add links to LWG issues-list.
- * docs/faq/index.txt: Regenerate. (lynx rocks)
- * docs/21_strings/howto.html: Fix notes on case conversion.
- * docs/21_strings/stringtok_h.txt: Goodly spelling...
- * docs/23_containers/howto.html: Stub for bitmasks.
- * docs/27_io/howto.html: Add section on buffering, stub binary.
-
-1999-07-12 Nathan Myers <ncm@cantrip.org>
-
- * stl/bits/stl_tree.h (__black_count): Optimize.
-
-1999-07-09 Vadim Egorov <egorovv@1c.ru>
-
- * src/basic_file.cc: Cleanup in __basic_file destructor.
-
-1999-07-08 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_streambuf.h: Changes. . .
- * bits/streambuf.tcc: Merge xsputn from filebuf into xsputn in
- basic_streambuf, to be used for both filebufs and streambufs.
- * bits/std_fstream.h (_M_init_filebuf): New function.
- Take out specialized xsputn, put into basic_streambuf.
- * bits/fstream.tcc: Define, call from both ctors.
- * bits/std_sstream.h (_M_init_stringbuf): New function.
- * bits/sstream.tcc: Tweak.
-
- * docs/27_io/iostreams_hierarchy.pdf: New file.
-
- * docs/17_intro/CHECKLIST (basic_string<char>): Validation and
- acceptance. Wooo-hoo!
-
- * bits/char_traits.h: Change int_type for char_traits general
- template, so that 21_strings/capacity.cc will compile.
- * testsuite/21_strings/capacity.cc: Add operators.
-
- * bits/string.tcc (string::compare): Clean up, re-implement.
- * testsuite/21_strings/compare.cc: Tweak.
-
- * bits/string.tcc (string:_M_mutate): Keep leaked value in
- _M_state, which means that whenever begin() or end() has been
- called, the string is unshareable, period. By doing this, insert
- and erase member functions that return iterators can remain
- footloose and fancy free.
- * testsuite/21_strings/invariants.cc: Update.
-
- * bits/basic_string.h (string::append): Fix self-referential
- problems, ie when "this" is also an argument to a member function.
- * bits/string.tcc: Tweak, same.
- * testsuite/21_strings/append.cc: New file.
-
-1999-07-07 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/char_traits.h: Tweaks.
- * bits/basic_string.h: Tweak.
- * bits/fstream.tcc: Remove warning for _M_buf_size assignment.
-
-1999-07-06 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_streambuf.h: Absorb/acquire data members previously
- working in basic_filebuf.
- * bits/streambuf.tcc: Tweaks.
- * bits/fstream.tcc: Adjust.
- * bits/std_fstream.h: Move and rename the following functions:
- _M_set_ideterminate, _M_is_indeterminate, _M_set_determinate are
- now declared and defined in the base class, basic_streambuf. Oh
- fuck it, move data members _M_buf, and _M_buf_size into
- basic_streambuf as well.
-
- * bits/ostream.tcc: Tweak.
- * bits/locale_facets.tcc: Fix typo in comments.
-
- * testsuite/21_strings/inserters_extractors.cc (test01): Change
- state from good to not good, as eof() is set.
-
-1999-07-05 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/char_traits.h (char_traits::compare). Fix.
-
- * config.guess, config.sub: Update.
-
-1999-07-02 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/string.tcc: Check the __res_arg for a length error.
-
-1999-07-01 Benjamin Kosnik <bkoz@nabi.net>
-
- * bits/std_streambuf.h: Tweaks. Need to move _M_is_indeterminate
- and related functions into basic_streambuf, from basic_filebuf to
- take care of ostringstreams and empty strings. So that's groovy,
- or will be groovy.
- * bits/std_istream.h: Tweaks.
- * bits/istream.tcc: Implement ws, getline, operator>> for string.
- * bits/std_ostream.h: And here.
- * bits/ostream.tcc: Same.
- * src/misc-inst.cc: Add instantiations for ws.
-
- * src/string-inst.cc: Add instantiations for inserters and
- extractors (operators << and >>, getline).
-
- * testsuite/21_strings/inserters_extractors.cc: Amazingly enough,
- a testcase for getline and operators << and >>. Ostream tests are
- failing right now, but istream tests should work. . .
-
- * bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
- * bits/std_sstream.h: Revert.
-
- * testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
- istream, ostream, streambuf, fstream, sstream].cc: New files.
-
-1999-06-30 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
- and string::end().
-
- * bits/basic_string.h (basic_string<>::_S_copy_chars): Add
- specializations for _CharT*, iterator and const_iterator.
- * src/string-inst.cc: Remove explicit instantiation, as
- now explicitly specialized.
-
- * bits/basic_string.h: Add a size_type parameter to _M_clone with
- a default value set to 0.
- * bits/string.tcc: In _M_clone by the call of _S_create add the
- value of the new parameter to _M_length. In reserve check
- _M_state and use _M_clone instead of _M_mutate.
-
-1999-06-30 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * bits/basic_string.h: Fix _S_max_size.
- * bits/string.tcc: Add def here.
- * testsuite/21_strings/insert.cc: Fix.
-
- * bits/sbuf_iter.h: Remove detritus.
- * testsuite/24_iterators/istreambuf_iterator.cc: Add tests.
-
- * src/locale-inst.cc: Elaborate iterator/locale instantiations
- to resolve alpha-osf4 build problems.
-
-1999-06-29 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * bits/string.tcc: Fix signed/unsigned issues in compares.
- * stl/bits/stl_deque.h: And here.
- * stl/bits/stl_string_fwd.h: Remove __get_c_string.
-
-1999-06-29 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/string.tcc: New implementation and interface of _M_mutate.
- Adapt the change in all functions that call _M_mutate.
- * bits/basic_string.h: And here.
-
-1999-06-29 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * testsuite/21_strings/capacity.cc (test01): Fix.
-
-1999-06-29 Phil Edwards <pedwards@ball.com>
-
- * mknumeric_limits: Exit script if gen-num-limits isn't built.
-
-1999-06-29 Andreas Gruenbacher <agruenba@pent224.infosys.tuwien.ac.at>
-
- * stl/bits/stl_vector.h: Fix.
- * testsuite/23_containers/vector_cons.cc: Add.
-
-1999-06-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * mknumeric_limits (LDFLAGS): fix.
-
-1999-06-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * mknumeric_limits (LDFLAGS): set it according to the system.
-
- * math/mathconf.h (NAN): Check whether host is running under
- Cygwin and make the appropriate definition.
- * math/complex-stub.h (nan): protect declaration.
-
-1999-06-28 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/sbuf_iter.h: Rename internal data structure to prevent
- confusion between basic_ios and istreambuf_iterators internal
- basic_streambuf data member.
- * testsuite/24_iterators/istreambuf_iterator.cc: New file.
-
- * bits/basic_string.h: Remove conditionals, add input_iterator
- version of S_construct again.
- * bits/string.tcc: Same.
- * src/string-inst.cc: And add explicit instantiation here.
-
- * src/gen-c++config.cc (_GNU_SOURCE): Take out both _GNU_SOURCE
- and __USE_GNU macro defines, as single __USE_GNU use leading to
- confusion on glibc2.1 systems (ie, RedHat 6.0).
-
- * src/Makefile.am (headers): Add std_utility to installed headers.
-
-1999-06-25 John Potter <jpotter@eagle.lhup.edu>
-
- * stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.
-
-1999-06-25 Gilles Zunino <Gilles.Zunino@hei.fr>
-
- * mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.
-
-1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * src/gen-c++config.cc (_GLIBCPP_*): Change all
- macros to include _GLIBCPP as a distinct namespace.
- * bits/*: And here.
- * src/*: And here.
-
- * stl/bits/std_stdexcept.h: Forward-declare __Named_exception ctor.
- * bits/basic_string.h: Remove __get_c_string.
- * src/stdexcept.cc: Define ctor here.
- * bits/ios_base.h: And fix ios_base::failure as well.
- * src/ios.cc: Define here.
-
- * bits/std_streambuf.h: Add a private copy ctor and assignment
- operator wrapped in _G_RESOLVE_LIB_DEFECTS.
- * bits/ios_base.h: And here too.
-
- * bits/basic_string.h: Tweak.
- * testsuite/21_strings/nonmember.cc: Add operator+ tests.
-
- * src/valarray.cc: Rename to. . .
- * src/valarray-inst.cc: This.
- * src/Makefile.am (sources): Change here.
- * src/Makefile.in: Regenerated.
-
-1999-06-24 Vadim Egorov <egorovv@1c.ru>
-
- * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
- allocated size
-
-1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
- Tom Tromey <tromey@cygnus.com>
-
- * configure.in (use_glibc2): Eek, correct for non-glibc systems.
- Use AM_CONDITIONAL to get us out of this jam. .
- * libio/Makefile.am: Same.
- * */Makefile: Regenerated.
-
-1999-06-24 Benjamin Kosnik <bkoz@tintin.cygnus.com>
- John Potter <jpotter@eagle.lhup.edu>
-
- * stl/bits/stl_tree.h (insert_equal): Fix.
- * testsuite/23_containers/multiset.cc: New file.
-
-1999-06-23 Benjamin Kosnik <bkoz@cygnus.com>
-
- * configure.in (test for glibc2): Correct AC_TRY_COMPILE so that
- this works correctly on glibc-2 systems. This should allow
- simplified linking on these systems, and successful linking on Red
- Hat 6.0 systems.
- * configure, Makefile: Regenerate.
-
- * bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name.
-
- * testsuite/ext: New directory.
- * testsuite/ext/headers.cc: New file.
-
-1999-06-23 Vadim Egorov <egorovv@1c.ru>
-
- * stl/ext/hash_set: include missing headers
- * stl/ext/hash_map: Same
- * stl/ext/slist: Same
-
-1999-06-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/std_cmath.h: comment out modf. Kills build on hpux10.20
-
-1999-06-15 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/Makefile.am (sources): Regenerate.
- * mkcheck: Add TESTS_FILE as a way of controlling what testcases
- are run.
-
-1999-06-14 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/string-inst.cc: Change _S_construct signature, to
- track requested allocation size versus valid input iterator range.
- * bits/basic_string.h: Here too.
- * bits/string.tcc: And here.
-
-1999-06-12 Benjamin Kosnik <bkoz@cygnus.com>
-
- * mkcheck (LOG_FILE): Correctly append errors.
-
- * stl/bits/stl_iterator.h: Revert previous, delirious, change.
-
- * bits/basic_string.h: Change _Rep::_M_data to _Rep::_M_refdata,
- to clarify differences between basic_string::_M_data() calls and
- _Rep::_M_data() calls.
- * bits/std_string.h: Fix.
- Put in check for out_of_range in substr.
- * bits/string.tcc: Fix for _S_find.
-
- * testsuite/21_strings/compare.cc: Add tests.
- * testsuite/21_strings/find.cc: New file.
- * testsuite/21_strings/substr: New file.
- * testsuite/21_strings/replace.cc: New file.
-
-1999-06-11 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_array.h: __restrict__ify pointers.
-
- * bits/std_valarray.h: Tweak.
- (valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.
-
- * bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h
-
- * bits/gslice.h: Tweak.
- (class gslice::_Indexer): new class.
- (gslice::gslice(const gslice&)): implement copy-ctor to support
- ref-counted index.
- (gslice::operator=(const gslice&)): support ref-counted index.
- (gslice::_M_convert_to_index): delete.
-
- * src/valarray.cc: New file.
- (__gslice_to_index): turn a gslice into a valarray<size_t>
- (ctor gslice::_Indexer::_Indexer): implement.
-
- * src/Makefile.am (sources): add valarray.cc
- * src/Makefile.in: regenerate.
-
-1999-06-08 Benjamin Kosnik <bkoz@cygnus.com>
-
- * stl/bits/stl_iterator.h (__normal_iterator::const_iterator
- ctor): Put in a const_cast.
-
- * testsuite/21_strings/invariants.cc: New file.
-
- * testsuite/21_strings/insert.cc: Add exception handling bits.
- * testsuite/21_strings/ctor_copy_dtor.cc: Same.
-
- * src/wstring-inst.cc: Add c++config.h include.
-
- * bits/basic_string.h: Fix const operator[] for size == pos.
- Add _M_leak for rbegin, non-const.
- Add _M_leak for rend, non-const.
- Make member function at standards conformant.
- Add _S_terminal to _Rep for operator[] const, add this into
- c_str() as well.
- * bits/string.tcc: Add static member definition here,
- temporarily.
-
- * testsuite/21_strings/element_access.cc: Add tests.
-
-1999-06-08 Vadim Egorov <egorovv@1c.ru>
-
- * bits/fstream.tcc (_M_really_overflow): Fixed size of
- conversion buffer.
-
-1999-06-08 Phil Edwards <pedwards@ball.com>
-
- * bits/fstream.tcc (basic_filebuf::xsputn): Fix off-by-one count
- caused when __testinit is true.
- * bits/ostream.tcc (basic_ostream::op<<(streambuf*)): Write buffer
- using rdbuf()->sputn rather than _M_fnumput->put.
-
-1999-06-08 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * testsuite/23_containers/bitset_ctor.cc: New file.
- * stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.
-
-1999-06-08 Phil Edwards <pedwards@ball.com>
-
- * bits/fstream.tcc (basic_filebuf::underflow): Fix, rename local vars.
-
-1999-06-07 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * testsuite/21_strings/element_access.cc: Finish off these tests.
- * testsuite/21_strings/insert.cc (test01): Uncomment.
- * testsuite/21_strings/ctor_copy_dtor.cc (test01): Finish off ctors.
- * bits/basic_string.h: Tweak, okay, fix for real this time.
- * bits/string.tcc: Same.
- * bits/char_traits.h: Tweak.
-
-1999-06-07 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/std_cmath.h: Example of how to use the generated macro.
- * acconfig.h: Add macro for sinf here.
- * configure.in (LIBS): Add test for builtin math function sinf.
- * configure: Regenerated.
-
- * bits/basic_string.h: Fix _S_max_size.
-
-1999-06-06 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/basic_string.h: Fixes for out-of-memory segv for large strings.
- Remove _S_construct signature for forward_iterator_tag and
- input_iterator_tag.
- Clean _M_fold.
- * src/string-inst.cc: Same, tweaks.
- * bits/string.tcc: Same, tweaks.
-
- * testsuite/21_strings/ctor_copy_dtor.cc: Add/clarify tests.
- * mkcheck (LOG_FILE): Fix filebuf-[2,3].tst checks.
- * mknumeric_limits (LD_FLAGS): Add -nodefaultlibs -lc -lgcc as per
- Gaby.
-
- * src/locale.cc: Final separation for char/wchar_t bits.
-
-1999-06-05 Phil Edwards <pedwards@ball.com>
-
- * docs/index.html: Added link to book upon request'n'agreement.
- * docs/23_containers/wrappers_h.txt: Added.
- * docs/{23_containers,27_io}/howto.html: Added sections.
-
- * bits/std_fstream.h: Tweak.
-
-1999-06-05 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * src/ios.cc: Same here.
- * bits/std_iosfwd.h: More wchar_t defines.
-
- * bits/basic_string.h: Tweaks.
- * bits/string.tcc: Tweak. Fix _S_construct to check for max_size
- when doing error checking, as per LWG defect #83.
-
- * src/gen-c++config.cc: Fix comment.
-
- * testsuite/21_strings/ctor_copy_dtor.cc: New file, checks ctors,
- assignments, dtors.
- * testsuite/21_strings/element_access.cc: New file, checks for
- operator[], at(...).
- * testsuite/21_strings/insert.cc: New file, tests string::insert.
- * testsuite/21_strings/char_traits.cc: New file, tests
- for char_traits<char>.
-
- * bits/utility.h: Remove, again.
- * src/Makefile.am (std_headers): Remove utility.h.
- * src/Makefile.in (std_headers): Regenerate.
-
- Alfred Minarik <a8601248@unet.univie.ac.at>
- * bits/basic_string.h: Move __out_of_range and __length_error into
- namespace std.
-
-1999-06-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * testsuite/26_numerics/modf_float.cc: New file.
-
- * bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
- typo: use ::modff, not ::modf.
-
-1999-06-03 Vadim Egorov <egorovv@1c.ru>
-
- * bits/string.tcc (basic_string::_M_mutate): Fixed memory
- allocation error
- * testsuite/21_strings/capacity.cc (test01): Test.
-
-1999-06-03 Phil Edwards <pedwards@ball.com>
-
- * bits/fstream.tcc: Re-order inits to stop warnings. Comment/move
- unused variables to within #if 0 blocks to do the same.
- * bits/std_fstream.h: Fix typos (one prevents compilation).
-
-1999-06-03 Benjamin Kosnik <bkoz@pacifica.cygnus.com>
-
- * src/wstring-inst.cc: Fix.
-
-1999-06-02 Benjamin Kosnik <bkoz@madcow.cygnus.com>
-
- * bits/char_traits.h: Add _G_USE_WCHAR_T macro guards.
- * stl/bits/stl_string_fwd.h: Same.
- * bits/locale_facets.h: Same.
- * bits/locale_facets.tcc: Same.
- * src/wstring-inst.cc: And here.
-
- * src/gen-c++config.cc: Comment _G_USE_WCHAR_T. Leading to
- problems on HPUX 10.20.
- * your-build-directory-here/bits/c++config.h: Just kidding, do it
- here as a temporary hack till the compiler/host problems get
- worked out.
-
- * bits/locale_facets.tcc (num_get::do_get): Change from ifdef
- HAVE_STRTOLD to HAVE_STRTOLD && !(__hpux). Apparently, problems
- converting "long double" to struct long_double. Probably should be
- done with one macro (HAVE_STRTOLD) at configure time.
-
- * bits/std_cmath.h: Comment out pow(double, int) definition as
- gives re-declaration under hpux10.20. Revert previous change, as
- kills linux/x86, solaris 2.7, hpux builds. These should be done
- using autoconf, see std_cctype.h and the solutions started in
- configure.in (see config.h for the generated file.)
-
- * mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
- -nodefaultlibs prevents linking under HPUX 10.20 as __main is not
- defined.
-
- * docs/index.html: Add some useful links.
- * docs/17_intro/contribute.html: Fix broken links.
-
-1999-06-02 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * mkcheck (LOG_FILE): Add !/bin/bash instead of cygnus-style
- paths. The rest of the world should be able to run this script
- now.
-
- * src/Makefile.am ($(generated_headers)): Remove comment.
- * Makefile*: Regenerate.
-
- * bits/std_locale.h: Remove detritus.
- * bits/localefwd.h: Add <cctype> include to undefine the isspace
- macro.
-
-1999-06-01 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * src/gen-c++config.cc: New file. Making c++config.h at configure
- time by catting this file (nee bits/config.h) with the build
- directories config.h. This is not a complete or perfect solution
- but is better than what was in place previously.
- * bits/c++config.h: Rename/move to above.
- * src/Makefile.am (headers): Remove c++config.h.
- (myinstallheaders). Add.
- * Makefile*: Regenerated.
-
- * bits/std_cwchar.h: Add include of c++config.h for HAVE_*
- definitions, so that wmemcmp, wcslen, wmemchr, etc are properly
- declared only if not present in the host's wchar.h.
-
- * bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.
-
- * bits/std_cmath.h: Define out, for the moment. Linux has no
- __buitin_fsqrtl? Probably need some kind of configure trickery
- here as well.
-
- * src/Makefile.*: Regenerate.
- * bits/c++config.h: Add config.h include.
-
- * bits/std_cwchar.h: Remove remaining #error guard.
-
- * acconfig.h: Add bits for HAVE_LC_MESSAGES.
-
- * configure.in (LIBS): Replace previous effort for mbstate_t and
- strtold/strtof with this implementation.
-
-1999 06-01 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
- whenever possible.
-
-1999-05-28 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
- for determining mbstate_t differences across various hosts not
- finished.
-
-1999-05-26 Benjamin Kosnik <bkoz@nabi.net>
-
- * bits/locale_facets.tcc: Change to ifdef.
-
- * bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
- * bits/std_fstream.h (filebuf::setbuf): Same.
-
- * bits/std_istream.h: Add ws declaration.
- * bits/istream.tcc: Stub out definition.
-
- * docs/index.html: Fix broken link for design.txt.
-
- * configure.in: Test for mbstate_t. If wchar.h doesn't have it,
- then set _G_NEED_MBSTATE_T.
- * configure: Regenerate.
- * bits/c++config.h: Move mbstate_t define.
- * bits/std_cwchar.h: To here.
-
-1999-05-25 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/std_sstream.h:
- basic_stringbuf<>::basic_stringbuf: fix.
- basic_stringbuf<>::setbuf:
- remove the temporary __string_type object,
- remove the unnecessary dynymic_cast in the return value,
- change the type of the returned value from __streambuf_type*
- to basic_stringbuf<_CharT, _Traits, _Alloc>*.
-
-1999-05-25 Phil Edwards <pedwards@ball.com>
-
- * bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*.
-
-1999-04-25 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/std_cmath.h: Tweak. Add float versions of the math functions
- in <math.h>. <cmath> still incomplete and incorrekt.
-
-1999-05-24 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * mknumeric_limits (LDFLAGS): set appropriate link flags.
-
-1999-05-23 Phil Edwards <pedwards@ball.com>
-
- * docs/17_intro/howto.html: Added links to text docs,
- e.g., BUGS.
- * docs/21_strings/howto.html: Updated sections and links.
- * docs/21_strings/{gotw29a.txt,stringtok_h.txt}: Added.
- * docs/faq/index.html: Updated what-works for sixth
- snapshot. Also a number of "internal" links have been
- fixed, now that the web pages are the docs directory...
- * docs/faq/index.txt: Regenerated.
-
-1999-05-21 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/basic_string.h: Add Nathan's documentation on the string class.
-
- * testsuite/27_io/ios_members_static.cc: New file, for testing
- ios_base::sync_with_stdio.
-
-1999-05-21 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/std_locale.h: Simplify includes.
- * bits/loccore.h: Delete.
- * bits/localefwd.h: Renamed, trimmed.
- * bits/locfacets.h: Delete.
- * bits/locale_facets.h: Rename, expanded.
- * bits/loccore.tcc: Deleted.
- * bits/locfacets.tcc: Deleted.
- * bits/locale_facets.tcc: Resultant merge.
- * bits/std_fstream.h: Modify include.
- * bits/ostream.tcc: Same.
- * bits/istream.tcc: Same.
-
- * src/locale-inst.cc: And here.
- * src/locale.cc: Ditto.
- * src/Makefile.am: Updated.
- * src/Makefile.in: Rengenerated.
-
- * bits/std_istream.h: Move istream::sentry ctor definition.
- * bits/istream.tcc: Move istream::sentry ctor here.
- Add more detailed locale include here for ctype member functions.
- * bits/ostream.tcc (std): And here.
-
- * bits/sbuf_iter.h: Include std_streambuf.h
-
- * bits/locfacets.h: Start separating this into a localeimp.h file.
- * bits/loccore.h: Start separating this into a localefwd.h file.
- Add std_climits for CHAR_BIT.
-
- * bits/ios_base.h (ios_base::sync_with_stdio): Stub in.
-
- * bits/char_traits.h: Tweak.
-
- * bits/ios_base.h: Remove INT_MAX, use 1<<16.
-
- * bits/std_ostream.h: Remove c++config.h include.
- * bits/std_istream.h: Same.
- * bits/std_streambuf.h: Same.
- * bits/std_fstream.h: Same.
- * bits/std_sstream.h: And here.
-
- * bits/std_iosfwd.h: Add _G_RESOLVE_LIB_DEFECTS here for streampos.
- * bits/char_traits.h: Add include of std_cwchar.h for mbstate_t.
- * bits/fpos.h: Tweak, format.
-
- * std/ciso646: New file.
- * bits/std_ciso646.h: New file.
- * src/Makefile.am (std_headers): Add ciso646.
- (headers): Add bits/std_ciso646.h.
- * src/Makefile.in: Regenerate.
- * testsuite/17_intro/header_ciso646.cc: New file, disable
- equivalance tests.
-
- * bits/fpos.h: Remove libio.h include.
- * bits/basic_file.h: And here.
- * bits/std_ios.h: Put here.
-
- * src/ios.cc: Simplify includes, tweak.
- * bits/std_ios.h: Simplify include order.
- * bits/ios_base.h: Modify ios_base::failure.
-
- * stl/bits/std_numeric.h: Change include from stl_iterator to
- std_iterator.
-
-1999-05-19 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * std/iostream: Remove static member __ioint.
- * bits/std_iostream.h: Put here.
-
- * stl/bits/std_numeric.h: Remove unneccessary std_iostream.h include.
- * stl/bits/stl_algobase.h: Same.
- * testsuite/27_io/iostream_objects.cc: Regression tests.
- * testsuite/27_io/hello.cc: Remove, subset of above.
-
-1999-05-19 Phil Edwards <pedwards@ball.com>
-
- * docs/index.html: Tweak, update.
-
-1999-05-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * docs/17_intro/RELEASE-NOTES: remove outdated
- documentation about numeric_limits. Correct CXXINCLUDE setting
- documentation.
-
-1999-05-18 Phil Edwards <pedwards@ball.com>
-
- * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
- 22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
- 27_io}/howto.html: Created, with some initial entries.
- * docs/faq/index.html: Fixed some links.
- * docs/faq/index.txt: Regenerated.
-
-1999-05-18 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/c++config.h (__GLIBCPP__): Set version to 19990518.
-
- * docs/17_intro/RELEASE-NOTES: Update.
- * docs/index.html: Correct link to mailing list help page, update News.
- * docs/faq/index.html: Change fifth to sixth for snapshot.
-
- * src/Makefile.am (myinstallheaders): Bring over Gaby's changes to
- install $(top_builddir)/bits/std_limits.h into
- $(myincludepfx)/bits. This was mistakenly omitted from yesterday's
- Makefile.am changes.
- * *Makefile*: Regenerate using automake.
-
- * mkcheck (LOG_FILE): Fix filebuf directory oddness.
- * testsuite/27_io/filebuf.cc: Same.
-
-1999-05-18 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * docs/17_intro/CHECKLIST: update.
- * docs/17_intro/TODO: update.
-
-1999-05-17 Phil Edwards <pedwards@ball.com>
-
- * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
- 22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
- 27_io}/howto.html: Created, with some initial entries.
- * docs/faq/index.html: Fixed some links.
- * docs/faq/index.txt: Regenerated.
-
-1999-05-17 Benjamin Kosnik <bkoz@unhappy.cygnus.com>
-
- * src/Makefile.am (myinstallheaders): Missed removing missing.h.
- * Makefile.in*: Regenerate.
-
-1999-05-17 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * bits/std_streambuf.h: Same.
-
- * bits/loccore.h (_Bad_use_facet): Remove bits warned about.
- * bits/locfacets.h (std): Same.
- * bits/sstream.tcc: Same.
- * testsuite/27_io/stringstream.cc: Tweak.
-
- * testsuite/27_io/filebuf.cc: Adjust.
- * testsuite/21_strings/capacity.cc (test01): Add more
- string::reserve tests.
-
- * bits/c++config.h: Remove broken CCTYPE.
- * bits/std_cctype.h: Tweak, remove de-macroization, enable
- sequestered topper implementation.
- * bits/std_cwctype.h: Same.
-
- * bits/missing.h: Remove.
- * bits/std_locale.h: Remove missing.h include.
-
- * stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
-
- * src/Makefile.am (headers): Add bits/std_cwctype.h.
- INCLUDES: Add top_builddir.
- * src/Makefile.in: Regenerate.
-
- * Makefile.am: Add check and check-install as new targets.
- * testsuite/make_check_libfree++: Move to. . .
- * mkcheck: Here.
- * configure.in: Tweak versions.
- * mknumeric_limits: Set paths correctly.
-
-1999-05-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * src/Makefile.in (myinstallheaders): add rule to install
- std_limits.h.
-
- * bits/slice.h (class slice): don't const-qualify data members
- since the copy and assignment operator is implicitly used. The
- valarray specification is definitively a bad one.
-
- * Makefile.in (generate-limits-sources): fix typo.
-
- * docs/text/TODO: update.
- * docs/text/CHECKLIST: update.
-
- * bits/gslice.h (gslice): fix bugglet.
- (gslice::gslice): set _M_index_size to 0 whenever given lengths
- (lj) of size zero.
-
- * src/Makefile.am (libstdc___la_SOURCES): add gen-num-limits.
- * src/Makefile.in (libstdc___la_SOURCES): keep in sync.
- [Note: **/Makefile.in should be generated from the corresponding
- Makefile.am. The current situation is a litte chaotic. ]
-
-1999-05-16 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * mknumeric_limits: tweak.
-
- * Makefile.in (all): add target generate-limits-sources.
- (generate-limits-sources): make a directory bits/ in top_builddir
- where the generated std_limits.h is put; generate limitsMEMBERs.cc
- directly under $(top_builddir)/src. Remains to put the appropriate
- rule for installing std_limits.h.
-
- * src/Makefile.in (headers): remove bits/std_limits.h to this list.
- (INCLUDES): add -I$(top_builddir) for bits/std_limits.h which is
- now generated at build-time in the build directory
- (libstdc___la_SOURCES): remove limitsMEMBERS.cc form this list
- * src/Makefile.am: reflect changes in src/Makefile.in
-
-1999-05-12 Phil Edwards <pedwards@ball.com>
-
- * docs/faq/index.html: Add more entries (5.4,5.5), finish
- all but one empty entry. Add links for HOWTOs, but no files yet.
- (Corrected HOWTO links are for bkoz's new scheme.)
- * docs/faq/index.txt: Regenerated.
-
-1999-05-12 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * testsuite/17_intro/headers.cc: New file.
- * stl/bits/std_queue.h: Change stl_bvector.h include path.
- * bits/std_cwctype.h: New file.
-
- * testsuite/27_io/filebuf.cc: Need to tweak directory structure.
-
-1999-05-11 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * stl/bits/stl_config.h (__USE_MALLOC): Change underlying allocator.
- Check __USE_MALLOC before defining specializations containing
- __default_alloc_template.
- * src/stl-inst.cc: Here too.
-
- * bits/basic_string.h: Change.
-
- * testsuite/make_check_libfree++: More tweaks.
- * testsuite/21/capacity.cc: New file.
-
- * src/string.cc: Rename to be consistent with other inst files.
- Rename to string-inst.cc.
- * src/string*.cc: Change include.
- * src/wstring.cc: Rename to wstring-inst.cc.
- * src/wstring*.cc: Ditto.
- * src/Makefile.in: Also here.
- * src/Makefile.am: Ditto.
-
- * src/traits.cc: Remove.
- * src/wtraits.cc: Same.
-
- Try a new way of organizing documentation, one with synchronicity
- between testsuites and docs subdirectories, and see who yelps.
- * docs/html: Remove, use chapter and subject specific directories
- instead of forcing things immediately into format of
- documentation.
- * docs/text: Same.
- * docs/image: Same.
- * docs/faq/text, docs/faq/html: Remove, put in the docs/faq
- directory and sort by filename and extension.
- * docs/17_intro, 18_support, 19_diagnostics, 20_util, 21_strings,
- 22_locale, 23_containers, 24_iterators, 25_algorithms,
- 26_numerics, 27_io: Add.
- * docs/17_intro/*: Populate with all the text files. . .
- * docs/index.html: Construct.
-
- * testsuite/*: Update with same names as the docs subdir.
- * testsuite/results: Where to stash conformance results for the
- different snapshots, so that progress/size/speed issues can be
- tracked over time.
-
-1999-05-10 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * src/string.cc: Add _S_copy_chars instantiation, as well as
- string::binary operators !=, ==, etc.
-
- * src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
- * src/Makefile.in (CXXFLAGS): Same here.
- * testsuite/make_check_libfree++ (CXX_FLAG): And here.
-
-1999-05-07 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/string.cc: Add missing member functions to instantiation list.
-
-1999-05-07 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/misc-inst.cc: Remove unused string instantiations.
-
- * bits/string.tcc: Tweak, fix.
- * bits/basic_string.h: Format. Fix reported error with c_str().
-
- * testsuite/make_check_libfree++: Tweak for shared builds.
- * testsuite/21/operations.cc: New file for testing c_str() etc.
-
-1999-05-06 Benjamin Kosnik <bkoz@cygnus.com>
- Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
- an iterator class. Delineate pointer versus iterator differences
- in implementation.
- * 23/vector_capacity.cc: New file, tests for above.
-
-1999-05-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * mknumeric_limits: Fix typo. 'unsigned lont' should read
- 'unsigned long'.
- * src/Makefile.am (libstdc___la_SOURCES): add limitsMEMBERS.cc,
- generated by mknumeric_limits to the list. Now std_limits.h is
- basically working.
- * src/Makefile.in (generate-numeric-limits): new target to handle
- automatic generation of bits/std_limits.h and src/limitsMEMBERS.cc.
- (all): add target generate-numeric-limits.
- (libstdc___la_OBJECTS): add limitsMEMBERS.lo
- (libstdc___la_SOURCES): add limitsMEMBERS.cc
-
-1999-05-05 Benjamin Kosnik <bkoz@cygnus.com>
-
- Irix build issues.
- * bits/c++config.h (_G_USE_CTYPE_ISBIT): Defines new macro for
- mask values in ctype_base. Move hacks for _ISBit to locfacets.h.
- * bits/locfacts.h: Here.
-
-1999-05-05 Benjamin Kosnik <bkoz@cygnus.com>
- Ulrich Drepper <drepper@cygnus.com>
-
- Solaris build issues.
- * bits/c++config.h: Define new macros, _G_USE_STRTOF and
- _G_USE_STRTOLD.
-
- * bits/locfacets.tcc (num_get::do_get): Tweak long double and
- float overloads to use the above macros. Account for the lack of
- strtold on some systems, and revert back to using sscanf.
-
-1999-05-04 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/locfacets.tcc (num_get::do_get): Check the errno variable.
- Use strtoul/strtoull for unsigned types. Check the ranges for
- short/unsigned short and if necessary for int/unsigned int.
-
-1999-05-04 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/gen-num-limits.cc (round_style): Need to use mknumericlimits
- to generate bits/std_limits.h now, as the SGI std_limits.h is
- being depricated. Not done, but should be done immediately: need
- to make sure this script is run as part of the configuration
- process, because without it "make" in a configured build directory
- will fail. Also tweaked: added a space for float_round_style, and
- used static_cast of zero to default-initialize, which should be ok
- according to the standard. (see 8.5 p5 and 20.1.3).
- * mknumeric_limits (OUT_C): Need this for x86 long
- double extensions.
-
- * bits/basic_file.h: Include libio.h, not libioP.h.
- * src/basic_file.cc: And add libioP.h include here, so that
- _IO_init, et. al are well-declared.
-
- * testsuite/make_check_libfree++ (LIB_PATH): Test installed
- headers, not source directory headers.
-
- * src/Makefile.am (headers): Add stl_range_errors.h, also adjust
- for ext/*. Also add basic_file.h.
- * src/Makefile.in (headers): Same.
-
- * bits/std_string.h: Reduce dependencies for faster
- pre-processing. Move istream and ostream specific defines into
- istream.tcc and ostream.tcc respectively.
- * bits/string.tcc: And here.
- * bits/basic_string.h: Move getline inline out-of-line, and to
- istream.tcc.
- * bits/istream.tcc: Move string::getline and operator>> here.
- * bits/ostream.tcc: And here too.
-
- * bits/utility.h: Remove, as clashes with a standard header. Put
- __OUTOFRANGE and __LENGTHERROR macros into string.tcc for the time
- being, until this can be combined with SGI's approach.
- * bits/string.tcc: Add macros, as above.
- * bits/loccore.h: Add _Count_ones defines.
- * bits/std_string.h: And here too.
- * bits/std_locale.h: And here.
- * bits/std_ios.h: Take out include here.
- * src/Makefile.am (headers): Remove utility.h
- * src/Makefile.in (headers): Remove utility.h
-
- * stl/bits/*: Update to SGI STL 3.20.
- * stl/ext/pthread_alloc: Delete this file.
-
-1999-05-04 Phil Edwards <pedwards@ball.com>
-
- * docs/faq/html/index.html: Add more entries
- * docs/faq/html/index.txt: regenerated.
-
-1999-05-04 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.
-
-1999-04-29 Benjamin Kosnik <bkoz@haight.cygnus.com>
-
- * bits/locfacets.tcc (num_get::do_get): Re-implement, with input
- from Ulrich and Nathan. Remove extraneous string class usage,
- tweak, clean, simplify and consolidate with a eye towards removing
- duplcate code. Use strto[l, ll, f, d, ld] instead of sscanf.
- Not done: dealing with leading zeros, wchar_t work.
- * bits/locfacets.h: And here too.
-
- * doc: Remove.
-
-1999-04-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * docs/: add a FAQ.
- * docs/faq/: New directory.
- * docs/faq/html/: Likewise.
- * docs/faq/text/: Likewise.
- * docs/faq/html/index.html: New file.
- * docs/faq/html/index.txt: Likewise. Generated from
- docs/faq/html/index.html by lynx.
-
-1999-04-28 Benjamin Kosnik <bkoz@happy.cygnus.com>
- Ryszard Kabatek and Branko Cibej
-
- * bits/locfacets.tcc: Modify.
-
-1999-04-27 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * bits/sbuf_iter.h: Clean, fix istreambuf_iterator, make
- conformant to 14882, wrap non-standard extensions with
- _G_RESOLVE_LIB_DEFECTS, remove detritus and cruft, rennovate.
- * bits/locfacets.tcc (num_get::do_get(bool)): Return correct iterator.
-
- * testsuite/27/istringstream_formatted.cc: Add tests.
-
- * bits/locfacets.h: Remove cruft from _Format_cache, continue
- commenting, simplify.
- * bits/locfacets.tcc: Same.
-
- 1999-04-27 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
- * bits/locfacets.tcc (num_get::do_get):
- Fix the sscanf format parameter
- for long long 'll' (as in C9X) instead of 'l'.
- Fix the order of sscanf format parameters: "%dl" --> "%ld".
- Change the type of the local variable '__conv' from 'string'
- to 'const char*' and adapt the change.
-
-1999-04-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * bits/locfacets.h: Document _Format_cache, and name data members
- after the corresponding functions in numpunct. For instance:
- _M_grsep -> _M_thousands_sep, and _M_decsep -> _M_decimal_point.
- Break apart _M_boolnames{2] into _M_truename and _M_falsename.
- * bits/locfacets.tcc: Same.
-
- * bits/locfacets.h (num_get::_M_extract): Don't allow groupings to
- stop parsing--store for later analysis.
- * testsuite/27/istringstream_formatted.cc: Add cases.
-
-1999-04-25 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_meta.h: tweak.
- (_UnFunBase, _BinFunBase, _BinFunBase1, _BinFunBase2, _BinBase1,
- _BinFunBase2): rename typedef-name _Tp to _Vt to keep the compiler
- happy -- boggus warning.
- * bits/std_valarray.h: Fix.
- (valarray<T>::shift): Fix. Update comment.
- (valarray<T>::cshift): Fix.
-
-1999-04-23 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/27filebuf-2.txt: Delete.
- * testsuite/27/filebuf.cc: Put output files directly into the
- correct subdirectory (27).
-
- Alexandre Petit-Bianco <apbianco@cygnus.com>
- * testsuite/make_check_libfree++: Check generated (*.txt) file
- against stored results file (*.tst).
-
-1999-04-22 Benjamin Kosnik <bkoz@nabi.net>
-
- * bits/locfacets.tcc: Fix.
-
- * bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
- (filebuf::overflow): Simplify.
- (filebuf::xsputn): Correctly handle indeterminate state.
-
- * testsuite/27/istringstream_formatted.cc: Tweak.
- * testsuite/27/filebuf.cc: Tweak.
- * testsuite/27/filebuf-3.tst: Correct: this is the canonical
- results file, please use this in the future to guarantee filebuf
- positioning accuracy.
- * testsuite/27/filebuf-2.tst: Same.
-
-1999-04-21 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/fstream.tcc (filebuf::xsputn): Add.
- * bits/std_fstream.h: Declare.
-
- * src/basic_file.cc (__basic_file::open): Add O_CREAT to open
- calls using ios_base::trunc.
-
- * bits/sstream.tcc (streambuf::overflow): Fix crasher.
-
- * testsuite/make_check_libfree++ (LOG_FILE): Ugh. Another fix.
- * testsuite/27/27stringstream.cc: Same.
- * testsuite/27/27stringbuf.cc: More tweaks.
- * testsuite/27/27filebuf-2.txt: Remove.
-
- * testsuite/27/27filebuf-1.tst: Append, to force byte size over
- BUFSIZE so that overflows/underflow can be tested with default
- buffer setting.
- * testsuite/27/27filebuf-1.tst: Add.
-
- * testsuite/*/*: Remove pre-pended chapter names, as they
- duplicate the chapter info contained in the enclosing directory
- anyway.
-
-1999-04-20 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
- to sputc conditions.
-
- * bits/ios_base.h: Define here.
- * src/ios.cc (ios_base::_M_clear): Remove hack.
- * bits/basic_ios.h: Fix rdstate().
-
- * bits/sstream.tcc (streambuf::seekoff): Fix.
- * bits/fstream.tcc (filebuf::seekoff): Tweak comments.
-
- * testsuite/make_check_libfree++ (LOG_FILE): More c-c-c-changes.
- * testsuite/24/24iterator.cc: Add/Fixes for DEBUG_ASSERT.
- * testsuite/27/27stringstream.cc: Same.
- * testsuite/27/27stringbuf.cc: Same.
- * testsuite/27/27istringstream_formatted.cc: Same.
- * testsuite/27/27filebuf.cc: Same.
-
- * bits/locfacets.h: Remove specializations for messages<char> and
- messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
- * src/locale.cc: Remove definitions for above.
- * src/misc-inst.cc: Revert, take out iomanip.h include.
- * bits/std_iomanip.h: Tweak, format.
-
-1999-04-19 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/loccore.h: Format, move inline.
- * bits/locfacets.tcc: Same.
- * bits/locfacets.h: Same.
-
- Ulrich Drepper <drepper@cygnus.com>
- * aclocal.m4: Re-generate.
- * configure, configure.in: Same.
- * m4/lc_messages.m4: New file.
-
-1999-04-18 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_ostream.h: Fix typedef for wchar_t instantiations.
- * bits/sstream.tcc: Tweak.
-
- * std/iostream: Put __ioinit inside macro guards.
-
- * src/stlinst.cc: Delete and move to . . .
- * src/stl-inst.cc: New file, plus wrapping in namespace std.
- * src/Makefile.in: Change.
- * src/Makefile.am: Same.
- * src/misc-inst.cc: Add istringstream/ostringstream instantiations.
-
- * testsuite/make_check_libfree++: Efficiently format for minimal
- space. Enforce stricter execution tests by enabling
- -DDEBUG_ASSERT.
-
-1999-04-16 Benjamin Kosnik <bkoz@cygnus.com>
-
- * docs/text/RELEASE-NOTES: Fix include typo.
-
- * src/Makefile.am (headers): Add istream.tcc.
- * src/Makefile.in (headers): Add istream.tcc.
-
- * ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
-
-1999-04-16 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/locfacets.tcc (num_get::do_get(long)): Finish roughing in.
- * bits/locfacets.h (num_get::_M_extract): New functin:
- consolidate logic for do_get(...) members.
-
- * bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
- * testsuite/27/27istringstream_formatted.cc: Add.
-
-1999-04-16 Martin v. Loewis <martin@mira.isdn.cs.tu-berlin.de>
-
- * src/basic_file.cc (__basic_file::open): Fix thinko in
- _G_HAVE_IO_FILE_OPEN bits.
- * bits/std_istream.h (sentry::sentry(istream, bool)): Fix isspace bug.
- * bits/std_cmath.h: Add stdlib.h include for ldiv_t.
- * src/complex.cc (FCT): Qualify all functions with global namespace.
- * src/locale.cc: Don't qualify memcpy and setlocale.
- * src/stdexcept.cc (__out_of_range): Qualify out_of_range with std::.
- (__length_error): Likewise, for length_error.
- * src/stlinst.cc: Qualify instantiations with std::.
-
-1999-04-15 Benjamin Kosnik <bkoz@cygnus.com>
-
- * C++STYLE: Add ChangeLog guidelines for member functions.
-
- * doc/* : Delete.
- * BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
- DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
- docs/text and made less strident.
-
- * bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
- * bits/std_fstream.h: Same.
- * src/ios.cc: Same.
-
- * bits/locfacets.h: Touch.
-
-1999-04-15 Ulrich Drepper <drepper@cygnus.com>
-
- * math/cexp.c (cexp): Use NAN instead of nan("").
- Reported by joel reed <joelreed@yahoo.com>.
-
- * libio/libioP.h: Define _IO_seek_fpos_t and _IO_seek_off_t based on
- _G_IO_IO_FILE_VERSION. Use these types in the prototypes.
- * libio/fileops.c: Use _IO_seek_fpos_t and _IO_seek_off_t types
- instead of #if cascades.
- * libio/genops.c: Likewise.
- * libio/ioseekoff.c: Likewise.
- * libio/ioseekpos.c: Likewise.
- * libio/strops.c: Likewise.
- Patch by Chip Salzenberg <chip@perlsupport.com>.
-
-1999-04-15 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * docs: New directory.
- * docs/html: Likewise.
- * docs/text: Likewise.
- * docs/image: Likewise.
-
- * bits/std_cmath.h: Add new functions.
- (abs): overload for long and double.
- (div): overload for long.
-
- * bits/valarray_array.h: Fix.
- * bits/gslice.h: Adjust friend.
- * bits/slice_array.h: likewise.
- * bits/valarray_meta.h: likewise.
-
-1999-04-13 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/locfacets.h: More changes, for num_get for insertion
- operators for integral types. Comment fields in _Format_cache.
- * bits/locfacets.tcc: And here too: add preliminary long version.
- * testsuite/27/27istringstream_formatted.cc: Add cases.
-
-1999-04-13 Mark Elbrecht <snowball3@usa.net>
-
- * configure.in: Add locale.h to AC_CHECK_HEADERS argument. Call
- AC_LC_MESSAGES macro.
- * aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
- supports LC_MESSAGES.
- * config.h.in: Add entry for HAVE_LC_MESSAGES.
- * src/locale.cc (locale::_S_normalize_category): Use the
- HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
- _G_NO_CLOCALE_HAS_MESSAGES.
- * aclocal.m4 (AM_PROG_LD): For DOS style paths, simplify test to
- '?:' from '?:\\' so any path beginning with a drive name matches.
-
-1999-04-12 Mark Elbrecht <snowball3@usa.net>
-
- * src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.
-
-1999-04-12 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/locfacets.h: Tweak.
- * bits/locfacets.tcc(do_get): Clean/fix bool method.
-
- * testsuite/21/21nonmember.cc: Same.
- * testsuite/21/21compare.cc: Fix license.
- * testsuite/27/27istringstream_formatted.cc: New file.
-
-1999-04-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_meta.h: _BinFunBase1, _BinFunBase2, _BinBase1,
- _BinBase2: new template classes; put in there to work around a
- compiler limitation. The whole valarray architecture is now
- working.
-
-1999-04-08 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/locfacets.tcc: Fix, format.
- * bits/locfacets.h: Fix.
- * src/locale.cc: Same, plus format.
-
- * bits/basic_string.h: Re-add definition here.
- * src/string.cc: Take out.
-
-1999-04-08 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/std_valarray.h: tweak.
- * bits/valarray_array.h tweak. use _Expr.
- * bits/slice_array.h: likewise.
- * bits/gslice_array.h: likewise.
- * bits/mask_array.h: likewise.
- * bits/indirect_array.h: likewise.
- * bits/valarray_meta.h: tweak.
- _UnFunBase, _UnFunClos, _BinFunBase, _FunBase, _ValFunClos,
- _RefFunClos, _UnBase, _UnClos, _BinBase, _BinClos, _SClos, _GClos,
- _IClos: new template classes.
- _Meta: renamed to _Expr. Made template with args.
- _Constant: made template with two args.
-
-1999-04-05 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_array.h: tweak.
-
-1999-04-06 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/basic_string.h: Whoops--fix blip.
-
-1999-04-06 Benjamin Kosnik <bkoz@cygnus.com>
-
- Update to SGI STL 3.13
- * bits/basic_string.h: Add __get_c_string definition.
- * stl/bits/stl_range_errors.h: New file.
- * stl/bits/std_bvector.h: Same.
- * stl/bits/*: Update.
-
-1999-04-04 1999 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/slice_array.h: tweak.
- * bits/gslice_array.h: tweak.
- * bits/mask_array.h: tweak.
- * bits/indirect_array.h: tweak.
- * bits/valarray_array.h: tweak.
- (__valarray_copy): replace copy with memcpy.
- * bits/std_valarray.h: use __valarray_copy whenever possible.
- use __valarray_fill instead of fill.
-
-1999-04-02 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * src/gen-num-limits.cc: new file
- * mknumeric_limits: Ditto.
-
-1999-03-30 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/locfacets.tcc: Do a stub version of num_get for short, int,
- and long types.
- * bits/locfacets.h: Add num_get::get methods overloaded for int
- and short, to resolve ambiguous overloads in istream insertion
- operators.
-
-1999-03-30 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_istream.h: Fix.
- * bits/istream.tcc: Fix.
-
-1999-03-30 Philip Martin <pm@corris.dircon.co.uk>
-
- * testsuite/24/24iterator.cc: fix ++/-- tests
-
-1999-03-29 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
- * bits/ostream.tcc: Same.
-
- * bits/std_istream.h: Bring over ostream changes, implement member
- functions. Baseline.
- * bits/istream.tcc: New file.
-
-1999-03-26 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/gslice.h (class gslice): fix friends template.
-
-1999-03-23 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
- delete cruft, etc.
- * bits/ostream.tcc: Same.
-
- * bits/std_istream.h: Minor tweaks.
-
-1999-03-18 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/locale-inst.cc: Remove duplicate instantiations.
- * bits/locfacets.tcc: Tweak definitions of static member.
-
-1999-03-18 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_fstream.h: Format: prepend "__" in front of
- non-standard typedefs.
- * bits/fstream.tcc: Match.
- * bits/std_streambuf.h: Format: prepend "__" in front of
- non-standard typedefs.
-
- * bits/sstream.tcc: Match.
- * bits/std_istream.h: Format.
- * src/locale-inst.cc: Add num_get instantiations.
-
- * bits/std_sstream.h: Fix crash in stringstreams. Remove member
- _M_sb, a basic_stringbuf object, and use the basic_ios pointer
- _M_streambuf instead. Make initializations sane. Fix
- allocation/deallocation of _M_streambuf.
- * bits/std_ostream.h: Fix initialization code.
- (ctor): Eliminate redundant this->init(), let base class initialize.
- (default ctor): New. Assume base classes already initialzed.
- * bits/std_istream.h: Parallel work to ostream.
- (ctor): Eliminate redundant this->init(), let base class initialize.
- (default ctor): New. Assume base classes already initialzed.
- Fix initialization of basic_iostream.
-
- * bits/std_fstream.h: While we're at it, make initializations sane
- here too. Now matches sstream.h.
-
- * bits/string.tcc: Fix crash in basic_string::compare.
- * bits/basic_string.h: And here.
- * bits/c++config.h: Add comment about _G_USE_EXCEPTIONS.
-
- * testsuite/make_check_libfree++: Check shared as well.
- * testsuite/27/27stringstream.cc: Add bits.
- * testsuite/27/27boolfmt.cc: Add bits.
- * testsuite/27/27octfmt.cc: Add bits.
-
-1999-03-17 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * configure.in (USE_LONG_DOUBLE): signbitl link error.
-
- * bits/locfacets.h: Fix errors that cause build problems
- with current egcs (template parameters have class scope).
- * bits/locfacets.tcc: Same.
- * src/locale-inst.cc: Same, clean.
- * src/misc-inst.cc: Same, clean.
-
-1999-03-17 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * stl/bits/std_memory.h: Modify auto_ptr::reset to reflect the
- standard. Re-apply this previous patch.
-
-1999-03-17 Philip Martin <pm@corris.dircon.co.uk>
-
- * bits/basic_string.h: Use __normal_iterator<> for iterators.
- * bits/std_sstream.h: Support __normal_iterator<> iterators.
- * bits/string.tcc: Ditto.
- * src/misc-inst.cc: Ditto.
- * src/locale-inst.cc: Ditto.
- * stl/bits/stl_iterator.h: Add __normal_iterator<>.
- * stl/bits/stl_vector.h: Use __normal_iterator<> for iterators.
- * testsuite/24/24iterator.cc: Add test cases for basic_string and
- vector iterators.
-
-1999-03-16 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/locfacets.tcc: Remove macro hack.
- * bits/locfacets.h: Tweaks.
- * src/misc-inst.cc: Weed out locale-related instantiations.
- * src/locale-inst.cc: Same.
-
- * RELEASE-NOTES: Make more changes.
- * bits/c++config.h: Bump version number.
-
- * testsuite/make_check_libfree++: Collect diagnostics.
-
- * bits/std_ostream.h: Fix ostream initialization/destruction
- problem, related to dtor cleanup and new cached facets, agggggggh.
- * bits/ostream.tcc: Tweak.
- * bits/locfacets.h: Remove all friends of iostream classes.
- * bits/ios_base.h: Same.
- * bits/streambuf.tcc: Tweak.
- * bits/std_streambuf.h: Tweak.
- * bits/std_fstream.h: Tweak.
- * bits/fstream.tcc: Tweak.
- * src/stdstreams.cc: Tweak.
- * src/ios.cc: Close streams.
-
- * math/Makefile.in: Add missing files for shared link errors.
- * math/Makefile.am: Same.
-
-1999-03-15 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/locale-inst.cc: More wchar_t instantiations.
- * src/misc-inst.cc: Missed a few bits.
- * testsuite/make_check_libfree++: Add static and shared runs.
- * src/ios.cc: Add clarity to ios_base::Init::~Init().
-
-1999-03-15 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_ostream.h: Format, expunge, simplify. Add cached
- facets. Resolve link errors.
- * bits/ostream.tcc: Same.
- * src/misc-inst.cc: Add ostream, wostream instantiations.
- * src/Makefile.am: Add missing bits for stdstreams.cc.
- * src/Makefile.in: Same.
- * bits/std_iosfwd.h: Format.
- * bits/locfacets.h (num_put): Add basic_ostream as a friend to
- num_put so that cached _M_fnumput pointer can be deleted in
- basic_ostream's dtor. Now everybody plays nice.
-
-1999-03-12 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/gslice.h (class gslice): Make friends valarray,
- gslice_array and _GliceExpression.
-
-1999-03-11 Benjamin Kosnik <bkoz@cygnus.com>
-
- * RELEASE-NOTES: Update.
- * src/ios.cc: Use do proper init.
- * bits/std_streambuf.h: Tweak.
- * bits/std_iostream.h: Take out static member.
- * std/iostream: Put here.
- * bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
- * bits/std_istream.h: Ditto.
- * bits/basic_ios.h: Format.
- * bits/ostream.tcc(write): Fix.
- * bits/fstream.tcc: Fix stdstreams ctor to do a proper
- initialization of the fstream class.
- * src/stdstreams.cc: I'm baaaaaaaack.
-
-1999-03-10 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * bits/ios_base.h: Correct comments. Add ios_base::init()
- functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
- * src/misc-inst.cc: Add instantiations here.
- * src/ios.cc: Clean.
- * bits/std_iostream.h: Add wrappers, global ios_base::Init object.
- * src/stdstreams.cc: Delete this file, as now unnecessary.
- * bits/fstream.tcc: Add missing initialization bits for ctor.
- * src/Makefile.am (libstdc___la_SOURCES): Delete here as well.
- * src/Makefile.in (libstdc___la_OBJECTS): And here.
-
- * bits/streambuf.tcc: Tweak.
- * bits/sstream.tcc: Here too.
-
- * bits/fstream.tcc: And change definition as well.
- * bits/std_fstream.h: Change ctor.
- * src/basic_file.cc (sys_open): Add call that opens a specific fileno.
- * bits/basic_file.h: Add declarations.
-
- * testsuite/27/27hello.cc: New file.
-
- * bits/std_ostream.h: Move flush() inline.
- * bits/ostream.tcc: From here.
-
- * bits/char_traits.h: Add include of fpos.h for streamoff/streampos.
- * bits/std_ios.h: Change include libio to only when necessary.
- * bits/fpos.h: Like here.
- * ios_base.h: And here.
-
- * bits/locfacets.h: Change _Iostate to _Ios_Iostate.
- * bits/locfacets.tcc: Same.
- * bits/std_locale.h: Include std_ios.h not std_iosfwd.h.
- * bits/std_iosfwd.h: Move _Ios_Iostate to ios_base.h
-
-1999-03-09 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * bits/basic_ios.h: Change _M_ctype to _M_fctype.
-
- * bits/std_streambuf.h: Clean, tweak.
- * bits/std_fstream.h: Same.
- * bits/std_sstream.h: Same.
- * bits/streambuf.tcc: Move most member functions out-of-line.
- * bits/fstream.tcc: Same.
- * bits/streambuf.tcc: Same.
-
- * bits/basic_file.h(filepos_cur): Set correctly.
- (filepos_beg): Same.
- (seekpos): Change to __c_streampos.
- * src/basic_file.cc (std): Change to __c_streampos.
-
- * testsuite/27/27filebuf.cc: Round one is finished.
- * testsuite/27/27filebuf-2.tst: New file, final output should match.
- * testsuite/27/27filebuf-3.tst: Same.
-
-1999-03-08 Benjamin Kosnik <bkoz@rhino.cygnus.com>
-
- * bits/basic_file.h: Fix typo, add comments about what to expect
- from the various member functions in __basic_file.
-
- * bits/std_fstream.h: Re-do sync/underflow to work
- together. Change from sys_read to xsgetn and from sys_write to
- xsputn. As it should have been from the beginning. . .
-
-1999-03-06 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * bits/c++config.h (__GLIBCPP__): Add versioning macro.
-
- * bits/basic_file.h(file_beg): New function.
- (file_cur): Ditto.
-
- * testsuite/27/27filebuf.cc: Test in, out, in | out.
- * bits/std_fstream.h: More _M_mode refinements.
- (synch): Add bits for out mode only.
- * bits/std_streambuf.h(xsputn): Correct for filebufs.
- * bits/std_sstream.h: Ditto.
-
-1999-03-03 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_fstream.h: Fix _M_mode AND with ios_base::openmode.
- * testsuite/27/27filebuf.cc: Modify.
- * bits/c++config.h: Fix.
-
-1999-03-02 Benjamin Kosnik <bkoz@tintin.cygnus.com>
-
- * bits/c++config.h: New macro, _G_RESOLVE_LIB_DEFECTS, used to put
- code in place that diverges from the final standard, but has been
- brought up on the library mailing list.
-
- * bits/std_fstream.h(underflow): Position all three internal
- buffer pointers at the same initial position. Re-implement with
- basic_filebuf abstraction.
- (overflow): Ditto.
- (seekoff): Ditto.
- (seekpos): Ditto.
- * bits/std_sstream.h: Move _M_mode down into base class
- basic_streambuf.
- * bits/sstream.tcc: Ditto.
- * bits/std_streambuf.h: Ditto.
-
- * testsuite/27/27filebuf.cc: Tweak.
-
-1999-02-27 Benjamin Kosnik <bkoz@slap-happy.cygnus.com>
-
- * bits/std_sstream.h: Ditto.
- * bits/std_fstream.h: Fix blip.
-
-1999-02-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * C++STYLE: Add cases.
- * bits/std_fstream.h: Format.
- * bits/std_streambuf.h: Ditto.
- * bits/std_sstream.h: Ditto.
-
- * src/basic_file.cc(sys_seek): Fix stack delirium, by keeping
- return type for _IO_file_seek and __basic_file::seek the same size.
- * bits/basic_file.h: Ditto.
-
-1999-02-26 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * bits/fstream.tcc: Add include guards.
- * src/misc-inst.cc: Add instantiations for shared libes.
- * src/locale-inst.cc: Add instantiaions for use_facet.
- * bits/loccore.h: Remove specialization foward decls for
- use_facet<ctype>: perhaps add the whole lot of them later on.
- * bits/std_fstream.h: Fix.
- * bits/locfacets.h: Ditto.
- * src/stdstreams.cc: Disable wide streams for now.
-
- * src/Makefile.am (CXXFLAGS): Change up.
- * src/Makefile.in (CXXFLAGS): Ditto.
-
-1999-02-25 Benjamin Kosnik <bkoz@happy.cygnus.com>
-
- * src/basic_file.cc: Change to ios_base::seekdir from int.
- * bits/basic_file.h: Ditto.
- * bits/locfacets.h : Fix blip with new guard macros.
-
-1999-02-25 Benjamin Kosnik <bkoz@cygnus.com>
-
- * stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
- * bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
- _G_USE_NAMESPACE.
- * amm1/locale: Remove unused defines.
- * generic/locale: Ditto.
- * src/ios.cc: Ditto.
- * src/locale.cc: Ditto.
- * src/locale-inst.cc: Ditto.
- * src/localename.cc: Ditto.
- * src/stdstreams.cc: And here.
-
- * bits/c++config.h (_G_USE_WCHAR_T): Fix.
- * bits/loccore.h: Simplify, clean, add wchar_t guards.
- * bits/loccore.tcc: Ditto.
- * bits/locfacets.h: Ditto.
- * src/locale-inst.cc: Ditto.
- * bits/locfacets.tcc: Add do_put long long here.
-
-1999-02-24 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_streambuf.h: Add cached ctype facet, _M_ctype.
- * bits/basic_ios.h: Clean. Replace _M_strbuf with
- _M_streambuf. Use cached _M_cvt in basic_streambuf.
- * bits/std_istream.h: Replace _M_strbuf with _M_streambuf.
- * bits/std_fstream.h: Tweak.
-
- * bits/char_traits.h: Remove fpos definitions from here. . .
- * bits/fpos.h: New file, put them here. Eventually, this may allow
- the severing of char_traits and fpos dependencies.
- * src/Makefile.in: Add fpos.h.
- * src/Makefile.am: Ditto.
- * bits/std_string.h: Add fpos.h include here.
- * bits/std_ios.h: And here.
-
- * bits/std_streambuf.h: Change _M_init to _M_initialized.
- * bits/ios_base.h: Remove cstdio include.
- * bits/std_ios.h: ... Place here.
-
-1999-02-23 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
- * src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.
-
- * bits/basic_file.h: Comment, adjust arguments.
- * src/basic_file.cc: Ditto.
-
- * bits/std_fstream.h(seekoff): Error is of fpos type, not integral
- type: check and convert accordingly. Re-interpet "resultant stream
- position" to indicate external byte sequence location, not internal
- buffer info.
-
-1999-02-22 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * mkcshadow: And change copyright here.
- * src/Makefile.am (CXXFLAGS): Add -g -O2. Add new header
- dependencies for stl_pthread_alloc.h, pthread_allocimpl.h,
- stl_thread.h, and stl_iterator_base.h.
- * src/Makefile.in (CXXFLAGS): Ditto.
- * stl/backward/pthread_alloc.h: Remove.
-
-1999-02-19 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * bits/std_streambuf.h (sungetc): Use standard defs for putback
- position.
- * bits/std_fstream.h (pbackfail): Correct.
- (sungetc): Test.
- (seekoff): Implement.
- (seekpos): Re-do.
- * testsuite/27/27filebuf.cc: Add test cases.
-
-1999-02-18 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * bits/std_fstream.h: Go with basic_file's interfaces for dealing
- with the external buffers, and stop mucking around with setting
- and re-setting the external buf's pointers. Aka, clarity and
- simplicity rule the day.
- * src/locale.cc: Use memcpy in codecvt::do_in and codecvt::do_out.
- Remove partial result and support code.
-
-1999-02-18 Ulrich Drepper <drepper@cygnus.com>
-
- * configure.in: Add hypot, hypotf, atan2f, expf, and copysignf to
- list of function which have to be replaced.
- Remove expf from list of functions to test for.
- Define USE_LONG_DOUBLE in case the libm has partial support for long
- doubles.
- * Makefile.in: Regenerated.
- * config.h.in: Likewise.
- * configure: Likewise.
- * libio/Makefile.am (LIBIO_SRCS): Add missing backslash.
- * libio/Makefile.in: Regenerated.
- * src/Makefile.in: Regenerated.
- * string/Makefile.in: Regenerated.
- * math/Makefile.am (EXTRA_DIST): Add hypot.c, hypotf.c, hypotl.c,
- atan2f.c, expf.c, and $(EXTRA_yes).
- (EXTRA_yes): Add signbitl.c mycabsl.c.
- (libmath_la_LIBADD): Add $(EXTRA_$(USE_LONG_DOUBLE)).
- (libmath_la_SOURCES): remove long double versions.
- * math/Makefile.in: Regnerated.
- * math/atan2f.c: New file.
- * math/copysignf.c: New file.
- * math/expf.c: New file.
- * math/hypot.c: New file.
- * math/hypotf.c: New file.
- * math/hypotl.c: New file.
- * math/cargf.c: Use correct function and macro names.
- * math/ccos.c: Likewise.
- * math/ccosh.c: Likewise.
- * math/ccoshf.c: Likewise.
- * math/ccoshl.c: Likewise.
- * math/cexp.c: Likewise.
- * math/cexpf.c: Likewise.
- * math/cexpl.c: Likewise.
- * math/clog.c: Likewise.
- * math/clog10.c: Likewise.
- * math/clog10f.c: Likewise.
- * math/clog10l.c: Likewise.
- * math/clogf.c: Likewise.
- * math/clogl.c: Likewise.
- * math/copysignf.c: Likewise.
- * math/csin.c: Likewise.
- * math/csinf.c: Likewise.
- * math/csinh.c: Likewise.
- * math/csinhf.c: Likewise.
- * math/csinhl.c: Likewise.
- * math/csinl.c: Likewise.
- * math/csqrt.c: Likewise.
- * math/csqrtf.c: Likewise.
- * math/csqrtl.c: Likewise.
- * math/ctan.c: Likewise.
- * math/ctanf.c: Likewise.
- * math/ctanh.c: Likewise.
- * math/ctanhf.c: Likewise.
- * math/ctanhl.c: Likewise.
- * math/ctanl.c: Likewise.
-
-1999-02-17 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/27/27filebuf.cc: Add cases.
- * testsuite/27/27filebuf-1.txt: Remove inadvertent garbage.
- * bits/std_streambuf.h: Simplify, always have one return statement.
- * bits/std_fstream.h: Tweak comments in underflow.
-
-1999-02-17 Ulrich Drepper <drepper@cygnus.com>
-
- * ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
- * ltconfig: Likewise.
-
-1999-02-16 Christophe Pierret <cpierret@businessobjects.com>
-
- * src/locale.cc: Fix assert.
-
-1999-02-16 Benjamin Kosnik <bkoz@cygnus.com>
-
- FIXME: Still need some kind of solution for undefined math symbols.
- * src/Makefile.in (locale-inst.lo): Compile with
- -fimplicit-templates to fix Solaris link problem.
- * src/Makefile.am: Ditto.
- * libio/Makefile.in: Add stdfiles.c so that _IO_list_all is defined.
- * libio/Makefile.am: Ditto.
- * src/locale.cc: Provide some kind of def for _S_tolower.
- * bits/locfacets.h: Fix declarations of ctype<wchar_t> to
- match ctype<char> for _S_tolower, _S_toupper, _S_table.
-
-1999-02-10 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/loccore.tcc: Move member-template ctor inline...
- * bits/loccore.h: ...here.
- * src/locale-inst.cc: Add instantiation here.
-
- * testsuite/27/27stringstream.cc: Tweak.
-
- * bits/ostream.tcc: Include sbuf_iter.h.
-
- * bits/ostream.tcc: Convert *this to ostreambuf_iterator before
- passing to num_put, as num_put's first argument is an interator,
- not basic_ostream.
-
- * testsuite/make_check_libfree++: New file, runs through the
- existing test files in the testsuite directory and makes sure
- they link.
-
-1999-02-10 Brendan Kehoe <brendan@cygnus.com>
-
- * testsuite/21/21compare.cc: Fix typo.
- * src/locale.cc (ctype<wchar_t>::_S_{toupper,tolower,table}):
- Don't try to provide non-linux versions, since it's impossible to
- initialize their const references with the integer 0, no matter
- how we try to cast it.
-
-1999-02-10 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_locale.h: Move std_vector.h dependency.
- * bits/std_ios.h: ...from here.
- * bits/std_string.h: ...and here.
- * src/locale.cc: ..to here.
- * bits/loccore.h: Ditto, add vector forward declaration,
- make locale::_Impl data members pointers not containers.
- * bits/loccore.tcc: Move out-of-line for now.
- * bits/locfacets.h: Move vector dependency from here...
- * bits/locfacets.tcc: ...to here.
- * src/localename.cc: ..and here.
- * src/locale-inst.cc: Add include of locfacets.tcc here.
-
- * stl/bits/stl_string_fwd.h: Make __get_c_string non-static.
- * bits/basic_string.h: Can't use sizeof on an incomplete type.
- * bits/string.tcc: Tweak.
- * src/string.cc: And add __get_c_string def here.
-
- * bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.
-
- * src/stlinst.cc: Add include of stl_config.h.
-
-1999-02-09 Benjamin Kosnik <bkoz@cygnus.com>
-
- * stl/bits/std_bitset.h: Update to SGI STL 3.12.
- * stl/bits/stl_config.h: Tweak, update.
- * stl/bits/std_stdexcept.h: Ditto, change stl_exception to
- std_exception.
- * stl/bits/std_memory.h: Reconstructed auto_ptr, Ditto.
- * stl/bits/std_functional.h: Ditto.
-
- * stl/bits/stl_string.h: New file, SGI's string
- implementation. For reference only, corresponding to string in
- 3.12 source.
- * stl/bits/stl_char_traits.h: As above.
-
- * stl/bits/pthread_allocimpl.h: New file corresponding to
- pthread_alloc.
- * stl/bits/stl_pthread_alloc.h: New file corresponding to
- pthread_alloc.h
- * stl/bits/stl_threads.h: New file.
-
- Note that SGI STL 3.12's file iterator.h is not used.
- * stl/bits/std_iterator.h: Ditto.
- * stl/bits/stl_iterator.h: Drop in replace.
- * stl/bits/stl_iterator_base.h: New file, drop in replace.
-
- * stl/bits/stl_queue.h, stl_rope.h, stl_set.h, stl_stack.h,
- stl_string_fwd.h, stl_tempbuf.h, stl_tree.h, stl_vector.h,
- stl_pair.h, stl_multimap.h, stl_multiset.h, stl_list.h,
- stl_hashtable.h, stl_hash_set.h, stl_hash_map.h, stl_function.h,
- stl_deque.h, stl_alloc.h, stl_algo.h, stl_algobase.h, ropeimpl.h:
- Drop-in replace (ie, stop changing __SGI_STL_* to _CPP_BITS_* for
- preprocessor guards, but fixup include paths and names according
- to new directory layout).
-
-1999-02-05 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_fstream.h: Remove _M_open data member.
- * bits/fstream.tcc: Ditto.
-
- * src/locale.cc: Tweak.
-
- * bits/std_sstream.h: Simplify.
-
- * bits/std_streambuf.h: Simplify.
- (sputc): Use correct definition of "write area."
-
- * bits/std_fstream.h: Fix uflow.
- * src/basic_file.cc: Tweak.
- * testsuite/27/27filebuf.cc: Add tests.
- * testsuite/27/27filebuf-3.txt: Rename to *-2.txt.
-
-1999-02-02 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/ios_base.h: Make protected.
-
-1999-02-01 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/ios_base.h: Changes in the class ios_base:
- Rename _M_exceptions member to _M_exceptions_data.
- Make the member functions rdstate(), clear(), exceptions()
- and exceptions(iostate) protected and add the "_M_" prefix.
- * src/ios.cc: Ditto.
- * bits/basic_ios.h: Adapt the changes from ios_base.
-
-1999-01-29 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_fstream.h: Remove _M_flags, _M_equilibrate as unnecessary.
- * bits/fstream.tcc: Ditto.
-
- * bits/std_fstream.h (underflow): Resize deallocates memory and
- resets pointers in the internal cache according to new _M_buf. . dooh!
- * src/locale.cc: Mas changes with codecvt::do_in, do_out.
-
-1999-01-29 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * stl/bits/std_memory.h: Modify auto_ptr::reset to reflect the
- standard.
-
-1999-01-28 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/locale.cc (codecvt::do_in): Finer-grained tuning to take
- into account partial returns.
- (codecvt::do_out): Likewise.
-
- * bits/char_traits.h: Change streamsize to be a signed type, as
- required by 27.4.1 Types p 2. (Changing to _IO_ssize_t.)
- * bits/std_streambuf.h: Make
- in_avail() and showmanyc() have streamsize as return types, so
- that showmanyc()'s return of eof won't underflow in_avail's return
- value and give a bogus result.
- * src/misc-inst.cc: And more changes. . .
-
- * bits/std_streambuf.h (basic_streambuf): Add _M_buf_unified to keep
- track of joint in/out pointers into the internal buffer.
- (sbumpc): Add check for _M_buf_unified.
- (sputbackc): Ditto.
- (sungetc): Ditto.
-
- * testsuite/27/27filebuf.cc: Add cases.
- * testsuite/27/27stringbuf.cc: Add showmanyc case.
-
- * bits/std_fstream.h (close): Fix logic error.
- (open): Initialize internal pointers based on _M_buf and _M_buf_size.
- (showmanyc): Add underflow component, to match the standard.
-
- * bits/fstream.tcc: Ditto.
-
-1999-01-27 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/basic_file.h: Match vtables w/ _IO_FILE_plus.
- * src/basic_file.cc: Ditto.
- * src/Makefile.in: Add -fvtable-thunks to CXXFLAGS: preferred
- format for dealing with _IO_file in libio.
-
-1999-01-27 Ulrich Drepper <drepper@cygnus.com>
-
- * src/basic_file.cc: Include fcntl.h.
-
-1999-01-27 Benjamin Kosnik <bkoz@cygnus.com>
-
- * libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
- libio calls.
- * bits/std_streambuf.h: Redefine read posion.
-
- * bits/std_fstream.h: Temporary hack to get vtables working again.
- * bits/basic_file.h: Revert.
- * src/basic_file.cc: Ditto.
- * testsuite/27/27filebuf.cc: Tweak.
-
-1999-01-26 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/basic_file.h: Add showmanyc, underflow. .
- * src/basic_file.cc: Ditto.
-
- * bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
- chars can be read.
-
- * testsuite/27/27filebuf.cc: Add testcases.
- * src/basic_file.cc: Add O_CREAT to open calls with
- ios_base::trunc as part of the open mode.
-
-1999-01-26 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/basic_ios.h: fix basic_ios::exceptions(iostate)
-
-1999-01-25 Benjamin Kosnik <bkoz@nabi.net>
-
- * src/ios.cc (clear): Correct typo.
- * bits/ios_base.h: Tweak spacing.
-
-1999-01-25 Ryszard Kabatek <kabatek@chemie.uni-halle.de>
-
- * bits/basic_ios.h: fix basic_ios::fail()
-
-1999-01-25 Benjamin Kosnik <bkoz@loony.cygnus.com>
-
- * bits/basic_file.h: Include libioP.h from libio instead of here.
- * bits/iolibio.h: Remove.
- * bits/libio.h: Remove.
-
-1999-01-22 Benjamin Kosnik <bkoz@lunatic.cygnus.com>
-
- * bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.
-
-1999-01-22 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.am (SUBDIRS): Add libio.
- * configure.in: Add rule to test for glibc2.
-
- * src/Makefile.am (INCLUDES): Add -I to libio subdir.
- (libstdc___la_LIBADD): Add libio.la.
-
-1999-01-21 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/basic_file.h: Make new abstraction for underlying C library
- FILE, named __basic_file.
- * src/basic_file.cc: New file.
- * bits/os_raw.h: Delete.
- * src/os_raw.cc: Delete.
- * src/Makefile.in: Tweak.
- * src/Makefile.am: Tweak.
- * bits/iolibio.h: Add this here, for the time being.
- * bits/libioP.h: Ditto.
-
- * bits/ios_base.h: Delete unused defines.
- * src/locale.cc (codecvt<char, char, mbstate_t>::do_in): Use
- strcpy to copy between the two buffers.
-
- * testsuite/27/27stringbuf.cc: Change license, fix in_avail tests.
- * testsuite/27/27filebuf.cc: New file.
- * testsuite/27/27filebuf-1.txt: Data file for above test.
- * testsuite/27/27filebuf-2.txt: Ditto.
-
- * bits/std_streambuf.h (uflow): Re-implement default.
- * bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
- Re-implement virtual functions.
- * bits/fstream.tcc: Delete unused mf's.
-
diff --git a/contrib/libstdc++/ChangeLog-2000 b/contrib/libstdc++/ChangeLog-2000
deleted file mode 100644
index 98b74025abdb..000000000000
--- a/contrib/libstdc++/ChangeLog-2000
+++ /dev/null
@@ -1,5644 +0,0 @@
-2000-12-31 Alexandre Oliva <aoliva@redhat.com>
-
- * include/c_std/bits/std_cstdlib.h (mblen): Protect against macro.
-
-2000-12-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (CSTD_INCLUDES): Change from CSHADOW_INCLUDES.
- (strstream.cc): Add special rule for deprecated files.
- * libsupc++/Makefile.am (INCLUDES): Sync.
- * acinclude.m4 (GLIBCPP_EXPORT_INCLUDES): And here.
-
- Reported by Fred Fish <fnf@ninemoons.com>
- * include/backward/iomanip.h: Remove backward from include
- * include/backward/strstream.h: Same.
- * include/backward/stream.h: Same.
- * include/backward/ostream.h: Same.
- * include/backward/istream.h: Same.
- * src/strstream.cc: And here.
-
- Reported by Brad Garcia <bgarcia@laurelnetworks.com>
- * src/string-inst.cc (_S_find): Use generic template.
- * include/bits/string.tcc (_S_find): Remove specializations
-
-2000-12-22 Benjamin Kosnik <bkoz@fillmore.redhat.com>
-
- Attempt to make locale visible in gdb.
- * include/bits/std_locale.h: Remove codecvt.h include.
- * include/bits/locale_facets.h: Add here, after ctype decls.
- * include/bits/codecvt.h: Remove std namespace, as assumed to be
- in std now.
-
- * include/bits/locale_facets.h: Consistently move generic static
- member definitions directly after generic facet declarations.
- * include/bits/locale_facets.tcc: From here.
-
- * src/locale.cc: Organize locale::id static definitions for
- required facets.
- * src/codecvt.cc (codecvt<char...>): Remove locale::id definition.
- (codecvt<wchar_t...>): Same.
- * src/localename: And here.
-
- * include/bits/localefwd.h (_Count_ones): Change _S_count to _M_count.
- Same for _M_halfcount.
-
-2000-12-22 Alexandre Oliva <aoliva@redhat.com>
-
- * mknumeric_limits: Output to temporary files, and rename them at
- the end.
-
-2000-12-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Change GLIBCPP_ENABLE_SHADOW to
- GLIBCPP_ENABLE_CHEADERS.
- * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Change to
- ENABLE_CHEADERS. C_INCLUDE_DIR defaults to c_std from c.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * include/c: Move to ...
- * include/c_std: ...here.
- * include/c_std: Move to ...
- * include/c_shadow: ...here.
- * include/c: Repopulate, with simple headers.
- * docs/html/configopts.html: Adjust docs.
-
-2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * acinclude.m4, configure.in, mkcheck.in,
- testsuite/21_strings/ctor_copy_dtor.cc,
- testsuite/21_strings/inserters_extractors.cc,
- testsuite/23_containers/map_operators.cc,
- testsuite/23_containers/vector_element_access.cc,
- testsuite/25_algorithms/lower_bound.cc,
- testsuite/27_io/ifstream_members.cc,
- testsuite/27_io/istream_extractor_arith.cc,
- testsuite/27_io/istream_unformatted.cc,
- testsuite/27_io/ofstream_members.cc,
- testsuite/27_io/ostream_inserter_char.cc,
- testsuite/27_io/ostream_inserter_other.cc,
- testsuite/27_io/ostream_manip.cc, testsuite/27_io/streambuf.cc:
- Change sourceware.cygnus.com and sources.redhat.com URLs for
- libstdc++ web pages and list archives to point to gcc.gnu.org
- * aclocal.m4, configure: Regenerate.
-
-2000-12-21 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * src/Makefile.am (sources): Remove complex.cc, complexf.cc and
- complexl.cc from list.
- * src/Makefile.in: Regenerate.
- * src/complex.cc: Remove.
- * src/complexf.cc: Likewise.
- * src/complexl.cc: Likewise.
-
- * libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove csqrtl.c
- (EXTRA_DIST): Remove csqrt.c and csqrtf.c.
- * libmath/Makefile.in: Regenerate.
- * libmath/complex-stub.h: Remove.
- * libmath/csqrt.c: Likewise.
- * libmath/sqrtf.c: Likewise.
- * libmath/sqrtl.c: Likewise.
- * libmath/mathconf.h: Remove <complex.h> and "complex-stub.h"
- #inclusion.
-
- * include/bits/std_complex.h (sqrt<>): Define primary template.
- (complex<>): Remove sqrt friend declarations.
-
- * configure.in: Initialize with src/ios.cc.
- * configure: Regenerate.
- * acinclude.m4: Remove check for csqrt* and <complex.h>
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * Makefile.in: Regenerate.
-
-2000-12-20 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (SECTION_FLAGS, OPT_LDFLAGS): Fix minor thinko.
- * aclocal.m4: Regenerate.
- * configure: Ditto.
- * Makefile.in: Ditto.
- * libio/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
-
- * include/bits/istream.tcc: Fix clause reference in comment.
-
-2000-12-20 Benjamin Kosnik <bkoz@fillmore.constant.com>
-
- * testsuite/17_intro/headers_c.cc (main): New file.
-
- * acinclude.m4 (SECTION_FLAGS): Only set if --enable-debug is not
- passed.
- (OPT_LDFLAGS): And here.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-12-19 Curtis Janssen <cljanss@ca.sandia.gov>
-
- * src/ios.cc (ios_base::_M_grow_words(int ix)): Fix libstdc++/1089.
- * testsuite/27_io/ios_base_storage.cc (test01): New file.
-
-2000-12-19 Benjamin Kosnik <bkoz@fillmore.constant.com>
-
- * configure.in: Don't turn on long long by default.
- (gxx_target_include_dir): Adjuse comment.
- * configure: Regenerate.
- * include/c/bits/std_cstdio.h: Remove c++config.h include.
- * src/locale.cc: Formatting tweaks.
- * testsuite/22_locale/ctype.cc (char<unsigned char>): Provide
- member functions.
-
-2000-12-19 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/22_locale/ctype.cc (test01): Correct ~ operator usage.
-
-2000-12-19 Mark Kettenis <kettenis@gnu.org>
-
- * configure.target: Support the Hurd.
-
-2000-12-19 Benjamin Kosnik <bkoz@fillmore.redhat.com>
-
- * config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
- * config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
- * config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
- * config/os/newlib/bits/ctype_inline.h (is): Same.
- * config/os/irix/bits/ctype_inline.h (is): Same.
- * config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
- * config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
- * config/os/aix/bits/ctype_inline.h (is): Same.
- * config/os/gnu-linux/bits/ctype_inline.h (is): Revert.
- * config/os/generic/bits/ctype_inline.h (is): Non-table based
- implementation.
-
- * testsuite/22_locale/ctype_char_members.cc (test01): Use binary
- operator correctly.
- (test01): Check 'A' for alnum, upper, alpha.
-
-2000-12-19 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_complex.h (complex<float>::operator-=): Fix
- thinko.
-
-2000-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Set os_include_dir for cross_compiles.
- * configure: Regenerate.
- * configure.target (l_glibcpp_cxxflags): Don't try to be clever
- when assigning ATOMICITYH. Only special case the special cases...
-
-2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * docs/html/17_intro/COPYING: Update to current
- ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
- to 19yy as example year in copyright notice).
-
-2000-12-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (gxx_target_include_dir): Install target-dependent
- include files in a target-dependent place.
- * configure: Regenerate.
- * src/Makefile.am: Add in support here.
- * src/Makefile.in: Regenerate.
-
-2000-12-14 Benjamin Kosnik <bkoz@fillmore.redhat.com>
-
- * src/Makefile.am (myinstallheaders): Install backwards headers in
- prefix, not prefix/backward.
- * src/Makefile.in: Regenerate.
-
-2000-12-14 Benjamin Kosnik <bkoz@haight.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Revert changes
- touching copysignf, atan2f, expf.
- (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Add it back here.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-12-14 Benjamin Kosnik <bkoz@fillmore.redhat.com>
-
- * configure.in (CXX): Exit out if mknumeric_limits fails.
- * mknumeric_limits (CXX): Use BUILD_DIR/g++, not g++ in
- path. Consistency with tests_flags.in.
-
-2000-12-14 Benjamin Kosnik <bkoz@haight.redhat.com>
-
- * include/c/bits/*.h: Remove include_next, replace with include,
- as include_next does not work host-x-host, and include_next not
- necessary.
-
-2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
- base class signature.
- * config/os/*/bits/ctype_inline.h (is): Same.
-
-2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/generic/bits/ctype_base.h (ctype_base): Consistency
- with linux.
- * config/os/generic/bits/ctype_inline.h (is): Same.
- * config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
- * config/os/solaris/solaris2.5/bits/ctype_base.h: Same.
- * config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
- * config/os/solaris/solaris2.6/bits/ctype_base.h: Same.
- * config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
- * config/os/solaris/solaris2.7/bits/ctype_base.h: Same.
- * config/os/irix/bits/ctype_inline.h (is): Same.
- * config/os/irix/bits/ctype_base.h (ctype_base): Same.
- * config/os/aix/bits/ctype_inline.h (is): Same.
- * config/os/aix/bits/ctype_base.h (ctype_base): Same.
- * config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
- * config/os/bsd/netbsd/bits/ctype_base.h (ctype_base): Same.
- * config/os/bsd/freebsd/bits/ctype_base.h (ctype_base): Same.
- * config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
- * config/os/newlib/bits/ctype_inline.h (is): Same.
- * config/os/newlib/bits/ctype_base.h (ctype_base): Same.
-
- * testsuite/22_locale/ctype_char_members.cc (test01): Add tests, fix.
- * testsuite/22_locale/ctype.cc (test01): Add tests for
- ctype_base::mask bitmask features.
- * src/locale.cc: Define const static data for ctype_base.
- * config/os/gnu-linux/bits/ctype_base.h (ctype_base): Make
- ctype_base::mask type an integer type, not an enum.
- * config/os/gnu-linux/bits/ctype_inline.h (is): Implement correctly.
- * include/bits/locale_facets.h: Tweaks.
-
- * include/bits/ios_base.h: Formatting tweaks.
-
- * docs/html/17_intro/C++STYLE: Add.
-
-2000-12-12 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Don't link ctype
- files here...
- * configure.in: Rather, do it once for all targets here. Clean up
- canadian cross and cross compile targets for linux-targeted
- crosses.
- * configure: Regenerate.
- * aclocal.m4: Regnerate.
- * acconfig.h: Add more defines.
- * config.h.in: Regenerate.
-
-2000-12-12 Angela Marie Thomas <angela@cygnus.com>
-
- * configure.in: Fix case for host-x-linux
- * configure: Regenerate.
-
-2000-12-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * src/Makefile.am (libstdc++.INC:): 2000-12-05 reverted to include
- 2000-11-12 hunk.
- * src/Makefile.in: Rebuilt.
-
-2000-12-09 Jason Merrill <jason@redhat.com>
-
- * testsuite/20_util/auto_ptr.cc (test07): Remove test that tries
- to copy-initialize an auto_ptr<Base> from an auto_ptr<Derived>; it
- isn't supposed to work anymore.
-
-2000-12-09 Phil Edwards <pme@sources.redhat.com>
-
- Move the HTML-containing subdirs from 'docs' to 'docs/html'.
- * README: Update the locations of instructions.
- * docs/doxygen/run_doxygen: New file, stub.
-
- * docs/Makefile: Moved...
- * docs/configopts.html: Likewise.
- * docs/documentation.html: Likewise.
- * docs/install.html: Likewise.
- * docs/lib3styles.css: Likewise.
- * docs/17_intro/BADNAMES: Likewise.
- * docs/17_intro/BUGS: Likewise.
- * docs/17_intro/C++STYLE: Likewise.
- * docs/17_intro/CHECKLIST: Likewise.
- * docs/17_intro/COPYING: Likewise.
- * docs/17_intro/DESIGN: Likewise.
- * docs/17_intro/HEADER_POLICY: Likewise.
- * docs/17_intro/PROBLEMS: Likewise.
- * docs/17_intro/RELEASE-NOTES: Likewise.
- * docs/17_intro/TODO: Likewise.
- * docs/17_intro/contribute.html: Likewise.
- * docs/17_intro/headers_cc.txt: Likewise.
- * docs/17_intro/howto.html: Likewise.
- * docs/17_intro/libstdc++-assign.txt: Likewise.
- * docs/17_intro/organization: Likewise.
- * docs/17_intro/porting-howto.html: Likewise.
- * docs/18_support/howto.html: Likewise.
- * docs/19_diagnostics/howto.html: Likewise.
- * docs/20_util/howto.html: Likewise.
- * docs/21_strings/gotw29a.txt: Likewise.
- * docs/21_strings/howto.html: Likewise.
- * docs/21_strings/stringtok_h.txt: Likewise.
- * docs/21_strings/stringtok_std_h.txt: Likewise.
- * docs/22_locale/codecvt.html: Likewise.
- * docs/22_locale/ctype.html: Likewise.
- * docs/22_locale/howto.html: Likewise.
- * docs/22_locale/locale.html: Likewise.
- * docs/23_containers/howto.html: Likewise.
- * docs/23_containers/wrappers_h.txt: Likewise.
- * docs/24_iterators/howto.html: Likewise.
- * docs/25_algorithms/howto.html: Likewise.
- * docs/26_numerics/howto.html: Likewise.
- * docs/27_io/howto.html: Likewise.
- * docs/27_io/iostreams_hierarchy.pdf: Likewise.
- * docs/ext/howto.html: Likewise.
- * docs/faq/index.html: Likewise.
- * docs/faq/index.txt: Likewise.
- * docs/html/Makefile: ...to here.
- * docs/html/configopts.html: Likewise.
- * docs/html/documentation.html: Likewise.
- * docs/html/install.html: Likewise.
- * docs/html/lib3styles.css: Likewise.
- * docs/html/17_intro/BADNAMES: Likewise.
- * docs/html/17_intro/BUGS: Likewise.
- * docs/html/17_intro/C++STYLE: Likewise.
- * docs/html/17_intro/CHECKLIST: Likewise.
- * docs/html/17_intro/COPYING: Likewise.
- * docs/html/17_intro/DESIGN: Likewise.
- * docs/html/17_intro/HEADER_POLICY: Likewise.
- * docs/html/17_intro/PROBLEMS: Likewise.
- * docs/html/17_intro/RELEASE-NOTES: Likewise.
- * docs/html/17_intro/TODO: Likewise.
- * docs/html/17_intro/contribute.html: Likewise.
- * docs/html/17_intro/headers_cc.txt: Likewise.
- * docs/html/17_intro/howto.html: Likewise.
- * docs/html/17_intro/libstdc++-assign.txt: Likewise.
- * docs/html/17_intro/organization: Likewise.
- * docs/html/17_intro/porting-howto.html: Likewise.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/19_diagnostics/howto.html: Likewise.
- * docs/html/20_util/howto.html: Likewise.
- * docs/html/21_strings/gotw29a.txt: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/21_strings/stringtok_h.txt: Likewise.
- * docs/html/21_strings/stringtok_std_h.txt: Likewise.
- * docs/html/22_locale/codecvt.html: Likewise.
- * docs/html/22_locale/ctype.html: Likewise.
- * docs/html/22_locale/howto.html: Likewise.
- * docs/html/22_locale/locale.html: Likewise.
- * docs/html/23_containers/howto.html: Likewise.
- * docs/html/23_containers/wrappers_h.txt: Likewise.
- * docs/html/24_iterators/howto.html: Likewise.
- * docs/html/25_algorithms/howto.html: Likewise.
- * docs/html/26_numerics/howto.html: Likewise.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/27_io/iostreams_hierarchy.pdf: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/faq/index.html: Likewise.
- * docs/html/faq/index.txt: Likewise.
-
-2000-12-08 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New conditional,
- GLIBCPP_BUILD_LIBIO, true iff building libio.
- * libio/Makefile.am: Use; set noinst_LTLIBRARIES empty if false.
- * aclocal.m4: Regenerated.
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * libio/Makefile.in: Regenerated.
- * libmath/Makefile.in: Regenerated.
-
-2000-12-08 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove ccosl,
- cexpl, clog10l, csinhl, ctanhl, ctanl.
- (EXTRA_DIST): Remove ccos, ccosf, csin, csinf, ccosh, ccoshf,
- csing, csinhf, clog10, clog10f, ctan, ctanf, ctanh, ctanhf.
- * libmath/Makefile.in: Regenarate.
- * libmath/ccos.c: Remove.
- * libmath/ccosf.c: Likewise.
- * libmath/ccosl.c: Likewise.
- * libmath/csin.c: Likewise.
- * libmath/csinf.c: Likewise.
- * libmath/csinl.c: Likewise.
- * libmath/ctan.c: Likewise.
- * libmath/ctanf.c: Likewise.
- * libmath/ctanl.c: Likewise.
- * libmath/ccosh.c: Likewise.
- * libmath/ccoshf.c: Likewise.
- * libmath/ccoshl.c: Likewise.
- * libmath/csinh.c: Likewise.
- * libmath/csinhf.c: Likewise.
- * libmath/csinhl.c: Likewise.
- * libmath/ctanh.c: Likewise.
- * libmath/ctanhf.c: Likewise.
- * libmath/ctanhl.c: Likewise.
- * libmath/cexp.c: Likewise.
- * libmath/cexpf.c: Likewise.
- * libmath/cexpl.c: Likewise.
- * libmath/clog10.c: Likewise.
- * libmath/clog10f.c: Likewise.
- * libmath/clog10l.c: Likewise.
- * libmath/complex-stub.h: Remove forward declaration of functions
- mentioned above.
-
- * include/bits/std_complex.h(tan, tanh): Define primary templates.
- (complex<>): Remove friend declarations for tan<> and tanh<>.
- * src/complex.cc(tan, tanh): Remove specializations.
-
- * acinclude.m4: Remove check for ccos, ccosf, ccosl, ccosh,
- ccoshf, ccoshl, csin, csinf, csinl, csinh, csinhf, csinhl, cexp,
- cexpf, cexpl, ctan, ctanf, ctanl, ctanh, ctanhf, ctanhl.
- * aclocal.m4: Regenarate.
- * configure: Regenarate.
-
-2000-12-08 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * acinclude.m4: Don't forget to remove check for cpowl as it is no
- longer needed, nor is the corresponding stub existent.
- * aclocal.m4: Regenarate.
- * configure: Regenarate.
-
-2000-12-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * config/os/generic/bits/ctype_base.h (ctype_base): Change space mask.
-
- * config/os/generic/bits/ctype_noninline.h (ctype): Remove default
- arguments in definition.
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
- * config/os/newlib/bits/ctype_noninline.h (ctype): Same.
- * config/os/irix/bits/ctype_noninline.h (ctype): Same.
- * config/os/hpux/bits/ctype_noninline.h (ctype): Same.
- * config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
- * config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
- * config/os/aix/bits/ctype_noninline.h (ctype): Same.
-
- * include/bits/locale_facets.h: Tweak.
-
-2000-12-06 Benjamin Kosnik <bkoz@kredhat.com>
-
- * include/bits/locale_facets.h (ctype): Remove _Ctype_nois and
- _Ctype and replace with common __ctype_abstract_base.
- (ctype<wchar_t>::_M_convert_to_wmask): Move to locale.cc.
- * config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>::ctype):
- And here.
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
- * config/os/newlib/bits/ctype_noninline.h (ctype): Same.
- * config/os/irix/bits/ctype_noninline.h (ctype): Same.
- * config/os/hpux/bits/ctype_noninline.h (ctype): Same.
- * config/os/generic/bits/ctype_noninline.h (ctype): Same.
- * config/os/aix/bits/ctype_noninline.h (ctype): Same.
- * config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
- * config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
- * src/locale-inst.cc: Clean instantiations.
- * src/locale.cc (ctype<char>): Add definitions here.
- (ctype<wchar_t>::_M_wmask): Move definitions here.
-
- * config/os/generic/bits/ctype_inline.h (ctype<char>::is):
- Implement in a generic way, with only "C" functionality and no
- knowlege of the target os.
- * config/os/generic/bits/os_defines.h: Change comments to C++ style.
- * testsuite/22_locale/ctype_char_members.cc (test01): Add tests.
-
- * include/bits/codecvt.h (ctype_byname): Remove specializations,
- as not required.
- * include/bits/localefwd.h (codecvt_byname): And here.
- * src/codecvt.cc: Remove codecvt_byname specializations.
-
- * include/c/bits/std_cstdio.h: Include c++config.h.
-
-2000-12-06 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_*_DECL_AND_LINKAGE_*): Pre-test
- whether the cached result is present.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * libio/Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
-
-2000-12-06 Richard Earnshaw <rearnsha@arm.com>
-
- * configure.target (*-*-freebsd, *-*-netbsd): Correct paths to
- os_include_dir.
-
-2000-12-05 Jeffrey A Law <law@cygnus.com>
-
- * configure.target (hpux): Set os_include_dir.
- * config/os/hpux/bits/ctype_base.h: New file
- * config/os/hpux/bits/ctype_inline.h: New file
- * config/os/hpux/bits/ctype_noinline.h: New file
- * config/os/hpux/bits/os_defines.h: New file
-
-2000-12-05 Alexandre Petit-Bianco <apbianco@redhat.com>
-
- * src/Makefile.am (libstdc++.INC): Revert for libjava builds.
- * src/Makefile.in: Regenerate.
-
-2000-12-05 Benjamin Kosnik <bkoz@haight.redhat.com>
-
- * acinclude.m4 (EXTRA_CXX_FLAGS): And here.
- * include/c/bits/std_cstdlib.h (std ): Change macro to
- _GLIBCPP_NEED_LLDIV_T.
- * acconfig.h: Remove unused MBSTATE_T bits.
- * configure.in: Same.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2000-12-05 Benjamin Kosnik <bkoz@fillmore.redhat.com>
-
- * acinclude.m4: Change up to reflect new directory organization.
- Add in bits for NetBSD.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config/os/bsd: New directory.
- * config/os/netbsd: Move to...
- * config/os/bsd/netbsd: ...here.
- * config/os/freebsd: Move to...
- * config/os/bsd/freebsd: ...here.
-
-2000-12-05 Benjamin Kosnik <bkoz@haight.redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Check for
- lldiv_t. Allow the use of os-specific defines while checking for
- long-long functions by the inclusion of os_defines.h.
- * aclocal.m4: Regenerate.
- * configure.in: Add comments.
- * configure: Regenerate.
- * acconfig.h: Add _GLIBCPP_HAVE_LLDIV_T.
- * config.h.in: Regenerate.
- * config/os/gnu-linux/bits/os_defines.h: Fix typos and
- duplications in comments.
-
-2000-12-05 Richard Earnshaw <rearnsha@arm.com>
-
- * config/os/freebsd/bits/ctype_base.h: Update comments about other
- BSD variants.
-
-2000-12-05 Richard Earnshaw <rearnsha@arm.com>
-
- * config/os/freebsd/bits/*.h: Move here from config/os/bsd/bits.
- * aclocal.m4: Adjust accordingly.
- * configure.target: Likewise.
- * configure: Regenerate.
-
-2000-12-05 Richard Earnshaw <rearnsha@arm.com>
-
- * config/cpu/arm/bits/atomicity.h: Add support for compiling Thumb
- code.
-
-2000-12-05 Richard Earnshaw <rearnsha@arm.com>
-
- Support for NetBSD.
- * aclocal.m4: Add test for NetBSD's ctype support.
- * configure: Regenerate.
- * configure.target: Support NetBSD.
- * config/os/netbsd/bits/ctype_base.h: New file.
- * config/os/netbsd/bits/ctype_inline.h: New file.
- * config/os/netbsd/bits/ctype_noinline.h: New file.
- * config/os/netbsd/bits/os_defines.h: New file.
-
-2000-12-05 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * src/complex.cc (pow): Remove definitions for explicit
- specializations.
- * libmath/mathconf.h: Remove declarations for c_log, c_logf,
- c_logl.
- * libmath/complex-stub.h: Remove declarations for cpow, cpowf,
- cpowl.
- * libmath/cpow.c: Remove.
- * libmath/cpowf.c: Remove.
- * libmath/cpowl.c: Remove.
- * libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove c_logl,
- cpowl,
- (EXTRA_DIST): Remove c_log, c_logf, carg, cargf.
- * libmath/Makefile.in: Regenarate.
- * libmath/c_log.c: Remove
- * libmath/c_logf.c: Likewise.
- * libmath/c_logl.c: Likewise.
- * libmath/carg.c: Likewise.
- * libmath/cargf.c: Likewise.
- * libmath/cargl.c: Likewise.
- * include/bits/std_complex.h (pow): Define primary templates.
- (complex<>): Remove friend declarations for pow<>().
- * acinclude.m4: Remove check for c_log, c_logf, c_logl, carg,
- cargf.
- * aclocal.m4: Regenarate.
- * configure: Regenarate.
-
-2000-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * docs/configopts.html, docs/documentation.html,
- docs/install.html, docs/17_intro/BADNAMES,
- docs/17_intro/contribute.html, docs/17_intro/howto.html,
- docs/18_support/howto.html, docs/19_diagnostics/howto.html,
- docs/20_util/howto.html, docs/21_strings/howto.html,
- docs/22_locale/howto.html, docs/23_containers/howto.html,
- docs/24_iterators/howto.html, docs/25_algorithms/howto.html,
- docs/26_numerics/howto.html, docs/27_io/howto.html,
- docs/ext/howto.html, docs/faq/index.html, docs/faq/index.txt: Sync
- with wwwdocs.
-
-2000-12-01 Phil Edwards <pme@sources.redhat.com>
-
- * docs/download.html: Remove.
- * docs/footer.ihtml: Remove.
- * docs/header.ihtml: Remove.
- * docs/index.html: Remove.
- * docs/links.html: Remove.
- * docs/mail.html: Remove.
- * docs/status.html: Remove.
- * docs/thanks.html: Remove.
-
-2000-12-01 Phil Edwards <pme@sources.redhat.com>
-
- * mkcheck.in: Count static and shared results separately.
-
-2000-12-01 Loren J. Rittle <ljrittle@acm.org>
-
- * mkcheck.in: Correct typo.
-
-2000-12-01 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * src/cmath.cc: Remove.
- * src/Makefile.am (c_base_headers): Add bits/cmath.tcc.
- (sources): Remove cmath.cc
- * src/Makefile.in: Regenerate.
-
- * include/c/bits/std_cmath.h (__cmath_power<>): Declare.
- (__cmath_abs<>): New function.
- (abs, fabs): Use __cmath_abs when no direct support is available.
- (__pow_helper<>): New function.
- (pow): Define here. Use __pow_helper<>.
-
- * include/c/bits/cmath.tcc: New file.
-
-2000-11-29 Benjamin Kosnik <bkoz@redhat.com>
-
- Fixes for build directories with colons, AIX build problems.
- * src/Makefile.am: Cleanups, add documentation.
- (libstdc++.INC): Simplify rule.
- (myinstallheaders): Consolidate install rules.
- (myinstalldirs): New, make directores.
- (base_headers): Subdivide based on install directory.
- (ext_headers): New.
- (backward_headers): New.
- (headers): Remove.
- (c_headers): Remove, unused.
- (c_shadow_headers): Split up, deal with conditional usage in a
- sane manner.
- * src/Makefile.in: Regenerate.
-
-2000-11-29 Phil Edwards <pme@sources.redhat.com>
-
- Sync with the documentation from wwwdocs.
- * docs/Makefile: New file (rebuilds FAQ text version).
- * docs/configopts.html: Update.
- * docs/documentation.html: Update.
- * docs/download.html: Update.
- * docs/index.html: Update.
- * docs/install.html: Update.
- * docs/links.html: Update.
- * docs/mail.html: Update.
- * docs/status.html: Update.
- * docs/thanks.html: Update.
- * docs/27_io/howto.html: Update.
- * docs/faq/index.html: Update for 2.91.
- * docs/faq/index.txt: Update for 2.91.
- * docs/footer.html: Removed.
- * docs/footer.ihtml: New file.
- * docs/gccrebuild.html: Removed.
- * docs/header.html: Removed.
- * docs/header.ihtml: New file.
-
-2000-11-29 Loren J. Rittle <ljrittle@acm.org>
-
- * tests_flags.in: Correct typo.
-
-2000-11-29 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * tests_flags (SH_FLAGS, ST_FLAGS): Move them back to ...
- * mkcheck.in (SH_FLAGS, ST_FLAGS): ...here
-
-2000-11-29 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * src/Makefile.am (sources): Add bitset.cc
- * src/Makefile.in: Regenrate.
-
- * include/bits/std_bitset.h (_GLIBCPP_BITSET_BITS_PER_WORD): New
- macro. Replace __BITS_PER_WORDS throughout.
- (__BITS_PER_WORDS): Remove.
- (bitset<>::_M_do_find_first, bitset<>::_M_do_find_next): Move
- definitions to src/bitset.cc.
-
- * src/bitset.cc (bitset<>::_M_do_find_first,
- bitset<>::_M_do_find_next): Define here.
- (_Bit_count<>::_S_bit_count, _Find_one<>::_S_first_one): Define
- here. Explicitly instantiate definitions.
-
-2000-11-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): Silence
- preprocessor multi-line string warnings.
- (__atomic_add): Likewise.
- (__compare_and_swap): Likewise.
- (__always_swap): Likewise.
- (__test_and_set): Likewise.
- * config/cpu/arm/bits/atomicity.h (__exchange_and_add): Likewise.
- (__atomic_add): Likewise.
- (__compare_and_swap): Likewise.
- (__always_swap): Likewise.
- (__test_and_set): Likewise.
-
-2000-11-28 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- Update for 2.91 release.
- * include/bits/c++config (__GLIBCPP__): Update.
- * docs/17_intro/RELEASE-NOTES: Update.
- * docs/status.html: Update, remove bogus autotools disinformation.
-
-2000-11-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * tests_flags.in (LTCXX): Change CXX_FLAG to CXXFLAGS.
-
- * testsuite/22_locale/ctor_copy_dtor.cc: Adjust formatting.
- * testsuite/27_io/istream_extractor_arith.cc (test11): New
- testcase, based on libstdc++/90.
-
-2000-11-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * config/cpu/arm/bits/atomicity.h (__exchange_and_add): Add
- __volatile__ to asm.
- (__atomic_add): Likewise.
- (__compare_and_swap): Likewise.
- (__always_swap): Likewise.
- (__test_and_set): Likewise.
-
- * config/cpu/powerpc/bits/atomicity.h: Replace '__ATOMICITY_INLINE'
- with 'inline'.
- (__exchange_and_add): Add __volatile__ to asm.
- (__atomic_add): Likewise.
- (__compare_and_swap): Likewise.
- (__always_swap): Likewise.
- (__test_and_set): Likewise.
-
-2000-11-27 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * tests_flags.in: Update documentation to reflect the change
- below.
-
-2000-11-26 Benjamin Kosnik <bkoz@fillmore.constant.com>
-
- * tests_flags.in: Export CXX, CXXFLAGS.
- * mkcheck.in: Grab them.
-
-2000-11-26 David Billinghurst <David.Billinghurst@riotinto.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * mkcheck.in: Add exe extension to printnow executable, abstract
- out call to this with TIMER_COMMAND.
- * configure.target (l_glibcpp_cxxflags): Add cygwin support.
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Correct paths.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-11-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/istream_unformatted.cc (test05): Fixup.
-
-2000-11-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: Only sanity check for compiler version when
- configuring. More fixes for 'make clean'.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-11-26 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove cabsl.c
- * libmath/Makefile.in: Regenerate.
- * libmath/cabs.c: Remove.
- * libmath/cabsf.c: Likewise.
- * libmath/cabsl.c: Likewise.
- * libmath/complex-stub.h: Remove declarations for cabs*.
-
- * acinclude.m4: Remove check for cabs*.
- * aclocal.m4: Regenerate.
-
- * Makefile.in: Regenerate.
-
-2000-11-26 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * tests_flags.in: New file. Split out of ...
- * mkcheck.in: ... this. Move flags computation into
- tests_flags.in.
- * configure.in: Add support for tests_flags.
- * confiigure: Regenerate.
-
-2000-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * acinclude.m4: Change C9X references to refer to C99.
- * aclocal.m4, configure: Regenerate.
- * config/os/gnu-linux/bits/os_defines.h, src/complex.cc,
- testsuite/22_locale/codecvt_wchar_t_char.cc,
- include/bits/stl_config.h, include/c/bits/std_cwchar.h,
- libmath/mathconf.h: Change C9X references to refer to C99.
-
-2000-11-25 Benjamin Kosnik <bkoz@redhat.com>
- Richard Earnshaw <rearnsha@arm.com>
-
- * src/Makefile.am (INCLUDES): Remove unconditional use of
- _GNU_SOURCE and _ISOC99_SOURCE macros.
- * src/Makefile.in: Regenerate.
-
-2000-11-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * testsuite/22_locale/codecvt_wchar_t_char.cc (main): Add
- _GLIBCPP_USE_WCHAR_T guards.
-
- * configure.in (AC_OUTPUT_COMMANDS): Remove, just run scripts as
- is, so that checks for existence of generated files actually work.
- * configure: Regenerate.
-
-2000-11-23 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/os/gnu-linux/bits/os_defines.h: Include <features.h>.
- If not glibc 2.1 or higher, include <gnu/types.h> and define
- __off64_t as __loff_t and #define __THROW as empty.
-
- * libio/libio.h [__P]: Move __THROW and __PMT into their own
- ifndef:s.
-
-2000-11-23 David Edelsohn <edelsohn@gnu.org>
-
- * porting.texi: Expand libtool information.
-
-2000-11-23 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/ios_base.h (ios_base::failure::~failure,
- ios_base::failure::what): Move definition to ...
-
- * src/ios.cc (ios_base::failure::~failure): ... here.
- src/ios.cc (ios::failure::what): Likewise.
-
-2000-11-22 Benjamin Kosnik <bkoz@redhat.com>
-
- Make deprecated strstream header consistent with new and new.h.
- * include/backward/strstream.h: Add. Use using declarations to
- scope strstreambuf, istrstream, ostrstream, strstream to global
- scope.
- * include/backward/strstream: Remove using declarations.
- * src/Makefile.am (base_headers): Add strstream.
- * src/Makefile.in: Regenerate.
-
- * include/backward/new.h (_CPP_BACKWARD_NEW_H): Change macro guard
- to be consistent with other headers.
-
-2000-11-22 Richard Henderson <rth@redhat.com>
-
- * config/os/bsd/bits/ctype_inline.h (is): Fix order of expressions.
-
-2000-11-22 Phil Edwards <pme@sources.redhat.com>
-
- * porting.texi: Minor tweaks to vocabulary.
-
-2000-11-22 Loren J. Rittle <ljrittle@acm.org>
-
- * include/backward/strstream.h: Reinstate the `using'
- statements.
-
-2000-11-22 Loren J. Rittle <ljrittle@acm.org>
-
- * src/Makefile.am (base_headers): Add missing backwards headers.
- * src/Makefile.in: Regenerate.
-
-2000-11-21 scott snyder <snyder@fnal.gov>
-
- * config/c_io_stdio.cc (seekoff): Fix return value.
- (seekpos): Likewise.
- (sys_seek): Likewise.
-
-2000-11-21 Loren J. Rittle <ljrittle@acm.org>
-
- * mkcheck.in (explanation): Retain output of all failing
- compiles. Don't add gratuitous space to the log file.
-
-2000-11-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/strstream.cc: Adjust includes.
- * src/Makefile.am (base_headers): Remove std_strstream.h, add
- backwards/strstream.h.
- (std_headers): Remove strstream.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am (headers): Remove new.h
- * libsupc++/Makefile.in: Regenerate.
- * include/std/strstream: Remove.
- * include/backward/strstream.h: Replace with...
- * include/bits/std_strstream.h: ...this. Move.
- * include/backward/complex.h: Remove SGIisms.
- * include/backward/streambuf.h: Same.
- * include/backward/stream.h: Same.
- * include/backward/ostream.h: Same.
- * include/backward/istream.h: Same.
- * include/backward/iostream.h: Same.
- * include/backward/iomanip.h: Same.
- * include/backward/fstream.h: Same.
- * libsupc++/new.h: Add using declarations for bad_alloc,
- nothrow_t, and nothrow, move to ...
- * include/backward/new.h: ...here.
-
-2000-11-21 Mark Mitchell <mark@codesourcery.com>
-
- * porting.texi: New file.
-
-2000-11-21 Branko Cibej <brankoe@xbc.nu>
-
- * config/os/solaris/solaris2.6/bits/os_defines.h: Define
- _XOPEN_SOURCE, _LARGEFILE64_SOURCE, __EXTENSIONS__, __off_t,
- __off64_t and __ssize_t.
- * config/os/solaris/solaris2.5/bits/os_defines.h: For now, use the
- same configuration as above.
-
-2000-11-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (AC_LC_MESSAGES): Check for locale.h.
- * aclocal.m4: Regenerate.
- * configure: Renerate.
-
-2000-11-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * mkcheck.in (explanation): Don't paste output of passing compiles
- into log file. Use -static. Get version info.
-
- * testsuite/23_containers/vector_ctor.cc (test02): Fix thinko.
-
-2000-11-20 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_complex.h (complex<double>): Constructor
- complex<double>::complex(const complex<float>&) is not explicit;
- since it is a promotion.
- (complex<long double>): Constructors taking complex<float> and
- complex<double> are not explicit.
-
-2000-11-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/std_complex.h: Tweaks, include cmath for abs overloads.
- * src/complex.cc: Remove cmath include, formatting tweaks, remove
- dead code.
- * include/c/bits/std_cmath.h: Formatting tweaks.
- * testsuite/26_numerics/complex_value.cc: New file, for catching
- bits gleaned from libstdc++/106.
-
- * testsuite/23_containers/vector_ctor.cc (test02): Add test from
- libstdc++/102.
-
-2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/bits/c++config, include/bits/ios_base.h,
- include/bits/std_streambuf.h: Correct spelling of "deprecated".
-
-2000-11-19 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/exception_support.cc (__throw_bad_cast): Name it
- __cxa_bad_cast under the new ABI.
- (__throw_bad_typeid): Name it __cxa_bad_typeid under the new ABI.
- * libsupc++/pure.cc (__pure_virtual): Name it __cxa_pure_virtual
- under the new ABI.
-
-2000-11-18 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/exception_support.h: New header file.
- * libsupc++/vec.cc: Include it.
- (__cxa_vec_new2): Recatch exceptions before rethrows.
- (__cxa_vec_new3): Likewise.
- (__cxa_vec_ctor): Likewise.
- (__cxa_vec_cctor): Likewise.
- (__cxa_vec_dtor): Likewise.
- (__cxa_vec_delete2): Likewise.
- (__cxa_vec_delete3): Likewise.
-
-2000-11-17 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * include/bits/stl_tree.h: Overload operators == and != to be able
- to handle the case (const_iterator,iterator) and
- (iterator,const_iterator), thus fixing libstdc++/737 and the like.
- * testsuite/23_containers/map_operators.cc (test02): New tests.
-
-2000-11-17 Loren J. Rittle <ljrittle@acm.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Correct last patch
- to ``make --enable-cstdio=stdio the default''.
- * libstdc++-v3/aclocal.m4: Rebuilt.
- * libstdc++-v3/configure: Rebuilt.
-
-2000-11-17 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_ATOMICITY): Move switch statement
- contents to...
- * configure.target: ...here. Enable generic atomic ops, and warn.
- * aclocal.m4: Regenerated.
- * configure: Ditto.
- * Makefile.in: Ditto.
- * libio/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
-
-2000-11-16 Loren J. Rittle <ljrittle@acm.org>
-
- * include/bits/locale_facets.tcc (num_get<_CharT,
- _InIter>::do_get(...)): Add missing typename keyword.
-
-2000-11-16 Mark Mitchell <mark@codesourcery.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Make
- --enable-cstdio=stdio the default. Disable wide character support
- in that event.
- * configure.in: Move GLIBCPP_ENABLE_C_MBCHAR after
- (GLIBCPP_ENABLE_CSTDIO).
- * config/c_io_stdio.h: Don't include <libio.h>, don't define
- __c_wfile_type.
- * aclocal.m4: Regenerated.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * libio/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
-
-2000-11-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * config/c_io_stdio.h: Include stddef.h.
-
-2000-11-16 Mark Mitchell <mark@codesourcery.com>
-
- * config/c_io_stdio.h (streamsize): Make it a typedef for
- ptrdiff_t.
- (wstreamsize): Likewise.
-
- * config/c_io_stdio.h: Include libio.h.
-
-2000-11-15 Mark P Mitchell <mark@codesourcery.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Substitute libio_la.
- * src/Makefile.am (libstdc___la_LIBADD): Use it.
- * aclocal.m4: Regenerated.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * libio/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * src/Makfile.in: Likewise.
-
-2000-11-15 Mark Mitchell <mark@codesourcery.com>
-
- * mkcheckin.in: Move check for bash version 2 later in the file.
-
- * include/bits/basic_string.h (basic_string::_Rep::_S_max_size):
- Make it const.
- (basic_string::_Rep::_S_terminal): Likewise.
- * include/bits/string.tcc (basic_string::_Rep::_S_max_size):
- Likewise.
- (basic_string::_Rep::_S_terminal): Likewise.
-
-2000-11-15 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * mkcheck.in: Add function size_command() for irix.
-
-2000-11-14 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPOR): Set LIBS back to
- initial value.
- (GLIBCPP_EXPORT_INCLUDES): Only export TOPLEVEL_INCLUDES if
- building a canadian cross. This should fix the remaining java
- build issues.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * include/bits/c++config (__GLIBCPP__): Set release version for 2.91.
-
-2000-11-14 Phil Edwards <pme@sources.redhat.com>
-
- * mkcheck.in: On a platform where we don't know how to extract
- section sizes, just set them to zero. Use old method of reading
- file contents.
-
-2000-11-13 Loren J. Rittle <ljrittle@acm.org>
-
- * config/c_io_stdio.h: Don't define __c_wfile_type
- when _GLIBCPP_USE_WCHAR_T is not defined.
-
-2000-11-13 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_TARGET): New macro, replacing
- GLIBCPP_CHECK_CPU and GLIBCPP_CHECK_OS, sourcing configure.target.
- (GLIBCPP_CONFIGURE): Call new macro here.
- * configure.host: Cleanup.
- * configure.in: Remove those two macros.
- * configure.target: New file.
- * aclocal.m4: Regenerated.
- * configure: Ditto.
- * Makefile.in: Ditto.
- * libio/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
-
- * mkcheck.in: Use libtool. Split things out into functions.
-
-2000-11-12 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * Makefile.am (tmp-libstdsc++.INC:): Do not use -I$(top_builddir).
- * Makefile.in: Regenerate.
-
-2000-11-12 David Edelsohn <edelsohn@gnu.org>
-
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Add test for
- libiconv.a providing wchar_t support functions.
- * aclocal.m4: Regenerate.
-
-2000-11-12 Loren J. Rittle <ljrittle@acm.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_ATOMICITY): Handle FreeBSD.
- * aclocal.m4, configure: Rebuilt.
-
-2000-11-12 Brent Verner <brent@rcfile.org>
-
- * include/c_std/bits/wrap_langinfo.h: New file.
- * include/c_std/langinfo.h: New file.
- * include/bits/codecvt.h (__enc_trants::__enc_traits()): Bring in
- CODESET from _C_legacy::CODESET if using shadow headers.
- * src/Makefile.am: Add new files.
- * src/Makefile.in: Regenerate.
-
-2000-11-12 Mark Mitchell <mark@codesourcery.com>
-
- * include/c/bits/std_cmath.h (abs): Change extern "C" declaration
- of `abs (double)' to ...
- (fabs): this.
-
- * config/os/solaris/solaris2.7/bits/os_defines.h: Define
- __EXTENSIONS__.
-
-2000-11-11 Mark P Mitchell <mark@codesourcery.com>
-
- * include/bits/basic_file.h (__basic_file): Don't use __c_wfile_type
- when _GLIBCPP_USE_WCHAR_T is not defined.
-
-2000-11-10 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/codecvt.h (__iconv_adaptor): New adaptor function,
- courtesy of Alexandre Oliva, to handle const/non-const signatures.
- (codecvt::do_out): Use.
- (codecvt::do_in): And here.
-
-2000-11-10 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/cpp_type_traits.h: Fix typos. Adjust formatting.
-
-2000-11-10 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/localefwd.h (_Count_ones<>::_S_halfcount,
- _Count_ones<>::_S_count): Turn into enumerators.
-
-2000-11-08 Mark Mitchell <mark@codesourcery.com>
-
- * include/bits/codecvt.h (codecvt::do_out): Make it const-correct.
- (codecvt::do_in): Likewise.
-
-2000-11-08 David Edelsohn <edelsohn@gnu.org>
-
- * src/locale-inst.cc: Add explicit instantiations of
- _M_fill_insert and fill_n<..., unsigned long,...> .
-
-2000-11-06 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_complex.h (conj): Undo double removal.
-
-2000-11-06 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4 (LIB_AC_PROG_CXX): Remove CXX from the list of
- alternatives for CXX_libstdcxx, now that it is useless.
- * aclocal.m4, configure: Rebuilt.
-
-2000-11-04 Mark Mitchell <mark@codesourcery.com>
-
- * acinclude.m4 (LIB_AC_PROG_CXX): Set CXX_libstdcxx from CXX.
- * aclocal.m4: Regenerated.
- * configure: Likewise.
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Fix punctuation in
- use of `test'.
- * aclocal.m4: Regenerated.
- * configure: Likewise.
-
-2000-11-04 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4 (CXX): Prevent it from being cached.
- * aclocal.m4, configure, */Makefile.in: Rebuilt.
-
-2000-11-03 David Edelsohn <dje@watson.ibm.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_OS): Add AIX target selecting threads
- flag based on multilib definition of $CXX.
- * mknumeric_limits (LDFLAGS): Add AIX target linking with pthreads
- based on multilib definition of $CXX.
- * config/os/aix/bits/os_defines.h (_G_USING_THUNKS): Define as 0.
-
-2000-11-03 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4: Cleanups.
- * aclocal.m4: Regenerated.
- * configure: Ditto.
- * Makefile.in: Ditto.
- * libio/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
-
- * docs/install.html: Removal of EGCS.
- * docs/23_containers/wrappers_h.txt: Likewise.
- * docs/faq/index.html: Likewise.
- * docs/faq/index.txt: Regenerated.
- * docs/thanks.html: More people.
-
-2000-11-03 David Edelsohn <edelsohn@gnu.org>
-
- * include/c/bits/std_cwchar.h: Undefine macro that conflicts
- with function name defined in this file.
-
-Thu Nov 2 23:19:20 2000 Mark P Mitchell <mark@codesourcery.com>
-
- * include/c/bits/std_cctype.h: Undefine macros that conflict
- with function names defined in this file.
- * include/c/bits/std_cstdio.h: Likewise.
-
-2000-11-02 Mark Mitchell <mark@codesourcery.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Fix typo.
-
-Thu Nov 2 10:11:45 2000 Mark P Mitchell <mark@codesourcery.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Add support for IRIX.
- * aclocal.m4: Regenerated.
- * Makefile.in: Regenerated.
- * libio/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * configure: Likewise.
- * config/os/irix/bits/ctype_base.h: Revise.
- * config/os/irix/bits/ctype_inline.h: Likewise.
- * config/os/irix/bits/ctype_noninline.h: Likewise.
-
- * testsuite/22_locale/codecvt_unicode_char.cc: Don't run it
- if not _GLIBCPP_USE_WCHAR_T.
- * testsuite/22_locale/codecvt_unicode_wchar_t.cc: Likewise.
- * testsuite/22_locale/ctor_copy_dtor.cc: Likewise.
- * testsuite/22_locale/ctype_wchar_t_members.cc: Likewise.
-
- * mkcheck.in: Fix echoing of -rpath option.
-
- * config/os/irix/bits/atomicity.h (_Atomic_word): Make it a
- signed type.
- (__exchange_aand_add): Adjust accordingly.
- (__atomic_add): Likewise.
-
-2000-11-02 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/locale.cc: Match orderings for static members.
- * include/bits/fstream.tcc: Fixes for cin.
-
-2000-11-02 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_complex.h (complex<>): Remove (cos<>, cosh<>,
- exp<>, log<>, log<>, sin, sinh<>) friend declarations.
- (cos, cosh, sin, sinh): Define primary templates.
-
- * src/complex.cc (cos<>, cosh<>, sin<>, sinh<>): Comment out
- definitions.
-
-2000-11-01 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/basic_file.h (_M_open_mode): Change signature, move
- specializations to..
- * config/c_io_libio.cc: ...here.
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add sdtio option, remove wince.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config/c_io_stdio.h: New file.
- * config/c_io_stdio.cc: New file.
- * docs/configopts.html: Modify documentation.
-
-2000-10-31 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * include/c/bits/std_cwctype.h: Add more undefs.
-
-2000-10-31 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_complex.h (norm): Forward declare.
- (complex<>): Comment out friend declaration of conj<>.
- (conj<>): Comment out specialization.
- (exp, log, log10): Define primary templates.
-
- * src/complex.cc (exp<>, log<>, log10<>): Comment out
- specializations.
-
-2000-10-31 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * include/bits/std_complex.h: Remove duplicate definition of conj.
- * include/c/bits/std_cwctype.h: Consistent placement of undefs.
-
-2000-10-31 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * src/complex.cc (arg, polar): Comment out specializations.
-
- * include/bits/std_complex.h (complex<>): Remove arg<> friend
- declaration.
- (arg): Define primary template.
- (polar): Likewise.
- (conj): Likewise.
-
-2000-10-31 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/c/bits/std_cwctype.h: #undef possible function-like
- macro definitions of iswxxx functions, which might be brought in
- by <wctype.h>. Those macro definitions prevent build on some
- linux-based systems.
-
- * include/bits/std_complex.h (complex<>): Comment out friend
- declarations of abs<> specializations.
- (abs): Define primary template.
-
- * src/complex.cc (abs): Comment out specialization definition.
-
-2000-10-30 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Raise debugging level from
- the default of 2 to 3.
- * configure.in: Fix minor typos. SUBST the values of enable_shared
- and enable_static so that mkcheck will be aware of them. Put the
- test for gconv.h in with all the other header tests.
- * aclocal.m4: Regenerate.
- * configure: Ditto.
- * Makefile.in: Ditto.
- * libio/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
-
- * config/os/solaris/solaris2.7/bits/os_defines.h: Define
- _G_USING_THUNKS to 0.
-
-2000-10-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/complex_io.cc : Remove ancient defines.
- * config/os/gnu-linux/bits/os_defines.h: Add defines.
- * libsupc++/tinfo2.cc: Change to cstddef.
-
- * include/bits/codecvt.h: Add include of c++config.h, so that
- __USE_GNU gets defined. (Important for alpha.)
-
- * include/c/bits/std_cwctype.h: Same.
- * include/c/bits/std_ctime.h: And here.
- * include/c/bits/std_cstdarg.h: Same.
- * include/c/bits/std_csignal.h: Same.
- * include/c/bits/std_csetjmp.h: Same.
- * include/c/bits/std_clocale.h: Same.
- * include/c/bits/std_climits.h: Touch.
- * include/c/bits/std_cfloat.h: Same.
- * include/c/bits/std_cerrno.h: Same.
- * include/c/bits/std_cwchar.h: Same.
- * include/c/bits/std_cassert.h: Same.
- * include/c/bits/std_cctype.h: Same.
- * include/c/bits/std_cstddef.h: And here.
- * include/c/bits/std_cstdlib.h: And here.
- * include/c/bits/std_cstdio.h: Same.
- * include/c/bits/std_cstring.h: Add names to namespace std::.
-
- * include/bits/c++config (_GNU_SOURCE): Move linux-specific macros
- from here...
- (_ISOC99_SOURCE): And this one....
- * config/os/gnu-linux/bits/os_defines.h: ...to here.
-
- * include/bits/codecvt.h (codecvt<_InternT, _ExternT,
- __enc_traits>::do_in): Don't cast to const, this is a bug in glibc
- prior to 2.2.
- (codecvt<_InternT, _ExternT, __enc_traits>::do_out): Same.
- * include/c/bits/std_cwchar.h: Add using declarations for mbstate_t.
-
-2000-10-30 Steven King <sxking@uswest.net>
-
- * include/bits/codecvt.h: Add cast.
- * include/c_std/stdio.h: Re-add printf using declaration.
- * include/c_std/bits/std_cstdio.h: Same
- * testsuite/22_locale/codecvt_wchar_t_char.cc: Fixup testsuite.
- * testsuite/22_locale/ctor_copy_dtor.cc: Same.
- * testsuite/22_locale/facet.cc: Same.
- * testsuite/22_locale/global_templates.cc: Same.
- * testsuite/22_locale/operators.cc: Same.
- * testsuite/22_locale/static_members.cc: Same.
- * testsuite/26_numerics/c_math.cc: Same.
- * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
- * testsuite/27_io/fpos.cc: Same.
- * testsuite/27_io/istream_extractor_arith.cc: Same.
- * testsuite/27_io/istream_unformatted.cc: Same.
- * testsuite/27_io/ostream_inserter_arith.cc: Same.
- * testsuite/27_io/streambuf.cc: Same.
-
-2000-10-30 Mark Mitchell <mark@codesourcery.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Check
- for cabs, cabsf, and cabsl, too.
- * aclocal.m4: Regenerated.
- * config.h.in: Likewise.
- * configure: Likewise.
- * libmath/Makefile.am (libmath_la_SOURCES): Remove cabs.c and
- cabsf.c.
- * libmath/Makefile.in: Regenerated.
- * libmath/complex-stub.h (cabs): Don't declare if the system
- already provides this function.
- (cabsf): Likewise.
- (cabsl): Likewise.
- * src/complex.cc (abs): Directly use `hypot' since we can't call
- cabs on IRIX.
-
-2000-10-30 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * acinclude.m4: Update URL on egcs.cygnus.com to point to
- gcc.gnu.org.
- * aclocal.m4, configure: Regenerate.
- * src/gen-num-limits.cc, include/bits/c++config,
- include/bits/stl_config.h: Remove EGCS references.
-
-2000-10-29 Mark Mitchell <mark@codesourcery.com>
-
- * mkcheck.in (test_file): Use -rpath, rather than --rpath, when
- building shared executables.
-
-2000-10-29 Mark Harig <mharig@landmark.com>
-
- * src/Makefile.am: Change logic for include dir options.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Ditto.
- * libsupc++/Makefile.in: Regenerate.
-
-2000-10-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Simplify use of AC_CACHE_SAVE. Put linked files
- in $(top_builddir)/include/bits, not $(top_builddir)/bits, to help
- with libgcj build issues and improve consistency with the source
- directory's include directory setup.
- * configure: Regenerate.
- * acinclude.m4: Same here.
- * aclocal.m4: Regenerate.
- * mknumeric_limits (OUT_H): Also change paths here.
- * mkcheck.in (C_DIR): And here.
- * mkc++config (OUT_H): And here.
- * libmath/Makefile.am (INCLUDES): And here.
- * src/Makefile.am (INCLUDES): Change to $(top_builddir)/include.
- * libio/Makefile.am: Ditto.
- * libsupc++/Makefile.am (INCLUDES): Ditto.
-
-2000-10-29 Mark Mitchell <mark@codesourcery.com>
-
- * config/c_io_libio.cc (basic_file<char>::__basic_file):
- Don't pass a NULL _IO_wide_data to _IO_no_init when
- _GLIBCPP_USE_WCHAR_T is not defined.
- * config/c_io_libio.h (_IO_codecvt): Don't declare when
- _GLIBCPP_USE_WCHAR_T is not defined.
- * config/c_io_libio_codecvt.c: Don't compile it
- when _GLIBCPP_USE_WCHAR_T is not defined.
- * include/bits/codecvt.h (codecvt<_InternT, _ExternT, __enc_traits):
- Don't define this specialization when _GLIBCPP_USE_WCHAR_T
- is not defined.
- * include/bits/locale_facets.h (<bits/std_cwctype.h>): Don't
- include it when _GLIBCPP_USE_WCHAR_T is not defined.
- * src/codecvt.cc (__enc_traits::_S_max_size): Don't define
- when _GLIBCPP_USE_WCHAR_T is not defined.
- * src/localename.cc (locale::_Impl::_M_construct_collate):
- Don't call wide-character functions when _GLIBCPP_USE_WCHAR_T is
- not defined.
- (locale::_Impl::_M_construct_ctype): Likewise.
- (locale::_Impl::_M_construct_monetary): Likewise.
- (locale::_Impl::_M_construct_numeric): Likewise.
- (locale::_Impl::_M_construct_time): Likewise.
- (locale::_Impl::_M_construct_messages): Likewise.
-
- * acinclude.m4 (GLIBCPP_ENABLE_ATOMICITY): Handle IRIX.
- * aclocal.m4: Regenerated.
- * configure: Likewise.
- * config/os/irix/bits/atomicity.h: New file.
- * config/os/irix/bits/os_defines.h (_POSIX_SOURCE): Undefine.
- (__off_t): Define.
- (__off64_t): Likewise.
- (__ssize_t): Likewise.
- (_G_USING_THUNKS): Define to zero.
-
-2000-10-28 Mark Mitchell <mark@codesourcery.com>
-
- * src/string-inst.cc (basic_string<C>::npos): Explicitly
- instantiate it.
-
-2000-10-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c/bits/std_cmath.h: Fix double declarations in namespace std.
-
- Clean up naming, consistency in "C" library autoconf testing.
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): For consistency, change to
- GLIBCPP_CHECK_CTYPE_SUPPORT.
- (GLIBCPP_CHECK_STDLIB_SUPPORT): Add.
- * aclocal.m4: Regenerate.
- * configure.in: And here.
- Add call to GLIBCPP_CHECK_STDLIB_SUPPORT.
- * configure: Regenerate.
-
-2000-10-26 David Edelsohn <edelsohn@gnu.org>
-
- * acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2): New macro.
- (GLIBCPP_CHECK_MATH_SUPPORT): Use it to test for strtold.
-
-2000-10-26 Phil Edwards <pme@sources.redhat.com>
- David Edelsohn <dje@watson.ibm.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Comment out
- --gc-sections stuff entirely to avoid misleading people.
- (GLIBCPP_ENABLE_CSTDIO): Merge need_libio and need_xtra_libio.
- * libio/Makefile.am (LIBIO_SRCS,LIBIO_WSRCS,LIBIO_XTRA_SRCS):
- Rearrange and merge.
- * libio/libio.h: Simplify, make fewer assumptions. Define those
- macros which must be defined.
- * config/os/solaris/solaris2.7/bits/os_defines.h: Simplify as a
- result.
-
-2000-10-26 Mark Mitchell <mark@codesourcery.com>
-
- * include/backward/streambuf.h: New file.
-
-2000-10-26 David Edelsohn <dje@watson.ibm.com>
-
- * config/os/aix/bits/ctype_inline.h (is): Use __OBJ_DATA directly.
- * config/os/aix/bits/ctype_noninline.h (do_tolower): Fix typo.
- * config/os/aix/bits/os_defines.h: Add AIX defines.
-
-2000-10-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove.
- * aclocal.m4: Regenerate.
- * configure.in: Remove GLIBCPP_ENABLE_LONG_DOUBLE.
- * configure: Regenerate.
- * docs/configopts.html: Remove.
- * src/complexl.cc: Revert.
- * config.h.in: Remove.
- * include/c_std/bits/std_cmath.h: Remove guards based on
- _GLIBCPP_USE_LONG_DOUBLE.
- * include/c/bits/std_cmath.h: Same. Format. Match c_std behavior
- with respect to long double signatures.
-
- * config/os/aix/bits/ctype_noninline.h (ctype): Remove throw
- specification.
- * config/os/newlib/bits/ctype_noninline.h (ctype): And here.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
- * config/os/generic/bits/ctype_noninline.h (ctype): Same.
- * config/os/bsd/bits/ctype_noninline.h (ctype): Same.
-
-2000-10-26 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_valarray.h (valarray::valarray): Fix thinko.
- Use __valarray_copy_construct only where appropriate.
-
-2000-10-25 Mark Mitchell <mark@codesourcery.com>
-
- * Makefile.in (check): Don't make mkcheck executable.
- (check-install): Likewise.
- * configure.in (AC_OUTPUT): Make mkcheck executable.
- * mkcheck.in (top_srcdir): New variable.
- (INC_PATH): Set the path to the backward and ext directories
- correctly.
-
-2000-10-25 Phil Edwards <pme@sources.redhat.com>
-
- * configure.in: Check for gconv.h.
- * libio/wfileops.c: Wrap gconv.h in HAVE_GCONV_H.
-
- * config/c_io_libio_codecvt.c: Change __mbstate_t to __c_mbstate_t.
- * libio/_G_config.h: And here.
- * libio/iofwide.c: And here.
- * libio/libio.h: And here.
-
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Remove
- exception specification to match declaration.
- * include/bits/locale_facets.tcc: Include bits/std_clocale.h.
-
-2000-10-24 Mark Harig <mharig@landmark.com>
-
- * docs/configopts.html: Added documentation for the
- "--enable-version-specific-runtime-libs" and
- "--with-gxx-include-dir" configuration switches.
-
-2000-10-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_pair.h (make_pair): Add LWG solution.
-
- * testsuite/21_strings/compare.cc (test01): Inject namespace std
- into the mix.
-
- * mkcheck.in (MAX_MEM_USAGE): Bump up to 3072. Strangely enough,
- this works.
-
-2000-10-24 Levente Farkas <lfarkas@mindmaker.hu>
-
- * include/bits/std_bitset.h (_M_do_find_next): Fix typo.
-
-2000-10-24 Phil Edwards <pme@sources.redhat.com>
-
- * acconfig.h: List _GLIBCPP_USE_THREADS.
- * acinclude.m4: General formatting cleanup (tabs/spaces), typo
- correction, etc. Add comments about following *real* changes
- where they are used.
- (GLIBCPP_ENABLE_C_MBCHAR): New test...
- (GLIBCPP_CHECK_WCHAR_T_SUPPORT): ...results used here.
- (GLIBCPP_ENABLE_CSTDIO): Define need_wlibio iff wide characters
- are requested.
- (GLIBCPP_ENABLE_THREADS): If threads are used, define new
- macro _GLIBCPP_USE_THREADS in c++config.h.
- (GLIBCPP_ENABLE_SHADOW): For C_INCLUDE_DIR, change () to {} as
- this is used in both makefiles and shell scripts (mkcheck).
- * configure.in: Call GLIBCPP_ENABLE_C_MBCHAR.
-
- * libio/_G_config.h: Wrap _IO_MTSAFE_IO in _GLIBCPP_USE_THREADS.
- * config/c_io_libio.h: In nonthreaded case, typedef __c_lock to
- something harmless, like int.
-
- * config/os/aix/bits/os_defines.h: Guard with _GLIBCPP_OS_DEFINES,
- add comment/instructions.
- * config/os/bsd/bits/os_defines.h: Ditto.
- * config/os/generic/bits/os_defines.h: Ditto.
- * config/os/gnu-linux/bits/os_defines.h: Ditto.
- * config/os/irix/bits/os_defines.h: Ditto.
- * config/os/newlib/bits/os_defines.h: Ditto.
- * config/os/solaris/solaris2.5/bits/os_defines.h: Ditto.
- * config/os/solaris/solaris2.6/bits/os_defines.h: Ditto.
-
- * mkcheck.in: Limit the available heap size for testsuite
- binaries, initially at 2MB.
-
-2000-10-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/21_strings/compare.cc (test01): Add using declarations.
-
- * include/c_std/bits/std_cerrno.h: And here.
- * include/c_std/bits/std_cassert.h: Tweaks.
-
- * mkcheck.in: Simplify.
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
- (GLIBCPP_ENABLE_LONG_LONG): Same.
- * aclocal.m4: Regenerate.
-
- * src/Makefile.am (c_shadow_headers): Add features.h,
- bits/wrap_features.h.
- * src/Makefile.in: Regenerate.
- * include/c_std/features.h: New file.
- * include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
- file. Need to have c++config.h included before this file so
- _ISOC99_SOURCE around.
-
- * include/c_std/sys/cdefs.h: Hack.
- * include/c_std/stdlib.h: Same, use c++config.h.
- * include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
-
- * include/c_std/bits/std_cassert.h: Fix.
- * include/c_std/bits/std_cerrno.h: Make consistent.
-
- * include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
- declaration from ::_C_legacy to _C_legacy.
-
- * include/c_std/bits/std_cstdio.h: same with printf.
- * include/c_std/stdio.h: And here.
-
- * include/c_std/bits/std_cstdlib.h: abort, exit comment.
- * include/c_std/stdlib.h: Same here.
-
-2000-10-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/21_strings/compare.cc (test01): Add using declarations.
-
- * include/c_std/bits/std_cerrno.h: And here.
- * include/c_std/bits/std_cassert.h: Tweaks.
-
- * mkcheck.in: Simplify.
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
- (GLIBCPP_ENABLE_LONG_LONG): Same.
- * aclocal.m4: Regenerate.
-
- * src/Makefile.am (c_shadow_headers): Add features.h,
- bits/wrap_features.h.
- * src/Makefile.in: Regenerate.
- * include/c_std/features.h: New file.
- * include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
- file. Need to have c++config.h included before this file so
- _ISOC99_SOURCE around.
-
- * include/c_std/sys/cdefs.h: Hack.
- * include/c_std/stdlib.h: Same, use c++config.h.
- * include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
-
- * include/c_std/bits/std_cassert.h: Fix.
- * include/c_std/bits/std_cerrno.h: Make consistent.
-
- * include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
- declaration from ::_C_legacy to _C_legacy.
-
- * include/c_std/bits/std_cstdio.h: same with printf.
- * include/c_std/stdio.h: And here.
-
- * include/c_std/bits/std_cstdlib.h: abort, exit comment.
- * include/c_std/stdlib.h: Same here.
-
-2000-10-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): New macro.
- * aclocal.m4: Regenerate.
- * configure.in: Use it.
- * configure: Regenerate.
- * src/complexl.cc: Fixup.
- * include/c_std/bits/std_cmath.h: Fixup.
- * include/c/bits/std_cmath.h: Fixup.
- * docs/configopts.html: Add docs.
-
- * docs/links.html: Add links to defects list, standards FAQ.
-
- * testsuite/21_strings/ctor_copy_dtor.cc (test01): Disable tests
- with string creation that allocate huge ammounts of memory.
-
- * include/c/bits/std_cstddef.h: Put size_t, ptrdiff_t in
- namepace std.
-
-2000-10-21 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * libsupc++/exception.cc: Use namespace std.
- * libsupc++/new: DITTO.
- * libsupc++/new_op.cc: DITTO.
- * libsupc++/new_opnt.cc: DITTO.
- * libsupc++/new_opv.cc: DITTO.
- * libsupc++/new_opvnt.cc: DITTO.
- * libsupc++/tinfo.cc: DITTO.
- * libsupc++/tinfo.h: DITTO.
- * libsupc++/vec.cc: DITTO.
- * libsupc++/Makefile.am: Blank lines removal.
-
-2000-10-21 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * docs/configopts.html, docs/install.html, docs/17_intro/BADNAMES,
- docs/17_intro/howto.html, docs/18_support/howto.html,
- docs/19_diagnostics/howto.html, docs/20_util/howto.html,
- docs/21_strings/howto.html, docs/22_locale/howto.html,
- docs/23_containers/howto.html, docs/24_iterators/howto.html,
- docs/25_algorithms/howto.html, docs/26_numerics/howto.html,
- docs/27_io/howto.html, docs/ext/howto.html, docs/faq/index.html:
- Remove many EGCS references; use current absolute URLs on
- gcc.gnu.org or sources.redhat.com for messages in list archives.
- * docs/faq/index.txt: Regenerate.
-
-2000-10-19 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * testsuite/22_locale/codecvt_unicode_char.cc (test01): Adjust
- creation of state_type for unicode_codecvt to take into account
- the byte order markings. Add distinct tests for UCS-2BE and UCS-2LE.
- * testsuite/22_locale/codecvt_unicode_wchar_t.cc (test01): Same.
- * include/bits/codecvt.h (__enc_traits): Add support for encodings
- that need a byte order marker. Needed for correct unicode support.
-
- * src/locale.cc: Remove explicit qualification std::.
- (locale::locale(const char* __name)): Revert, as named locale
- support not finished.
- * src/localename.cc (locale::_Impl:: _Impl(size_t __numfacets,
- size_t __refs, bool __has_name = false, string __name): Move
- default argument...
- * include/bits/localefwd.h: Here.
-
-2000-10-18 Chip Salzenberg <chip@valinux.com>
-
- * libio/libio.h (_IO_USER_LOCK): Define.
-
-2000-10-18 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * libsupc++/Makefile.am (exception): Change exception.cc to
- exception_support.cc.
- (CXXLINK): Remove bogus --tag CC.
- * libsupc++/Makefile.in: Regenerate.
- * libsupc++/exception.cc: Move to...
- * libsupc++/exception_support.cc: ...here.
-
- * src/Makefile.am: Remove bogus --tag CC.
- * src/Makefile.in: Regenerate.
-
- * include/bits/locale_facets.tcc (use_facet): Simplify.
- * include/bits/locale_facets.h (use_facet<ctype<char> >): Correct
- use_facet declaration. Replace 'const ctype<T>' with ctype<T>.
- (use_facet<ctype<wchar_t> >): Same.
- * src/locale-inst.cc: Remove explicit instantiation.
- * src/locale.cc: Correct signature here too.
- (_Bad_use_facet::what()): Correct error string.
- * include/bits/localefwd.h: Correct comment.
-
- * mkcheck.in (C_DIR): Change libsupc++/include to libsupc++.
-
-2000-10-17 Martin Buchholz <martin@xemacs.org>
-
- * testsuite/27_io/istream_seeks.cc: Fix spelling typo.
- * testsuite/27_io/ostream_seeks.cc: Similarly.
-
-2000-10-17 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- via Alexandre Oliva <aoliva@redhat.com>
- * libsupc++/Makefile.am: Add --tag CXX, --tag CC, comments.
- * libsupc++/Makefile.in: Regenerate.
- * src/Makefile.am: Duplicate code.
- * src/Makefile.in: Regenerate.
-
- * acinclude.m4 (GLIBCPP_ENABLE_RELIBGCC): Take this out.
- * aclocal.m4: Regenerate.
- * configure.in: And here.
- * configure: Regenerate.
-
- * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Disable
- test for SECTION_LDFLAGS.
-
-2000-10-16 Benjamin Kosnik <bkoz@gnu.org>
-
- Shadow headers would work if libsupc++ was strict about namespaces.
- This only possible if g++ maps std::size_t -> size_t. (Hint hint.)
- * include/c_std/assert.h: Add guards.
- * include/c_std/bits/std_climits.h: Correct typo.
- * include/c_std/ctype.h: Remove #error.
-
- * libio/libioP.h: Break up extern "C" bits around includes.
- * libio/libio.h: Only include C headers, or else _C_legacy namespaces
- will be nested.
- * libio/libioP.h: Same here.
-
-2000-10-15 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * include/c_std/unistd.h: Define some types only when defined in
- the original unistd.h.
- * include/c_std/bits/std_cstddef.h: Explicitly ask for the
- definition of size_t, ptrdiff_t and NULL.
- * include/c_std/bits/wrap_unistd.h: Blank lines removal.
-
-2000-10-15 Phil Edwards <pme@sources.redhat.com>
-
- * docs/configopts.html: Remove libgcc-rebuild; HTML formatting.
-
-2000-10-13 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
- Mark Harig <markh@landmark.com>
-
- * src/Makefile.am (toolexeclibdir): Add support fo
- VERSION_SPECIFIC_LIBS and --with-gxx-include-dir.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Same.
- (glibcppinstalldir): Adjust.
- * libsupc++/Makefile.in: Regenerate.
- * Makefile.am: Remove gxx_include_dir. Remove INCLUDE.
- * Makefile.in: Regenerate.
- * docs/configopts.html: Add descriptions of flags.
-
-2000-10-11 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * libsupc++/Makefile.am: Use it.
- * libio/Makefile.am: Use it.
- * libmath/Makefile.am: Use it.
- * src/Makefile.am: Use it.
- * Makefile.am (AM_MAKEFLAGS): Remove includes.
-
- * acinclude.m4 (GLIBCPP_EXPORT_INCLUES): Move include macros here.
- (GLIBCPP_EXPORT_FLAGS): Move CXX flag setting here.
- * configure.in: Use it.
-
- * mkcheck.in (SRC_DIR): Use C_INCLUDE_DIR.
-
- * src/Makefile.am (CXXCOMPILE): Remove.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am (CXXCOMPILE): Same here.
- * libsupc++/Makefile.in: Regenerate.
-
- * include/c_std/*: Merge with shadow.
- * include/c_std/bits/*: Same.
-
- * shadow: Remove directory.
- * shadow/*: De-populate.
-
-2000-10-11 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Comment out
- exception-throwing code for linker test.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-10-10 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * Makefile.am (LIBSUPCXX_INCLUDES): Adjust.
- * libsupc++/include: Remove
- * libsupc++/include/*: Move to ...
- * libsupc++: Here.
- * libsupc++/Makefile.am (glibcppinstall_HEADERS): Install headers.
- (glibcppinstalldir): New.
-
- * src/Makefile.am (c_base_headers): New.
- (c_shadow_headers): New
- (c_headers): New.
- (myinstallheaders): Correct install issues.
- * src/Makefile.in: Regenerate.
-
- * Makefile.am (CSHADOW_INCLUDES): Simplify.
- * Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add c_include_dir.
- * aclocal.m4: Regenerate.
- * mkcheck.in (SRC_DIR): Use it.
-
- * include/bits/std_stdexcept.h: And here.
- * include/bits/std_ios.h: Change std_exception.h to exception.
- * src/locale.cc: And here.
- * src/locale-inst.cc: And here.
-
- * include/bits/valarray_array.h: And here.
- * include/bits/stl_alloc.h: And here.
- * include/bits/stl_algobase.h: And here.
- * include/bits/pthread_allocimpl.h: And here.
- * include/bits/stl_construct.h: Change to std_new.h to new.
-
- * include/bits/locale_facets.h: Change std_typeinfo.h to typeinfo.
-
- * src/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
- (headers): Remove duplicated headers.
- (std_headers): And here.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am (LIBSUPCXX_INCLUDES): Remove.
- * libsupc++/Makefile.in: Regenerate.
- * Makefile.am (LIBSUPCXX_INCLUDES): Add here.
- (AM_MAKEFLAGS): And here.
- * Makefile.in: Regenerate.
- * include/bits/std_typeinfo.h: Remove.
- * include/bits/std_new.h: Remove
- * include/bits/std_exception.h: Remove.
- * std/new: Remove.
- * std/typeinfo: Remove.
- * std/exception: Remove.
-
- * libio/_G_config.h (__need_ptrdiff_t): Add.
-
- * libsupc++/include/new: Change stddef.h to cstddef.
- * libsupc++/tinfo.h: Change limits.h to climits.
- * libsupc++/pure.cc: Comment out _GNU_LIBRARY_ bits, as this
- renders the file uncompilable. Add copyright.
-
- * include/c_std/bits/std_cstddef.h: Don't bring wchar_t into std
- namespace, as it is a fundamental type.
-
-2000-10-09 Richard Henderson <rth@cygnus.com>
-
- * libsupc++/pure.cc: New file.
- * libsupc++/Makefile.am (INCLUDES): Add top_builddir.
- (sources): Add pure.cc.
- * libsupc++/Makefile.in: Regenerate.
-
-2000-10-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * docs/configopts.html: Edit.
-
- * libio/Makefile.am (INCLUDES): Remove duplicates, simplify.
- * libio/Makefile.in: Regenerate.
- * libmath/Makefile.am (INCLUDES): Remove duplicates, simplify.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.am (INCLUDES): Remove duplicate.
- * libsupc++/Makefile.in: Regenerate.
-
- * Makefile.am (AM_MAKEFLAGS): Add GLIBCPP_INCLUDES,
- TOPLEVEL_INCLUDES, LIBMATH_INCLUDES, LIBIO_INCLUDES,
- CSHADOW_INCLUDES up here.
- * Makefile.in: Regenerate.
- * src/Makefile.am (CSHADOW_INCLUDES): Add include/c_std, include/c
- for shadow headers.
- (myinstallheaders): Change glibcpp_includedir to GLIBCPP_INCLUDES.
- Move GLIBCPP_INCLUDES, TOPLEVEL_INCLUDES, LIBMATH_INCLUDES,
- LIBIO_INCLUDES, CSHADOW_INCLUDES up Makefile hierarchy.
- * src/Makefile.in: Regenerate.
-
- * include/c: New directory.
- * include/c/bits/(std_cassert.h, std_cctype.h, std_cerrno.h,
- std_cfloat.h, std_climits.h, std_clocale.h, std_cmath.h,
- std_csetjmp.h, std_csignal.h, std_cstdarg.h, std_cstddef.h,
- std_cstdio.h, std_cstdlib.h, std_cstring.h, std_ctime.h,
- std_cwchar.h, std_cwctype.h): Add, moving from...
- * include/bits: ...here.
- * include/c_std: New directory.
- * include/c_std/bits/*: Populate from...
- * shadow: ...here. Remove directory.
-
-2000-10-08 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * libsupc++/Makefile.am (INCLUDES): Add toplevel include directory.
- (INCLUDES): Add glibcpp_includedir.
- * libsupc++/Makefile.in: Regenerate.
-
- * acinclude.m4 (GLIBCPP_CHECK_OS): Link to os_defines.h.
- * aclocal.m4: Regenerate.
- * config/os/*/bits/os_defines: Adjust copyright dates.
-
-2000-10-08 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/c++config: Include <bits/os_defines.h>
- * config/os/aix/bits/os_defines.h: New file.
- * config/os/bsd/bits/os_defines.h: Ditto.
- * config/os/generic/bits/os_defines.h: Ditto.
- * config/os/gnu-linux/bits/os_defines.h: Ditto.
- * config/os/irix/bits/os_defines.h: Ditto.
- * config/os/newlib/bits/os_defines.h: Ditto.
- * config/os/solaris/solaris2.5/bits/os_defines.h: Ditto.
- * config/os/solaris/solaris2.6/bits/os_defines.h: Ditto.
- * config/os/solaris/solaris2.7/bits/os_defines.h: Ditto.
-
-2000-10-07 David Edelsohn <dje@watson.ibm.com>
-
- * config/os/aix/bits/atomicity.h: New file.
-
-2000-10-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4: Remove CPU_FLAGS
- * libio/Makefile.am: Here too.
- * Makefile.am: Here too.
-
- * src/Makefile.am (CONFIG_INCLUDES): Remove.
- (INCLUDES): Remove CONFIG_INCLUDES.
- (cpu_headers): Remove.
- (myinstallheaders): Remove cpu_headers.
- (generated_headers): Rename to build_headers.
- (build_headers): Add atomicity.h, ctype_base.h,
- ctype_specializations.h.
-
- * config/os: New directory.
- * config/aix: Move to...
- * config/bsd: Move to...
- * config/generic: Move to...
- * config/gnu-linux: Move to...
- * config/irix: Move to...
- * config/newlib: Move to...
- * config/solaris: Move to...
- * config/os/*: Here.
-
-2000-10-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4: Remove CPU_FLAGS
- * libio/Makefile.am: Here too.
- * Makefile.am: Here too.
-
- * src/Makefile.am (CONFIG_INCLUDES): Remove.
- (INCLUDES): Remove CONFIG_INCLUDES.
- (cpu_headers): Remove.
- (myinstallheaders): Remove cpu_headers.
- (generated_headers): Rename to build_headers.
- (build_headers): Add atomicity.h, ctype_base.h,
- ctype_specializations.h.
-
- * config/os: New directory.
- * config/aix: Move to...
- * config/bsd: Move to...
- * config/generic: Move to...
- * config/gnu-linux: Move to...
- * config/irix: Move to...
- * config/newlib: Move to...
- * config/solaris: Move to...
- * config/os/*: Here.
-
-2000-10-06 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/Makefile.am: Remove OPTIMIZE_CXXFLAGS, WARN_CXXFLAGS,
- CONFIG_CXXFLAGS from here, and move to...
- * src/Makefile.in: Regenerate.
- * Makefile.am: ... here. Clean.
- (OPTIMIZE_CXXFLAGS): Move up Makefile hierarchy to here.
- (WARN_CXXFLAGS): Same.
- (CONFIG_CXXFLAGS): Same.
- * Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Use top-level OPTIMIZE_CXXFLAGS,
- WARN_CXXFLAGS, CONFIG_CXXFLAGS as part of local AM_CXXFLAGS.
- * libsupc++/Makefile.in: Regenerate.
-
- Change math to libmath.
- * math: Move to libmath, delete.
- * libmath: New directory.
- * libmath/*: Populate.
- * src/Makefile.am (LIBMATH_INCLUDES): Change to libmath.
- (libstdc___la_LIBADD): Same.
- * src/Makefile.in: Regenerate.
- * configure.in: Add AC_OUTPUT for libmath/Makefile.
- * configure: Regenerate.
- * Makefile.am (SUBDIRS): Add libmath.
- * Makefile.in: Regenerate.
- * README (file): Change name.
-
-2000-10-06 Benjamin Kosnik <bkoz@cygnus.com>
- Richard Henderson <rth@cygnus.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- * libsupc++: New directory.
- * libsupc++/*: Populate.
- * libsupc++/Makefile.am (INCLUDES): Add -I../../gcc for
- eh-common.h, gansidecl.h.
- * configure.in: Add in libsupc++/Makefile to AC_OUTPUT.
- * configure: Regenerate.
- * Makefile.am (SUBDIRS): Add libsupc++.
- * Makefile.in: Regenerate.
- * src/Makefile.am (libstdc___la_LIBADD): Add in libsupc++.la
- * src/Makefile.in: Regenerate.
- * libio/Makefile.am: Remove extraneous, confusing bits.
- * libio/Makefile.in: Regenerate.
-
-2000-10-05 Brent Verner <brent@rcfile.org>
-
- * bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed
- test for _M_gcount < in_avail(), as in_avail() only reports info
- for current buffer, causing method to return at end of buffer.
- * testsuite/27_io/istream_unformatted.cc [test07()]: New test.
- * testsuite/27_io/istream_unformatted-3.txt: New file.
- * testsuite/27_io/istream_unformatted-3.tst: New file.
-
-2000-10-05 Benjamin Kosnik <bkoz@fillmore.constant.com>
-
- * README (file): Adjust directory structures.
- * mkcheck.in (INC_PATH): Adjust for header changes.
-
-2000-10-05 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Tweaks to message texts
- for public relations purposes.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
- * docs/ext/howto.html: Additional explanation about hashing.
-
-2000-10-05 Benjamin Kosnik <bkoz@cygnus.com>
-
- * include: New directory.
- * include/backward: New directory.
- * include/bits: New directory.
- * include/ext: New directory.
- * include/std: New directory.
- * include/*/*: Populate.
-
- * backwards: Move to include/backwards, delete.
- * bits: Move to include/bits, delete.
- * ext: Move to include/ext, delete.
- * std: Move to include/std, delete.
-
- * src/complex.cc: Adjust include of mathconf.
-
- * mkc++config (BASE_H): Add include.
-
- * src/Makefile.am: Support for topleve sources include directory.
- (INCLUDES): Add LIBMATH_INCLUDE.
- * src/Makefile.in: Regenerate.
- * math/Makefile.am (INCLUDES): Append /include.
- * math/Makefile.in: Regenerate.
- * libio/Makefile.am (INCLUDES): Add glibcpp_includedir.
- * libio/Makefile.in: Regenerate.
-
-2000-10-04 Benjamin Kosnik <bkoz@gnu.org>
-
- * libio/_G_config.h : Re-guard the __mbstate_t declaration.
-
-2000-10-03 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * docs/22_locale/howto.html: Add link to proto-documentation on
- locales.
- * docs/documentation.html: Rename links for clarity.
-
- * src/Makefile.am (headers): Remove unistd.h, wrap_unistd.h. Add
- fcntl.h, iolibio.h, libioP.h, pthread.h, iconv.h.
- * src/Makefile.in: Regenerate.
-
-2000-10-02 Steven King <sxking@uswest.net>
-
- * mkcshadow: Fixed script to output proper include guard.
- * bits/char_traits.h: Cleaned up types in char_traits<char> functions.
- * libio/_G_config.h: Hacked to make work with shadow heraders.
- * shadow/*: Hacked to make shadow headers work.
-
-2000-10-02 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- Self-compile with shadow headers.
- * acconfig.h (_GLIBCPP_USE_SHADOW_HEADERS): Define. Eventually,
- like _GLIBCPP_USE_NAMESPACES before it, this macro will die when
- it becomes the default way the library is built.
- * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): New macro.
- * config/gnu-linux/bits/ctype_base.h (ctype_base): Use it.
- * config/gnu-linux/ctype.cc (ctype): Use it.
-
- * src/localename.cc (locale::_Impl::_M_replace_categories): Remove
- call to assert.
- * src/locale.cc: Explicitly cast mbstate_t to void* in calls to
- memset. This should not be necessary, but an ambiguous overload
- with it in.
-
- * shadow/bits/std_cwchar.h: Fix.
- * shadow/wchar.h: Fix.
-
- * config/gnu-linux/bits/ctype_base.h (ctype_base): Inject ctype
- enums into namespace std:: for ctype_base enum. Other OS types
- will have to do this as well.
- * config/gnu-linux/ctype.cc (ctype): Inject ctype data into
- namespace std, in particular __ctype_toupper, __ctype_tolower,
- __ctype_b.
-
- * shadow/iolibio.h: New file.
- * shadow/bits/wrap_iolibio.h: New file.
- * shadow/libioP.h: New file.
- * shadow/bits/wrap_libioP.h: New file.
- * shadow/bits/wrap_fcntl.h: New file.
- * shadow/fcntl.h: New file.
- * shadow/iconv.h: New file. Inject iconv names into the global
- namespace, unmangled for the moment.
- * shadow/bits/wrap_iconv.h: New file.
- * shadow/unistd.h: Remove. Useless.
- * shadow/bits/wrap_unistd.h: Remove.
-
- * src/Makefile.am: Take out machine-ansi.h, add fcntl.h unistd.h.
- * src/Makefile.in: Regenerate.
-
- * config/c_io_libio.h (_IO_codecvt): Change to normal C++ decl.
-
- * shadow/libio.h: Fix.
- * shadow/bits/wrap_libio.h: Fix.
-
- * shadow/bits/std_clocale.h: Remove typedef struct construct,
- which will not compile.
- * shadow/bits/std_ctime.h: Same.
-
- * shadow/pthread.h: New file. Put pthreads types and functions
- into global scope, which is probably not the correct long-term
- solution but has to be done at the moment before libio wrappers
- can even be started.
- * shadow/bits/wrap_pthread.h: New file.
-
- * bits/std_ios.h: Formatting tweak.
- * shadow/bits/std_cstdio.h: Format. Remove extraneous bits.
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPILER_FEATURES): Add -Werror to
- tests for compiler features.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * config/c_io_libio.cc: Remove fcntl.h include, as SEEK_SET
- redefined.
- * libio/libioP.h: Comment out fcntl.h include.
-
- * shadow/math.h: Add in float and long declarations, as per ISO C9X.
-
- * bits/c++config: Define _ISOC99_SOURCE.
-
- * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add -fno-builtins to
- CSHADOWFLAGS, as well as _ISOC99_SOURCE.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.am (CSHADOW_INCLUDES): Enable, again.
- (CSHADOW_INCLUDES): Add -I$(top_srcdir)/std before shadow include dir.
- (CXXCOMPILE): Remove $(DEFS), which searches $(top_srcdir) before
- std or shadow directories.
- (LTCXXCOMPILE): Same.
- (INCLUDES): Add $(top_builddir) before $(top_srcdir).
- (AC_CXXFLAGS): Add CSHADOWFLAGS.
- * src/Makefile.in: Regenerate.
-
- * src/complex.cc (FCT): Change ::name to name.
- * src/complexl.cc (FCT): Same. Use _GLIBCPP_USE_LONG_LONG here.
- * src/complexf.cc (FCT): Same.
-
- * src/complexf.cc: Remove FCT define, as things are properly
- overloaded in the std namespace with the shadow headers.
- * src/complexl.cc: Same.
- * src/complex.cc: Same.
-
-2000-09-25 Phil Edwards <pme@sources.redhat.com>
-
- * docs/documentation.html: Add link to...
- * docs/ext/howto.html: ...this. New dir/file, describing library
- extensions (both ours and SGI's).
- * docs/faq/index.html: Small updates.
- * docs/faq/index.txt: Regenerate.
-
-2000-09-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * bits/basic_file.h (_M_open_mode): Remove extra qualifier.
-
-2000-09-25 Levente Farkas <lfarkas@mindmaker.hu>
-
- * ext/stl_hashtable.h (_M_copy_from): Change __copy to __local_copy.
-
-2000-09-19 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/localename.cc (locale::_Imp) : Remove typedefs.
- * bits/localefwd.h (locale::locale(const locale& __other, _Facet*
- __f): Consistency check, call _Imp ctor with reference argument
- of 1.
- * bits/localefwd.h: Change _S_num_categories to
- _S_categories_num. Add new data member, _S_facets_num, which is
- the number of standard facets.
-
-2000-09-19 Phil Edwards <pme@sources.redhat.com>
-
- * docs/21_strings/howto.html: Fix editor lossage from last commit.
-
-2000-09-19 Phil Edwards <pme@sources.redhat.com>
-
- * docs/thanks.html: More thanks.
- * docs/18_support/howto.html: Fix thinko.
- * docs/21_strings/howto.html: Minor tweaks and updates to URLs.
- Redo the string transformation notes and link to...
- * docs/22_locale/howto.html: ...here.
-
-2000-09-18 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/locale-inst.cc: Add time_put_byname and
- time_get_byname instantiations.
- * bits/locale_facets.h: Correct default, private derivation to
- public derivation in _byname declarations.
- * src/locale.cc (locale::classic()): Simplify.
- * src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
- const string& __name, category __cat, size_t __refs): Re-work for
- named locales.
- (_M_normalize_category_names): Remove.
-
- * testsuite/22_locale/global_templates.cc (test01): Tweaks.
- * testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
-
-2000-09-18 Yuri V. Baskakov <yuribsk@lab.sun.mcst.ru>
-
- * bits/std_bitset.h (operator>>): Change to char_type.
-
-2000-09-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/locale.cc (locale::locale(const char* __name)): Consolidate
- name setting. Add checks for NULL __name pointers. Remove calls to
- _S_initialize() as initial locale initialization can either be
- assumed, or needs to be made consistent throughout locale
- constructors.
- (locale::locale(const locale& __other, const char* __name,
- category __cat): Add checks for NULL name. Add checks for
- assignment to self.
- * src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
- const string& __name, category __cat, size_t __refs)): Set correct
- name, has_name values.
- * testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
- * docs/22_locale/locale.html: New file, more unfinished docs...
-
-2000-09-14 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/locale.cc (locale::name()): Implement.
- (_Impl(size_t __numfacets, size_t __refs, bool __namep = false,
- string __name = "*")): Change signature.
- (locale::classic): Initialize the "C" locale as a named locale.
- * bits/localefwd.h (locale): Change _M_num_references to
- _M_references. Eliminate _M_cached_name_ok. Rename _M_cached_name
- to _M_name.
- * bits/localefwd.h: Tweaks.
- * src/localename.cc: Tweaks.
- * testsuite/22_locale/ctor_copy_dtor.cc (test01): Add tests.
- (test01): Fix.
-
- * bits/basic_string.h: Consistency check, change _M_state ->
- _M_references.
-
-2000-09-14 Brendan Kehoe <brendan@zen.org>
-
- * bits/string.tcc (_Rep::_S_max_size): Use typename for its size_type
- return type.
-
- * src/Makefile.an (headers): Also install backward/fstream.h.
- * src/Makefile.in: Regenerate.
-
- * bits/char_traits.h (char_traits<_CharT>::get_state,
- char_traits<char>::get_state, char_traits<wchar_t>::get_state): Pass
- argument in by reference, not by value. Uglify to _S_get_state.
- (char_traits<*>::__eos): Uglify to _S_eos.
- * bits/std_ostream.h (ends(basic_ostream<_CharT, _Traits>& __os)):
- Change __eos to _S_eos.
-
-2000-09-13 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * testsuite/22_locale/static_members.cc: New file.
- * testsuite/22_locale/ctor_copy_dtor.cc: New file.
- * src/locale.cc: Minor formatting tweaks.
-
-2000-09-12 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * testsuite/22_locale/global_templates.cc (test01): Add negative
- tests for use_facet.
-
- * bits/localefwd.h (locale::operator()): Minor tweaks.
- * bits/locale_facets.tcc (locale::operator()): Same.
- * testsuite/22_locale/operators.cc: New file.
-
- * testsuite/22_locale/facet.cc (output_iterator): Remove
- gnu_input_iterator, gnu_output_iterator.
-
-2000-09-11 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Remove test != "0".
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * bits/c++config (__GLIBCPP__): Update, in the hopes of making a
- snapshot release soon.
- (_GNU_SOURCE): Define this in the header files, as ISO C99 support
- is pretty much assumed.
-
- * testsuite/22_locale/global_templates.cc: New file. Add tests for
- use_facet and has_facet.
-
- * bits/codecvt.h (codecvt<_InT, _ExT, __enc_traits>::do_out):
- Modify/correct iconv signatures for glibc2.2.
-
-2000-09-10 Branko Cibej <branko.cibej@hermes.si>
-
- * acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Replace "grep -q" with
- "grep -c".
-
-2000-09-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/localefwd.h (locale::_Impl): Scope out types to public.
- (locale): Make _Impl declaration public.
-
-2000-09-08 Felix Natter <fnatter@gmx.net>
-
- * docs/17_intro/porting-howto.html: New version.
-
-2000-09-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * config/cpu/i386/bits/atomicity.h (__exchange_and_add): Change unused
- to __unused__.
- * config/cpu/ia64/bits/atomicity.h (__exchange_and_add): And here.
- * config/cpu/i486/bits/atomicity.h (__exchange_and_add): And here.
-
-2000-09-07 Phil Edwards <pme@sources.redhat.com>
-
- Add bits for --enable-maintainer-mode:
- - turns on enable_debug
- (doing "--enable-maint --disable-debug" will DTRT)
- - turns on -Werror, now off by default
- * acinclude.m4: Add bits.
- * aclocal.m4: Regenerate.
- * configure.in: Add defaults for GLIBCPP_ENABLE_DEBUG.
- * configure: Regenerate.
-
-2000-09-07 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_cwctype.h: Remove yesterday's hacks.
-
-2000-09-07 Brad Garcia <bgarcia@laurelnetworks.com>
-
- * bits/stl_tree.h: Make operators !=, == type safe for map, set.
- * testsuite/23_containers/set_operators.cc: New file. Should not
- compile.
- * testsuite/23_containers/map_operators.cc: New file. Ditto.
-
-2000-09-06 Richard Henderson <rth@cygnus.com>
- Benjamin Kosnik <bkoz@cygnus.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_CPU): Add ia64 support.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config/cpu/ia64: New directory.
- * config/cpu/ia64/bits: New directory.
- * config/cpu/ia64/bits/atomicity.h: New file.
-
-2000-09-06 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Force glibc_satisfactory
- to no, so that libstdc++-v3's libio will be built on glibc-2.2
- systems.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * */Makefile.in: Regenerate.
-
- * bits/std_cwctype.h: Put in temporary hack to work around -O2 +
- glibc 2.1.x unsigned errors. Or disable -Werror by default...
-
- * testsuite/23_containers/vector_element_access.cc: New file.
- * bits/stl_config.h (__STL_THROW_RANGE_ERRORS): Define.
-
-2000-09-06 Levente Farkas <lfarkas@mindmaker.hu>
-
- * bits/string.tcc: Fix up more parameter names.
-
-2000-09-06 Alexandre Oliva <aoliva@redhat.com>
-
- * configure: Rebuilt with new libtool.m4.
-
-2000-09-01 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/locale-inst.cc: Remove pre-instantiation of unicode
- codecvt types. Now unnecessary, as locale header now correct.
-
-2000-08-31 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/locale_facets.tcc (_S_build_float_format): Move ...
- * src/locale.cc: Here.
- * bits/locale_facets.tcc (num_get::_M_extract): Clean up generic
- definition. Move specialization to ...
- * src/locale.cc: Here.
- * bits/locale_facets.tcc: Move _Format_cache specializations to ...
- * src/locale.cc: Here.
- * bits/locale_facets.tcc: Move use_facet<ctype> specializations to ...
- * src/locale.cc: Here.
-
- * bits/std_locale.h: Note that locale_facets.tcc should be
- included here, for standards conformance. It may increase
- compile times though. For the time being, enable.
- * testsuite/22_locale/facet.cc: New file, some parts commented out
- for the time being.
-
- * mkcheck.in: Append total time to test summary file.
-
- * bits/sbuf_iter.h : Formatting tweaks.
-
- Clean up static const data member definitions.
- * src/locale.cc: Add definitions for all missing locale,
- locale::_Imp, and locale::id static data members.
- (ctype<char>): Add table_size define.
- (money_base): Add _S_default_pattern, uglify.
- * bits/localefwd.h: Add definitions for static members of _Count_ones.
- * bits/locale_facets.h: Tweaks.
- * bits/locale_facets.tcc: Tweaks.
- * bits/string.tcc: Add definition for npos.
- * bits/ios_base.h: Tweaks.
- * bits/ios_base.h (ios_base::Init::_M_ios_base_init): Change to
- _S_ios_base_init.
- * src/ios.cc: And here. Add _S_local_words definition.
- Add definitions for __ios_flags const static data.
- * src/codecvt.cc: Same for __enc_traits.
- * src/locale-inst.cc: Remove money_base data member definition
- here.
-
-2000-08-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/ctype_wchar_t_members.cc (test01): New file.
-
- * docs/22_locale/codecvt.html: Re-number.
- * docs/22_locale/howto.html: Add entry for ctype
- documentation. Add entry for Nathan's introduction to locales
- paper.
- * docs/22_locale/ctype.html: New file. In progress...
-
- * docs/22_locale/codecvt.html: Formatting cleanups.
- * src/locale.cc (ctype<wchar_t>::do_is): Fix thinko.
-
-2000-08-30 Phil Edwards <pme@sources.redhat.com>
-
- * docs/22_locale/codecvt.html: Behind-the-scenes ASCII->HTML
- tweaks for certain browsers.
-
-2000-08-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * bits/locale_facets.h (ctype<char>): Remove __table_type.
- Add include for bits/std_cwctype.h, for wctype_t.
- * src/locale.cc (ctype<wchar_t>): Implement.
- * config/gnu-linux/bits/ctype_base.h (ctype_base): Remove mask
- typedef, instead name enum.
- * config/gnu-linux/bits/ctype_specializations.h: Tweak.
- * config/gnu-linux/ctype.cc: Tweak.
- * testsuite/22_locale/ctype.cc: Tweak.
-
- * bits/codecvt.h (__enc_traits): Uglify names.
-
-2000-08-28 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * docs/22_locale/codecvt.html: Add more bits, format.
- * bits/codecvt.h: Add copy ctor, rename types.
- * testsuite/22_locale/codecvt_unicode_char.cc: Tweak.
-
- * libio/iofwide.c: Tweak.
-
-2000-08-28 Phil Edwards <pme@sources.redhat.com>
-
- * docs/configopts.html: Mention new options.
- * docs/install.html: Formatting changes for platform-specific
- pre-reqs, previously only Cygwin.
- * docs/mail.html: Fix new link.
- * docs/thanks.html: A couple more people.
- * docs/26_numerics/howto.html: Fix typo.
-
-2000-08-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * docs/22_locale/howto.html: Add notes on codecvt implementation.
- * docs/22_locale/codecvt.html: New file. In progress.
-
-2000-08-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acconfig.h: Revert.
- * acinclude.m4: Revert.
- * libio/_G_config.h: Revert.
- * libio/libio.h: Revert.
-
-2000-08-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/codecvt.h: Tweaks.
- * testsuite/22_locale/codecvt_unicode_wchar_t.cc (test01): Fix up
- initial string literals for UCS4.
-
-2000-08-23 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acconfig.h: _GLIBCPP_USING_THREADS and some workaround types added.
- * acinclude.m4: New macro, GLIBCPP_ENABLE_WCHAR. Set the threads
- definition as well, and some minor spelling/spacing fixes. If
- building libio, check for certain typedefs.
- * libio/_G_config.h: Wrap _IO_MTSAFE_IO in _GLIBCPP_USING_THREADS.
- Conditionally define _LARGEFILE64_SOURCE, otherwise the 64-bit types
- will never be there.
- * libio/libio.h: In the null case, _IO_lock_t can't just be void.
- * src/string-inst.cc: Use _GLIBCPP_USE_WCHAR_T.
-
- * configure.in: Update the cache a bit more often.
-
- * mkcheck.in: For check-install, also need to -I the testsuite dir.
-
-2000-08-22 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/locale-inst.cc: Add codecvt<unicode_t, wchar_t,
- __enc_traits> instantiations for has_facet and use_facet.
- * testsuite/22_locale/codecvt_unicode_wchar_t.cc: New file, for
- testing two-byte unicode encodings converted to four-byte UCS4
- encodings.
-
- * bits/codecvt.h (codecvt<__enc_traits>): Fix do_unshift.
- * testsuite/22_locale/codecvt_unicode_char.cc (test01): Add
- correct state/encoding information.
-
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Add wcsrtombs,
- mbsrtowcs checks as codecvt<wchar_t, char, mbstate_t> needs them
- now.
- Add checks for langinfo.h, nl_langinfo function call.
- * libio/iofwide.c (_IO_fwide): Simplify, as nl_langinfo is assumed.
-
-2000-08-22 Richard B. Kreckel <Richard.Kreckel@Uni-Mainz.DE>
-
- * config/cpu/alpha/bits/atomicity.h: Change __attribute__
- ((unused)) to __attribute__ ((__unused__)).
- * config/cpu/arm/bits/atomicity.h: Same.
- * config/cpu/generic/bits/atomicity.h: Same.
- * config/cpu/i386/bits/atomicity.h: Same.
- * config/cpu/i486/bits/atomicity.h: Same.
- * config/cpu/powerpc/bits/atomicity.h: Same.
- * config/cpu/sparc/sparc32/bits/atomicity.h: Same.
- * config/cpu/sparc/sparc64/bits/atomicity.h: Same.
-
-2000-08-22 Levente Farkas <lfarkas@mindmaker.hu>
-
- * bits/basic_string.h: Fix up parameter names.
-
-2000-08-22 Brent Verner <brent@rcfile.org>
-
- * src/Makefile.am (INCLUDES): Put $(CSHADOW_INCLUDES) before
- $(top_srcdir)
- * src/Makefile.in: Regenerate.
-
-2000-08-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/codecvt.h: Implement codecvt<wchar_t, char, mbstate_t>. Fix
- up __enc_traits template so as to be marginally useful.
- * src/codecvt.cc: And here.
- * bits/char_traits: Tweak.
- * bits/locale_facets.h: Tweak.
- * bits/locale_facets.tcc: Tweak.
- * bits/localefwd.h: Tweak.
- * src/locale-inst.cc: Add use_facet/has_facet instantiations here.
- * testsuite/22_locale/codecvt_wchar_t_cc.cc: New file.
- * testsuite/22_locale/codecvt_char_char.cc: New file.
- * testsuite/22_locale/codecvt_unicode_char.cc: New file.
-
-2000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * bits/std_cmath.h (std::abs): Overload for int and long.
-
-2000-08-20 Benjamin Kosnik <bkoz@gnu.org>
-
- * src/string-inst.cc: Tweak instantiations for new-gxx-abi.
-
-2000-08-19 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * bits/valarray_array.h (__valarray_min, __valarray_max): Fix
- thinko. Diagnostic messages really need to be improved for
- template argument deduction.
-
-2000-08-18 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/valarray_meta.h: Fix typos...
-
-2000-08-18 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * bits/valarray_meta.h (_Expr<>::shift, _Expr::cshift,
- _Expr<>::apply): Implement.
-
-2000-08-18 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * bits/valarray_meta.h (_Expr<>::min, _Expr<>::max): Implement.
-
- * bits/valarray_array.h (__valarray_min, __valarray_max): New
- function.
-
-2000-08-17 Mark Mitchell <mark@codesourcery.com>
-
- * bits/localefwd.h (std::locale): Use explicit `class' specified
- when declaring friends.
- * bits/std_fstream.h (std::basic_filebuf): Likewise.
-
-2000-08-16 Alexandre Oliva <aoliva@redhat.com>
-
- * src/Makefile.am (libstdc++.INC): Renamed from INCLUDES.
- * src/Makefile.in: Regenerate.
-
-2000-08-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/codecvt.h: New file.
- * src/codecvt.cc: New file.
- * bits/std_locale.h: Add include here.
- * src/Makefile.am (headers): Add codecvt.h
- (sources): Add codecvt.cc.
- * src/Makefile.in: Regenerate.
- * bits/locale_facets.h (codecvt): Re-implement. Rename _Codecvt to
- __codecvt_abstract_base in an attempt to point some light this way...
- Move __enc_traits and codecvt bits to codecvt.h.
- * src/locale-inst.cc: Remove codecvt<wchar_t, wchar_t, mbstate_t>
- explicit instantiation. Separate out codecvt instantiations, simplify.
- * src/locale.cc: Move codecvt bits to codecvt.cc
-
-2000-08-15 Alexandre Oliva <aoliva@redhat.com>
-
- * src/Makefile.am (INCLUDES): New target file, with all -I flags.
- * src/Makefile.in: Regenerate.
-
-2000-08-14 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- C/C++ io merge/sync.
- * libio/fileops.c
- * libio/genops.c
- * libio/iofclose.c
- * libio/iofopen.c
- * libio/iofwide.c
- * libio/libio.h
- * libio/libioP.h
- * libio/stdio.c
- * libio/wfileops.c
- * libio/wgenops.c
- * config/c_io_libio.cc (__basic_file): Add hacky casts to
- ((struct _IO_FILE_plus *) in ctors.
- (__basic_file<wchar_t>): Adjust _wide_data->_codecvt to just _codecvt.
- * libio/Makefile.am: Fix copyright. Remove cleanup.c.
- * libio/cleanup.c: Remove.
- * libio/filedoalloc.c (_IO_file_doallocate): Don't call
- _IO_cleanup_registration_needed, even if not libc.
-
- * testsuite/27_io/stringstream.cc (test02): Fix.
-
-2000-08-14 Brent Verner <brent@rcfile.org>
-
- * testsuite/debug_assert.h: new file
- * testsuite/*/*.cc: s/test\s*&=([^;]+);/VERIFY($1);/g
- changed conditional #include <c?assert.?h?> to
- unconditional #include <debug_assert.h>
- * mkcheck.in: added $SRC_DIR/testsuite to include search path
- for testsuite compile command.
-
-2000-08-14 Levente Farkas <lfarkas@mindmaker.hu>
-
- * bits/std_fstream.h: Remove duplicate typdefs for ofstream and
- wofstream, filebuf, wfilebuf, fstream, wfstream.
- * bits/std_streambuf.h: Same for streambuf, wstreambuf.
- * bits/std_sstream.h: Same for stringstream and wstringstream.
- Same for stringbuf, wstringbuf, istringstream, wistringstream,
- ostringstream, wostringstream.
-
- * testsuite/26_numerics/valarray.cc: Add test.
-
-2000-08-14 Zack Weinberg <zack@wolery.cumb.org>
-
- * configure: Regenerate after change to ../libtool.m4.
-
-2000-08-10 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/locale_facets.tcc: Formatting tweaks.
- * bits/locale_facets.h (__enc_traits): Start integrating this
- into codecvt, ctype. Formatting tweaks.
-
-2000-08-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- Preliminary wchar_t implementation, with trivial encodings.
- * docs/configopts.html: Add bits about canonical configure option
- checking.
-
- * testsuite/27_io/iostream_objects.cc: Replace this file (which
- has newly-declared-illegal mixing of wide/narrow stdstreams) with...
- * testsuite/27_io/narrow_stream_objects.cc: New file.
- * testsuite/27_io/wide_stream_objects.cc: New file.
-
- * bits/fstream.tcc (underflow): Temporarily hack a solution
- together that writes from the external file to the internal
- buffers. This removes codecvt from the loop, and is incorrect.
- (_M_really_overflow): Same here.
-
- * testsuite/21_strings/inserters_extractors.cc (test05): Tweaks.
-
-2000-08-08 Benjamin Kosnik <bkoz@cygnus.com>
- Ulrich Drepper <drepper@cygnus.com>
-
- * config/c_io_libio.h: Tweak.
- * config/c_io_libio_codecvt.c: New file.
- * libio/Makefile.am: Add c_codecvt.c.
- * libio/Makefile.in: Regenerate.
- * libio/genops.c (_IO_unbuffer_write): Don't call _IO_SETBUF if the
- stream is not orientated.
-
- * acinclude.m4: Add config/c_io_libio_codecvt.c dummy file, until
- encoding gets fleshed out.
-
- * bits/basic_file.h: Add specialization declarations.
- * config/c_io_libio.cc: Add specializations for pbackfail, uflow.
-
- * config/c_io_libio.h: Add __c_wfile_type.
- * bits/basic_file.h: Add _M_wfile.
-
- * config/c_io_libio.cc (__basic_file<char>): Initialize the
- streams without setting the orientation of the underlying FILE to
- either wide or narrow.
- (__basic_file<wchar_t>)): Enable tricky wchar_t io bits.
-
-2000-08-07 Felix Natter <fnatter@gmx.net>
-
- * docs/17_intro/porting-howto.html: New version.
-
-2000-08-03 Mark Mitchell <mark@codesourcery.com>
-
- * bits/locale_facets.h (ctype::ctype): Don't name unused
- parameters.
-
-2000-08-01 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * docs/install.html: Edit bits about requiring a special version
- of the autotools.
-
-2000-07-31 Benjamin Kosnik <bkoz@cygnus.com>
-
- * libio/fileops.cc: Update to current glibc sources.
- * libio/genops.c: Same.
- * libio/iofwide.c: Same.
- * libio/libio.h: Same.
- * libio/libioP.h: Same.
- * libio/wfiledoalloc.c: Same.
- * libio/wgenops.c: Same.
-
-2000-07-28 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4: Include ../libtool.m4.
- * aclocal.m4, configure: Rebuilt.
-
-2000-07-26 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Test for GNU ld
- before trying to use any of its options.
- (CHECK_MATH_DECL*,CHECK_BUILTIN_MATH_DECL*): Cache tests.
- * aclocal.m4: Regenerate.
- * configure.in: Having found GNU make, name it.
- * configure: Regenerate.
- * docs/install.html: Mention possible problems with caching.
- * src/Makefile.am (CXXLINK): Use new OPT_LDFLAGS.
- * src/Makefile.in: Regenerate.
- * libio/Makefile.in: Regenerate.
- * math/Makefile.in: Regenerate.
- * Makefile.in: Regenerate.
-
-2000-07-26 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/misc-inst.cc (std): Remove instantiations.
-
- * acinclude.m4: Add forward-looking bits for autoconf.
- * aclocal.m4: Regenerate.
-
- * bits/ostream.tcc (ostream::operator<<): Fix const char* case.
-
-2000-07-25 Benjamin Kosnik <bkoz@gnu.org>
-
- * configure.in: Change AM_PROG_LIBTOOL to AC_PROG_LIBTOOL. Change
- it back for current versions of maintainer-tools...
- * acinclude.m4: Some cleanups...
- * aclocal: Regenerated.
- * configure: Regenerated.
-
- * src/Makefile.am (CXXLINK): Add -Wl,-01 to the link line for
- optimizing/adapting the hash table using GNU ld.
- * src/Makefile.in: Regenerate.
-
-2000-07-24 H.J. Lu <hjl@gnu.org>
-
- * src/Makefile.am (LIBIO_INCLUDES): Set to -I$(top_srcdir)/libio
- even if GLIBCPP_NEED_LIBIO is false. The installed glibc header
- files don't include private libio header files needed by
- libstdc++ v3.
- * src/Makefile.in: Rebuild.
-
-2000-07-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/std_fstream.h: Parameterize __basic_file.
- * config/c_io_libio.cc: Add wchar_t methods for parameterization.
- * bits/basic_file.h: Same here.
-
- * bits/istream.tcc (getline): Tweaks.
-
- * bits/fstream.tcc: Shorten __retval to __ret.
- * bits/ostream.tcc: Same.
- * bits/sbuf_iter.h: Same.
- * bits/sstream.tcc: Same.
- * bits/streambuf.tcc: Same.
- * bits/std_fstream.h: Same.
- * src/string-inst.cc: Same.
- * src/ios.cc: Same.
- * config/c_io_libio.cc: Same.
- * bits/string.tcc: Same.
- * bits/std_streambuf.h: Same.
-
-2000-07-23 Brent Verner <brent@rcfile.org>
-
- * bits/istream.tcc: istream::getline(char_type*, streamsize,
- char_type) make compliant
- * testsuite/27_io/istream_unformatted.cc: test for compliant behavior
-
-2000-07-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (enable_cshadow_headers): Fix problems with blddir
- and srcdir used to define CSHADOW_INCLUDES..
-
- * configure.in: For consistency, change .sanity_warned to
- stamp-sanity-warned.
-
- * acinclude.m4: Tweak formatting.
- * Makefile.am (check): Call mkcheck with full pathname for build
- directory...
- (check-install): And here.
- * Makefile.in: Regenerate.
-
-2000-07-22 Gabriel Dos Reis <gdr@codesourcery.com>
-
- Line up with libstdc++-v2 version of valarray.
- * bits/valarray_array.h (__valarray_product): Make inline.
- * src/valarray-inst.cc (__valarray_product): Remove explicit
- instantiation.
-
-2000-07-21 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/stl-inst.cc: Change __sink_unused_warning to unsigned int
- for alpha.
-
- * testsuite/26_numerics/complex_inserters_extractors.cc (testall):
- Change return type to void.
- * testsuite/25_algorithms/lower_bound.cc: Add return values.
- * testsuite/17_intro/header_ciso646.cc: Modify.
- * bits/locale_facets.h: Add return values for the generic cases.
-
-2000-07-21 H.J. Lu (hjl@gnu.org)
-
- * acinclude.m4: Include <features.h> for glibc testing.
- * aclocal.m4: Likewise.
-
- * configure: Rebuild.
-
-2000-07-20 H.J. Lu (hjl@gnu.org)
-
- * acinclude.m4: Change "#pragma system_header" to
- "#pragma GCC system_header".
- * aclocal.m4: Likewise.
- * bits/std_cmath.h: Likewise.
- * bits/std_cassert.h: Likewise.
- * bits/std_cctype.h: Likewise.
- * bits/std_cerrno.h: Likewise.
- * bits/std_cfloat.h: Likewise.
- * bits/std_climits.h: Likewise.
- * bits/std_clocale.h: Likewise.
- * bits/std_cwchar.h: Likewise.
- * bits/std_csetjmp.h: Likewise.
- * bits/std_csignal.h: Likewise.
- * bits/std_cstdarg.h: Likewise.
- * bits/std_cstddef.h: Likewise.
- * bits/std_cstdio.h: Likewise.
- * bits/std_cstdlib.h: Likewise.
- * bits/std_cstring.h: Likewise.
- * bits/std_ctime.h: Likewise.
- * bits/std_cwctype.h: Likewise.
- * bits/std_exception.h: Likewise.
- * bits/std_new.h: Likewise.
- * bits/std_typeinfo.h: Likewise.
- * shadow/bits/std_cassert.h: Likewise.
- * shadow/bits/std_cctype.h: Likewise.
- * shadow/bits/std_cerrno.h: Likewise.
- * shadow/bits/std_cfloat.h: Likewise.
- * shadow/bits/std_climits.h: Likewise.
- * shadow/bits/std_clocale.h: Likewise.
- * shadow/bits/std_cmath.h: Likewise.
- * shadow/bits/std_csetjmp.h: Likewise.
- * shadow/bits/std_csignal.h: Likewise.
- * shadow/bits/std_cstdarg.h: Likewise.
- * shadow/bits/std_cstddef.h: Likewise.
- * shadow/bits/std_cstdio.h: Likewise.
- * shadow/bits/std_cstdlib.h: Likewise.
- * shadow/bits/std_cstring.h: Likewise.
- * shadow/bits/std_ctime.h: Likewise.
- * shadow/bits/std_cwchar.h: Likewise.
- * shadow/bits/std_cwctype.h: Likewise.
- * shadow/bits/wrap_libio.h: Likewise.
- * shadow/bits/wrap_unistd.h: Likewise.
- * shadow/sys/cdefs.h: Likewise.
-
- * configure: Rebuild.
-
-2000-07-20 Jakub Jelinek <jakub@redhat.com>
-
- * config/cpu/sparc/sparc64/bits/atomicity.h (__exchange_and_add):
- Use extended word instructions to match 64bit _Atomic_word.
- (__atomic_add): Likewise.
- * math/clog10l.c (clog10l): Use M_PIl if defined.
- * math/c_logl.c (c_logl): Likewise.
- * math/signbitl.c (__signbitl): Adapt for IEEE quad long doubles.
- * math/mathconf.h (ieee_quad_double_shape_type): New type.
- (GET_LDOUBLE_MSW64): New define.
-
-2000-07-20 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_streambuf.h: Add bits for pback buffers here, so that
- in_avail, etc can use them.
- * bits/std_fstream.h: Ditto.
- * bits/fstream.tcc: Ditto.
- * testsuite/27_io/filebuf.cc: Tweaks.
- * testsuite/27_io/filebuf-3.tst: Correct for pbackfail bits.
-
-2000-07-19 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/localename.cc: Same.
- * src/locale.cc: Same.
- * bits/localefwd.h: _M_init_facet to _M_facet_init.
-
- * bits/locale_facets.h: _M_init_boolnames to _M_boolnames_init.
-
- * bits/std_sstream.h: Change _M_init_stringbuf to _M_stringbuf_init.
-
- * bits/fstream.tcc: Change _M_init_filebuf to _M_filebuf_init.
- * bits/std_fstream.h: Same.
-
- * bits/basic_string.h: Tweaks.
-
-2000-07-19 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/18_support/howto.html: Update.
-
-2000-07-19 Benjamin Kosnik <bkoz@milou.soma.redhat.com>
-
- Internal consistency checks.....
- * bits/ios_base.h: Change _M_locale_ios to _M_ios_locale.
- * src/ios.cc: Same.
-
- * bits/basic_ios.h: Change _M_fctype_ios to _M_ios_fctype.
- * bits/basic_ios.tcc: Same.
-
- * bits/std_streambuf.h: Change _M_locale_buf to _M_buf_locale.
- Change _M_fctype_buf to _M_buf_fctype.
- * bits/fstream.tcc: Same.
-
- * bits/std_streambuf.h: Change _M_buf_bump to _M_out_cur_move.
- Change _M_locale_set to _M_buf_locale_init.
- * bits/streambuf.tcc: Same.
- * bits/sstream.tcc: Same.
- * bits/fstream.tcc: Same.
-
- * bits/std_streambuf.h: Make typedefs consistent.
- (_M_buf_bump): Be more careful with input sequence.
-
- * bits/std_sstream.h: Same.
- * bits/std_fstream.h: Same.
-
-2000-07-18 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4: Tweaks.
- * config/c_io_libio.cc: Tweaks.
- * bits/sstream.tcc (stringbuf::pbackfail): Simplify.
- * libio/_G_config.h: Don't define _G_HAVE_ST_BLKSIZE.
- * libio/[iofwide.c, wfiledoalloc.c, wfiteopos.c, wgenops.c]: New files.
- * libio/iofclose.c iofopen.c, stdio.c: New files.
- * libio/Makefile.am: Add files, add flags, etc.
- * src/Makefile.am (sources): Add filebuf.cc.
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT):
- (GLIBCPP_ENABLE_CSTDIO): Versioning testing, etc etc.
-
-2000-07-17 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4: Import CHECK_GNU_MAKE from autoconf macro archive.
- * configure.in: Use it. Also print reminders one time.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-07-15 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * bits/valarray_array.h (__valarray_get_storage): New function.
- (_Array<>::Array): Use it.
- * bits/std_valarray.h (valarray<>::valarray): Likewise.
- (valarray<>::resize): Likewise. Tweak.
- * src/valarray-inst.cc (__valarray_product): Tweak.
-
-2000-07-11 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs: Update sourceware->sources in every HTML file. Minor updates.
-
-2000-07-07 Benjamin Kosnik <bkoz@soma.redhat.com>
-
- Clean up configure/build longstanding issues.
- * src/Makefile.am (AC_CXXFLAGS): Don't set @SECTION_LDFLAGS@ here.
- (CXXLINK): Add here, instead.
-
- * Makefile.am (check-install): Make sure mkcheck has execute privs.
- (check): Same here.
- * configure.in (AC_OUTPUT_COMMANDS): Remove hacks here.
-
- * configure.in (AC_OUTPUT_COMMANDS): Link c_io_libio.h and
- c_io_libio.cc instead of copying.
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Do link here.
-
- * configure.in (AC_OUTPUT_COMMANDS): Link $THREADS.h and
- c++threads.h instead of copying.
- * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Do link here.
- Tweaks.
-
- * config/c_io_libio.cc (__basic_file::_M_open_mode): Consolidate.
- * bits/basic_file.h: Declare.
-
- * mkcheck.in (TESTS_FILE): Use -v instead of --version.
-
-2000-07-07 brent verner <brent@rcfile.org>
-
- * testsuite/27_io/istream_unformatted.cc (test05): New test.
-
-2000-07-07 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/istream.tcc (istream::getline): Minor tweaks.
-
-2000-07-07 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/download.html: Mention gcc_update.
- * docs/configopts.html: Minor updates.
- * docs/gccrebuild.html: Ditto.
- * docs/18_support/howto.html: More tips, explanations, and reminders.
- * docs/19_diagnostics/howto.html: Ditto.
- * docs/21_strings/howto.html: Ditto.
- * docs/24_iterators/howto.html: Ditto.
- * docs/25_algorithms/howto.html: Ditto.
- * docs/26_numerics/howto.html: Ditto.
-
-2000-07-05 brent verner <brent@rcfile.org>
-
- * testsuite/27_io/ifstream_members.cc (test01): Add tests.
- * testsuite/27_io/ofstream_members.cc (test01): Add tests.
- * config/c_io_libio.cc (__basic_file::open): Unset
- ~_IO_DELETE_DONT_CLOSE.
-
-2000-07-05 Zack Weinberg <zack@wolery.cumb.org>
-
- * bits/gslice_array.h, bits/indirect_array.h, bits/mask_array.h,
- bits/slice_array.h, bits/std_valarray.h, bits/valarray_meta.h:
- Do not paste anything after 'operator' keyword.
-
-2000-07-03 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/std_memory.h: Revert.
-
-2000-07-03 Brendan Kehoe <brendan@zen.org>
-
- * bits/std_complex.h: Fix parens. Format.
-
-2000-07-03 scott snyder <snyder@fnal.gov>
-
- * bits/locale_facets.tcc (_M_extract): Only figure out the base
- from the input if base == 0.
- * testsuite/27_io/istream_extractor_arith.cc: Test reading a
- number with a leading `0' in hex mode.
-
- * shadow/bits/std_cmath.h: Fix typo in _GLIBCPP_HAVE_CEILL test.
-
- * mkinclosure: Change `==' to `=' in test.
-
-2000-07-03 Chip Salzenberg <chip@valinux.com>
-
- * src/Makefile.am (libio_headers): _G_config.h is found in srcdir,
- not builddir.
- * src/Makefile.in: Regenerate.
-
-2000-07-01 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
- Ulrich Drepper <drepper@purist.soma.redhat.com>
-
- Sync libio to glibc-2.2 current CVS.
- * libio/_G_config.h: New file.
- * libio/wfileops.c: New file.
- * libio/wfiledoalloc.c: New file.
- * libio/wgenops.c: New file.
- * libio/iofwide.c: New file.
- * libio/Makefile.am: Tweaks.
- * libio/Makefile.in: Regenerate.
- * libio/gen-params: Remove. Generic replacement for this yet undone.
- * libio/[filedoalloc.c, fileops.c, genops.c, iolibio.h, libio.h,
- libioP.h, stdfiles.c]: Update.
- * config/c_io_libio.cc: Tweaks.
- * acinclude.m4: Complete hacks to test wide io.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.am: Update.
- * src/Makefile.in: Regenerate.
-
- * math/cargl.c: Remove underscores.
-
- * bits/locale_facets.h: Tweaks. Start adding iconv details
- and notes.
- * bits/locale_facets.tcc: Tweaks.
- * bits/std_cwchar.h: Tweaks.
-
-2000-06-29 scott snyder <snyder@fnal.gov>
-
- * bits/concept_checks.h
- (__less_then_comparable_requirement_violation): Only check for <.
- * testsuite/25_algorithms/lower_bound.cc: New file.
-
-2000-06-29 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * testsuite/27_io/ostream_manip.cc (test02): Add tests.
- * bits/ostream.tcc: Tweak.
- * bits/std_fstream.h (basic_filebuf::setbuf): Reset
- _M_buf_size_opt too.
- * bits/std_streambuf.h (basic_streambuf::~basic_streambuf): Zero
- out _M_buf_size_opt.
- * bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Set
- _M_buf_size_opt out here.
- * bits/char_traits.h (char_traits::eos): Non standard member
- function, uglify to __eos. Return char_type().
- * bits/std_ostream.h: Change.
-
- * testsuite/27_io/ostream_seeks.cc: New file.
- * testsuite/27_io/ostream_seeks-1.tst: New file.
- * testsuite/27_io/istream_unformatted.cc (main): Move test04 and
- test05 to...
- * testsuite/27_io/istream_seeks.cc: New file.
-
-2000-06-29 Branko Cibej <branko.cibej@hermes.si>
-
- * bits/std_memory.h (auto_ptr_ref): Reworked and defined only if
- _GLIBCPP_RESOLVE_LIB_DEFECTS.
- (auto_ptr): _M_ptr changed to void*.
- (suto_ptr::get): Cast _M_ptr to element type.
- (auto_ptr::auto_ptr(auto_ptr<Tp1>)): Test implicit convetsion.
- (auto_ptr::~auto_ptr): Use this->get() instead of _M_ptr.
- (auto_ptr::operator*): Likewise.
- (auto_ptr::operator->): Likewise.
- (auto_ptr::release): Likewise.
- (auto_ptr::reset): Likewise.
- (auto_ptr::auto_ptr(auto_ptr_ref)): Initialize from __ref._M_release.
- (auto_ptr::operator auto_ptr_rev<_Tp1>): Updated.
- Define nested auto_ptr_ref unless _GLIBCPP_RESOLVE_LIB_DEFECTS.
- Define operator=(auto_ptr_ref) if _GLIBCPP_RESOLVE_LIB_DEFECTS.
-
-2000-06-28 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * testsuite/27_io/filebuf.cc: Tweak.
- * testsuite/27_io/filebuf_members.cc (test_01): Fix.
- * config/c_io_libio.cc (__basic_file::~__basic_file): Match libio
- filebuf dtor.
- (__basic_file::basic_file): Clean, add calls similar to
- _IO_file_attach.
- (__basic_file::open): Clean.
- (__basic_file::sys_open): Clean.
-
- * bits/std_fstream.h: Revert.
- * bits/fstream.tcc (filebuf::close()): Revert.
- (filebuf::basic_filebuf()): Revert.
-
-2000-06-27 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- Update to SGI STL 3.3
- * ext/hash_map, ext/hash_set, ext/slist, ext/stl_bvector.h,
- ext/stl_rope.h, ext/ropeimpl.h: Update.
- * bits/std_bitset.h, bits/std_map, bits/std_memory.h,
- bits/stl_algo.h, bits/stl_algobase.h, bits/stl_alloc.h,
- bits/stl_config.h, bits/stl_construct.h, bits/stl_deque.h,
- bits/stl_function.h, bits/stl_heap.h, bits/stl_iterator.h,
- bits/stl_iterator_base.h, bits/stl_list.h, bits/stl_map.h,
- bits/stl_multimap.h, bits/stl_multiset.h, bits/stl_numeric.h,
- bits/stl_queue.h, bits/stl_set.h, bits/stl_stack.h,
- bits/stl_string_fwd.h, bits/stl_threads.h, bits/stl_three.h,
- bits/stl_uninitialized.h, bits/stl_vectory.h: Update.
-
- * src/Makefile.am (headers): Add new files.
- * src/Makefile.in: Regenerate.
- * src/stl-inst.cc (std): Add instantiation for __sink_unused_warning.
- * bits/concept_checks.h: New file.
- * bits/container_concepts.h: New file.
- * bits/sequence_concepts.h: New file.
-
-2000-06-27 H.J. Lu <hjl@gnu.org>
- Loren J. Rittle <ljrittle@acm.org>
-
- * mkcheck.in: Add support to print standard flags needed to
- test g++ in build tree. Enhance command line error checking.
-
-2000-06-27 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/install.html: Fix minor typo as reported.
-
-2000-06-26 Brent Verner <brent@rcfile.org>
-
- * bits/string.tcc (string::rfind): Fix.
- * testsuite/21_strings/rfind.cc: New file.
-
-2000-06-26 Anthony Williams <anthony@anthonyw.cjb.net>
-
- * testsuite/21_strings/ctor_copy_dtor.cc: Fixed logic error.
-
-2000-06-26 Branko Cibej <branko.cibej@hermes.si>
-
- * testsuite/27_io/filebuf_members.cc (test_01): Fixed typos.
-
- * mkcheck.in: Make the *.txt and *.tst files writable after
- copying them to $TEST_DIR.
-
- * testsuite/27_io/ostream_inserter_arith.cc: Renamed
- __TEST_NUMPUT_VERBOSE to TEST_NUMPUT_VERBOSE. Define
- TEST_NUMPUT_VERBOSE only if DEBUG_ASSERT.
-
-2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
- (basic_filebuf::close): Use it.
- * bits/std_fstream.h (basic_filebuf): Remove default arguments for
- filebuf ctor.
- (basic_filebuf): Add _M_fileno_based data member.
- As reported by brent verner <brent@rcfile.org>
- * testsuite/27_io/filebuf_members.cc: New file.
- * testsuite/27_io/filebuf_members-1.tst: New file.
-
- * bits/std_fstream.h: Formatting tweaks.
- * testsuite/27_io/ofstream_members.cc: New file.
- * testsuite/27_io/ofstream_members-1.tst: New file.
- * testsuite/27_io/ifstream_members.cc: New file.
- * testsuite/27_io/ifstream_members-1.tst: New file.
-
-2000-06-23 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
- Ulrich Drepper <drepper@cygnus.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Add -D_GNU_SOURCE, so
- that all the freaky stuff like sincos will be around...
-
-2000-06-22 Branko Cibej <branko.cibej@hermes.si>
-
- * Makefile.am (AM_MAKEFLAGS): Added WERROR to list of flags.
-
-2000-06-22 Steven King <sxking@uswest.net>
-
- * acinclude.m4: Check for sinl, _sinl using 1 parameter.
-
-2000-06-22 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
- same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
- link against libm and don't use -fno-builtins...
- * math/mathconf.h: Change up builtin macros to new schema.
- * bits/std_cmath.h: And here. Wheee!
- * shadow/bits/std_cmath.h: And here.
- * acconfig.h: Change up builtin macros here.
- * math/cosf.c: Remove.
- * math/fabsf.c: Likewise.
- * math/sinf.c: Likewise.
- * math/sqrtf.c: Likewise.
- * math/Makefile.am (EXTRA_DIST): Remove those four files.
- * math/Makefile.in: Regenerate.
-
-2000-06-22 Anthony Williams <anthony@anthonyw.cjb.net>
-
- * testsuite/21_strings/find.cc: Patch.
-
-2000-06-22 Benjamin Kosnik <bkoz@soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHEC_LINKER_FEATURES): Use gcc + -x c++ as
- an easy way to get at g++ without having to link in libstdc++.
-
-2000-06-21 Benjamin Kosnik <bkoz@soma.redhat.com>
-
- Fix alpha, powerpc build failures.
- * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Substantially
- re-write. Need to check for both proper declaration when using a
- c++ compiler, and "C" linkage when linking. Do both, and if both
- exist, then define the HAVE_* bits in config.h.
- (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE): New, uber-macro. Does all.
- (GLIBCPP_CHECK_LINKER_FEATURES): Actually link and run this
- program, doh.
-
-2000-06-20 Anthony Williams <anthony@anthonyw.cjb.net>
-
- * bits/string.tcc: Fix find.
- * testsuite/21_strings/find.cc: Patch.
-
-2000-06-20 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * docs/install.html: Update where to get automake, where to get
- binutils.
- * acinclude.m4: Need -fno-builtins too, so gcc doesn't recognize
- builtins.
-
-2000-06-19 Benjamin Kosnik <bkoz@soma.redhat.com>
-
- * acinclude.m4 ((GLIBCPP_CHECK_MATH_SUPPORT): Revert last change.
- Add -Werror-implicit-function-declaration instead.
-
- Regenerate with fixed maintainer-tools.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * libio/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
-
-2000-06-19 Russell Davidson <russell@ehess.cnrs-mrs.fr>
-
- * testsuite/27_io/istream_extractor_arith.cc: Patch.
- * bits/locale_factets.tcc: Tweak.
-
-2000-06-19 Raja R Harinath <harinath@cs.umn.edu>
-
- * src/Makefile.am: change @WERROR@ to $(WERROR) so that this can
- be overridden on the command line for individual files.
-
-2000-06-19 Benjamin Kosnik <bkoz@soma.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Can't use
- AC_LANG_CPLUSPLUS as this tries to link in libstdc++, which we are
- building. Use -x c++ instead, which does not attempt to link
- libstdc++.
-
- * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Actually check for
- not coring when we hit a try/throw block, which was the problem
- with the linker support...
-
- * docs/17_intro/contribute.html: Add bits about getting to the LWG
- issues pages.
- * docs/documentation.html: Rename link to make more accurate and scary.
- * docs/gccrebuild.html: Edit for clarity as these are no longer
- separate projects.
- * docs/install.html: Add bits about binutils for
- -ffunction-sections, -fdata-sections, -Wl,--gc-sections
-
- * configure.in: Add call for GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
- * math/Makefile.am (EXTRA_DIST): Change USE_LONG_DOUBLE to
- USE_COMPLEX_LONG_DOUBLE.
- * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Break into
- GLIBCPP_CHECK_MATH_SUPPORT and GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT.
- Works around irregularies in powerpc "C" compiler, but a good idea
- anyway.
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT):
- New. Merge both old compiler bug checks for complex into this.
-
-2000-06-19 Anthony Williams <anthony@anthonyw.cjb.net>
-
- * testsuite/21_strings/find.cc: Empty strings can be found at all
- positions. Modified.
-
-2000-06-19 Branko Cibej <branko.cibej@hermes.si>
-
- * testsuite/20_utilities: New directory.
- * testsuite/20_utilities/auto_ptr.cc: New file.
-
-2000-06-14 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * src/Makefile.am (string_sources): Simplify, assuming that with
- -ffunction-sections, -fdata-sections, -Wl,--gc-sections, all this
- hacking is not necessary.
- (wstring_sources): Same.
- (OPTIMIZE_CXXFLAGS): Enable -fdata-sections -ffunction-sections
- -Wl,--gc-sections.
- * src/string-inst.cc: Remove macro blocks.
- * mkcheck.in (CXX_FLAG): Add bits here.
-
- * src/string-inst.cc: Remove iostream-related string instantiations.
- * src/misc-inst.cc: Add here.
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Change FMTFLAGS
- to WFMT_FLAGS.
- * aclocal.m4: Regenerate.
- * configure.in: Change up.
- * configure: Regenerate.
-
-2000-06-13 Steven King <sxking@uswest.net>
-
- * acinclude.m4: Fixup some of the builtin math tests and add tests for
- __builtin_fmod* and test libm for fmodf, fmodl or _fmodf, _fmodl.
- * acconfig.h: Add entries for fmod*.
-
-2000-06-13 Branko Cibej <branko.cibej@hermes.si>
-
- * bits/std_cmath.h: Fix typos in tests (*_FMODFF -> *_FMODF).
- Test *_MODFF not *_MODF for modf(float, float*).
- (modf(float, float*)): Remove reference to _C_legacy.
-
-2000-06-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to
- _GNU_SOURCE instead of _ISOC9X_SOURCE, as _GNU_SOURCE is the
- superset, and already defined at top level.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * docs/17_intro/contribute.html: Plead with people to use -cp.
-
-2000-06-13 Anthony Williams <anthony@anthonyw.cjb.net>
-
- * testsuite/23_containers/bitset_ctor.cc: Qualify reverse wth std::.
-
- * testsuite/27_io/filebuf.cc: Changed calls to
- fpos<>._M_position() to implicit calls to operator streamoff().
- * testsuite/27_io/iostream_objects.cc: Removed #include <ciso646>,
- as not needed. Revert, as part of standard.
- * testsuite/27_io/ostream_inserter_arith.cc: Replaced explicit
- call to numpunct<>._M_init() with overrides of the appropriate
- virtual functions.
-
- * testsuite/27_io/stringstream.cc: Removed unnecessary char *
- pointers from test01, so no need to call base(), which isn't
- guaranteed to be implemented as iterators may themselves be pointers
- * testsuite/27_io/stringbuf.cc: Removed unnecessary calls to
- _M_position() - use implicit conversion to streamoff instead
-
-2000-06-13 Thomas Holenstein <thomas@hex.ch>
-
- * bits/stl_iterator.h: Added inline to operators == to >=.
-
-2000-06-13 Brent Verner <brent@rcfile.org>
-
- * bits/streambuf.tcc: repaired _S_copy_streambufs()
- * testsuite/27_io/ostream_inserter_other.cc (test03): Added testcase.
-
-2000-06-12 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/locale_facets.h (ctype<wchar_t>): Remove unnecessary data
- members.
- * src/locale.cc: Add cwchar include here. Remove incorrect
- definitions, and stub them out.
- * config/generic/ctype.cc (ctype): Remove ctype<wchar_t> bits.
- * config/solaris/solaris2.7/ctype.cc (ctype): Same.
- * config/solaris/solaris2.5/ctype.cc (ctype): Same.
- * config/newlib/ctype.cc: Same.
- * config/gnu-linux/ctype.cc: Same.
- * config/bsd/ctype.cc: Same.
- * config/aix/ctype.cc: Same.
-
-2000-06-12 Branko Cibej <branko.cibej@hermes.si>
-
- * config/solaris/solaris2.6/ctype.cc (do_toupper, do_tolower): Use
- towupper and towlower to convert wide characters.
-
-2000-06-12 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * mkcheck.in: Clean up confusion regarding NAME, PRE_NAME.
-
-2000-06-08 Branko Cibej <branko.cibej@hermes.si>
-
- * acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Check for
- sinf, cosf, fabsf, and sqrtf; add to LIBMATHOBJS if missing.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * math/cosf.c: New file.
- * math/fabsf.c: Likewise.
- * math/sinf.c: Likewise.
- * math/sqrtf.c: Likewise.
- * math/Makefile.am (EXTRA_DIST): Add those four files.
- * math/Makefile.in: Regenerate.
-
-2000-06-08 Phil Edwards <pme@sourceware.cygnus.com>
-
- * testsuite/26_numerics/complex_inserters_extractors.cc: Need cmath.
-
-2000-06-06 Steven King <sxking@uswest.net>
-
- * acconfig.h: Added defines for HAVE_BUILTIN math functs for float,
- double and long double. Added defines for HAVE libm math functs for
- float and long double.
- * aclocal.m4: Added configure checks for builtin math funcs and libm
- support for float and long double versions of the math functions.
- * config.h.in: Added undefs for math functs.
- * configure: Regenerate.
- * math/mathconf: Changed the _GLIBCPP_HAS_BUILTIN_* to
- _GLIBCPP_HAVE_BUILTIN_*.
- * bits/std_cmath.h: Added long double support. Use builtins for
- float, double and long if available, otherwise, use libm versions if
- availible, otherwise, punt.
- * shadow/bits/std_cmath.h: ditto
-
-2000-06-02 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/locale_facets.h: Tweak.
- * src/locale.cc (codecvt<wchar_t>): Tweak.
-
- * bits/locale_facets.h (_Format_cache): _S_ecks -> _S_x.
- * bits/locale_facets.tcc (num_get<char>::_M_extract): Fix for hex.
-
- * bits/basic_string.h: Move data member up.
- * src/string-inst.cc: Fix instantiations.
- * bits/string.tcc: Fix types.
-
-2000-06-02 Anthony Williams <anthony@anthonyw.cjb.net>
-
- * testsuite/21_strings/replace.cc (test01): Qualify find with std::.
-
-2000-06-01 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/std_cwctype.h: Clean.
- * bits/std_cwchar.h: Clean, remove cruft.
-
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Re-work, add bits
- for beginning iconv support.
- Remove _GLIBCPP_HAS_WCHAR_MIN_MAX, roll into _GLIBCPP_USE_WCHAR_T
- macro.
- * acconfig.h: Remove _GLIBCPP_HAS_WCHAR_MIN_MAX.
- * bits/limits_generic.h: Remove.
- * src/gen-num-limits.cc: Same.
-
- * src/locale.cc: Tweaks.
-
- * bits/char_traits.h: Tweaks.
-
-2000-05-31 Russell Davidson <russell@ehess.cnrs-mrs.fr>
-
- * bits/locale_facets.tcc (num_get<char>::_M_extract): Fix signage,
- exponent, scientific formatting issues.
- * testsuite/27_io/istream_extractor_arith.cc (test09): Add tests.
-
-2000-05-31 Branko Cibej <branko.cibej@hermes.si>
-
- * bits/limits_generic.h (numeric_limits<wchar_t>): Use WCHAR_MIN
- and WCHAR_MAX instead of WCHART_MIN and WCHART_MAX.
-
-2000-05-31 Nathan Myers <ncm@cantrip.org>
-
- * docs/thanks.html: edit own credits
-
-2000-05-31 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * bits/generic_shadow.h: Remaining _C_Shadow -> _C_shadow fix.
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Add strtoull checks...
-
- * mkcheck.in (SH_FLAG): Add in -Wl,--rpath -Wl,$LIB_PATH. Tweaks.
-
-2000-05-31 Steven King <sxking@uswest.net>
-
- * shadow/time.h: fix typo
- * shadow/wchar.h: ifdef __USE_GNU for wcsdup
- * shadow/bits/std_cwchar.h: ditto
- * shadow/bits/std_cstdlib.h: add overloads of abs and div for long
- and long long.
-
-2000-05-26 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): If strtoll isn't
- available, force --disable. Need to flesh this out; make smarter.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * mkcheck.in: Minor tweaks.
- * docs/download.html: Fix typo.
-
-2000-05-25 Benjamin Kosnik <bkoz@milou.soma.redhat.com>
-
- * inclosure: Change to...
- * mkinclosure: This.
- Fix paths to bash.
- * mkcshadow: Fix paths to bash.
-
- * src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
- * src/Makefile.in: Regnerate.
- * acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
- (GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
- * aclocal.m4: Regenerate.
- * mkcheck.in (INC_PATH): Tweak.
-
- * configure.in: Enable long long by default.
- * configure: Regenerate.
-
- * mkcheck.in (LIB_PATH): Revert.
-
-2000-05-24 Nathan "I don't write ChangeLog Entries" Myers <ncm@cantrip.org>
-
- * config/cpu/i486: New directory.
- * config/cpu/i486/bits: New directory.
- * config/cpu/i486/bits/atomicity.h: New file.
- * config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
- 'cmpxchgl' asm.
- * acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.
-
-2000-05-24 Loren J. Rittle <ljrittle@acm.org>
-
- * backward/alloc.h (__default_alloc_template): Only expose
- implementation-specific symbol, if it exists in the
- configuration.
- * backward/iostream.h (ends): Expose symbol.
- * backward/strstream.h: New file.
- * backward/stream.h: New file.
- * backward/ostream.h: New file.
- * backward/istream.h: New file.
- * backward/fstream.h: New file.
- * backward/complex.h: New file.
- * backward/iomanip.h: New file.
-
- * mkcheck.in (LIB_PATH): Add -R bits.
-
- * math/carg.c (carg): Replace __atan2 with atan2.
-
-2000-05-24 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * Makefile.am (TAGS): Construct.
- * Makefile.in: Rengerate.
- * src/Makefile.am: Tweak.
- * src/Makefile.in: Tweak.
- * configure.in: Tweak.
-
- * bits/c++config.h: Rename to ...
- * bits/c++config: This.
- * mkc++config: Adjust.
-
- * m4: Remove.
- * m4/lc_message.m4: Merge into acinclude.m4.
- * m4/mathfcts.m4: Same.
- * m4/stringfcts.m4: Same.
- * acinclude.m4: Add here.
- * configure: Regnerate.
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Remove
- OPTLEVEL. Add FMTFLAGS.
- * aclocal.m4: Regenerate.
- * src/Makefile.am (AC_CXXFLAGS): Take out OPTLEVEL, as this has
- been disabled due to higher-level Makefiles running amuck over
- this bit, and add in FMTFLAGS so that formatting is clear.
- * src/Makefile.in: Regenerate.
- * configure: Regenerate.
-
- * src/ios.cc (ios_base::sync_with_stdio): Clean up buffers from
- initialization.
-
- * docs/download.html: Remove references to Cygwin-specific bits,
- as this can now be built natively.
- Update with current information.
-
-2000-05-24 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): If we can use
- -fdiagnostics-show-location=once, do so. Expand AC_LANG_* to
- enclose other tests in this macro, including future ones.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * docs/faq/index.html: Update location of libg++ FAQ.
- * docs/faq/index.txt: Regenerate.
-
-2000-05-22 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
-
- * docs/17_intro/libstdc++-assign.txt: Change Cygnus to FSF.
-
-2000-05-22 Phil Edwards <pme@sourceware.cygnus.com>
-
- * mkcheck.in: Tweak for Solaris 8. Additional minor output comment.
-
-2000-05-22 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4: If the new pragma isn't supported, don't kill -Werror;
- keep -Werror and add -Wno-unknown-pragma. -Werror Is Good.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-05-19 Nathan C. Myers <ncm@cantrip.org>
-
- * bits/generic_shadow.h: s/swamp/legacy/
-
-2000-05-19 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4: Clean up comments on newer checks.
- (GLIBCPP_CHECK_COMPILER_VERSION): Check for system_header
- pragma support. Remove WERRORSUPPRESS variable, add WERROR.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * libio/Makefile.in: Regenerate.
- * math/Makefile.in: Regenerate.
- * src/Makefile.am: Tell make's WERROR to depend on configure's WERROR.
- * src/Makefile.in: Regenerate.
- * docs/configopts.html: Document changes to --enable names.
-
-2000-05-18 Chip Salzenberg <chip@valinux.com>
-
- * bits/ostream.tcc (_S_pad_char): Function template should not be
- static.
- * bits/streambuf.tcc (_S_copy_streambufs): Likewise.
- * src/string-inst.cc (__destroy_aux): Instantiate for string*.
-
-2000-05-18 Nathan C. Myers <ncm@cantrip.org>
-
- * mkcshadow: Change C_Swamp to C_legacy.
- * shadow/*: Same.
- * shadow/bits/*: Same.
- s/C_Swamp/C_legacy/g
- s/SWAMP/LEGACY/g
- s/_Shadow/_shadow/g
-
-2000-05-18 Anthony Williams <anthony@anthonyw.cjb.net>
-
- * bits/locale_facets.tcc (num_get::_M_extract): Change char* to
- const char*.
- * src/string-inst.cc (string::_S_find): Same.
-
-2000-05-18 Benjamin Kosnik <bkoz@gnu.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Change to
- --enable-cshadow-headers. Add output messages.
- (GCC_ENABLE_LONG_LONG): Change to --enable-long-long, no
- underscores (like the rest of the enable options.) Add output messages.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * configure.in: Touch.
-
-2000-05-17 Benjamin Kosnik <bkoz@cygnus.com>
-
- * mkcheck.in: Enable shared library testing.
-
-2000-05-17 Nathan C. Myers <ncm@cantrip.org>
-
- * bits/std_cmath.h: fix sqrt(float)
-
-2000-05-16 Loren J. Rittle <ljrittle@acm.org>
-
- * bits/std_cassert.h: Use system_header pragma.
- * bits/std_cctype.h: Likewise.
- * bits/std_cerrno.h: Likewise.
- * bits/std_cfloat.h: Likewise.
- * bits/std_climits.h: Likewise.
- * bits/std_clocale.h: Likewise.
- * bits/std_cmath.h: Likewise.
- * bits/std_csetjmp.h: Likewise.
- * bits/std_csignal.h: Likewise.
- * bits/std_cstdarg.h: Likewise.
- * bits/std_cstddef.h: Likewise.
- * bits/std_cstdio.h: Likewise.
- * bits/std_cstdlib.h: Likewise.
- * bits/std_cstring.h: Likewise.
- * bits/std_ctime.h: Likewise.
- * bits/std_cwchar.h: Likewise.
- * bits/std_cwctype.h: Likewise.
- * bits/std_exception.h: Likewise.
- * bits/std_new.h: Likewise.
- * bits/std_typeinfo.h: Likewise.
- * shadow/bits/std_cassert.h: Likewise.
- * shadow/bits/std_cctype.h: Likewise.
- * shadow/bits/std_cerrno.h: Likewise.
- * shadow/bits/std_cfloat.h: Likewise.
- * shadow/bits/std_climits.h: Likewise.
- * shadow/bits/std_clocale.h: Likewise.
- * shadow/bits/std_cmath.h: Likewise.
- * shadow/bits/std_csetjmp.h: Likewise.
- * shadow/bits/std_csignal.h: Likewise.
- * shadow/bits/std_cstdarg.h: Likewise.
- * shadow/bits/std_cstddef.h: Likewise.
- * shadow/bits/std_cstdio.h: Likewise.
- * shadow/bits/std_cstdlib.h: Likewise.
- * shadow/bits/std_cstring.h: Likewise.
- * shadow/bits/std_ctime.h: Likewise.
- * shadow/bits/std_cwchar.h: Likewise.
- * shadow/bits/std_cwctype.h: Likewise.
- * shadow/bits/wrap_libio.h: Likewise.
- * shadow/bits/wrap_unistd.h: Likewise.
- * shadow/sys/cdefs.h: Likewise.
-
-2000-05-16 Nathan C. Myers <ncm@cantrip.org>
-
- It appears that gcc-2.96 supports the keyword "and" now.
- * bits/std_ciso646.h: remove.
- * std/ciso646: gut.
- * testsuite/17_intro/header_ciso646.c: enable testing.
- * src/Makefile.am, src/Makefile.in: remove mention of
- bits/std_ciso646.h
-
-2000-05-16 Nathan C. Myers <ncm@cantrip.org>
-
- * mkcshadow: fix typo s/_C_Swamp_/_C_Swamp/.
-
-2000-05-16 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4: Fix typo, switch to decaf...
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-05-16 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_SHADOW): New macro, stub.
- * aclocal.m4: Regenerate.
- * configure.in: Call.
- * configure: Regenerate.
- * docs/configopts.html: Stub documentation.
-
-2000-05-14 Nathan Myers <ncm@cantrip.org>
-
- * mkcshadow: build in more-correct directory, create cshadow/
- directory if needed, report progress.
-
-2000-05-14 LLeweLLyn Reese <llewelly@dbritsch.dsl.xmission.com>
-
- * src/Makefile.am: Fix tr commands.
- * src/Makefile.am: Remove references to [w]stringCTORDUPAL.[lo,cc]
- * src/string-inst.cc: Remove extra instantiation of
- S::basic_string(S::size_type, C, S::allocator_type const&);
- * src/string-inst.cc: Remove extra template keyword.
-
-2000-05-14 Loren J. Rittle <ljrittle@acm.org>
-
- * config/bsd/bits/ctype_base.h: Add support for plain BSD4.4.
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Enhance bsd tests.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * */Makefile.in: Regenerate.
-
-2000-05-11 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4: Fix minor typo with ctypes, add more sanity to
- enable-cxx-flags, and remove GLIBCPP_ENABLE_NAMESPACES altogether.
- * aclocal.m4: Regenerate.
- * configure.in: Non-blank arguments break fewer Linuxes.
- * configure: Regenerate.
- * src/Makefile.am: Re-order AC_CXXFLAGS components.
- * src/Makefile.in: Regenerate.
-
-2000-05-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * bits/std_cmath.h: Tweaks.
- * math/mathconf.h: Tweaks and fixes for HP-UX 11.
- (sqrtf): Define away iff !builtin and !in <math.h>.
- (sinf): Same.
- (cosf): Same.
- (fabsf): Same.
- At some point this directory should be converted to c++, the
- autoconf tests should be run by the c++ compiler (not c), and
- <cmath> should be used instead of math.h.
- Move declaration of nan() here.
- * math/complex-stub.h (cabsl): Remove nan() declaration.
-
- Finish up FreeBSD4.0 support.
- * config/bsd/ctype.cc: Scope out toupper, tolower calls.
- * config/generic/ctype.cc: And here.
- * testsuite/21_strings/char_traits.cc (test02): Guard with
- _GLIBCPP_USE_WCHAR_T.
-
- via Phil Edwards <pme@sourceware.cygnus.com>
- * bits/std_cctype.h: Remove _GLIBCPP_USE_NAMESPACES.
- * acconfig.h: And here.
- * acinclude.m4: Same.
- * testsuite/27_io/istream.cc: And here.
- * testsuite/27_io/ostream.cc: And here.
-
-2000-05-09 Benjamin Kosnik <bkoz@gnu.org>
-
- * acinclude.m4 (GLIBCPP_CHECK_CPU): Change powerpc bits to
- -mcpu=powerpc.
- * src/Makefile.am: Disable ENABLE_CXX_FLAGS stuff for the moment.
-
- * config/generic/bits/ctype_specializations.h (ctype<char>::is):
- Make more generic.
-
- * config/bsd: New directory.
- * config/bsd/ctype.cc: New.
- * config/bsd/bits/ctype_base.h (ctype_base): New.
- * config/bsd/bits/ctype_specializations.h: New.
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bsd tests.
-
-2000-05-09 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4: New macro, GLIBCPP_ENABLE_CXX_FLAGS.
- * configure.in: Call.
- * src/Makefile.am: Append results of macro to AC_CXXFLAGS.
- * aclocal.m4: Regenerate.
- * configure: Ditto.
- * src/Makefile.in: Ditto.
- * docs/configopts.html: Document.
- * docs/download.html: Fix typo (close quote).
- * docs/footer.html: Update.
-
-2000-05-09 Loren J. Rittle <ljrittle@acm.org>
-
- * backward/iostream.h: Expose endl. Guard wide types.
- * src/Makefile.am (headers): Update list to match files.
- * src/Makefile.in: Regenerate.
-
-2000-05-09 Vadim Egorov <egorovv@mailandnews.com>
- Benjamin Kosnik <bkoz@gnu.org>
- Nathan Myers <ncm@cantrip.org>
- Dietmar Kuehl <dietmar_kuehl@yahoo.com>
-
- * bits/streambuf.tcc (basic_streambuf::xsgetn): Fix uflow case.
- (basic_streambuf::xsputn): Make consistent.
- * testsuite/27_io/filebuf.cc: Add tests.
-
-2000-05-08 Steven King <sxking@uswest.net>
-
- * bits/char_traits.h: Use wchar_t utility functions for
- char_traits<wchar_t> methods.
- * testsuite/21_string/char_traits.cc: New (test02): test
- char_traits<wchar_t>
-
-2000-05-08 Benjamin Kosnik <bkoz@cygnus.com>
-
- * acinclude.m4 (GLIBCPP_CXXFLAGS): Add bits for solaris2.8.
-
- * bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set
- _M_buf_size based on macro, instead use _M_buf_size_opt.
- * bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt.
- (basic_streambuf()): Set _M_buf_size_opt.
- * testsuite/27_io/filebuf.cc (filebuf): Use _M_buf_size_opt
- instead of _M_buf_size.
-
-2000-05-04 Branko Cibej <branko.cibej@hermes.si>
-
- * src/complex_io.cc: Don't instantiate inserters and extractors
- for wide-character streams unless _GLIBCPP_USE_WCHAR_T is defined.
-
-2000-05-03 Phil Edwards <pme@sourceware.cygnus.com>
- Felix Natter <fnatter@gmx.net>
-
- * docs/footer.html: Update to see if it takes effect.
- * docs/thanks.html: More people.
- * docs/17_intro/headers_cc.txt: Copy from testsuite, since that can't
- be seen from the web pages. Rename for browser-friendliness...
- * docs/17_intro/howto.html: ...and update here.
- * docs/17_intro/porting-howto.html: Changes from Felix.
- * docs/gccrebuild.html: Mention v3->egcs move.
- * docs/faq/index.html: Ditto. Also misc tweaks and URL updates.
- * docs/faq/index.txt: Regenerate.
-
-2000-05-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More
- fixes.
-
-2000-05-01 Vadim Egorov <egorovv@@mailandnews.com>
-
- * bits/char_traits.h: Fix parameter types.
- * bits/string.tcc: Avoid traits_type::move.
-
-2000-05-01 Benjamin Kosnik <bkoz@haight.constant.com>
-
- * src/Makefile.am (AC_CXXFLAGS): Add CPUFLAGS here.
- * src/Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Revert.
-
-2000-04-30 Steven King <sxking@uswest.net>
-
- * bits/locale_facets.h: Fix syntax error.
- * bits/std_fstream.h: ditto
-
-2000-04-30 Benjamin Kosnik <bkoz@gnu.org>
-
- * config/cpu/powerpc/bits/atomicity.h (__compare_and_swap): Fix typo.
-
- * mknumeric_limits (trait_name): Fix copyright notice.
- * src/gen-num-limits.cc: Explicitly instantiate epsilon and
- round_error data members of struct value. This works around
- weak-linking issues on AIX, HPUX.
-
-2000-04-29 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/download.html: Add link to list of mirror sites.
-
-2000-04-28 Loren J. Rittle <ljrittle@acm.org>
-
- * mkcheck.in: Rely on exit status instead of the presence of a
- core file. Added comments on how/where to save core and exe
- files. Move shell wildcards outside quotes and fix core path.
-
-2000-04-27 scott snyder <snyder@fnal.gov>
-
- * src/misc-inst.cc: Explicitly instantiate ifstream and ofstream
- classes.
-
-2000-04-26 Nathan C. Myers <ncm@cantrip.org>
-
- * bits/basic_string.h: include <bits/atomicity.h> instead
- of <atomicity.h>, and use the uglified names.
- * config/cpu/*/atomicity.h: replace with bits/atomicity.h;
- uglify names, eliminate dependence on <inttypes.h>.
- * src/Makefile.in, src/Makefile.am: refer to correct place
- for atomicity.h header.
-
-2000-04-25 Steven King <sxking@uswest.net>
-
- * bits/basic_string.h: Fix syntax error.
-
-2000-04-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Improve checks for
- USE_LONG_DOUBLE.
- (GLIBCPP_ENABLE_DEBUG): If alpha, use -gdwarf-2.
- * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Add all the long
- versions to this as copysignl is needed anyway for these targets.
- * math/Makefile.in: Regenerate.
-
- * bits/streambuf.tcc (streambuf::xsgetn): Tweak.
- * bits/fstream.tcc (underflow): Cast to libio types.
- * bits/basic_file.h (seekoff): Fixes for alpha: use __c_streamoff.
- * config/c_io_libio.cc (seekoff): And here.
-
-2000-04-24 Loren J. Rittle <ljrittle@acm.org>
-
- * mkcheck.in: Report compiler version used for test. Find
- the built _G_config.h instead of any old installed version.
-
-2000-04-24 Loren J. Rittle <ljrittle@acm.org>
-
- * config/generic/ctype.cc (do_toupper): Remove dependence on
- non-portable/non-existent lookup table.
- (do_tolower): Same.
-
-2000-04-24 Nathan Myers <ncm@cantrip.org>
-
- * src/string-inst.cc: More fixing.
-
-2000-04-24 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/stl_iterator.h: Pedantic fixing.
- * bits/std_sstream.h: And here.
- * bits/string.tcc: And here.
-
-2000-04-24 Felix Natter <fnatter@gmx.net>
-
- * docs/17_intro/howto.html: Add bits.
- * docs/17_intro/porting-howto.html: New file.
-
-2000-04-24 Branko Cibej <branko.cibej@hermes.si>
-
- * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand
- @libinst_wstring_la@ to libinst-wstring.la when specializing for
- wchar_t, to empty string otherwise.
- * src/Makefile.am: (EXTRA_LTLIBRARIES): New.
- (sources): Remove $(string_sources) and $(wstring_sources).
- (libstdc___la_LIBADD): Add libinst-string.la and @libinst_wstring_la@.
- (libstdc___la_DEPENDENCIES): New.
- (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New.
-
-2000-04-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * bits/std_sstream.h: Tweak formatting.
- * bits/std_fstream.h: Make types public.
-
- * testsuite/27_io/streambuf.cc: Fix for alpha.
-
- Brad Garcia <bgarcia@laurelnetworks.com>
- * bits/locale_facets.h (numpunct::numpunct(size_t)): Fix bool
- initialization.
- * testsuite/27_io/ios_manip_fmtflags.cc (test02): Add test for
- bool formatting.
-
-2000-04-19 Nathan Myers <ncm@cantrip.org>
-
- * src/string-inst: consolidate _S_create,
- destroy, leak, clone members into stringMAIN and stringMUTATE
- object files.
- * src/Makefile.am: Above, and eliminate dependence on
- wstring-inst.cc.
- * src/wstring-inst.cc: Remove.
-
-2000-04-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (AC_CXXFLAGS): Activate debugging code, again.
- Add flags for specialized rules dealing with instantiations.
-
- * src/string-inst.cc: Add instantiations missing from shared
- libraries--see stringEQ, stringCONSC.
- * src/Makefile.am (wstring_sources): Add.
- (string_sources): Same.
- * src/Makefile.in: Regenerate.
-
- * stl/*: Integrate contents of this directory into top-level
- directories.
- * ext/bvector hash_map hash_set rope ropeimpl.h slist
- stl_bvector.h stl_hash_fun.h stl_hashtable.h stl_rope.h tree: Add.
- * bits/pthread_allocimpl.h std_algorithm.h std_bitset.h
- std_deque.h std_functional.h std_iterator.h std_list.h std_map.h
- std_memory.h std_numeric.h std_queue.h std_set.h std_stack.h
- std_stdexcept.h std_strstream.h std_utility.h std_vector.h
- stl_algo.h stl_algobase.h stl_alloc.h stl_config.h stl_construct.h
- stl_deque.h stl_function.h stl_heap.h stl_iterator.h
- stl_iterator_base.h stl_list.h stl_map.h stl_multimap.h
- stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h
- stl_queue.h stl_range_errors.h stl_raw_storage_iter.h stl_relops.h
- stl_set.h stl_stack.h stl_string_fwd.h stl_tempbuf.h stl_threads.h
- stl_tree.h stl_uninitialized.h stl_vector.h type_traits.h: Add.
- * backward/algo.h algobase.h alloc.h bvector.h defalloc.h deque.h
- function.h hash_map.h hash_set.h hashtable.h heap.h iterator.h
- list.h map.h multimap.h multiset.h pair.h rope.h set.h slist.h
- stack.h tempbuf.h tree.h vector.h: Add.
- * README (file): Update.
- * docs/documentation.html: README not being found.
- * src/Makefile.am (sources): Take out stl directory.
- * mkcheck.in (SRC_DIR): And here.
- * src/Makefile.in: Regenerate.
-
-2000-04-18 Levente Farkas <lfarkas@mindmaker.hu>
-
- * stl/bits/stl_function.h: Add bits so that const and non-const
- both work.
-
-2000-04-18 scott snyder <snyder@fnal.gov>
-
- * stl/bits/stl_map.h (class map): Fix default for _Alloc template
- parameter. Get rid of use of __STL_DEFAULT_ALLOCATOR and
- __STL_LIMITED_DEFAULT_TEMPLATES macros.
- * stl/bits/stl_multimap.h (class multimap): Likewise. Get rid of
- use of __STL_DEPENDENT_DEFAULT_TMPL macro.
-
-2000-04-18 scott snyder <snyder@fnal.gov>
-
- * stl/bits/stl_config.h (__STL_DEPENDENT_DEFAULT_TMPL): Deleted
- this macro.
-
- * stl/ext/hash_map (class hash_map, class hash_multimap): Get rid
- of use of __STL_DEPENDENT_DEFAULT_TMPL macro.
- * stl/ext/hash_set (class hash_set, class hash_multiset):
- Likewise.
- * stl/bits/stl_function.h (struct constant_unary_fun, struct
- constant_binary_fun): Likewise.
- * stl/bits/stl_queue.h (class queue, class priority_queue): Likewise.
- * stl/bits/stl_stack.h (class stack): Likewise.
- * stl/bits/stl_set.h (class set): Likewise.
- * stl/bits/stl_multiset.h (class multiset): Likewise.
-
- * stl/bits/stl_iterator.h (class reverse_bidirectional_iterator,
- class reverse_iterator): Get rid of use of
- __STL_LIMITED_DEFAULT_TEMPLATES macro.
-
- * stl/bits/stl_config.h (__STL_DEFAULT_ALLOCATOR): Deleted this
- macro.
-
- * stl/bits/stl_deque.h (class deque): Get rid of use of
- __STL_DEFAULT_ALLOCATOR macro.
- * stl/bits/stl_list.h (class list): Likewise.
- * stl/bits/stl_multiset.h (class multiset): Likewise.
- * stl/bits/stl_set.h (class set): Likewise.
- * stl/bits/stl_string_fwd.h (class basic_string): Likewise.
- * stl/bits/stl_tree.h (class _Rb_tree, class rb_tree): Likewise.
- * stl/bits/stl_vector.h (class vector): Likewise.
- * stl/ext/ropeimpl.h (rotate): Likewise.
- * stl/ext/hash_map (class hash_map, class hash_multimap):
- Likewise.
- * stl/ext/hash_set (class hash_set, class hash_multiset):
- Likewise.
- * stl/ext/slist (class slist): Likewise.
- * stl/ext/stl_bvector.h (class bit_vector): Likewise.
- * stl/ext/stl_rope.h (class rope): Likewise.
- * src/locale.cc (_Impl): Likewise.
- * src/localename.cc (_Impl): Likewise.
- * bits/localefwd.h (_Impl): Likewise.
-
-2000-04-18 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/install.html: Cleanup, minor changes.
- * docs/17_intro/howto.html: Ditto.
-
-2000-04-18 Nathan Myers <ncm@cantrip.org>
-
- * bits/basic_string.h: Remove "inline" from member _S_find.
-
- * src/string-inst.cc: Rewrite to reflect non-inline template
- instantiations in string.tcc.
-
- * src/stringADDCS.cc, stringADDPS.cc, stringADDSC.cc, stringADDSP.cc,
- stringADDSS.cc, stringBIST.cc, stringBOST.cc, stringCHTR.cc,
- stringEQPS.cc, stringEQSP.cc, stringEQSS.cc, stringEXTRA.cc,
- stringGEPS.cc, stringGESP.cc, stringGESS.cc, stringGETLI.cc,
- stringGTPS.cc, stringGTPS.cc, stringGTSP.cc, stringGTSS.cc,
- stringINSER.cc, stringLEPS.cc, stringLESP.cc, stringLESS.cc,
- stringLESP.cc, stringLTPS.cc, stringLTPS.cc, stringLTSP.cc,
- stringLTSS.cc, stringMAIN.cc, stringNEPS.cc, stringNESP.cc,
- stringNESS.cc, stringSCOPY.cc: Remove.
- * src/wstringADDCS.cc, etc: Remove.
-
- Benjamin Kosnik <bkoz@haight.constant.com>
- * src/Makefile.am: Modify to reflect above.
- * src/Makefile.in: Regenerate.
-
-2000-04-17 Benjamin Kosnik <bkoz@cygnus.com>
-
- * docs/install.html (--enable-libstdcxx-v3): Clean up install docs.
-
-2000-04-13 Benjamin Kosnik <bkoz@haight.cygnus.com>
-
- * bits/std_fstream.h (filebuf::sync): Need to use the abstracted
- io interface here instead of the libio particulars.
-
- * config/threads-posix.h: Consistency with stl_config.h.
-
- * mkcheck.in (CXX_FLAG): Add DDEBUG_ASSERT back in.
-
-2000-04-13 Loren J. Rittle <ljrittle@acm.org>
-
- * mknumeric_limits: Rename generic type template parameter name
- '_T' to '_Tp'.
- * stl/bits/type_traits.h: Ditto.
-
-2000-04-06 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * mkcheck.in (SRC_DIR): Change default mkcheck behavior, so that
- it is more useful for --enable-libstdcxx-v3. Use the built
- compilers with v3, instead of compilers in PATH, and don't
- re-include include directories for checking the install.
-
-2000-04-05 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/Makefile.am (AM_CXXFLAGS): Disable NAMESPACES, as this is on
- by default when using --enable-libstdcxx-v3.
- * src/Makefile.in: Regenerate.
- * configure.in: Disable GLIBCPP_ENABLE_NAMESPACES,
- GLIBCPP_ENABLE_RELIBGCC for --enable-libstdcxx-v3 flag.
- * configure: Regenerate.
- * mkcheck.in: Deal with NAMESPACES.
-
-2000-04-05 Petter Urkedal <petter@matfys.lth.se>
-
- * src/cmath.cc: New file...
- (pow(*, int)): Define functions...
- * src/Makefile.am (sources): ...register file.
- * src/Makefile.in: Regenerate.
- * bits/std_cmath.h (pow): ...declare functions here, and remove
- old definitions.
-
-2000-04-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GCC_OBJDIR): Tweaks
-
-2000-04-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_CPU): Add arm configure bits.
- * config/cpu/arm: New directory.
-
- Jesper Skov <jskov@redhat.com>
- * config/cpu/arm/atomicity.h: New file.
-
-2000-03-31 Benjamin Kosnik <bkoz@redhat.com>
-
- * stl/bits/stl_config.h: Make _STL_THREADS depend on _REENTRANT.
- Remove unused bits. Clean.
-
-2000-03-29 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/25_algorithms: New directory.
- * testsuite/25_algorithms/min_max.cc: New file.
-
-2000-03-29 scott snyder <snyder@fnal.gov>
-
- * bits/locale_facets.tcc (do_put): Allow a couple extra digits of
- precision beyond that which we get from numeric_limits::digits10.
-
- * stl/bits/stl_algobase.h (max, min): Don't use comparison
- operator.
-
- * testsuite/23_containers/bitset_shift.cc: Fix.
-
- * testsuite/27_io/ios_manip_fmtflags.cc (test01): Don't give a
- temporary to imbue().
-
- * bits/std_fstream.h (sync): Resync libio's idea of the current
- file position with the external file.
-
-2000-03-28 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/27_io/istream_extractor_arith.cc.cvs: Fix merge
- mistake.
-
- * bits/std_fstream.h (filebuf::is_open): Check for _M_file before
- attempting calls to it.
- * bits/fstream.tcc (ctors): Don't call _M_init_filebuf in
- ctors. Instead, call _M_init_filebuf ...
- (open): Here, as suggested by 27.8.1.3.
- * src/ios.cc (ios_base::Init::Init()): Clean up default filebufs
- properly when initializing cout/cin/cerr.
-
-2000-03-27 Russell Davidson <russell@ehess.cnrs-mrs.fr>
-
- * testsuite/23_containers/multiset.cc (main): Clean up for namespaces.
- * testsuite/22_locale/ctype_char_members.cc: And here.
- * testsuite/27_io/streambuf.cc (streambuf): And here.
- * testsuite/27_io/ostream_inserter_char.cc (test06): And here.
- * testsuite/27_io/istream_unformatted.cc (test05): And here.
- * testsuite/27_io/istream_extractor_arith.cc: And here.
- * testsuite/27_io/ios_manip_basefield.cc (test02): And here.
- * testsuite/27_io/ios_base_members_static.cc: And here.
- * bits/std_climits.h (_CPP_CLIMITS): Fix typo.
-
-2000-03-27 Chris Faylor <cgf@cygnus.com>
-
- * configure.in: Remove setting of CXX if canadian cross.
- * configure: Regenerate.
-
-2000-03-27 Nathan Myers <ncm@zembu.com>
-
- * bits/sstream.tcc: Optimize.
- * bits/basic_string.h(string::append): Don't inline.
- * bits/string.tcc: Move out-of-line.
-
-2000-03-27 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4: (GLIBCPP_CHECK_COMPILER_VERSION) When using <2.96,
- define WERRORSUPPRESS so that the inlining warnings won't kill us.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.am: Use WERRORSUPPRESS for the files that need it.
- * src/Makefile.in: Regenerate.
-
- * docs/install.html: Almost complete rewrite.
-
-2000-03-25 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/install.html: Explain -Werror problem at "#Werror" mark.
- * docs/faq/index.html: Testsuite will die horribly if new libgcc.a
- not installed.
- * docs/faq/index.txt: Regenerate.
-
-2000-03-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- * src/Makefile.am (libio_headers_install): Fix.
- * src/Makefile.in: Regenerate.
-
-2000-03-24 Benjamin Kosnik <bkoz@cygnus.com>
-
- * docs/17_intro/RELEASE-NOTES: Fix typos.
- * docs/index.html: Update.
- * docs/17_intro/BUGS: Update.
- * docs/status.html: Update for 2.90.8 release.
-
-2000-03-23 Phil Edwards <pme@sourceware.cygnus.com>
-
- * Makefile.am: Better error message when missing libgcc2.ready.
- * Makefile.in: Regenerate.
- * acinclude.m4: Fastidious nitpicking reformatting.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * mkcheck.in: Must use same namespace settings as the library being
- tested. Also log ST_FLAG, since it's being passed.
- * docs/install.html: Add brief chunk on configuration.
- * docs/17_intro/RELEASE-NOTES: Fix minor Cygwin typo.
- * docs/23_containers/howto.html: Mention MT-safe string.
- * docs/faq/index.html: Minor updates.
- * docs/faq/index.txt: Regerarate.
-
-2000-03-22 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/sstream.tcc (seekoff): Fix for gptr() null cases.
- Return newoff.
- * bits/fstream.tcc (seekoff): Sync.
- (seekpos): Sync.
- * testsuite/27_io/ostream_unformatted.cc: New file.
- * testsuite/27_io/stringbuf.cc: Fix.
- * testsuite/27_io/istream_unformatted.cc (test04): Fix.
-
- * config/newlib/bits/ctype_base.h (ctype_base): Fix.
- * config/newlib/ctype.cc (ctype): Change __ctype -> _ctype_.
-
- * src/complex_io.cc (operator>>complex): Tweak.
-
- * config/cpu/alpha/atomicity.h: Explicitly typedef uint32_t, int32_t if
- <inttypes.h> does not exist.
- * config/cpu/sparc/sparc64/atomicity.h: Same.
- * config/cpu/sparc/sparc32/atomicity.h: Same.
- * config/cpu/powerpc/atomicity.h: Same.
- * config/cpu/i386/atomicity.h: Same.
- * config/cpu/generic/atomicity.h: Same.
- * configure.in: Check for inttypes.h.
- * configure: Regnerate.
-
-2000-03-21 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/std_sstream.h (_M_init_stringbuf): Set initial ate position
- correctly.
- * testsuite/27_io/ostream_inserter_char.cc (test06): Add tests for ate.
-
- * docs/17_intro/RELEASE-NOTES (New): Add bits.
-
- * configure.in: Move AC_CHECK_HEADERS to a point where we know we
- are compiling natively.
-
- * libio/*: Update to CVS libio from egcs.
-
-2000-03-21 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/download.html: Document use of -z9 for CVS.
- * docs/index.html: Add target date (no link) for future snapshot.
-
-2000-03-21 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/slice_array.h: Rename generic type template parameter name
- '_T' to '_Tp'.
- * bits/mask_array.h: Ditto
-
-2000-03-20 Benjamin Kosnik <bkoz@cygnus.com>
-
- * *: Change copyright holder from "Cygnus Solutions" to "Free
- Software Foundation, Inc."
-
- * docs/configopts.html: Explain what "hella versions" means.
- * docs/install.html: Some tweaks--nice job on this Phil.
- * docs/documentation.html: Add a direct link to configuration options.
-
- * src/Makefile.am (OPTIMIZE_CXXFLAGS): Add in extras.
- * docs/17_intro/RELEASE-NOTES (New): Add.
- * bits/c++config.h (__GLIBCPP__): Bump version.
-
- * config/c_io_libio.cc (__basic__file(__c_lock*)): Change argument
- type to match prototype.
-
-2000-03-20 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/install.html: Update for new funky build procedure. Move
- description of 'configure' options to...
- * docs/configopts.html: ...here. New file.
- * docs/17_intro/howto.html: Updates for new snapshot.
- * docs/20_util/howto.html: Ditto.
- * docs/21_strings/howto.html: Ditto.
- * docs/21_strings/stringtok_std_h.txt: Fix example typos.
- * docs/22_locale/howto.html: Ditto.
- * docs/23_containers/howto.html: Ditto.
- * docs/faq/index.html: Ditto.
-
-2000-03-18 Petter Urkedal <petter@matfys.lth.se>
- Benjamin Kosnik <bkoz@gnu.org>
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_SUPPORT): Move code for main
- to the right place.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-03-16 Benjamin Kosnik <bkoz@cygnus.com>
- scott snyder <sss@karma.fnal.gov>
-
- * config/c_io_libio.h: Add __c_lock.
- * config/threads-no.h: Same here.
- * config/threads-posix.h: Add __mutext_type typedef.
- * config/c_io_libio.cc: basic_file ctor takes lock arg.
- * bits/basic_file.h: Ctor takes lock arg.
- * bits/std_fstream.h: Add _M_lock.
- * bits/fstream.tcc: Supply it to basic_file ctor.
-
- * mkcheck.in (resultstext): Change [[ to [.
-
- * testsuite/27_io/ostream_inserter_char.cc (test06): Tweak.
-
- * bits/locale_facets.h: Tweak.
-
- * stl/bits/stl_config.h: Fix defines.
-
-2000-03-16 Benjamin Kosnik <bkoz@cygnus.com>
-
- * mkcheck.in (INC_PATH): Add paths from cpu_include_dir to find
- atomicity.h
- * configure: Regenerate.
- * aclocal.m4: Regnerate.
-
-2000-03-16 Nathan Myers <ncm@zembu.com>
-
- * bits/string.tcc: Add MT support.
- * bits/basic_string.h: Same.
-
-2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
-
- * configure.in: Make --enable-namespaces and -libgcc-rebuild=../..
- the defaults.
- * configure: Regenerate.
-
- * config/solaris/solaris2.7/ctype.cc: Fix unsigned/signed comparison.
-
-2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): If Sol2.5 ctype is found, keep
- checking for 2.[67]. (GLIBCPP_ENABLE_RELIBGCC): No longer ignore
- any defaults passed in.
- * aclocal.m4: Regenerate.
-
-2000-03-16 Phil Edwards <pme@sourceware.cygnus.com>
-
- * mkcheck.in: Report total successes and failures.
-
-2000-03-15 Benjamin Kosnik <bkoz@cygnus.com>
-
- * config/cpu: New directory, intended to be used to provide
- cpu-specific configuration files. In particular, assembly language
- primitives for thread safety.
- * config/cpu/alpha: Populate.
- * config/cpu/alpha/atomicity.h: New file.
- * config/cpu/arm: Populate.
- * config/cpu/generic: Populate.
- * config/cpu/generic/atomicity.h: New file.
- * config/cpu/hppa: Populate.
- * config/cpu/i386: Populate.
- * config/cpu/i386/atomicity.h: New file, take from i486.
- * config/cpu/m68k: Populate.
- * config/cpu/mips: Populate.
- * config/cpu/powerpc: Populate.
- * config/cpu/powerpc/atomicity.h: New file.
- * config/cpu/sparc: Populate.
- * config/cpu/sparc/sparc32: Populate.
- * config/cpu/sparc/sparc64: Populate.
- * config/cpu/sparc/sparc32/atomicity.h: New file.
- * config/cpu/sparc/sparc64/atomicity.h: New file.
-
- * src/Makefile.am (myinstallheaders): Add install routines.
- * acinclude.m4 (GLIBCPP_CHECK_CPU):Add configuration for the
- cpu dir.
- * configure.in: Add.
-
- * config/default: Adopt glibc naming conventions, and so move to
- * config/generic: Here.
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Modify default case to generic.
-
-2000-03-15 Bill Thompson <billt@toast.net>
-
- * testsuite/27_io/ostream_inserter_char.cc (test06): Add test.
-
-2000-03-14 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/17_intro/howto.html: Add missing "TOC" entry, and new section.
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Fixup.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2000-03-13 scott snyder <snyder@fnal.gov>
- Jason Merrill <jason@cygnus.com>
-
- * bits/locale_facets.h (class ctype, class ctype<char>, class
- ctype<wchar_t>): More mask fixes.
- * testsuite/22_locale/ctype.cc: Test for the problem.
-
-2000-03-13 Benjamin Kosnik <bkoz@cygnus.com>
-
- * acconfig.h: Add bits.
- * configure.in: Move AM_PROG_LIBTOOL up in file.
- Tweak cross compiling info.
- * configure: Regenerate.
-
- * mknumeric_limits (XCOMPILE): Echo compilation line for
- gen-num-limits.cc
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add aix checks.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config/aix/ctype.cc (ctype): Tweak.
- * config/aix/bits/ctype_base.h (ctype_base): Tweak.
- * config/aix/bits/ctype_specializations.h: New file.
-
-2000-03-10 scott snyder <snyder@fnal.gov>
-
- * stl/bits/stl_vector.h (_M_assign_aux): Fix for __normal_iterator
- conversions.
- * testsuite/23_containers/vector_modifiers.cc (test01): Add a
- regression test for the problem.
-
-2000-03-09 Benjamin Kosnik <bkoz@fidel.cygnus.com>
-
- * testsuite/27_io/streambuf.cc (class testbuf): Same here.
- * bits/fpos.h: And here.
- * bits/std_ostream.h: Same here.
- * bits/std_istream.h: Same here.
- * bits/basic_ios.h: Same here.
- * bits/std_fstream.h: Same here.
- * bits/sbuf_iter.h (std): Here too.
- * bits/std_sstream.h: Make types public.
-
- * src/misc-inst.cc: Use size_t instead of unsigned int.
- * bits/locale_facets.tcc (_S_format): For now, cast to char. I
- suppose this should be ctype::narrow... all the ctype<wchar_t>
- stuff needs to be cleaned up.
-
-2000-03-09 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/gentop: Remove entire directory, finally.
-
-2000-03-09 scott snyder <snyder@fnal.gov>
-
- * bits/std_cmath.h (modf): Fix pointer overrun.
- * testsuite/26_numerics/c_math.cc (test04, main): Add a regression
- test for the problem.
-
-2000-03-09 Phil Edwards <pme@sourceware.cygnus.com>
-
- Looks like changes to the #include'd files must be followed by a
- change to the #include'ing files to take effect. Caveat emptor.
- * docs/header.html: New file, for server-side include.
- * docs/footer.html: New file, for server-side include.
- * docs/documentation.html: Change to use SSI.
- * docs/download.html: Ditto.
- * docs/index.html: Ditto.
- * docs/mail.html: Ditto.
- * docs/status.html: Ditto.
- * docs/thanks.html: Ditto, plus minor updates.
- * docs/how.html: Remove.
-
-2000-03-09 Benjamin Kosnik <bkoz@gnu.org>
-
- Preliminary alpha-linux support.
- * src/locale.cc (ctype<wchar_t>): Use correct types...
- * bits/locale_facets.h (ctype<char>): Add __table_type typedef.
- (ctype<wchar_t>): Same.
- * bits/locale_facets.h (ctype<wchar_t>): Have char and wchar_t
- types match for table_size (size_t).
-
- * config/gnu-linux/ctype.cc (ctype): Change char_type to wchar_t
- as per char specialization.
- * config/*/ctype.cc: Same.
-
-2000-03-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/locale_facets.h (_Ctype<>::mask): Import from base class
- _Ctype_nois<>. Template base classes are never examinated in
- first-phase name-lookup.
-
-2000-03-08 Benjamin Kosnik <bkoz@gnu.org>
-
- Add Solaris 2.5.1 support.
- * config/solaris/solaris2.5/bits/ctype_base.h (ctype_base): And here.
- * config/solaris/solaris2.5/ctype.cc: Fixup.
- * config/solaris/solaris2.5/bits/ctype_specializations.h: Add.
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bits for solaris2.5.1.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * config/default/ctype.cc (ctype): Fixup.
-
-2000-03-07 Benjamin Kosnik <bkoz@blues.cygnus.com>
-
- * testsuite/27_io/filebuf.cc: Activate init code from yesterday...
- * testsuite/27_io/ostream_inserter_arith.cc (testcases): Fix for
- non-wchar_t case.
-
-2000-03-07 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/cpp_type_traits.h: Expand on this file purpose.
-
-2000-03-06 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/locale_facets.h (ctype<char>): Remove static members, and
- re-work initialization code.
- (ctype<wchar_t>): Same.
- Move _S_touppper to _M_toupper and initialize in ctor.
- Move _S_tolower to _M_tolower and initialize in ctor.
- Move _S_table to _M_ctable and initialize in ctor.
- * bits/locale_facets.h (std): And here.
- * src/locale.cc (std): Tweak.
- * config/gnu-linux/ctype.cc: Change initialization here.
- * config/newlib/ctype.cc: And here.
- * config/solaris/solaris2.7/ctype.cc: And here.
- * config/solaris/solaris2.6/ctype.cc: And here.
-
- * bits/localefwd.h: Tweak.
- * bits/std_streambuf.h: Tweak formatting.
-
- * testsuite/27_io/filebuf.cc: Remove BUFSIZ dependencies.
-
-2000-03-05 Chip Salzenberg <chip@valinux.com>
-
- * src/misc-inst.cc (basic_iostream<>): Instantiate.
-
-2000-03-02 Phil Edwards <pme@sourceware.cygnus.com>
- Kevin Atkinson <kevinatk@home.com>
-
- Initial grab of SGI's strstream implementation with minor
- modifications.
- * src/strstream.cc: New file.
- * std/strstream: New file.
- * stl/bits/std_strstream.h: New file.
- * bits/std_streambuf.h: Add public access.
- * src/Makefile.am: Add strstream sources to list of dependencies.
- * src/Makefile.in: Regenerate.
-
-2000-03-03 2000 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_meta.h: Fix typo.
-
-2000-03-02 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
- Chip Salzenberg <chip@valinux.com>
- Petter Urkedal <petter@matfys.lth.se>
-
- * src/Makefile.am (myinstallheaders): Hack to avoid
- `for i in ; do'.
- * src/Makefile.in: Regenerate.
-
-2000-03-02 Chip Salzenberg <chip@valinux.com>
-
- * libio/Makefile.an, math/Makefile.an, src/Makefile.am
- (LINK): Put quotes around "$(CC)" for libtool link mode,
- so libtool will use "-B" options during GCC bootstrap.
- * */Makefile.in: Regenerate.
-
-2000-03-02 Petter Urkedal <petter@matfys.lth.se>
-
- * config/c_io_libio.h: Enclose it all in ::std.
- * bits/basic_string.h (basic_string<>): Make types and
- `npos' public.
- * mkc++config: Truncate output file before writing.
-
-2000-03-01 Benjamin Kosnik <bkoz@gnu.org>
-
- * math/cabsf.c (__mycabsf): Rename to cabsf.
- * math/cabs.c (__mycabs): Rename to cabs.
-
-2000-02-29 LLeweLLyn Reese <llewelly@198.dsl.xmission.com>
-
- * bits/basic_string.h: Move declarations of __out_of_range(),
- __length_error() and accompanying macros ...
- * bits/exception_support.h: here. (Newly created file).
- * bits/basic_string.h: #include <bits/exception_support.h>
- * stl/bits/stl_vector.h: #include <bits/exception_support.h>
- * src/Makefile.am (headers): Add.
- * src/Makefile.in: Regenerate.
-
-2000-02-29 Benjamin Kosnik <bkoz@cygnus.com>
-
- * bits/cpp_type_traits.h: Rename structs so they don't clash with
- type_traits.h.
- * bits/valarray_array.h: Synch. Fix typos.
-
- * libio/Makefile.am: Change to only compile source files that
- config/c_io_libio.cc actually needs.
- * libio/Makefile.in: Regnerate.
- * libio/PlotFile.hes SFile.h builtinbuf.h editbuf.h floatconv.c
- floatio.h fstream.h indstream.h iofclose.c iofdopen.c iofeof.c
- ioferror.c iofflush.c iofgetpos.c iofgets.c iofopen.c iofprintf.c
- iofputs.c iofread.c iofscanf.c iofsetpos.c ioftell.c iofwrite.c
- iogetc.c iogetdelim.c iogetline.c iogets.c ioignore.c iomanip.h
- iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c ioputc.c
- ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c
- iosetvbuf.c iosprintf.c iosscanf.c iostream.h iostrerror.c
- ioungetc.c iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c
- istream.h list.out ostream.h outfloat.c parsestream.h peekc.c
- pfstream.h procbuf.h stdiostream.h stream.h streambuf.h strfile.h
- strops.c strstream.h: Delete.
-
- * bits/basic_file.h: Stub out or delete unused bits in this
- interface.
- (filepos_beg): Remove.
- (filepos_cur): Remove.
- (filepos_valid): Remove.
- * config/c_io_libio.cc: Resynch with the changes to basic_file.
-
-2000-02-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/cpp_type_traits.h: Correct typo.
-
-2000-02-29 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/cpp_type_traits.h: New file.
-
- * bits/valarray_array.h: Tweak. #include <bits/cpp_type_traits.h>
- Improve array construction.
- (_Array_default_ctor): New dispatcher class.
- (__valarray_default_construct): New function.
- (_Array_copy_ctor): New dispatcher class.
- (__valarray_copy_construct): New function.
- (_Array<>::free_data): Remove.
-
- * src/Makefile.am (headers): Add cpp_type_traits.h
- * src/Makefile.in: Regenerate.
-
-2000-02-28 Benjamin Kosnik <bkoz@cygnus.com>
-
- Prune libio directory to match files in libio/Makefile.
- * libio/PlotFile.cc,indstream.cc, isgetsb.cc, sbform.cc,
- stream.cc, SFile.cc, ioassign.cc, isscan.cc, sbgetline.cc,
- streambuf.cc, builtinbuf.cc, ioextend.cc, osform.cc, sbscan.cc,
- strstream.cc, editbuf.cc, iomanip.cc, parsestream.cc,
- stdiostream.cc, filebuf.cc, iostream.cc, pfstream.cc,
- stdstrbufs.cc, fstream.cc, isgetline.cc, procbuf.cc,
- stdstreams.cc: Remove.
- * libio/floatio.h, iolibio.h, iostdio.h, iostreamP.h: Remove.
- * libio/iofflush_u.c: Remove.
-
- * libio/dbz: Remove.
- * libio/include: Remove.
- * libio/stdio: Remove.
- * libio/tests: Remove.
- * libio/testsuite: Remove.
-
- * config/c_io_libio.cc: Add fcntl.h include for Solaris.
-
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add bits.
- * configure.in: Replace 'grep -e' with 'grep' for Solaris.
- * configure: Regenerate.
-
-2000-02-25 Benjamin Kosnik <bkoz@gnu.org>
-
- Abstract out the underlying "C" io bits.
- * bits/std_new.h: Remove <stl_config> include, as well as <cstddef>.
- * stl/bits/stl_string_fwd.h: Remove <stddef> include.
- * bits/std_cwchar.h: Wrap with _GLIBCPP_USE_WCHAR_T guards. Don't
- include <cstddef>.
- * stl/bits/stl_config.h: Don't include _G_config.h.
-
- * bits/basic_file.h: Allow for non-inheritance based __basic_files.
- * config/c_io_libio.h (_GLIBCPP_BASIC_FILE_INHERITANCE): Define.
- * config/c_io_libio.cc: Tweak.
-
- * src/Makefile.am (TOPLEVEL_INCLUDES): Add includedir.
- * src/Makefile.in: Regenerate.
- * Makefile.am (AM_MAKEFLAGS): Define includedir so that
- prefix/include files will be picked up.
- * Makefile.in: Regenerate.
- * math/Makefile.am (TOPLEVEL_INCLUDES): And here.
- * libio/Makefile.am (TOPLEVEL_INCLUDES): And here.
-
- * bits/std_ios.h: Include <bits/c++io.h> instead of libio.
- * bits/fpos.h: And here.
- * bits/basic_file.h (get_fileno): Move definition from ...
- * src/basic_file.cc (std): To here.
- * bits/fpos.h: Move types for streamoff, streampos to..
- * bits/basic_file.h: Move __c_file_type and fpos typedefs to...
- * config/c_io_libio.h: ...here.
- (_GLIBCPP_[BOOLALPHA, HEX, DEC, FIXED, INTERNAL, LEFT, OCT, RIGHT,
- SCIENTIFIC, SHOWBASE, SHOWPOINT, SHOWPOS, SKIPWS, UNITBUF,
- UPPERCASE, ADJUSTFIELD, BASEFIELD, FLOATFIELD, BADBIT, EOFBIT,
- FAILBIT, GOODBIT, APP, ATE, BINARY, IN, OUT, TRUNC): New macros to
- abstract out bits in ios_base.
- * bits/ios_base.h: Re-macrofy.
- * src/basic_file.cc : Rename, move to
- * config/c_io_libio.cc: Here.
- * config/c_io_libio.h: New file. Include libio.
- * bits/c++config.h: Don't define _GLIBCPP_USE_LIBIO.
- * configure.in (blddir): Add enabling bits for GLIBCPP_ENABLE_CSTDIO.
- * configure: Regenerate.
- * src/Makefile.am (sources): Take out basic_file.cc and add c++io.cc.
- (generated_headers): Add c++io.h
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New function to select
- underlying "C" io library.
- * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Roll functionality into
- GLIBCPP_ENABLE_CSTDIO.
-
- * configure.in: Add configure bits for cross compiling non-newlib
- targets. .
- GLIBCPP_CHECK_COMPILER_VERSION: Take out this test for this
- target, as we assume g++ support is not the limiting factor.
- GLIBCPP_CHECK_LIBIO: Same, know we don't need libio.
- * configure: Regenerate.
-
-2000-02-22 Benjamin Kosnik <bkoz@cygnus.com>
-
- * Makefile.am (INTERFACE): Define.
- * Makefile.in: Regenerate.
- * libio/ChangeLog: Add entry.
-
-2000-02-21 Benjamin Kosnik <bkoz@cygnus.com>
-
- * docs/install.html: Update install directions.
-
- * docs/status.html: Fix sidebar to be consistent.
- * docs/thanks.html: Same.
- * docs/links.html: Same.
- * docs/mail.html: Same.
- * docs/download.html: Same.
-
- * testsuite/27_io/filebuf.cc: Change BUFSIZ to buffer_size, and
- kill the macro BUFSIZ. I think the solaris fails lie elsewhere
- however, in the ctype_char_members.cc fail (for instance.)
- * testsuite/17_intro/headers.cc: Remove extraneous fails for hosts
- that do not have wchar_t enabled.
- * testsuite/27_io/ostream_inserter_arith.cc (struct _TestCase):
- Same here.
- * testsuite/27_io/iostream_objects.cc: And here.
-
- * libio/gen-params (CONFIG_NM): Specifically add in nm as the
- default CONFIG_NM.
-
-2000-02-18 Benjamin Kosnik <bkoz@haight.constant.com>
- Tom Tromey <tromey@cygnus.com>
-
- * configure.in: Manually add MULTISUBDIR.
- * configure: Regenerate.
- * src/Makefile.am (MULTISUBDIR): Add the lesser evil of Tom's two
- "Eww" hacks to get multilib installs working correctly.
- ($(headers): Test for MULTISUBDIR before installing.
- * Makefile.am (AM_MAKEFLAGS): Don't define MULTISUBDIR, instead
- have configure hack it in.
- * Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_CXXFLAGS): Tweak wording.
- Add enabling bits for native Cygwin ctypes, and other newlib-based
- Oses.
-
-2000-02-17 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * mkc++config (OUT_H): Remove EOF in cygwin.
- * acinclude.m4 (LIBS): Tweaks to allow cygwin to configure.
-
- Tom Tromey <tromey@cygnus.com>
- * src/Makefile.am: Tweaks for installing multilibs.
-
-2000-02-17 Benjamin Kosnik <bkoz@cygnus.com>
-
- * src/Makefile.am:
- (toolexeclib_LTLIBRARIES): Use this instead of lib_LTLIBRARIES.
- Add USE_LIBDIR bits here, not...
- * src/Makefile.in: Regenerate.
- * Makefile.am: ...here.
- * Makefile.in: Regenerate.
-
-2000-02-17 Benjamin Kosnik <bkoz@gnu.org>
-
- * acinclude.m4 (LIBS): Fix typos.
- * configure.in: _GLIBCPP_BUGGY_FLOAT_COMPLEX,
- _GLIBCPP_BUGGY_COMPLEX for crosses.
- * src/Makefile.am (std_headers): Add libio.h as install include,
- as with _G_config.h
- * src/Makefile.in: Regenerate.
-
- * mkcheck.in: Add bits to set CXX to cross compiler.
-
- * src/complex_io.cc: Tweak.
- * configure.in: _GLIBCPP_BUGGY_COMPLEX for crosses.
- * configure: Regenerate.
-
- * config/newlib/ctype.cc: Tweaks.
- * config/newlib/bits/ctype_base.h (ctype_base): Set mask to char,
- not const char.
- * src/complex_io.cc (operator>>(istream, complex): Define out if
- BUGGY_COMPLEX.
-
-2000-02-16 Benjamin Kosnik <bkoz@cygnus.com>
-
- * config/newlib/bits/ctype_base.h: Correct _S_table.
-
- Reconfigure ctype support for "C" libraries that don't use arrays.
- * testsuite/22_locale/ctype_char_members.cc: New file. Test for
- basic ctype<char> functionality.
- * src/locale.cc: Move host-specific ctype functions that are not
- inlines to config/*/ctype.cc files.
- (ctype<char>::do_tolower): For instance.
- (ctype<char>::do_toupper): For instance.
- (ctype<wchar_t>::do_tolower): For instance.
- (ctype<wchar_t>::do_toupper): For instance.
- * config/gnu-linux/ctype.cc: Modify.
- * config/default/ctype.cc: Modify.
- * config/newlib/ctype.cc: Modify.
- * config/solaris/solaris2.6/ctype.cc: Modify.
- * config/solaris/solaris2.7/ctype.cc: Modify.
-
- * bits/locale_facets.h (ctype<char>::is): Mark inline, move
- out-of-line.
- (ctype<char>::scan_is): Here too.
- (ctype<char>::scan_not): Here too.
- Move out of line defs to config/*/bits/ctype_specializations.h.
- * config/gnu-linux/bits/ctype_specializations.h: ...here. New file.
- * config/default/bits/ctype_specializations.h: ...here. New file.
- * config/newlib/bits/ctype_specializations.h: ...here. New file.
- * config/solaris/solaris2.6/bits/ctype_specializations.h: New file.
- * config/solaris/solaris2.7/bits/ctype_specializations.h: New file.
- * src/Makefile.am (headers): Add ctype_specializations.h.
- * src/Makefile.in: Regenerate.
-
- Aaron Weiss <weiss@clearway.com>
- * Makefile.am (AM_MAKEFLAGS): Add NM_FOR_BUILD, NM_FOR_TARGET, and
- CONFIG_NM for Solaris builds.
- * Makefile.in: Regenerate.
-
- * src/locale.cc: Tweak formatting.
-
-2000-02-15 Benjamin Kosnik <bkoz@cygnus.com>
-
- Jim Parsons <parsons@clearway.com>
- * testsuite/27_io/istream_unformatted.cc (test06): Add test.
- * bits/istream.tcc (read): Set failbit if !good(). Don't increment
- gcount if eof.
- (readsome): Same.
-
- Michel Decima <michel.decima@cnet.francetelecom.fr>
- * testsuite/27_io/streambuf.cc: Add test.
- * bits/streambuf.tcc (xsgetn): Don't test for valid mode.
- (xsputn): Same.
-
- * src/Makefile.am (AM_CXXFLAGS): Pass down AC_CXXFLAGS,
- OPTIMIZE_CXXFLAGS, etc. So --enable-debug and --enable-namespaces
- will work correctly, for instance.
- * src/Makefile.in: Regenerate.
-
- * bits/locale_facets.h: Fix merge error.
- (num_put::put(unsigned long long): And here.
- * mknumeric_limits (trait_name): Same.
-
-2000-02-15 Chip Salzenberg <chip@valinux.com>
-
- Support 'configure --enable-long-long'.
- * bits/c++config.h (_GLIBCPP_USE_LONG_LONG): Remove.
- * stl/bits/stl_config.h (__STL_LONG_LONG): Remove '#if 0'.
- * acconfig.h (_GLIBCPP_USE_LONG_LONG): Add. Default to undef.
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Define flag macro.
- * configure.in (GLIBCPP_ENABLE_LONG_LONG): Use it.
-
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2000-02-15 Chip Salzenberg <chip@valinux.com>
-
- Improve (complete?) 'long long' support.
- * mknumeric_limits: Call $CXX with $CPPFLAGS. Define statics
- for {,unsigned} long long if the limits header declares them.
- * src/gen-num-limits.cc: Include <bits/c++config.h> early.
- (__USE_GNU, _GNU_SOURCE): Define if _GLIBC_USE_LONG_LONG.
- (long long, unsigned long long): Gen limits if _GLIBC_USE_LONG_LONG.
- * bits/locale_facets.h (num_get<>::get(..., long long &)): Define.
- (num_put<>::put(..., long long)): Likewise.
- (num_put<>::put(..., unsigned long long)): Likewise.
- * bits/locale_facets.tcc (_S_format): Rename from _S_format_long.
- Templatize last parameter to support 'long long'.
- (num_put<>::put(...)): Call _S_format with new name.
- (num_put<>::put(..., long long)): Define.
- (num_put<>::put(..., unsigned long long)): Likewise.
- * src/locale-inst.cc (_S_format): Instantiate under new name.
-
-2000-02-15 Petter Urkedal <petter@matfys.lth.se>
-
- * src/complex.cc (operator<<, operator>>): Moved from here...
- * src/complex_io.cc: ...to new file.
- (operator>>): Stub replaced by the real thing.
- * src/Makefile.am (sources): Inserted complex_io.cc.
- * src/Makefile.in: Regenerate.
- * testsuite/26_numerics/complex_inserters_extractors.cc: Check it.
-
-2000-02-14 Benjamin Kosnik <bkoz@gnu.org>
-
- Add in ctype information for newlib "C" libraries.
- * config/newlib: New directory
- * config/newlib/bits/ctype_base.h: New file.
- * config/newlib/ctype.cc: New file.
-
- * ctype/config/linux/*: Rename, move to...
- * ctype/config/gnu-linux/*: Here.
-
- Finish off multilib work.
- * configure.in: Don't set CXX if not Canadian cross.
- * configure: Regenerate.
- * acinclude.m4 (GLIBCPP_CHECK_LIBIO): Tweak messages.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
-
- * install-sh: Remove, as AC_CONFIG_AUX_DIR(..) picks this out of
- the top-level gcc directory now.
- * mkinstalldirs: Remove.
- * missing: Remove
- * ltconfig: Remove.
- * ltmain.sh: Remove.
- * config.guess: Remove.
- * config.sub: Remove.
-
-2000-02-13 Benjamin Kosnik <bkoz@cygnus.com>
-
- * configure.in (glibcpp_basedir): Add glibcpp_basedir.
- * Makefile.am: Move mutlilib stuff to src/Makefile.am.
- * Makefile.in: Regenerate.
- * src/Makefile.am: Add multilib bits.
- * src/Makefile.in: Regenerate.
-
-2000-02-12 Benjamin Kosnik <bkoz@cygnus.com>
-
- * configure.in: Clean, add some multilib support.
- * configure: Regenerate.
- * configure.host: New file.
-
- * acinclude.m4: GLIBCPP_CHECK_LIBIO. Take bits from configure.in and
- roll a new function, checks for presence of libio.
- GLIBCPP_CHECK_COMPILER_VERSION: Same.
- GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT: Same.
- GLIBCPP_CHECK_MATH_SUPPORT: Same.
- GLIBCPP_CHECK_WCHAR_T_SUPPORT: Same.
- GLIBCPP_CHECK_LIBIO: Same.
- GLIBCPP_CHECK_CTYPE: Same.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
-
- * Makefile.am: Tweaks.
- * Makefile.in: Regenerate.
-
-2000-02-11 Benjamin Kosnik <bkoz@cygnus.com>
-
- * configure.in: Make outputing the libio/Makefile
- conditional. Haha, yeah right. Anyway, we instead do this thing
- where if libio is found, then we build a null library, as there is
- no point in duplicating the found libio.
- * Makefile.am: Tweak.
- * Makefile: Regenerate.
- * libio/Makefile.am: Add _G_config.h stuff. Now cross compilers
- are happy happy happy.
- * libio/Makefile.am: Regenerate.
- * libio/gen-params: New file.
- * src/Makefile.am: Make libio.la non-conditional, as it is now a
- null library if it's not needed. At least we are being consistent,
- if not as elegant as we could be.
- * src/Makefile: Regenerate.
-
-2000-02-10 Benjamin Kosnik <bkoz@gnu.org>
-
- * Makefile.am (SUBDIRS): Add libio again.
- * Makefile.in: Regenerate.
- * configure.in (BUILD_LIBIO_INCLUDE): And here.
- (AC_OUTPUT): Generate libio/Makefile again.
- * configure: Regnerate.
- * src/Makefile.am (libstdc___la_LIBADD): Change path so that
- libio.la is referring back to the libio subdir again.
- (LIBIO_INCLUDES): And here.
- * src/Makefile.in: Regenerate.
-
-2000-02-09 Benjamin Kosnik <bkoz@decepticon.cygnus.com>
-
- * math/complex-stub.h: Missed one. Change __mycabs* to cabs*.
-
-2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/valarray_array.h (<bits/std_new.h>): #include.
- (__valarray_get_memory): New function.
- (__valarray_release_memory): Likewise.
- (__valarray_default_construct): New functions.
- (__valarray_fill_construct): New function.
- (__valarray_copy_construct): New funstions.
- (__valarray_destroy_elements): New function.
-
- * bits/valarray_array.tcc (__valarray_copy_construct): New
- functions.
-
- * bits/std_valarray.h (valarray<>::valarray): Use
- __valarray_get_memory and __valarray_fill_construct,
- __valarray_copy_construct, __valarray_default_construct to
- properly construct valarrays.
- (valarray<>::~valarray): Use __valarray_destroy_elements to
- destroy elements and __valarray_release_memory to return memory.
- (valarray<>::shift): Tweak.
- (valarray<>::cshift): Likewise.
- (valarray<>::resize): Robustify.
-
-2000-02-09 Benjamin Kosnik <bkoz@cygnus.com>
-
- * mknumeric_limits (XCOMPILE): Add support for cross compiling.
- * bits/limits_generic.h: New file, defaults.
- * src/limits_generic.cc: New file, defaults.
- * configure.in (LIBS): Run mknumeric_limits at configure time.
- * acconfig.h: Remove PACKAGE VERSION HAVE_COMPLEX
- HAVE_LC_MESSAGES, tidy, clean, etc.
- * src/Makefile.am (geberated_sources): Remove.
-
- * bits/fpos.h: Use _GLIBCPP_USE_LIBIO guards for libio typenames
- (_IO_off_t, _IO_ssize_t)
-
- * src/complex.cc: Use glibc's <complex.h> if
- possible. . . apparently this was not being done before. Include
- tweaks.
- (abs): Enable cabs if it's around, instead of mycabs.
- * src/complexf.cc (FCT): Add global scope to match complex.cc.
- * src/complexl.cc (FCT): Same.
- * math/Makefile.am (EXTRA_LONG_DOUBLE_yes): Change mycabsl to cabsl.
- (libmath_la_SOURCES): And here.
- * math/(mycabs.c, mycabsf.c, mycabsl.c): Move to. . .
- * math/(cabs.c, cabsf.c, cabsl.c): . . . Here.
- * math/complex-stub.h: Move c_log declarations into. . .
- * math/mathconf.h: Here. This is because glibc's <complex.h>
- declares cclog, not c_log. The case of the dueling standards. . .
- * math/mathconf.h: Add _GLIBCPP_HAVE_* to macros.
- * math/Makefile.am: Change.
- * math/nan.c (nan): Change signature.
- * math/mathconf.h (NAN): Same.
- * math/complex-stub.h (nan): And here.
-
- * Makefile.am (rebuild-stamp): Remove libio and libio
- dependencies. Plan to take out libio subdir and just merge with
- libio in top level gcc directory. Of course, this assumes there is
- a libio in the top level directory (ie ../src_dir). This will
- probably change the way this library is configured by default.
- * libio/*: Remove.
-
-2000-02-09 Chip Salzenberg <chip@valinux.com>
-
- * localefwd.h (locale): Make public: facet, id, category.
-
-2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * testsuite/26_numerics/buggy_complex.cc: Fix Origin:.
-
- * acinclude.m4: Patch only once!
-
-2000-02-09 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * testsuite/26_numerics/buggy_complex.cc: New file.
-
-2000-02-05 Petter Urkedal <petter@matfys.lth.se>
-
- * acinclude.m4: New GLIBCPP_CHECK_COMPLEX_SUPPORT macro. Based
- on the 1999-11-21 entries by Mumit Khan.
- * configure.in: Use.
- * acconfig.h: New _GLIBCPP_BUGGY_COMPLEX macro.
- * bits/std_complex.h: Use.
-
-2000-02-04 Philip Martin <pm@corris.dircon.co.uk>
-
- * stl/bits/stl_algobase.h: Add traits based dispatch for
- __normal_iterator in the copy_backward()algorithm
- * stl/bits/stl_vector.h: Reduce use of __normal_iterator
- base() function.
-
-2000-02-04 Mumit Khan <khan@xraylith.wisc.edu>
-
- * src/gen-num-limits.cc (signal_handler): Work around signal
- handling problem on Cygwin.
- Thanks to Chris Faylor <cgf@cygnus.com>.
-
-2000-02-03 Benjamin Kosnik <bkoz@cygnus.com>
-
- * configure.in: Add (preliminary) support for cross compiles and
- multilibs.
- Remove AC_C_BIGENDIAN tests. Why is this necessary? Cross
- compilation freaks on this.
- * configure: Regenerate.
- * src/Makefile.am: Add support for cross compiles.
- * src/Makefile: Regenerate.
- * Makefile.am: Add support for cross compiles.
- * Makefile.in: Regenerate.
-
-2000-02-02 Benjamin Kosnik <bkoz@cygnus.com>
-
- * configure.in (LIBS): Remove unused subdirs.
- * configure: Regenerate.
- * Makefile.am (SUBDIRS): And here.
- * Makefile.in: Regenerate.
- * src/Makefile.am (sources): And here.
- * src/Makefile.in: Regenerate.
- * string/*: Remove.
- * amm1/*: Remove.
- * generic/*: Remove.
- * glibc/*: Remove.
- * mkcheck.in (INC_PATH): Include $BUILD_DIR before any source dirs.
-
- * libtool: Update to libtool-1.3.4.
- * ltconfig: Same
- * ltmain.sh: Same
- * config.sub: Same.
- * config.guess: Same.
-
-2000-02-02 Benjamin Kosnik <bkoz@cygnus.com>
- Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * mkc++config: New file. Put autoconf macros into _GLIBCPP_
- namespace instead of polluting global namespace with duplicate
- autoconf output.
- * configure.in (AC_OUTPUT): Don't need to generate bits/config.h
- here anymore. . .
- (AC_OUTPUT_COMMANDS): Make it here.
- * configure: Regenerate.
- * bits/c++config.h.in (_CPP_CPPCONFIG): Change. Tweak. Remove
- endif, as now we will add it manually.
- Move to this file. . .
- * bits/c++config.h: New file. Same as old c++config.h.in except
- the ending macro guard is now appended manually.
-
- * bits/locale_facets.tcc: Change HAVE_* macros to _GLIBCPP_HAVE_*.
- * bits/std_cmath.h: Same here.
- * bits/std_cwchar.h: And here.
- * src/locale.cc: And here.
- * src/complexl.cc: And here.
- * math/mathconf.h: Change to include "config.h" instead of
- bits/c++config.h.
-
-2000-02-01 Benjamin Kosnik <bkoz@gnu.org>
-
- * configure.in: Add support for threads. Try a model closer to
- libjava, as hopefully if the thread bits are added carefully
- enough, the source code will not have gross hacks. Besides, the
- libstdc++-v2 model could be easily emulated without the necessity
- of linking files in (as currently done)--all that needs to be done
- is AC_DEFINE(-D_PTHREADS) etc. However, let's try something
- new. . . and see if we arrive at a more elegant solution.
- * configure: Regenerated.
- * config/threads-no.h: New file.
- * config/threads-posix.h: New file.
- * src/Makefile.am (myinstallheaders): Install c++threads.h.
- * src/Makefile.in: Regenerated.
-
-2000-01-31 Benjamin Kosnik <bkoz@gnu.org>
-
- META-QUESTION: Can we just make a "header.html" file and a
- "footer.html" and just include them in all the doc sub-pages. The
- duplication of the header info is kind of gross, and weak
- considering that if you change order or layout then all this stuff
- has to be changed in all the sub-files.
-
- * docs/17_intro/contribute.html: Take out duplicate file info.
- * README: Should just contain a link to the docs/index.html
- page. Duplicate information removed.
- * docs/faq/index.html: Remove indexes into HOWTOS.
- * docs/17_intro/howto.html: Make intro and docs part more
- centralized. Move intro stuff to documentation.html.
- * docs/how.html: Tweak. Does this file need to exist? What calls it?
- * docs/README.html: Move documentation files to
- documentation.html. Should this file be renamed
- "config_and_install.html" as that is what is apparently covered
- here. . .
- * docs/install.html: Yes. New file, moved and renamed README.html.
- * docs/documentation.html: New file. This is the index file for
- the documentation.
- * docs/index.html: Edit sidebar order. Insert new link to new
- documentation spine, documentation.html.
-
-2000-01-31 Scott Snyder <snyder@fnal.gov>
-
- * bits/istream.tcc (operator>>(istream&, string&)): Set failbit if
- we don't extract any characters.
- * testsuite/21_strings/inserters_extractors.cc (main): New tests.
-
-2000-01-31 Anders Widell <awl@hem.passagen.se>
-
- * stl/bits/std_bitset.h (_M_do_left_shift): Handle case when shift
- step is a multiple of the word size.
- (_M_do_right_shift): Same.
- * testsuite/23_containers/bitset_shift.cc: New file.
-
-2000-01-31 Nathan Myers <ncm@zembu.com>
-
- * README (Documentation): Add path info, fix typos.
-
-2000-01-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * bits/locale_facets.tcc (num_get::_M_extract): Add the freaking
- crazy group checking for numpunct, for real this time. At some
- point, the local variable __grp should probably get replaced a
- char array, or something a bit more lightweight.
- (num_get::do_get(bool)): Simplify. Don't set bool reference to
- parsed value unless err isn't failbit.
- (num_get::do_get(*)): Same, make consistent.
-
- Nathan Myers <ncm@zembu.com>
- Jim Parsons <parsons@clearway.com>
- * testsuite/27_io/istream_extractor_arith.cc (test08): Add
- more grouping tests, tweak, scold, wine.
-
-2000-01-24 Benjamin Kosnik <bkoz@gnu.org>
-
- * testsuite/27_io/istream_extractor_arith.cc (test07): Add
- grouping tests.
- * bits/locale_facets.tcc (num_get::_M_extract): Change to fix
- grouping bugs. Only allow thousands_sep if _M_use_groupings is
- true.
-
- via <llewelly@198.dsl.xmission.com>
- * stl/bits/stl_vector.h (vector::_M_range_check): Throw
- out_of_range instead of range_error.
-
-2000-01-17 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
- * bits/std_iomanip.h (setw): Fix typo.
-
-2000-01-14 Benjamin Kosnik <bkoz@gnu.org>
-
- * testsuite/27_io/istream_extractor_arith.cc: Fix.
- * bits/locale_facets.tcc (do_get(...void)): Change to strtoul.
- * testsuite/27_io/istream_unformatted.cc (test04): Tweak.
-
-2000-01-14 Phil Edwards <pme@sourceware.cygnus.com>
-
- * docs/README.html: Reformat, more installation instructions.
- * docs/gccrebuild.html: New file.
- * docs/faq/index.html: Update for new testsuite output filenames.
- * docs/faq/index.txt: Regenerate.
-
-2000-01-14 Phil Edwards <pme@sourceware.cygnus.com>
-
- * Makefile.am (rebuild-stamp, all-local): New targets.
- * Makefile.in: Regenerated.
- * acinclude.m4: New macro, GLIBCPP_ENABLE_RELIBGCC.
- * aclocal.m4: Regenerated.
- * configure.in: Call new macro. Also do some sanity checks
- for combinations of --enable's that may not make sense.
- * configure: Regenerated.
-
-2000-01-13 Benjamin Kosnik <bkoz@cygnus.com>
-
- * testsuite/27_io/istream_extractor_arith.cc: Add checks for void*.
- * bits/locale_facets.tcc (do_get::(...void)): Set fmtflags
- correctly for hex-formatted input.
-
- * testsuite/27_io/istream_manip.cc (test01): Fix, as per setting
- eofbit instead of eofbit | failbit.
- * testsuite/27_io/istream_unformatted.cc (test04): Fix, as
- ifstreams now are opened or'd with ios_base::in (as is correct).
- * bits/fstream.tcc (filebuf::seekoff): Simplify.
- * testsuite/27_io/ios_base_members_static.cc (test01): Fix thinko.
-
-2000-01-12 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/std_fstream.h: Add ios_base as a friend to basic_filebuf.
- * bits/basic_file.h (basic_file::filepos_cur): Remove incorrect
- (misleading) code.
- (__basic_file::filepos_valid): Same.
- (__basic_file::filepos_beg): Same.
- (__baseic_file::get_fileno): New function.
- * bits/ios_base.h (ios_base::sync_with_stdio): Implement, including
- feedback from LWG 49.
- * src/ios.cc: Move definition here.
- * testsuite/27_io/ios_base_members_static.cc (test01): Add tests.
-
- * bits/std_sstream.h (_M_really_sync): Simplify argument list. Set
- output part of internal buffer based on string size, so that
- _M_out_end is set consistently with filebufs. Correct comments.
- * bits/sstream.tcc (stringbuf::overflow): Update here too.
- * testsuite/27_io/stringbuf.cc: Changes.
-
-2000-01-11 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/sstream.tcc (seekoff): Set based on end of written buffer,
- not buffer size.
- * testsuite/27_io/stringbuf.cc: Add tests for seekoff(end).
-
- * bits/std_fstream.h (ifstream::open): Add ios_base::in to openmode.
- (ofstream::open): Add ios_base::out to openmode.
-
- * bits/locale_facets.tcc (_M_extract): Have consistency between
- istream::sentry and extractors, where failbit | eofbit is
- set. Don't change this, but instead change. . (do some formatting
- tweaks.)
- * bits/istream.tcc (istream::sentry): Only set eofbit.
-
-2000-01-10 Benjamin Kosnik <bkoz@gnu.org>
-
- * testsuite/27_io/istringstream_members.cc: New file.
-
-2000-01-09 Benjamin Kosnik <bkoz@gnu.org>
-
- * bits/istream.tcc (istream::sentry): Flush.
-
- * configure.in (AC_OUTPUT_COMMANDS): Simplify.
- * configure: Regenerate.
- * src/Makefile.am (generated_headers): Remove bits/c++config.h so
- that make clean will not delete it.
- * src/Makefile: Regenerate.
-
-2000-01-07 Phil Edwards <pme@sourceware.cygnus.com>
-
- * mkcheck.in: Use host-specific invocation of size(1);
- GNU binutils isn't necessarily there (more's the pity).
-
-2000-01-06 Benjamin Kosnik <bkoz@cygnus.com>
-
- * configure.in (LIBS): Better tests for solaris2.6.
- * configure: Regenerate.
-
- <vakatov@ncbi.nlm.nih.gov>
- * bits/std_sstream.h: As per libstdc++20.
-
-2000-01-06 Benjamin Kosnik <bkoz@gnu.org>
-
- Break out configuration on solaris.
- * configure.in (ctype_solaris): Add in bits for solaris2.6 and 2.7.
- * config/solaris/ctype.cc: Delete and move to proper version.
- * config/solaris/bits: Same.
- * config/solaris/solaris2.5: Add this directory, with subdir bits
- and file ctype.cc. Probably doesn't work.
- * config/solaris/solaris2.6: Same.
- * config/solaris/solaris2.7: Same, as per specs via Phil Edwards.
-
- * Makefile.am: Change paths to mkcheck.
- * Makefile: Regenerate.
- * configure.in (AC_OUTPUT_COMMANDS): Build mkcheck here.
- * configure: Regenerate.
- * src/Makefile.am (generated_headers): Add bits/c++config.h.
-
- * mkcheck: Now autogenerated by configure and renamed. . .
- * mkcheck.in (INC_PATH): Add glue for ctype_include_dir.
- Have longer-style dates.
- Raja R Harinath <harinath@cs.umn.edu>
- * mkcheck: Change path to #!/usr/clocal/bin/bash.
-
- * docs/README.html: Correct links, maybe. FAQ, install notes, and
- general documentation need to be organized around each other, not
- fight against each other. . .
-
-2000-01-04 Phil Edwards <pme@sourceware.cygnus.com>
- Nicolai Josuttis <nicolai.josuttis@braunschweig.netsurf.de>
-
- * README: Add a note referring to README.html.
- * docs/README.html: New file from Nicolai.
- * docs/faq/index.html: Move "how to get a copy" to here.
- * docs/gentop/footchunk.html: Update.
- * docs/gentop/headchunk.html: New links according to
- bkoz's idea for "How to..." stuff.
- * docs/gentop/thanks: Actually put people here.
- * docs/download.html: Regenerated.
- * docs/index.html, docs/links.html, docs/mail.html,
- docs/status.html, docs/thanks.html, docs/faq/index.txt: Ditto.
- * docs/how.html: Ditto. (This file should go away soon.)
-
diff --git a/contrib/libstdc++/ChangeLog-2001 b/contrib/libstdc++/ChangeLog-2001
deleted file mode 100644
index e7d658febc05..000000000000
--- a/contrib/libstdc++/ChangeLog-2001
+++ /dev/null
@@ -1,6067 +0,0 @@
-2001-12-31 Paolo Carlini <pcarlini@unitus.it>
-
- * include/ext/iterator: Add #include <bits/std_iterator.h>, tweak.
- * testsuite/ext/headers.cc: Add <ext/iterator>.
-
-2001-12-31 Paolo Carlini <pcarlini@unitus.it>
-
- * include/backward/algo.h: Add two more using declarations.
- * include/backward/iterator.h: Include <ext/iterator>,
- add using declaration.
- * include/ext/algorithm: Add #pragma GCC system_header.
-
-2001-12-31 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_bvector.h: Change calls to 3-argument distance()
- into standard 2-argument version.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/ext/stl_hashtable.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Move distance() extension...
- * include/ext/iterator: to here. New file.
- * include/Makefile.am (ext_headers): Add new file, alphabetize.
- * include/Makefile.in: Regenerate.
-
-2001-12-31 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_deque.h: Doxygenate with initial/example hooks.
- Clean up spacing and indentation.
-
-2001-12-31 Paolo Carlini <pcarlini@unitus.it>
-
- * include/ext/slist: Move into __gnu_cxx,
- tweak, add using declarations.
-
-2001-12-31 Paolo Carlini <pcarlini@unitus.it>
-
- * include/ext/hash_map: Move into __gnu_cxx,
- tweak, add using declarations.
- * include/ext/hash_set: Ditto.
- * include/ext/ropeimpl.h: Ditto.
- * include/ext/stl_hash_fun.h: Ditto.
- * include/ext/stl_hashtable.h: Ditto.
- * include/ext/stl_rope.h: Ditto.
- * src/ext-inst.cc: Tweak.
- * testsuite/ext/rope.cc: Tweak.
-
-2001-12-31 Paolo Carlini <pcarlini@unitus.it>
-
- * include/backward/algo.h: Include <ext/algorithm>,
- tweak using declarations.
-
-2001-12-29 Richard Henderson <rth@redhat.com>
-
- * config/os/hpux/bits/os_defines.h: Don't define __glibcpp_long_bits.
- * config/os/hpux/bits/cpu_limits.h: New file.
- * configure.target (CPULIMITSH): Use it.
-
-2001-12-28 Richard Henderson <rth@redhat.com>
-
- * config/cpu/ia64/bits/cpu_limits.h: New file.
- * config/os/osf/osf5.0/bits/cpu_limits.h: New file.
- * configure.target (CPULIMITSH): Use them.
-
-2001-12-28 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/c++config: Move doxygen hook comment...
- * docs/doxygen/doxygroups.cc: ...to here.
-
-2001-12-28 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/2054
- * include/bits/stl_algo.h (lower_bound): Relax concept checks.
- * testsuite/ext/concept_checks.cc: New file.
-
-2001-12-28 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_algo.h (count returning void,
- count_if returning void, __random_sample, random_sample,
- random_sample_n, __is_heap, is_heap, is_sorted): Move to...
- * include/ext/algorithm: ...here, new file.
- * include/Makefile.am (ext_headers): Add new file.
- * include/Makefile.in: Regenerate.
- * testsuite/ext/headers.cc: Include <ext/algorithm>.
-
-2001-12-28 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * include/bits/basic_string.h (insert(__pos, __s, __n)):
- Optimize by avoiding temporaries and working in-place when possible.
- (insert(__pos1, __str)): Call insert(__pos1, __str, __pos2, __n).
- (insert(__pos1, __str, __pos2, __n)): Call insert(__pos, __s, __n).
- * testsuite/21_strings/insert.cc (test02): New testcases.
-
-2001-12-27 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/testsuite_hooks.h (gnu_counting_struct): Add.
- * testsuite/23_containers/deque_ctor.cc: New file.
-
-2001-12-27 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (collate::do_transform):
- Adjust implicit typename.
- * config/locale/messages_members_generic.h (messages::open,
- messages::do_open, messages::do_get): Adjust implicit typename.
- * config/locale/messages_members_gnu.h (messages::open,
- messages::do_open, messages::do_get): Adjust Implicit typename.
- * config/locale/messages_members_ieee_1003.1-200x.h (messages::open,
- messages::do_open, messages::do_get): Adjust implicit typename.
-
-2001-12-27 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/3829
- * src/misc-inst.cc: Many additional I/O-related instantiations.
- * testsuite/27_io/instantiations.cc: New file.
-
-2001-12-26 Benjamin Kosnik <bkoz@waller.constant.com>
-
- * testsuite/24_iterators/insert_iterator.cc (test02): Add.
- * testsuite/24_iterators/front_insert_iterator.cc (test02): Add.
- * testsuite/24_iterators/back_insert_iterator.cc (test02): Add.
- * testsuite/24_iterators/reverse_iterator.cc (test02): Add.
-
- * include/bits/stl_iterator.h (reverse_iterator): Uglify member
- current to _M_current.
- (back_insert_iterator): Uglify member container to _M_container.
- (front_insert_iterator): Same.
- (insert_iterator): Same.
-
-2001-12-25 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/std_limits.h (__glibcpp_xxx_is_modulo): New
- macros for signed types; default value is true.
- (numeric_limits<>::is_modulo): Get value from corresponding
- __glibcpp_xxx_is_modulo macro.
-
-2001-12-23 Jeffrey A Law <law@redhat.com>
-
- * config/os/hpux/bits/os_defines.h: Do not include <_sys/inttypes.h>.
- Twiddle return types for strtoll and strtoull to avoid using
- intmax_t and uintmax-t.
-
-2001-12-22 Richard Henderson <rth@redhat.com>
-
- * configure.target (CPULIMITSH): Fix typo in alpha case.
-
-2001-12-22 Jeffrey A Law <law@redhat.com>
-
- * config/os/hpux/bits/os_defines.h: Update to avoid #defines
- for strtoll and strtoull.
-
-2001-12-21 Jeffrey A Law <law@redhat.com>
-
- * config/os/hpux/bits/os_defines.h: Include <sys/_inttypes.h.
- Define strtoll and strtoull. Provide prototypes for
- __strtoll and __strtoull. Define _GLIBCPP_USE_LONG_LONG
- unconditionally.
-
- * src/locale-inst.cc: Include <bits/std_cstdlib.h>
-
- * configure.target: Fix typo in hpux case.
-
-2001-12-21 Paolo Carlini <pcarlini@unitus.it>
-
- * include/ext/stl_rope.h (_Rope_iterator):
- Add local typedef to fix implicit typename problems.
-
-2001-12-19 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/Intro.3: New 'Allocators' module.
- * docs/doxygen/TODO: Update.
- * docs/doxygen/doxygroups.cc: Update.
- * docs/doxygen/run_doxygen: Update.
-
- * include/bits/stl_alloc.h: Tweak doxygen hooks in comments.
- * include/bits/std_memory.h: Doxygenate.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_raw_storage_iter.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- (get_temporary_buffer): Remove unused nonstandard overload.
- * include/bits/stl_uninitialized.h: Likewise.
-
- * include/bits/stl_iterator_base_types.h (input_iterator,
- output_iterator, forward_iterator, bidirectional_iterator,
- random_access_iterator): Move old names...
- * include/backward/iterator.h: ...to here.
- * include/bits/stl_bvector.h: Update.
- * include/ext/stl_rope.h: Update.
-
-2001-12-19 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/configopts.html: Describe recent options.
- * docs/html/documentation.html: Point to new doxygen tarballs.
- * docs/html/install.html: Brief updates.
- * docs/html/17_intro/RELEASE-NOTES: Remove weird control character.
- * docs/html/ext/howto.html: Fix typos, describe filebuf::fd().
- * docs/html/faq/index.html: Update for 3.0.95.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-12-19 David Billinghurst <David.Billinghurst@riotinto.com>
-
- libstdc++-v3/5148
- * testsuite/lib/libstdc++-v3-dg.exp: Append .exe to
- executable filenames
-
-2001-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/TODO: Update.
- * docs/html/17_intro/RELEASE-NOTES: Edits, update.
- * README: Edit for clarity, update to reflect current directory
- structure.
-
-2001-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Extended checking before
- enabling gnu model.
- * aclocal.m4: Rebuild.
- * configure: Rebuild.
-
-2001-12-18 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * include/bits/basic_string.h (assign(__str, __pos, __n)):
- Call assign(__s, __n).
- (assign(__s, __n)): Terminate the string with _S_terminal.
-
-2001-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/std_limits.h (__glibcpp_long_double_is_bounded):
- Set to true, like float and double.
-
-2001-12-17 David Billinghurst <David.Billinghurst@riotinto.com>
-
- libstdc++/5136
- * testsuite/lib/prune.exp: New file
- * testsuite/lib/libstdc++-v3-dg.exp: Use it
-
-2001-12-17 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/basic_file.h (__basic_file::fd): New function.
- * config/io/basic_file_stdio.h (__basic_file::fd): Define.
- * include/bits/std_fstream.h (basic_filebuf::fd): New function.
- * include/bits/fstream.tcc (basic_filebuf::fd): Define.
- * testsuite/27_io/filebuf_members.cc (test_02): New test.
-
-2001-12-16 Nathan Sidwell <nathan@codesourcery.com>
-
- * po/Makefile.am (.po.mo): Use POSIXLY_CORRECT argument ordering.
- * po/Makefile.in: Regenerated.
-
-2001-12-16 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/21_strings/assign.cc (test01): Add tests.
-
-2001-12-15 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * include/bits/basic_string.h
- (assign(__str, __pos, __n), assign(__s, __n)): Optimize
- by avoiding unnecessary temporaries.
- (assign(__s)): Call assign(__s, __n).
- * include/bits/basic_string.tcc (_M_replace_safe): Adjust comment.
- * include/bits/std_string.h: include stl_function.h.
- * testsuite/21_strings/assign.cc (test02, test03): New tests.
-
-2001-12-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Enable gnu locale model
- on linux by default.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-12-14 Benjamin Kosnik <bkoz@redhat.com>
-
- Clean up initialization and simplify caching of underlying "C"
- default locale objects.
- * src/localename.cc (locale::_Impl::_Impl(string, size_t):
- Unconditionally create __clocale object for all named locales,
- including "C" and "POSIX".
- * config/locale/c_locale_generic.cc
- (locale::facet::_S_create_c_locale): Always set __cloc to zero.
- * config/locale/c_locale_gnu.cc: Always delete.
- * include/bits/localefwd.h (locale::facet::_S_c_locale): New.
- * src/locale.cc (locale::classic()): Initialize
- locale::facet::_S_c_locale.
- (locale::facet::_S_c_locale): Define.
-
- * include/bits/locale_facets.h: Add ctype_byname<wchar_t> ctor
- specialization.
- * src/locale.cc: Add definition here.
- * config/os/gnu-linux/bits/ctype_inline.h: Tweak.
- * config/os/gnu-linux/bits/ctype_noninline.h: Adjust initializations.
- * include/bits/locale_facets.h (ctype<char>::_M_c_locale_ctype): Add.
- Adjust ctors, dtors.
- (ctype<char>::_M_toupper): Remove const&.
- (ctype<char>::_M_tolower): Remove const&.
- (ctype<char>::_M_ctable): Remove const&.
-
- * include/bits/locale_facets.h (collate): Clean up initialization
- of _M_c_locale_collate in ctors and dtors.
- * config/locale/collate_members_gnu.cc: Always use extended
- functions.
-
- * include/bits/locale_facets.h (messages): Clean up inits in ctor/dtor.
- (messages_byname): Same.
- * config/locale/messages_members_generic.h (messages::~messages):
- Remove.
- * config/locale/messages_members_gnu.h: Same.
-
- * include/bits/localefwd.h: Clean. Move dtor definitions to
- * src/locale.cc: Here.
- * testsuite/22_locale/facet.cc: Fix spelling.
-
- Named locale support for ctype<wchar_t>.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add variable
- ctype_members_* bits.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.am (sources): Add ctype.cc.
- * src/Makefile.in: Regenerate.
- * config/locale/ctype_members_generic.cc: New file.
- * config/locale/ctype_members_gnu.cc: New file.
- * src/locale.cc: Remove ctype<wchart_t> definitions.
-
-2001-12-13 Roger Sayle <roger@eyesopen.com>
-
- * acconfig.h: Test for __builtin_sqrt instead of
- __builtin_fsqrt.
- * acinclude.m4: Same.
- * include/c_shadow/bits/std_cmath.h: Same.
- * aclocal.m4: Regenerated.
- * config.h.in: Regenerated.
- * configure: Regenerated.
-
-2001-12-13 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/ext/howto.html: Fix typos.
-
-2001-12-13 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3679
- * src/locale.cc (locale::locale(const char*)): Deal with locales
- named "".
- * testsuite/22_locale/ctor_copy_dtor.cc (test01): Modify.
-
-2001-12-12 Paolo Carlini <pcarlini@unitus.it>
-
- * include/ext/ropeimpl.h (rope::_S_leaf_concat_char_iter,
- _S_destr_leaf_concat_char_iter, _S_tree_concat, _S_concat_char_iter,
- _S_destr_concat_char_iter, _S_concat, _S_substring, _S_balance)
- : Adjust implicit typename.
- * include/ext/stl_rope.h (_Rope_iterator::operator=, rope::npos):
- Adjust implicit typename.
- * testsuite/27_io/streambuf.cc: Adjust implicit typename.
-
-2001-12-12 Benjamin Kosnik <bkoz@redhat.com>
-
- Named locale support for ctype<char>.
- * config/locale/c_locale_gnu.h (_GLIBCPP_C_LOCALE_GNU): New.
- * config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>): Add
- definitions for alternate constructor.
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
- * config/os/newlib/bits/ctype_noninline.h (ctype): Same.
- * config/os/irix/irix6.5/bits/ctype_noninline.h (ctype): Same.
- * config/os/irix/irix5.2/bits/ctype_noninline.h (ctype): Same.
- * config/os/hpux/bits/ctype_noninline.h (ctype): Same.
- * config/os/generic/bits/ctype_noninline.h (ctype): Same.
- * config/os/djgpp/bits/ctype_noninline.h (ctype): Same.
- * config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
- * config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
- * config/os/aix/bits/ctype_noninline.h (ctype): Same.
- * include/bits/locale_facets.h (ctype<_CharT>): Remove dummy
- definitions for all virtual functions. These are now explicitly
- undefined for non-required factets, ie any non-char, non-wchar_t
- instantiations.
- * src/localename.cc (locale::_Impl::_Impl(string, size_t): Named
- locales use alternate constructor for ctype facet.
- * include/bits/locale_facets.h (ctype<char>::ctype(__c_locale, const
- mask*, bool, size_t): Add.
- (ctype<wchar_t>::ctype(__c_locale, size_t): Add.
- * src/locale.cc (ctype<wchar_t>::ctype(__c_locale, size_t)): Add
- definition.
-
- * testsuite/22_locale/ctype_members_char.cc (test02): Add, mark
- XFAIL for non-gnu locale models.
-
-2001-12-12 Philip Martin <philip@codematters.co.uk>
- Ross Smith <r-smith@ihug.co.nz>
- Paolo Carlini <pcarlini@unitus.it>
-
- libstdc++/5045
- * include/bits/std_limits.h (defines, numeric_limits<bool>::digits10):
- Fix digits10 values for integral types.
- * include/bits/locale_facets.tcc (num_get::do_get for integral types):
- Tweak _M_extract_int call.
- * testsuite/27_io/istream_extractor_arith.cc (test13, test12_aux):
- Tweak overflowing number of digits.
- * testsuite/18_support/numeric_limits.cc (test03): New testcase.
-
-2001-12-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/generic/bits/ctype_inline.h: Remove spaces.
- * config/os/gnu-linux/bits/ctype_noninline.h: Same.
- * include/bits/locale_facets.h (__num_base): Move double data
- members to first in class.
- * include/bits/locale_facets.tcc: Re-arrange, tweak.
- * src/locale.cc: Clean.
- *include/bits/stl_vector.h: Space typedefs.
-
-2001-12-11 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/ext/allocators.cc: New file.
-
-2001-12-11 Jason Merrill <jason@redhat.com>
-
- * include/bits/locale_facets.tcc (_M_extract_int): Avoid
- uninitialized warning.
-
-2001-12-11 Loren Rittle <ljrittle@acm.org>
-
- * config/cpu/sparc/sparc32/bits/atomicity.h
- (__Atomicity_lock<0>::_S_atomicity_lock): Add.
-
-2001-12-10 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.tcc (_M_replace_safe): Fix typos.
- * include/bits/basic_string.h: Fix typos.
-
-2001-12-10 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * include/bits/basic_string.tcc (_M_replace_safe): New function.
- (_M_replace(input_iterator_tag), append members): Use it.
- (_M_replace(forward_iterator_tag)): Remove.
- * include/bits/basic_string.h: Adjust declarations.
- * src/string-inst.cc: Adjust declarations.
-
-2001-12-09 Benjamin Kosnik <bkoz@redhat.com>
- Philip Martin <pmartin@uklinux.net>
-
- * include/bits/locale_facets.h (__num_base::_S_scale_hex): Add.
- (__num_base::_S_scale_oct): Add.
- * include/bits/locale_facets.tcc (_M_extract_int): Use them.
- * src/locale.cc: Add definitions.
- * testsuite/27_io/istream_extractor_arith.cc (main): Call test13.
-
- * testsuite/testsuite_hooks.h: Remove duplicate VERIFY define.
-
-2001-12-07 Nathan Myers <ncm@cantrip.org>
- Loren Rittle <ljrittle@acm.org>
-
- libstdc++/5037
- * config/cpu/sparc/sparc32/bits/atomicity.h
- (struct __Atomicity_lock<__inst>): Add.
- (__Atomicity_lock<__inst>::_S_atomicity_lock): Add.
- (__exchange_and_add): Use __Atomicity_lock<0>::_S_atomicity_lock
- instead of lock local to static function.
- (__atomic_add): Likewise.
-
-2001-12-07 Phil Edwards <pme@gcc.gnu.org>
-
- * src/globals.cc: Remove __GTHREADS guard.
-
-2001-12-07 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (num_put::_M_convert_float):
- Extend comment, reduce __cs_size for non-fixed outputs.
-
-2001-12-07 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.tcc (_M_mutate): Fix typo
- in the previous check in.
-
-2001-12-06 Paolo Carlini <pcarlini@unitus.it>
- Loren J. Rittle <ljrittle@acm.org>
-
- * include/bits/basic_string.tcc (_M_mutate, _M_clone): Implement
- exponential growth policy to meet linear amortized time
- requirements of the standard.
- (_S_create): Adjust comment.
-
-2001-12-06 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3720
- * include/bits/locale_facets.tcc (num_put): Clean.
- (num_get::_M_extract_float): Change argument to string.
- (num_get::do_get(float)): Fixup.
- (num_get::do_get(double)): Same.
- (num_get::do_get(long double)): Same.
- (num_get::_M_extract_int): Add maximum length parameter, __max.
- (num_get::_M_extract_float): Correct zeros, use string.
- * include/bits/locale_facets.h (num_get::_M_extract_float): Change
- declaration here.
- * src/locale.cc (__num_base::_S_atoms): Remove x, X.
- * testsuite/27_io/istream_extractor_arith.cc (test13): Add.
-
-2001-12-06 Philip Martin <pmartin@uklinux.net>
-
- * testsuite/27_io/istream_extractor_arith.cc (test12): Add
- tests for excess input digits.
-
-2001-12-06 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/std_bitset.h: Use GLIBCPP in multiple-inclusion guard.
- * include/bits/stl_algo.h: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_function.h: Likewise.
- * include/bits/stl_iterator.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
-
- * include/bits/stl_alloc.h: Use our own multiple inclusion guards.
- Doxygenate more comments. Correct historical artifacts in comments.
- (alloc, single_alloc): Uglify non-standard names.
- (__default_alloc_template::_NFREELISTS): Calculate from other
- parameters.
- (__default_alloc_template::_S_free_list): Remove SunPro workaround.
- (__default_alloc_template::_Lock): Mark as "unused".
- * include/backward/alloc.h: Update.
- * include/bits/stl_bvector.h: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/stl_hashtable.h: Likewise.
-
-2001-12-05 Benjamin Kosnik <bkoz@redhat.com>
-
- DR/282
- * include/bits/locale_facets.tcc (num_put::_M_widen_float): Add
- grouping to floating point types.
- * testsuite/27_io/ostream_inserter_arith.cc (test02): Add test.
-
-2001-12-04 Paolo Carlini <pcarlini@unitus.it>
-
- libstdc++/4402
- * testsuite/27_io/ostream_inserter_arith.cc (test02): Add testcase
- from the PR.
- * include/bits/locale_facets.tcc (num_put::_M_convert_float):
- Deal properly with long ios_base::fixed floats.
- (num_put::_M_widen_float): use
- __len in __builtin_alloca call.
-
-2001-12-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (sources): Add ext-inst.cc.
- * src/Makefile.in: Regenerate.
- * src/ext-inst.cc: New file.
- * include/bits/stl_threads.h: Format.
- * src/globals.cc: Add instantiation for _S_swap_lock.
-
- * testsuite/18_support/numeric_limits.cc: Add numeric_limits<B>
- instantiation.
-
-2001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * testsuite/22_locale/numpunct_members_wchar_t.cc: Only compile
- and execute test01 if _GLIBCPP_USE_WCHAR_T is defined.
- * testsuite/26_numerics/complex_inserters_extractors.cc: Provide
- for explicit instantiation of class std::basic_string<char,
- gnu_char_traits, std::allocator<char> >.
-
-2001-12-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/collate.cc: Compile-only.
- * testsuite/22_locale/time_get.cc: Same.
- * testsuite/22_locale/time_put.cc: Same.
- * testsuite/22_locale/numpunct.cc: Same.
- * testsuite/22_locale/num_put.cc: Same.
- * testsuite/22_locale/num_get.cc: Same.
- * testsuite/22_locale/moneypunct.cc: Same.
- * testsuite/22_locale/money_get.cc: Same.
- * testsuite/22_locale/messages.cc: Same.
- * testsuite/22_locale/ctype.cc: Same.
-
-2001-12-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/string-inst.cc (string::_Rep::_S_terminal): Add static data
- member instantiations.
-
-2001-12-03 Steve Ellcey <sje@cup.hp.com>
-
- * libstdc++-v3/configure.in: Add support for hpux cross compiles,
- combine common linux/hpux/generic cross compile support to reduce
- redundent lines.
- * libstdc++-v3/configure: Regenerate.
-
-2001-12-03 Loren J. Rittle <ljrittle@acm.org>
-
- * docs/html/ext/howto.html: Update commentary.
- * include/bits/c++config: Update threading configuration comment.
- (__STL_GTHREADS): Remove macro definition.
- (__STL_THREADS): Likewise.
- * include/bits/stl_threads.h: Leave only the configuration
- path which had been guarded by __STL_GTHREADS. Remove all
- guards related to __STL_GTHREADS, __STL_SGI_THREADS,
- __STL_PTHREADS, __STL_UITHREADS and __STL_WIN32THREADS.
- * include/bits/stl_alloc.h: Leave only the configuration path
- which had been guarded by __STL_THREADS. Remove configuration
- path and guards for __STL_SGI_THREADS.
- (__NODE_ALLOCATOR_THREADS): Remove macro definition. Unroll its use.
- (__NODE_ALLOCATOR_LOCK): Likewise.
- (__NODE_ALLOCATOR_UNLOCK): Likewise.
- (_NOTHREADS): Remove guards related to macro.
- * include/ext/stl_rope.h: Remove configuration path and guards
- for __STL_SGI_THREADS.
- * src/stl-inst.cc: Remove use of __NODE_ALLOCATOR_THREADS.
-
-2001-12-02 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/ext/howto.html: Update list of implemented DRs.
- * docs/html/ext/lwg-active.html: Import R20 from upstream.
- * docs/html/ext/lwg-defects.html: Import R20 from upstream.
-
-2001-11-30 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3150
- DR/266
- * libsupc++/exception (bad_exception::~bad_exception()): Remove
- declaration.
- * libsupc++/new (bad_alloc::~bad_alloc()): Remove.
- * libsupc++/typeinfo (bad_cast::~bad_cast()): Remove.
- (bad_typeid::~bad_typeid()): Remove.
- * libsupc++/tinfo.cc (bad_cast::~bad_cast()): Remove definition.
- (bad_typeid::~bad_typeid()): Same.
- * libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
- * libsupc++/eh_exception.cc (bad_exception::~bad_exception()): Same.
-
- * include/bits/std_iomanip.h: Tweak.
-
-2001-11-29 Paolo Carlini <pcarlini@unitus.it>
-
- libstdc++/3655
- * include/bits/locale_facets.tcc (__pad): Add bool parameter to
- correctly pad internal-adjusted const char*-type objects.
- * include/bits/locale_facts.tcc (num_put::_M_insert): Update call.
- * include/bits/ostream.tcc (operator<<(_CharT , char, const
- _CharT*, const char*, const basic_string&): Update calls.
- * src/locale-inst.tcc: Update declarations.
- * testsuite/27_io/ostream_inserter_arith.cc (test04): Add test.
-
-2001-11-29 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/ext/howto.html: Finish allocator notes (inst and 3.0).
-
-2001-11-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (num_get::do_get(long double)):
- Fix __traits_type typo.
-
-2001-11-28 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (__pad): Correctly pad
- internal-adjusted hex numbers.
- * testsuite/27_io/ostream_inserter_arith.cc: Add testcase.
-
-2001-11-28 Paolo Carlini <pcarlini@unitus.it>
- Loren J. Rittle <ljrittle@acm.org>
-
- * include/bits/basic_string.h
- (basic_string::_Rep::__default_excess, _S_excess_slop):
- Unused, remove.
- * include/bits/basic_string.tcc: Remove dead code.
- * include/bits/c++config: Remove comment.
-
-2001-11-28 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * config/locale/moneypunct_members_gnu.cc
- (moneypunct<wchar_t>::_M_initialize_moneypunct): Correctly cast
- for ia64, others.
- * config/locale/numpunct_members_gnu.cc
- (numpunct<wchar_t>::_M_initialize_numpunct): Same.
-
-2001-11-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc: Formatting tweaks.
-
- * testsuite/23_containers/map_operators.cc: Don't xfail.
- * testsuite/23_containers/set_operators.cc: Same.
- * testsuite/backward/header_iterator_h.cc: Pass in -Wno-deprecated.
- * testsuite/backward/header_deque_h.cc: Same.
-
-2001-11-27 Loren J. Rittle <ljrittle@acm.org>
- Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.tcc (basic_string::_Rep::_S_create):
- Enforce allocation size blocking policy to reduce
- fragmentation and enhance performance with common malloc
- implementations.
-
-2001-11-27 Benjamin Kosnik <bkoz@redhat.com>
-
- Numeric facets cleanup.
- * include/bits/locale_facets.h (__num_base::_S_atoms): Add, remove
- + and - signs.
- (__num_base::_M_zero): Add
- (__num_base::_M_e): Add.
- (__num_base::_M_E): Add.
- * include/bits/locale_facets.tcc (num_get::_M_extract): Remove.
- (num_get::_M_extract_float): New.
- (num_get::_M_extract_int): New.
- * src/locale.cc (num_get::_M_extract): Remove.
-
- * include/bits/locale_facets.tcc (num_put::_M_insert_float):
- Simplify, use _M_insert.
- (num_put::do_put(bool)): Simplify, remove __pad.
- (__pad): Remove.
- (__pad_output): Change to __pad.
- * include/bits/ostream.tcc: And here.
- * src/locale-inst: Remove instantiations.
-
- * include/bits/locale_facets.h: Move helper functions in to class
- num_put.
- (num_put::_M_insert_float): Same, for __output_integer.
- (num_put::_M_insert_int): Same, for __output_float.
- (num_put::_M_insert): New.
- (__num_base): Add.
- (__num_base::_S_format_float): Move
- __build_float_format into class __num_base.
- (__num_base::_S_format_int): Move __build_int_format into class
- __num_base.
- * include/bits/locale_facets.tcc (__group_digits): Change to
- (__add_grouping): This.
- * src/locale-inst.cc: And here. Tweak instantiations.
- * src/misc-inst.cc: Remove instantiations.
-
- * include/bits/ostream.tcc (__pad_char): Rename, adjust inserters
- for new calling conventions, move to...
- * include/bits/locale_facets.tcc (__pad_output): Here. Adjust
- signature to make it useful for both ostream and num_put.
- (__pad_numeric): Remove.
- * src/misc-inst.cc: Remove instantiations.
- * src/locale-inst.cc: Same.
-
- * include/bits/locale_facets.h (_Numeric_get): Remove.
- (_Numeric_put): Remove.
- (num_get::get(short)): Remove.
- (num_get::get(int)): Remove.
- (num_get::do_get(short)): Remove.
- (num_get::do_get(int)): Remove.
- * include/bits/istream.tcc (istream::operator>>(short)): Fix as
- per DR 118.
- (istream::operator>>(int)): Same.
-
- * include/bits/locale_facets.h (_Format_cache): Remove.
- * include/bits/locale_facets.tcc: Same.
- * src/locale.cc: Same.
- * src/locale-inst.cc: Same.
- * include/bits/ostream.tcc: Same.
- * src/ios.cc (ios_base::imbue): Remove here as well.
-
- * testsuite/22_locale/num_get.cc: New file.
- * testsuite/22_locale/num_get_members_char.cc: New file.
- * testsuite/22_locale/num_get_members_wchar_t.cc: New.
- * testsuite/22_locale/numpunct_members_wchar_t.cc: New file.
- * testsuite/22_locale/num_put.cc: New file.
- * testsuite/22_locale/num_put_members_char.cc: New file.
- * testsuite/22_locale/num_put_members_wchar_t.cc: New file.
- * testsuite/27_io/ostream_inserter_arith.cc: Fix.
- * testsuite/27_io/istream_extractor_arith.cc: Fix.
-
-2001-11-27 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/explanations.html: New section, empty for now.
- * docs/html/17_intro/howto.html: Cleanup. Move unrelated link...
- * docs/html/23_containers/howto.html: ...to here. Break up and
- rewrap threading discussion to emphasize warning. Move malloc text...
- * docs/html/ext/howto.html: ...to here. New section. Describe
- allocators and __USE_MALLOC effects.
- * docs/html/ext/sgiexts.html: Mention their code.
-
-2001-11-24 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
- docs/html/27_io/binary_iostreams_kuehl.txt: Revert previous
- changes.
-
-2001-11-23 Phil Edwards <pme@gcc.gnu.org>
-
- * Makefile.am (doxygen-maint): The script isn't executable in CVS.
- * Makefile.in: Regenerated.
- * docs/doxygen/TODO: New file listing doxygen work to be done.
- * docs/doxygen/run_doxygen: Fix up man pages.
- * docs/doxygen/user.cfg.in: Insert maint-only toggles.
- * docs/doxygen/maint.cfg.in: Copy from user.cfg and turn toggles on.
- * include/bits/stl_construct.h: Use new hooks for internal functions.
-
- * docs/html/17_intro/TODO: Small updates.
- * docs/html/faq/index.html: Likewise.
- * docs/html/faq/index.txt: Regenerated.
-
- * include/bits/stl_alloc.h: Doxygenate, reindent comments, remove
- SGI-isms and wrappers.
- (simple_alloc, debug_alloc): Uglify class names.
- (__default_alloc_template): Uglify "threads" template parameter and
- update corresponding macros.
- * include/backward/alloc.h: Bring up to date.
-
-2001-11-23 Jason Merrill <jason@redhat.com>
-
- * src/vterminate.cc (__verbose_terminate_handler): Add leading
- underscores.
-
-2001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
- docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3,
- docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE,
- docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN,
- docs/html/17_intro/howto.html, docs/html/17_intro/porting.html,
- docs/html/17_intro/porting.texi, docs/html/18_support/howto.html,
- docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
- docs/html/21_strings/howto.html,
- docs/html/23_containers/howto.html,
- docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
- docs/html/27_io/binary_iostreams_kuehl.txt,
- docs/html/ext/sgiexts.html, docs/html/faq/index.html,
- docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc,
- include/bits/basic_file.h, include/bits/locale_facets.h,
- include/bits/locale_facets.tcc, include/bits/std_sstream.h,
- include/ext/ropeimpl.h, include/ext/stl_rope.h,
- libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo,
- libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure,
- configure.target, ChangeLog-2000: Fix spelling errors.
-
- * config/locale/moneypunct_members_gnu.cc,
- include/bits/locale_facets.h: Fix spelling errors.
-
-2001-11-22 Stephen M. Webb <stephen@bregmasoft.com>
-
- * testsuite/23_containers/list_capacity.cc: New file.
- * testsuite/23_containers/list_ctor.cc: New file.
- * testsuite/23_containers/list_modifiers.cc: New file.
- * testsuite/23_containers/list_operators.cc: New file.
-
-2001-11-22 Stephen M. Webb <stephen@bregmasoft.com>
-
- * include/bits/stl_list.h: Reformatted according to C++STYLE rules.
- (size): Replaced nonstandard distance() call with the standard one.
- (transfer): Uglified to _M_transfer.
-
-2001-11-21 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/4548
- * include/bits/basic_string.tcc (basic_string::reserve): Never shrink
- below the current size.
- * testsuite/21_strings/capacity.cc (test02): Add test.
-
-2001-11-19 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/Intro.3: More notes.
- * docs/doxygen/style.css: Update to default style from Doxygen 1.2.10.
- * include/bits/stl_algobase.h: Add doxygen hooks for functions.
- * include/ext/hash_map: Add @file hook.
- * include/ext/hash_set: Likewise.
- * include/ext/rope: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/slist: Likewise.
- * include/ext/stl_hash_fun.h: Likewise.
- * include/ext/stl_hashtable.h: Likewise.
- * include/ext/stl_rope.h: Likewise.
-
- * docs/html/17_intro/license.html: Remove "experimental" sentence.
- * docs/html/19_diagnostics/howto.html: Document new verbose
- terminate handler.
- * testsuite/27_io/filebuf.cc: Fix comment, move tweakable parameter
- to more visible (closer to description) position.
-
- * libsupc++/eh_type.cc: Formatting tweak.
- * libsupc++/exception: Likewise.
- * src/vterminate.cc: Likewise.
-
- * docs/html/17_intro/porting.html: Regenerate.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-11-18 Jason Merrill <jason@redhat.com>
-
- * libsupc++/eh_personality.cc (__cxa_call_unexpected): Take void*.
- * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
- * libsupc++/unwind-cxx.h: Adjust.
- * src/Makefile.am (strstream.o): Pass -Wno-deprecated.
-
- * libsupc++/eh_type.cc (__cxa_current_exception_type): New file.
- * libsupc++/cxxabi.h: Declare it.
- * libsupc++/Makefile.am (sources): Add it.
- * src/vterminate.cc (verbose_terminate_handler): New file.
- * libsupc++/exception: Declare it.
- * src/Makefile.am (sources): Add it.
-
- * src/Makefile.am (VPATH): Check the src directory before the top one.
-
-2001-11-16 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_deque.h (deque::erase()): Fix memory leak.
-
-2001-11-16 Loren J. Rittle <ljrittle@acm.org>
-
- * docs/html/17_intro/howto.html (Thread-safety): Rename
- section to ``The Standard C++ library and multithreading'' and
- update information based on recent mailing list traffic. Move
- all discussion of __USE_MALLOC to...
- * docs/html/23_containers/howto.html (Containers and multithreading):
- ...here and rework it based on recent mailing list traffic.
-
-2001-11-15 Loren J. Rittle <ljrittle@acm.org>
-
- * docs/html/faq/index.html (Is libstdc++-v3 thread-safe?): Clarify
- wording.
-
-2001-11-15 <bjornw@planetarion.com>
- Loren J. Rittle <ljrittle@acm.org>
-
- libstc++/4219
- * include/bits/stl_alloc.h (alloc): Update to use __mem_interface.
- (single_client_alloc): Likewise.
-
-2001-11-08 Danny Smith <dannysmith@users.sourceforge.net>
-
- * configure.target: Add os_include_dir for mingw32* target.
- * docs/html/17_intro/porting.texi: Mention mingw32 as target benefiting
- from _GLIBCPP_AVOID_FSEEK.
- * config/os/mingw32/bits/ctype_base.h: New file.
- * config/os/mingw32/bits/ctype_inline.h: New file.
- * config/os/mingw32/bits/ctype_noninline.h: New file.
- * config/os/mingw32/bits/os_defines.h: New file.
-
-2001-11-07 Nathan Myers <ncm@cantrip.org>
-
- * docs/html/faq/index.html (5.8): New entry on ABIs.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-11-07 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html: Explain libsupc++, mention 'long long'
- bugfixes on Solaris.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-11-06 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Run the test in
- LANG_CPLUSPLUS mode.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-11-05 Phil Edwards <pme@gcc.gnu.org>
-
- * porting.texi: Move...
- * docs/html/17_intro/porting.texi: ...to here.
- * docs/html/Makefile: Add rule to rebuild...
- * docs/html/17_intro/porting.html: ...this. New file.
-
-2001-11-05 Felix Natter <fnatter@gmx.net>
-
- * docs/html/17_intro/porting-howto.xml: check in v0.9.4
- * docs/html/17_intro/porting-howto.html: regenerate
-
-2001-11-02 Loren J. Rittle <ljrittle@acm.org>
-
- * include/bits/stl_threads.h (_Atomic_swap): Only enable path
- when platform supports __GTHREAD_MUTEX_INIT.
-
-2001-11-02 Phil Edwards <pme@gcc.gnu.org>
-
- * acconfig.h: Update comments.
- * acinclude.m4 (GLIBCPP_ENABLE_C99): Move strtoll, strtoull tests...
- (GLIBCPP_ENABLE_LONG_LONG): ...to here. Don't check enable_c99.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
- * include/bits/boost_concept_check.h: Unconditionally compile uses
- of 'long long' which require only compiler support, not C lib support.
- * include/bits/cpp_type_traits.h: Likewise.
- * include/bits/std_limits.h: Likewise.
- * include/bits/type_traits.h: Likewise.
- * src/concept-inst.cc: Likewise.
- * src/limits.cc: Likewise.
- * include/c_shadow/stdlib.h: Compile conditionally on _GLIBCPP_USE_C99
- instead of _GLIBCPP_USE_LONG_LONG.
- * include/c_shadow/bits/std_cstdlib.h: Likewise.
-
-2001-11-02 Phil Edwards <pme@gcc.gnu.org>
-
- * config/io/c_io_stdio.h: Correct grammar in comments.
- * docs/doxygen/Intro.3: Expand "top-level" man page.
- * docs/doxygen/doxygroups.cc: New module definitions (comments).
- * docs/doxygen/mainpage.doxy: Tweaks.
- * docs/doxygen/run_doxygen: Update Doxygen version, massage man pages.
-
- Add @file hooks so that headers are considered to be documented.
- * include/bits/basic_ios.h, include/bits/basic_file.h,
- include/bits/basic_string.h, include/bits/boost_concept_check.h,
- include/bits/char_traits.h, include/bits/codecvt.h,
- include/bits/concept_check.h, include/bits/cpp_type_traits.h,
- include/bits/fpos.h, include/bits/gslice.h, include/bits/gslice_array.h,
- include/bits/indirect_array.h, include/bits/ios_base.h,
- include/bits/locale_facets.h, include/bits/localefwd.h,
- include/bits/mask_array.h, include/bits/pthread_allocimpl.h,
- include/bits/slice.h, include/bits/slice_array.h,
- include/bits/std_algorithm.h, include/bits/std_bitset.h,
- include/bits/std_complex.h, include/bits/std_deque.h,
- include/bits/std_fstream.h, include/bits/std_functional.h,
- include/bits/std_iomanip.h, include/bits/std_ios.h,
- include/bits/std_iosfwd.h, include/bits/std_iostream.h,
- include/bits/std_istream.h, include/bits/std_iterator.h,
- include/bits/std_limits.h, include/bits/std_list.h,
- include/bits/std_locale.h, include/bits/std_map.h,
- include/bits/std_memory.h, include/bits/std_numeric.h,
- include/bits/std_ostream.h, include/bits/std_queue.h,
- include/bits/std_set.h, include/bits/std_sstream.h,
- include/bits/std_stack.h, include/bits/std_streambuf.h,
- include/bits/std_string.h, include/bits/std_utility.h,
- include/bits/std_valarray.h, include/bits/std_vector.h,
- include/bits/stl_algo.h, include/bits/stl_alloc.h,
- include/bits/stl_bvector.h, include/bits/stl_construct.h,
- include/bits/stl_deque.h, include/bits/stl_heap.h,
- include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
- include/bits/stl_iterator_base_types.h, include/bits/stl_list.h,
- include/bits/stl_map.h, include/bits/stl_multimap.h,
- include/bits/stl_multiset.h, include/bits/stl_numeric.h,
- include/bits/stl_pair.h, include/bits/stl_pthread_alloc.h,
- include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
- include/bits/stl_relops.h, include/bits/stl_set.h,
- include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
- include/bits/stl_threads.h, include/bits/stl_tree.h,
- include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
- include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
- include/bits/stringfwd.h, include/bits/type_traits.h,
- include/bits/valarray_array.h, include/bits/valarray_meta.h:
- Add hooks, tweak comments only.
-
- * include/bits/stl_algobase.h (swap, min, iter_swap): Also
- document these functions.
- * include/bits/stl_function.h: Tweak link comments.
-
-2001-11-01 Paolo Carlini <pcarlini@unitus.it>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ios_manip_fmtflags.cc: Fix for non-interactive
- output.
- * include/bits/locale_facets.tcc (num_put::do_put(bool)): Fix.
-
-2001-11-01 Egor Duda <deo@logos-m.ru>
-
- * config/os/newlib/bits/ctype_noninline.h
- (ctype<char>::do_toupper(char __c)): Check for proper character class.
- (ctype<char>::do_tolower(char __c)): Ditto.
-
-2001-11-01 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4: Fix spacing.
- (GLIBCPP_ENABLE_CONCEPT_CHECKS): New macro.
- * configure.in: Call here.
- * acconfig.h: Add _GLIBCPP_CONCEPT_CHECKS.
- * include/bits/boost_concept_check.h: Fix headers.
- (__function_requires): Make inline.
- * include/bits/c++config (_GLIBCPP_CONCEPT_CHECKS): Remove.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
- Move trailing ';' inside macro, PR libstdc++/3666.
- * include/bits/concept_check.h: Add semicolon.
- * include/bits/stl_algo.h: Remove semicolon.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/ext/hash_map: Likewise.
- * include/ext/hash_set: Likewise.
- * include/ext/slist: Likewise.
-
- * src/concept-inst.cc: New file with explicit instantiations.
- * src/Makefile.am (sources): Add here, with special build rules.
- * src/Makefile.in: Regenerate.
-
-2001-11-01 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/std_complex.h (_Norm_helper): New class template.
- (norm): Tweak.
- (abs): Tweak. Fix Thinko.
-
-2001-10-31 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/4749
- * include/bits/codecvt.h: Add virtual member function declarations.
- * src/codecvt.cc: Tweaks.
- * testsuite/22_locale/codecvt.cc: Test compilation only,
- non-required facets not required to have linkage.
-
-2001-10-31 Edward E. Meyer <edward.e.meyer@boeing.com>
-
- libstdc++/4622
- * include/bits/std_complex.h (complex::operator/=): Correct sign.
-
-2001-10-30 Paolo Carlini <pcarlini@unitus.it>
- Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/4354
- * include/bits/basic_string.h: Tweaks.
- * include/bits/basic_string.tcc (string::_M_replace(iterator,
- iterator, _ForwardIter, _ForwardIter, forward_iterator_tag): Fix.
- * src/string-inst.cc: Tweaks, add instantiation.
- * testsuite/21_strings/replace.cc (test02): Add test.
- * testsuite/21_strings/assign.cc (test01): New file.
-
-2001-10-30 Jakub Jelinek <jakub@redhat.com>
-
- * include/bits/stl_deque.h (_M_new_elements_at_front): Use
- __throw_exception_again.
- (_M_new_elements_at_back): Likewise.
-
-2001-10-29 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3647
- * include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
- * testsuite/27_io/filebuf.cc (test07): New test.
- (test03): Modify showmanyc test.
-
-2001-10-26 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/4503
- * config/locale/codecvt_specializations_ieee_1003.1-200x.h
- (__enc_traits::~__enc_traits): Fix.
- (__enc_traits::_M_init): Add error checking.
-
-2001-10-25 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/4542
- * include/bits/locale_facets.tcc (time_get::_M_extract_name): Fix.
-
-2001-10-25 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/4545
- * include/bits/ostream.tcc (ostream::operator<<(streambuf*)): Fix
- exceptions.
- * include/bits/istream.tcc (istream::operator>>(streambuf*): Make
- consistent, where possible.
- * include/bits/streambuf.tcc: Tweak.
-
-2001-10-25 Brendan Kehoe <brendan@zen.org>
-
- libstdc++/4536
- * bits/ostream.tcc (seekp): Scope use as ios_base::failbit.
- * bits/istream.tcc (seekg): Likewise.
-
-2001-10-25 Benjamin Kosnik <bkoz@redhat.com>
- Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
- Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/os/gnu-linux/bits/os_defines.h: Set to 64 bit longs with
- __s390x__ only.
- * include/bits/std_limits.h: Fix wchar_t issues.
- * config/os/aix/bits/os_defines.h: Fix.
-
-2001-10-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (collate::do_transform): Fix.
-
-2001-10-25 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/documentation.html: Fix typo.
-
-2001-10-23 Benjamin Kosnik <bkoz@redhat.com>
-
- Make -fno-exceptions work.
- * config/locale/c_locale_gnu.cc: Use functexcept.
- * include/bits/c++config (__stl_assert): Remove.
- (__STL_USE_EXCEPTIONS): Same.
- (__STL_TRY): Same.
- (__STL_CATCH_ALL): Same.
- (__STL_THROW): Same.
- (__STL_RETHROW): Same.
- (__STL_NOTHROW): Same.
- (__STL_UNWIND): Same.
- * include/bits/pthread_allocimpl.h: Fix.
- * include/bits/std_bitset.h: Same.
- * include/bits/std_list.h: Same.
- * include/bits/std_memory.h: Same.
- * include/bits/std_queue.h: Same.
- * include/bits/stl_alloc.h: Same.
- * include/bits/stl_deque.h: Same.
- * include/bits/stl_list.h: Same.
- * include/bits/stl_queue.h: Same.
- * include/bits/stl_tempbuf.h: Same.
- * include/bits/stl_tree.h: Same.
- * include/bits/stl_uninitialized.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/ext/ropeimpl.h: Same.
- * include/ext/slist: Same.
- * include/ext/stl_hashtable.h: Same.
- * include/ext/stl_rope.h: Same.
- * libsupc++/new_op.cc: Include cstdlib.
- * libsupc++/eh_personality.cc: Add exception_defines include. Use
- __throw_exception_again, tweak.
- * libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
- * libsupc++/vec.cc: Tweak.
- * src/functexcept.cc: Remove unused arguments.
- * testsuite/23_containers/bitset_members.cc: Tweak.
-
-2001-10-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/cpu/i386/bits/limits.h: Move to...
- * config/cpu/i386/bits/cpu_limits.h: ...here.
- * config/cpu/cris/bits/cpu_limits.h: Same.
- * config/cpu/powerpc/bits/cpu_limits.h: Same.
- * config/cpu/x86-64/bits/cpu_limits.h: Same.
- * config/cpu/alpha/bits/cpu_limits.h: New.
- * config/cpu/m68k/bits/cpu_limits.h: New.
- * config/cpu/s390/bits/cpu_limits.h: New.
- * config/os/aix/bits/os_defines.h: Tweaks.
- * config/os/bsd/freebsd/bits/os_defines.h: Same.
- * config/os/bsd/netbsd/bits/os_defines.h: Same.
- * config/os/djgpp/bits/os_defines.h: Same.
- * config/os/generic/bits/os_defines.h: Same.
- * config/os/gnu-linux/bits/os_defines.h: Same.
- * config/os/hpux/bits/os_defines.h: Same.
- * config/os/irix/irix5.2/bits/os_defines.h: Same.
- * config/os/irix/irix6.5/bits/os_defines.h: Same.
- * config/os/newlib/bits/os_defines.h: Same.
- * config/os/solaris/solaris2.5/bits/os_defines.h: Same.
- * config/os/solaris/solaris2.6/bits/os_defines.h: Same.
- * config/os/solaris/solaris2.7/bits/os_defines.h: Same.
-
- * include/bits/c++config: Remove include.
- * include/bits/limits_generic.h: Remove.
- * include/bits/std_limits.h: Include cpu_limits.h.
- * include/Makefile.am: Fixup.
- * src/limits.cc: Tweak.
- * src/limits_generic.cc: Remove.
- * src/gen-num-limits.cc: Remove.
- * mknumeric_limits: Remove.
-
-2001-10-20 Brendan Kehoe <brendan@zen.org>
-
- * bits/type_traits.h (_Bool): Removed this type.
- (__true_type, __false_type): Change to be plain structs.
- * src/string-inst.cc (__destroy_aux): Change third parm to be
- __false_type instead of _Bool<false>.
- * src/misc-inst.cc (__uninitialized_fill_n_aux,
- __uninitialized_copy_aux): Likewise.
-
-2001-10-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * mkcheck.in (static_fail): Remove older memory limit functionality.
- Disable E_TIME due to formatting issues.
-
- * README: Update.
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/std_complex.h: Default initialize second argument
- of polar to 0, as specified in Library DR #79
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/stl_raw_storage_iter.h (operator=): Fix to call
- _Construct instead of construct.
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/basic_string.tcc (find_first_not_of): Take out check for
- __n being non-zero, since the standard does not mandate that.
- e.g., a search for "" in "" should yield position 0, not npos.
- (find_last_not_of): Likewise.
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/stl_bvector.h (vector<bool>::_M_range_check): Fix
- to throw out_of_range, not range_error, thus sayeth $23.1.1.13.
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/stl_iterator.h (reverse_iterator::current): Rename
- member from _M_current, and change all uses; thus sayeth $24.4.1.1.
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/stl_algo.h (partial_sort): Add missing `>' on the
- template parameter _ValueType.
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/std_limits.h: Clean up extra semicolons.
- * include/bits/locale_facets.h: Likewise.
- * include/bits/type_traits.h: Likewise.
-
-2001-10-19 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/localefwd.h (locale::combine): Add const for lib DR 14.
- * include/bits/locale_facets.tcc (locale::combine): Likewise.
-
-2001-10-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (__timepunct::_M_put_helper):
- Declare specializations for char, wchar_t.
-
-2001-10-19 Andreas Jaeger <aj@suse.de>
-
- * config/cpu/x86-64/bits/limits.h: New file.
- * config/cpu/x86-64/bits/atomicity.h: New file.
- * configure.target: Add x86-64.
-
-2001-10-17 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/17_intro/howto.html: Remove 1999 links (and explain
- why). Add link to recent message.
- * docs/html/faq/index.html (5.6): Reformat text only; fixup <pre>
- markup.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-10-12 Loren J. Rittle <ljrittle@acm.org>
-
- * docs/html/faq/index.html (Is libstdc++-v3 thread-safe?): Update
- based on Nathan's review. Use Nathan's words.
-
-2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
-
- * docs/html/configopts.html: Quote StyleSheet attribute values.
- * docs/html/documentation.html: Likewise.
- * docs/html/explanations.html: Likewise.
- * docs/html/install.html: Likewise.
- * docs/html/17_intro/howto.html: Likewise.
- * docs/html/17_intro/license.html: Likewise.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/19_diagnostics/howto.html: Likewise.
- * docs/html/20_util/howto.html: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/22_locale/howto.html: Likewise.
- * docs/html/23_containers/howto.html: Likewise.
- * docs/html/24_iterators/howto.html: Likewise.
- * docs/html/25_algorithms/howto.html: Likewise.
- * docs/html/26_numerics/howto.html: Likewise.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/ext/sgiexts.html: Likewise.
- * docs/html/faq/index.html: Likewise.
-
-2001-10-11 Loren J. Rittle <ljrittle@acm.org>
-
- * docs/html/faq/index.html (Is libstdc++-v3 thread-safe?): Rewrite.
- * docs/html/23_containers/howto.html (Containers and multithreading):
- Update.
-
-2001-10-09 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/17_intro/howto.html: Tweak markup and value type.
- * docs/html/27_io/howto.html: Tweak markup, describe setbuf() for
- nonzero arguments, add new note on threading.
- * docs/html/faq/index.html: Update.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-10-09 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/configopts.html: More HTML->XHTML and lowercasing of tags.
- * docs/html/documentation.html: Likewise.
- * docs/html/explanations.html: Likewise.
- * docs/html/install.html: Likewise.
- * docs/html/17_intro/howto.html: Likewise.
- * docs/html/17_intro/license.html: Likewise. Tighten up language.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/19_diagnostics/howto.html: Likewise.
- * docs/html/20_util/howto.html: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/22_locale/howto.html: Likewise.
- * docs/html/23_containers/howto.html: Likewise.
- * docs/html/24_iterators/howto.html: Likewise.
- * docs/html/25_algorithms/howto.html: Likewise.
- * docs/html/26_numerics/howto.html: Likewise.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/ext/sgiexts.html: Likewise.
- * docs/html/faq/index.html: Likewise. Not so many absolute links.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * docs/html/22_locale/locale.html, docs/html/faq/index.html: Fix
- spelling errors of "separate" as "seperate", and corresponding
- spelling errors of related words.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-10-05 Phil Edwards <pme@gcc.gnu.org>
-
- * config/cpu/alpha/bits/atomicity.h (__compare_and_swap): Remove
- unused function.
- * config/cpu/arm/bits/atomicity.h: Likewise.
- * config/cpu/generic/bits/atomicity.h: Likewise.
- * config/cpu/i486/bits/atomicity.h: Likewise.
- * config/cpu/ia64/bits/atomicity.h: Likewise.
- * config/cpu/mips/bits/atomicity.h: Likewise.
- * config/cpu/powerpc/bits/atomicity.h: Likewise.
- * config/cpu/sparc/sparc32/bits/atomicity.h: Likewise.
- * config/cpu/sparc/sparc64/bits/atomicity.h: Likewise.
-
-2001-10-04 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html: Describe DR #22, and a workaround.
- * docs/html/faq/index.txt: Regenerate.
-
-2001-10-04 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/17_intro/COPYING.DOC: New file, GFDL v1.1 from the FSF.
- * docs/html/17_intro/license.html: New file. Explain the licenses
- in use.
-
- * docs/html/configopts.html: Link to license.html.
- * docs/html/documentation.html: Likewise.
- * docs/html/explanations.html: Likewise.
- * docs/html/install.html: Likewise.
- * docs/html/17_intro/howto.html: Likewise.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/19_diagnostics/howto.html: Likewise.
- * docs/html/20_util/howto.html: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/22_locale/howto.html: Likewise.
- * docs/html/23_containers/howto.html: Likewise.
- * docs/html/24_iterators/howto.html: Likewise.
- * docs/html/25_algorithms/howto.html: Likewise.
- * docs/html/26_numerics/howto.html: Likewise.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/ext/sgiexts.html: Likewise.
- * docs/html/faq/index.html: Likewise. New question, linking to
- the new license.html.
-
-2001-10-04 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/17_intro/howto.html: Fix mis-sed in header from 20010917.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/19_diagnostics/howto.html: Likewise.
- * docs/html/20_util/howto.html: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/22_locale/howto.html: Likewise.
- * docs/html/23_containers/howto.html: Likewise.
- * docs/html/24_iterators/howto.html: Likewise.
- * docs/html/25_algorithms/howto.html: Likewise.
- * docs/html/26_numerics/howto.html: Likewise.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/faq/index.html: Likewise. Spacing fix.
-
-2001-10-03 Dimitris Vyzovitis <vyzo@media.mit.edu>
-
- * include/bits/stl_threads.h (_Atomic_swap): New function.
- (_Swap_lock_struct<__dummy>::_S_swap_lock): New data.
- * testsuite/ext/rope.cc: New file.
-
-2001-10-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/time_members_gnu.h: Remove.
- * config/locale/time_members_generic.h: Remove.
- * config/locale/time_members_gnu.cc (__timepunct::_M_put_helper): Add.
- * config/locale/time_members_generic.cc: Same.
- * include/bits/locale_facets.h: Add data members.
- (__timepunct::_M_put_helper): Change signature.
- (__timepunct::_M_date_formats): Same.
- (__timepunct::_M_time_formats): Same.
- (__timepunct::_M_ampm): Add.
- (__timepunct::_M_date_time_formats): Add.
- (time_get::_M_extract_via_format): Add.
- (time_get::_M_extract_time): Change to...
- (time_get::_M_extract_num): ... this, modify signature.
- * include/bits/locale_facets.tcc (time_get::do_get_year): Fix.
- (time_get::do_get_time): Fix.
- (time_get::do_get_date): Fix.
-
- * acinclude.m4: Remove CTIME_H.
- * aclocal.m4: Regenerate.
- * include/Makefile.am: Same.
- * include/Makefile.in: Regenerate.
- * configure: Regenerate.
-
- * testsuite/22_locale/time_get_members_char.cc: Fix.
- * testsuite/22_locale/time_get_members_wchar_t.cc: Add.
- * testsuite/22_locale/time_put_members_wchar_t.cc: Add.
-
-2001-10-01 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cpu/cris/bits/atomicity.h: Correct file header.
-
-2001-09-29 Hans-Peter Nilsson <hp@axis.com>
-
- * configure.target (LIMITSH): Set for cris.
- (cpu_include_dir): Set for cris-*-*.
- * config/cpu/cris/bits/atomicity.h: New file.
- * config/cpu/cris/bits/limits.h: New file.
-
-2001-09-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/time_members_gnu.h (__timepunct::_M_get_helper): Add.
- (__timepunct::_M_put_helper): Add.
- * config/locale/time_members_generic.h: Same.
- * include/bits/locale_facets.h (__match_parallel): Remove. Format.
- (__timepunct): Add data members.
- (__timepunct::_M_days): Add.
- (__timepunct::_M_days_abbreviated): Add.
- (__timepunct::_M_months): Add.
- (__timepunct::_M_months_abbreviated): Add.
- (__timepunct::_M_initialize_timepunct): Add.
- * include/bits/locale_facets.tcc: Same.
- * src/locale-inst.cc: Remove instantiations for __match_parallel.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_CC.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/22_locale/time_put_members_char.cc: Mark XFAIL.
- * testsuite/22_locale/time_put_members_char.cc (test01): New file.
- * testsuite/22_locale/time_get.cc: New file.
-
-2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Use
- correct multilib builddir.
- Properly locate libgcc_s.
-
-2001-09-27 Phil Edwards <pme@gcc.gnu.org>
-
- * include/std/*: Add Doxygen hooks.
- * docs/doxygen/Intro.3: New file, general intro to the man pages.
- * docs/doxygen/mainpage.doxy: Formatting tweaks. List our own links
- rather than using a generated index.
- * docs/doxygen/user.cfg.in: Disable the index, enable man pages.
- * docs/doxygen/run_doxygen: Massage the generated man pages, using...
- * docs/doxygen/stdheader.cc: ...this new file.
-
-2001-09-26 Stan Shebs <shebs@apple.com>
-
- * include/Makefile.am: Remove RCS Id strings.
- * src/Makefile.am: Ditto.
- * docs/doxygen/run_doxygen: Ditto.
- * docs/html/configopts.html: Ditto.
- * docs/html/documentation.html: Ditto.
- * docs/html/explanations.html: Ditto.
- * docs/html/install.html: Ditto.
- * docs/html/17_intro/howto.html: Ditto.
- * docs/html/18_support/howto.html: Ditto.
- * docs/html/19_diagnostics/howto.html: Ditto.
- * docs/html/20_util/howto.html: Ditto.
- * docs/html/21_strings/howto.html: Ditto.
- * docs/html/22_locale/howto.html: Ditto.
- * docs/html/23_containers/howto.html: Ditto.
- * docs/html/24_iterators/howto.html: Ditto.
- * docs/html/25_algorithms/howto.html: Ditto.
- * docs/html/26_numerics/howto.html: Ditto.
- * docs/html/27_io/howto.html: Ditto.
- * docs/html/ext/howto.html: Ditto.
- * docs/html/ext/sgiexts.html: Ditto.
- * docs/html/faq/index.html: Ditto.
- * docs/html/faq/index.txt: Ditto.
-
-2001-09-25 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/21_strings/c_strings.cc (test01, test02): Increase
- `carray' size.
-
-2001-09-25 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/20_util/howto.html: Add anchor name.
- * docs/html/23_containers/howto.html: Line wrapping, another link.
- * docs/html/25_algorithms/howto.html: Another note.
-
- * docs/html/ext/howto.html: Link to SGI extensions. List DRs and
- link to them...
- * docs/html/ext/lwg-active.html: ...in this new file (from R19),
- * docs/html/ext/lwg-defects.html: and this new file (from R19).
- * docs/html/ext/sgiexts.html: New file. Mention SGI extensions
- carried over to libstdc++-v3.
- * docs/html/faq/index.html: Link to SGI extensions. Mention the
- "missing .." pseudobug.
- * docs/html/faq/index.txt: Regenerate.
-
- * include/bits/ios_base.h: DR-related comment cleanup.
- * include/bits/istream.tcc: Likewise.
- * include/bits/locale_facets.h: Likewise.
- * include/bits/locale_facets.tcc: Likewise.
- * include/bits/ostream.tcc: Likewise.
- * include/bits/std_bitset.h: Likewise.
- * include/bits/std_iosfwd.h: Likewise.
- * include/bits/std_istream.h: Likewise.
- * include/bits/std_ostream.h: Likewise.
- * include/bits/std_streambuf.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/streambuf_iterator.h: Likewise.
-
- * include/bits/std_map.h: Remove unused header inclusion guard
- _CPP_BITS_STL_TREE_H from around bits/stl_tree.h.
- * include/bits/std_set.h: Likewise.
-
- * include/bits/stl_function.h: Doxygen markup.
- * docs/doxygen/doxygroups.cc: New file, specifying module grouping.
- * libsupc++/typeinfo: Doxygen markup tweak.
-
-2001-09-20 Scott Johnston <scott@accom.com>
- Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/backward/alloc.h: Conditionally define malloc_alloc
- * testsuite/backward/header_deque_h.cc: New file.
-
-2001-09-20 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
-
- * libstdc++-v3/include/bits/locale_facets.tcc (money_put::do_put):
- change variable name so that it works with -fno-for-scope.
-
-2001-09-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/numpunct_members_char.cc (test01): Remove
- redundant sanity checks.
- * testsuite/22_locale/money_put_members_wchar_t.cc (test01): Same.
- (test02): Same.
- * testsuite/22_locale/money_put_members_char.cc (test01): Same.
- (test02): Same.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc (test01): Same.
- * testsuite/22_locale/moneypunct_members_char.cc (test01): Same.
- * testsuite/22_locale/money_get_members_wchar_t.cc (test01): Same.
- (test02): Same.
- * testsuite/22_locale/money_get_members_char.cc (test01): Same.
- (test02): Same.
-
-2001-09-19 Benjamin Kosnik <bkoz@redhat.com>
-
- Implement std::time_put.
- * include/bits/locale_facets.h: Include time_members.h.
- (__timepunct): New.
- (time_put): Implement.
- * include/bits/locale_facets.tcc (do_put): Put generic versions here.
- * include/bits/localefwd.h: Bump number of facets.
- * config/locale/time_members_generic.h: New file.
- * config/locale/time_members_gnu.h: New file.
- * config/locale/c_locale_generic.h: Include clocale.
- * src/locale-inst.cc: Add use_facet instantiations for __timepunct.
- * src/locale.cc: Add __timepunct initializations.
- * src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
- * include/Makefile.am (stamp-target): Add time_members.h.
- * include/Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/22_locale/time_put.cc: New file.
- * testsuite/22_locale/time_put_members_char.cc: New file.
-
- * docs/html/22_locale/locale.html: Add note.
-
-2001-09-17 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/configopts.html: HTML to XHTML change. Lowercase tags.
- * docs/html/documentation.html: Likewise.
- * docs/html/explanations.html: Likewise.
- * docs/html/install.html: Likewise.
- * docs/html/17_intro/howto.html: Likewise.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/19_diagnostics/howto.html: Likewise.
- * docs/html/20_util/howto.html: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/22_locale/codecvt.html: Likewise.
- * docs/html/22_locale/ctype.html: Likewise.
- * docs/html/22_locale/howto.html: Likewise.
- * docs/html/22_locale/locale.html: Likewise.
- * docs/html/22_locale/messages.html: Likewise.
- * docs/html/23_containers/howto.html: Likewise.
- * docs/html/24_iterators/howto.html: Likewise.
- * docs/html/25_algorithms/howto.html: Likewise.
- * docs/html/26_numerics/howto.html: Likewise.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/faq/index.html: Likewise.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-09-14 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/17_intro/headers_cc.txt: "Sync"/copy real file over.
- * docs/html/17_intro/howto.html: Spacing and HTML markup fixes.
- * docs/html/18_support/howto.html: It won't compile; it's not code.
- * docs/html/19_diagnostics/howto.html: Point diagram seekers to
- doxygen'd pages.
- * docs/html/22_locale/howto.html: Comment for future work.
- * docs/html/23_containers/howto.html: More comments.
- * docs/html/25_algorithms/howto.html: It's a comment, not a
- blunt command to the reader. (English grammar.)
-
-2001-09-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/moneypunct_members_gnu.cc: Fix initialization of
- wchar_t members.
- * testsuite/22_locale/money_get_members_wchar_t.cc (test02): New file.
- * testsuite/22_locale/money_put_members_wchar_t.cc (test02): Fix.
-
-2001-09-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc: Conditionalize use of strtold.
-
-2001-09-13 Alexandre Petit-Bianco <apbianco@redhat.com>
-
- * testsuite/22_locale/money_get_members_char.cc: Fixed typo in comment.
- * testsuite/22_locale/money_put_members_char.cc: Likewise.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
-
-2001-09-13 Benjamin Kosnik <bkoz@redhat.com>
-
- Implement std::money_get.
- * include/bits/locale_facets.tcc (money_get::do_get): Implement.
- * include/bits/locale_facets.h (money_get): Correct signatures.
- * testsuite/22_locale/money_get.cc: New file.
- * testsuite/22_locale/money_get_members_char.cc: New file.
-
- * include/bits/locale_facets.tcc (__verify_grouping): New
- function. Consolidate num_get and money_get group checking into
- one function.
- (money_get): Use it.
- * src/locale.cc (num_get::_M_extract): Use it.
- * src/locale-inst.cc: Add instantiation.
-
-2001-09-12 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/std_limits.h (numeric_limits<float>::radix,
- numeric_limits<float>::epsilon: Fix thinko.
-
-2001-09-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Fix cross compiling math routines. Correct
- comments for cross compiling and limits. Add floating point math
- routines found in newlib.
- * configure: Regenerate.
- * acconfig.h: Add macros.
- * config.h.in: Regenerate.
-
-2001-09-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/moneypunct_members_generic.cc
- (money_base::_S_construct_pattern): Remove unused parameters.
-
-2001-09-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (stamp-target): Remove link to self.
- * inclulde/Makefile.in: Regenerate.
-
-2001-09-09 Benjamin Kosnik <bkoz@redhat.com>
-
- Implement std::money_put.
- * include/bits/locale_facets.h
- (moneypunct::_M_initialize_moneypunct): Split up specializations
- to account for _Intl. More grody hacking to get around the
- ill-considered use of const bool as a template parameter.
- * config/locale/moneypunct_members_gnu.cc: And here.
- * config/locale/moneypunct_members_generic.cc: And here.
- * testsuite/22_locale/moneypunct_members_char.cc: Add tests.
- * testsuite/22_locale/moneypunct.cc: Add tests.
- * testsuite/22_locale/money_put_members_wchar_t.cc: New file.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc: New file.
-
- * src/locale.cc (money_base::_S_construct_pattern): Move into
- gnu-specific file.
- * config/locale/moneypunct_members_gnu.cc: Add here.
- * config/locale/moneypunct_members_generic.cc: Add generic version
- here.
-
- * include/bits/locale_facets.tcc (money_put::do_put): Move member
- function definitions here.
- * include/bits/locale_facets.h (money_put): Implement.
- * src/locale-inst.cc: Add use_facet instantiations for moneypunct.
- Correct money_get, money_put instantiations.
- * src/locale.cc (money_base::_S_construct_pattern): Handle case
- where __posn == 0.
- * testsuite/22_locale/money_put_members_char.cc: Add tests.
-
-2001-09-05 Phil Edwards <pme@sources.redhat.com>
-
- * testsuite_flags.in: No longer need to search testsuite builddir.
- * src/stl-inst.cc (__sink_unused_warning): Unused, remove.
- * Makefile.am: The testsuite directory never needs to be made here.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * libio/Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2001-09-04 Scott Johnston <scott@accom.com>
- Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/backward/iterator.h: Include <bits/std_iterator.h>,
- remove reverse_bidirectional_iterator.
- * testsuite/backward: New directory.
- * testsuite/backward/header_iterator_h.cc: New file.
-
-2001-09-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_c*.h: Don't use include_next.
-
-2001-09-03 Richard Sandiford <rsandifo@redhat.com>
-
- * libsupc++/eh_personality.cc (parse_lsda_header): Change type of
- tmp from _Unwind_Ptr to _Unwind_Word.
-
-2001-08-31 Jason Merrill <jason_merrill@redhat.com>
-
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Simplify
- leb128 handling.
-
-2001-08-28 Loren J. Rittle <ljrittle@acm.org>
-
- * include/Makefile.am: Use toplevel_srcdir to refer to src files
- outside this component.
- * include/Makefile.in: Regenerate.
-
-2001-08-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/c_locale_gnu.cc: Move facet info to separate files...
- * config/locale/c_locale_generic.cc: Same.
- * config/locale/moneypunct_members_gnu.cc: New file.
- * config/locale/moneypunct_members_generic.cc: New file.
- * config/locale/numpunct_members_gnu.cc: New file.
- * config/locale/numpunct_members_generic.cc: New file.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add moneypunct, numpunct
- options.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.am (sources): And here.
- * src/Makefile.in: Regenerate.
-
- Rename for consistency with rest of testsuite.
- * testsuite/22_locale/codecvt.cc: New file.
- * testsuite/22_locale/money_put.cc: New file.
- * testsuite/22_locale/money_put_members_char.cc: New file.
-
-2001-08-27 Phil Edwards <pme@sources.redhat.com>
-
- PR libstdc++/4143
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Handle enable/disable
- correctly for version-specific-runtime-libs.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-08-24 Loren J. Rittle <ljrittle@acm.org>
-
- * config/cpu/i386/bits/limits.h (__glibcpp_long_double_bits): Only
- define if not already provided by per-OS file.
- * config/os/bsd/freebsd/bits/os_defines.h (__glibcpp_long_double_bits):
- Define.
-
-2001-08-24 Jan van Male <jan.vanmale@fenk.wau.nl>
-
- * docs/html/17_intro/C++STYLE: Fix typo.
-
-2001-08-24 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/23_containers/howto.html: Describe implementation of
- insertion with hints.
-
-2001-08-24 Kenny Simpson <kenny.simpson@gs.com>
-
- libstdc++/3740
- * include/bits/std_sstream.h (basic_ostringstream): Fix ctor.
-
-2001-08-24 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
- Phil Edwards <pme@sources.redhat.com>
-
- PR libstdc++/3349
- * include/bits/stl_tree.h (insert_unique): Revert last change.
- Values inserted at begin() must be less, not greater, than *begin()'s.
- * testsuite/23_containers/map_insert.cc: New file.
-
-2001-08-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/c_locale_gnu.cc: Minor tweaks.
- (moneypunct<wchar_t>): Implement.
- * include/bits/locale_facets.h: Same.
- * testsuite/22_locale/moneypunct.cc: New file.
- * testsuite/22_locale/moneypunct_byname.cc: New file.
- * testsuite/22_locale/moneypunct_char_members.cc: New file.
-
-2001-08-23 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/gnu-linux/bits/os_defines.h: Correct __s390__ definitions.
- Set __powerpc__ long double definition based on __LONG_DOUBLE_128__.
-
-2001-08-23 Jason Merrill <jason_merrill@redhat.com>
-
- * testsuite_flags.in (build-includes): Re-add backward.
-
-2001-08-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/collate_wchar_t_members.cc: Guard
- with _GLIBCPP_USE_WCHAR_T.
-
-2001-08-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/collate_byname.cc (test01): Fix.
-
-2001-08-18 Vladimir A Merzliakov <wanderer@rsu.ru>
-
- * include/bits/locale_facets.tcc (collate::do_transform): Add typename.
-
-2001-08-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/operators.cc: Add test.
-
-2001-08-17 Benjamin Kosnik <bkoz@redhat.com>
-
- Implement std::collate.
- * config/locale/collate_specializations_gnu.cc: Add here, implement in
- MT-safe way.
- * config/locale/collate_specializations_generic.cc: Add here, but
- in a less sophisticated manner.
- * include/bits/locale_facets.tcc (collate): Add generic definition.
- * include/bits/locale_facets.h (~collate): Mark virtual.
- (collate::_M_compare_helper): New.
- (collate::_M_transform_helper): New.
- * src/locale.cc: Remove unnecessary specializations.
- * src/string-inst.cc: Tweak instantiation of ctors.
-
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Do configury for collate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.am (sources): Add collate.cc.
- * src/Makefile.in: Regenerate.
-
- * testsuite/22_locale/collate_byname.cc: New.
- * testsuite/22_locale/collate.cc: New file.
- * testsuite/22_locale/collate_char_members.cc: New file.
- * testsuite/22_locale/collate_wchar_t_members.cc: New file.
-
-2001-08-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * configure.target: Set LIMITSH for powerpc-*-*.
- * config/cpu/powerpc/bits/limits.h: New file.
-
-2001-08-16 Marc Espie <espie@openbsd.org>
-
- * configure.in: Check for <sys/types.h>.
- * configure: Rebuild.
- * config.h.in: Rebuild.
- * libmath/mathconf.h: Include <sys/types.h> prior to
- <machine/endian.h> if available.
-
-2001-08-15 Andreas Schwab <schwab@suse.de>
-
- * configure.target (cpu_include_dir): Set to `config/cpu/m68k' for
- m68k and m680[246]0.
- * config/cpu/m68k/bits/atomicity.h: New file.
-
- * include/bits/std_limits.h [__glibcpp_long_double_bits == 96]:
- Define appropriate long double limits for m68k extended floating
- point.
- (__glibcpp_f32_digits10): Corrected, off by one.
- (__glibcpp_f80_digits10): Likewise.
- (__glibcpp_f128_digits10): Likewise.
- * config/os/gnu-linux/bits/os_defines.h
- (__glibcpp_long_double_bits) [__mc68000__]: Define to 96.
-
-2001-08-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * testsuite/18_support/numeric_limits.cc: Add more tests.
- * include/bits/std_limits.h (numeric_limits<char>::max): Fix
- typo.
-
-2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.target (cpu_include_dir): Set to `config/cpu/s390'
- for s390 and s390x.
-
- * config/cpu/s390/bits/atomicity.h: New.
-
-2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_limits.h: Fix thinko.
-
-2001-08-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am: Consolidate target rules. Don't clean stamp
- files. Tweak target build directory stamp.
- * include/Makefile.in: Regenerate.
-
-2001-08-14 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * libstdc++-v3/libmath/stubs.c: Fix PR/3988, replace
- _GBLICPP_HAVE_LOGL with HAVE_LOGL
-
-2001-08-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (libtool_VERSION): Add.
- (VERSION): Change to
- (release_VERSION): This.
- * configure: Regenerate.
- * src/Makefile.am (libstdc___la_LDFLAGS): Use -version-info with
- libtool_VERSION.
- * src/Makefile.in: Regenerate.
-
- * intl/Makefile.am: Remove.
- * intl/Makefile.in: Remove.
- * intl: Remove.
- * Makefile.am (SUBDIRS): Remove intl.
- * po/Makefile.am (DISTFILES): Add string_literals.cc
- (MSGFMT): Add.
- * po/string_literals.cc: Add.
- * po/POTFILES.in: Fix path.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't call AM_GNU_GETTEXT.
- * aclocal.m4: Regenerate.
- * configure.in: Remove AC_OUTPUT of intl/Makefile.
-
- * include/backward/backward_warning.h: Clarify message.
-
- * testsuite_flags.in (--cxxflags): Use same debug flags for
- library and testsuite.
-
- * include/Makefile.am (c_compatibility): Remove.
- * include/Makefile.in: Regenerate.
-
-2001-08-13 Mark Mitchell <mark@codesourcery.com>
-
- * configure.in (LIMITS_INC_SRCDIR): New variable.
- * configure.target (LIMITSH): New variable.
- * porting.texi: Discuss numeric limits.
- * config/cpu/generic/bits/limits.h: New file.
- * config/cpu/i386/bits/limits.h: New file.
- * include/Makefile.am: Install bits/limits.h.
- * include/bits/c++config: Include bits/limits.h.
-
-2001-08-13 H.J. Lu (hjl@gnu.org)
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-copy-files):
- New. Copy files.
- (libstdc++-v3-init ): Use it.
-
-2001-08-13 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/ostream.tcc (__pad_char): Change toplevel '__fmt'
- to '__adjust' to avoid shadowing in nested scope.
-
-2001-08-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/std_limits.h(__glibcpp_char_is_signed): Use
- __CHAR_UNSIGNED__.
-
- * config/os/gnu-linux/bits/os_defines.h(__glibcpp_char_is_signed):
- Likewise.
- * config/os/aix/bits/os_defines.h(__glibcpp_plain_char_is_signed):
- Remove.
-
-2001-08-10 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Add
- dummy default argument to the non-limit implementation.
-
- bootstrap/3963
- * include/Makefile.am: Use relative file path in rule to allow
- colon in $(objdir).
- * include/Makefile.in: Rebuilt.
-
-2001-08-10 Gunter Winkler <gunter.winkler@mathematik.tu-chemnitz.de>
-
- * include/bits/std_complex.h (complex<long double>::operator*=,
- complex<long double>::operator/=): Fix thinko.
-
-2001-08-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/std_limits.h: New file.
- * include/Makefile.am (bits_headers): Add std_limits.h
- (all-local): std_limits.h is no longer built.
- (${target_builddir}/std_limits.h): Remove.
- * include/Makefile.in: Regenerate.
- * src/limits.cc: New file.
- * src/Makefile.am (sources): Add limits.cc in replacement of
- limitsMEMBERS.cc.
- * src/Makefile.in: Regenerate.
-
-2001-08-09 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * src/gen-num-limits.cc (digits10): Fix thinko.
-
-2001-08-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * po/Makefile.am (check-no): Add.
- (check-yes): Same.
- * po/Makefile.in: Regenerate.
-
-2001-08-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
- * config.h.in: Regenerate.
- * acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT): Check for setrlimit
- function.
- * aclocal.m4: Regenerate.
- * configure.in: Remove duplicate AM_CONFIG_HEADER.
- (AM_CONFIG_HEADER): Remove testsuite/testsuite_hooks.h.
- Only call GLIBCPP_CHECK_SETRLIMIT for native compiles.
- * configure: Regenerate.
- * testsuite_hooks.h.in: Move to...
- * testsuite_hooks.h: Here, include c++config.h. Use it.
-
- * Makefile.am (SUBDIRS): Move testsuite to last directory.
- * Makefile.in: Regenerate.
- * po/Makefile.am (stamp-po): Add.
-
-2001-08-09 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/aix/bits/os_defines.h: Define std_limits.h macros.
- * config/os/generic/bits/os_defines.h: Likewise.
- * config/os/gnu-linux/bits/os_defines.h: Likewise.
- * config/os/hpux/bits/os_defines.h: Likewise.
- * config/os/irix/irix6.5/bits/os_defines.h: Likewise.
- * config/os/solaris/solaris2.7/bits/os_defines.h: Likewise.
-
-2001-08-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (libstdc___la_LDFLAGS): Use -release instead of
- -version-info, use substituted VERSION info.
- * src/Makefile.in: Regenerate.
-
-2001-08-07 Benjamin Kosnik <bkoz@redhat.com>
-
- Implement std::messages.
- Make config a fully-nested directory.
- * config/locale: New directory.
- * config/c_locale_generic.cc: Move into locale subdirectory.
- * config/c_locale_generic.h: Same.
- * config/c_locale_gnu.cc: Same.
- * config/c_locale_gnu.h: Same.
- * config/c_locale_ieee_1003.1-200x.cc: Same.
- * config/c_locale_ieee_1003.1-200x_.h: Same.
- * config/codecvt_specializations_generic.h: Same.
- * config/codecvt_specializations_ieee_1003.1-200x.h: Same.
- * config/messages_members_gnu.h: Same.
- * config/messaages_members_gnu.cc: Same.
- * config/messages_members_generic.h: Same.
- * config/messaages_members_generic.cc: Same.
- * config/messages_members_ieee_1003.1-200x.h: Same.
- * config/messaages_members_ieee_1003.1-200x.cc: Same.
- * config/io: New directory.
- * config/basic_file_libio.h: Move into io subdirectory.
- * config/basic_file_libio.cc: Same.
- * config/c_io_libio.h: Same.
- * config/c_io_libio_codecvt.c: Same.
- * config/basic_file_stdio.h: Same.
- * config/basic_file_stdio.cc: Same.
- * config/c_io_stdio.h: Same.
-
- * po: New directory.
- * po/POTFILES.in: New file.
- * po/Makefile.am: New file.
- * po/Makefile.in: New file.
- * po/libstdc++.pot: Generic translation file.
- * po/fr.po: Preliminary French translation.
- * po/de.po: Preliminary German translation.
- * intl: New directory.
- * intl/Makefile.am: New file.
- * intl/Makefile.in: New file.
- * intl/string_literals.cc: New file.
- * acinclude.m4 (GLIBCPP_CONFIGURE): Bump VERSION to 3.1.0. Add
- requisite setup for gettext. Re-arrange.
- * aclocal.m4: Regenerate.
- * configure.in: Don't call GLIBCPP_CHECK_COMPILER_VERSION.
- Output Makefile bits for po and intl.
- * configure: Regenerate.
- * Makefile.am (SUBDIRS): Add intl, po. Add rule for dist.
- * Makefile.in: Regenerate.
- * acconfig.h: Add ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY.
- * config.h.in: Regenerate.
-
- * acinclude.m4 (AC_REPLACE_STRINGFUNCS): Remove.
-
- * include/Makefile.am (install-data-local): Don't install Makefile.
- * include/Makefile.in: Regenerate.
-
- * include/bits/locale_facet.h (locale::facet::_S_clone_c_locale):
- Add member.
- * config/locale/c_locale_gnu.cc (_S_clone_c_locale): Add definition.
- * config/locale/c_locale_generic.cc: Same.
- * config/locale/c_locale_ieee_1003.1-200x.cc: Same.
-
- * include/bits/codecvt.h: Excise non-standard, non-required
- bits. This includes __enc_traits, and partial specializations of
- codecvt for __enc_traits.
- * src/codecvt.cc (__enc_traits::_S_max_size): Guard
- * config/codecvt_partials_ieee_1003.1-200x.h: New file.
- * config/codecvt_partials_generic.h: New file.
- * include/Makefile.am (allstamps): Add stamp-codecvt_model.
- (stamp-codecvt_model): Add.
- * include/Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in codecvt configury.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/22_locale/codecvt_unicode_wchar_t.cc: Use macro guard.
- * testsuite/22_locale/codecvt_unicode_char.cc: Same.
- * testsuite/22_locale/ctor_copy_dtor.cc: And here.
-
- * include/bits/localefwd.h (class locale::facet): Add __enc_traits
- as a friend for _S_*_c_locale functions.
- * include/bits/codecvt.h (__enc_traits::__enc_traits): Add locale
- argument to default constructor so that CODESET information can be
- deduced.
- * include/bits/locale_facets.h (messages_byname):
- Re-implement. Remove specializations.
- * src/locale.cc (messages_byname<char>): Remove specialization.
- (messages_byname<wchar_t>): Same.
- * config/locale/c_locale_ieee_1003.1-200x.cc: New file.
- * config/locale/c_locale_ieee_1003.1-200x.h: New file.
- * config/locale/messages_members_ieee_1003.1-200x.cc: New file.
- * config/locale/messages_members_ieee_1003.1-200x.h: New file.
- * config/locale/messages_members_gnu.cc: New file.
- * config/locale/messages_members_gnu.h: New file.
- * config/locale/messages_members_generic.cc: New file.
- * config/locale/messages_members_generic.h: New file.
-
- * docs/html/configopts.html: Add documentation for new locale
- model, ieee_1003.1. Adjust other flags for current defaults.
- * docs/html/22_locale/locale.html: Update.
- * docs/html/22_locale/howto.html: Add link to messages.html. Organize.
- * docs/html/22_locale/messages.html: New.
-
- * src/Makefile.am (sources): Add messages_virtuals.cc.
- * src/Makefile.in: Regenerate.
- * include/Makefile.am (allstamps): Add stamp-messages_model.
- (stamp-messages_model): Add.
- * include/Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in messages configury.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * testsuite_flags.in (--cxxflags): Add LOCALEDIR.
- * testsuite/lib/libstdc++-v3-dg.exp: Remove broken LD_LIBRARY_PATH
- bits for Irix.
- * acinclude (GLIBCPP_ENABLE_CLOCALE): Set glibcpp_localedir to the
- build directories message catalog base directory, and export.
- Eventually this should probably be made to deal with build and
- install directories. For now, punt on this as the library itself
- doesn't use message catalogs (yet).
- * testsuite/22_locale/messages.cc: New file.
- * testsuite/22_locale/messages_char_members.cc: New file.
- * testsuite/22_locale/messages_byname.cc: New file.
-
-2001-08-06 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): New macro, calls...
- (GLIBCPP_CHECK_SETRLIMIT): ...this new macro, which also uses...
- (GLIBCPP_CHECK_SETRLIMIT_ancilliary): ...this new macro.
- * configure.in (AM_CONFIG_HEADER): Also generate testsuite_hooks.h.
- Call GLIBCPP_CONFIGURE_TESTSUITE.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
- * testsuite/lib/libstdc++-v3-dg.exp: Download new header instead
- of old header.
-
- * testsuite_flags.in: Add build dir's testsuite to INCLUDES.
- * testsuite/debug_assert.h: Removed; contents merged into...
- * testsuite/testsuite_hooks.h.in: ...here. New file.
- * testsuite/17_intro/header_ciso646.cc: No longer include
- debug_assert.h, include testsuite_hooks.h instead.
- * testsuite/17_intro/header_fstream.cc: Likewise.
- * testsuite/17_intro/header_iomanip.cc: Likewise.
- * testsuite/17_intro/header_ios.cc: Likewise.
- * testsuite/17_intro/header_iosfwd.cc: Likewise.
- * testsuite/17_intro/header_iostream.cc: Likewise.
- * testsuite/17_intro/header_istream.cc: Likewise.
- * testsuite/17_intro/header_ostream.cc: Likewise.
- * testsuite/17_intro/header_sstream.cc: Likewise.
- * testsuite/17_intro/header_streambuf.cc: Likewise.
- * testsuite/18_support/numeric_limits.cc: Likewise.
- * testsuite/19_diagnostics/stdexceptions.cc: Likewise.
- * testsuite/20_util/allocator_members.cc: Likewise.
- * testsuite/20_util/auto_ptr.cc: Likewise.
- * testsuite/20_util/pairs.cc: Likewise.
- * testsuite/21_strings/append.cc: Likewise.
- * testsuite/21_strings/capacity.cc: Likewise.
- * testsuite/21_strings/char_traits_requirements.cc: Likewise.
- * testsuite/21_strings/compare.cc: Likewise.
- * testsuite/21_strings/ctor_copy_dtor.cc: Likewise. Also set up
- call to (disabled) __set_testsuite_memlimit() wrapper.
- * testsuite/21_strings/element_access.cc: Likewise.
- * testsuite/21_strings/find.cc: Likewise.
- * testsuite/21_strings/insert.cc: Likewise. Also set up call to
- (disabled) __set_testsuite_memlimit() wrapper.
- * testsuite/21_strings/inserters_extractors.cc: Likewise.
- * testsuite/21_strings/invariants.cc: Likewise.
- * testsuite/21_strings/nonmember.cc: Likewise.
- * testsuite/21_strings/operations.cc: Likewise.
- * testsuite/21_strings/replace.cc: Likewise.
- * testsuite/21_strings/rfind.cc: Likewise.
- * testsuite/21_strings/substr.cc: Likewise.
- * testsuite/22_locale/codecvt_char_char.cc: Likewise.
- * testsuite/22_locale/codecvt_unicode_char.cc: Likewise.
- * testsuite/22_locale/codecvt_unicode_wchar_t.cc: Likewise.
- * testsuite/22_locale/codecvt_wchar_t_char.cc: Likewise.
- * testsuite/22_locale/ctor_copy_dtor.cc: Likewise.
- * testsuite/22_locale/ctype_char_members.cc: Likewise.
- * testsuite/22_locale/ctype_wchar_t_members.cc: Likewise.
- * testsuite/22_locale/facet.cc: Likewise.
- * testsuite/22_locale/global_templates.cc: Likewise.
- * testsuite/22_locale/members.cc: Likewise.
- * testsuite/22_locale/numpunct_byname.cc: Likewise.
- * testsuite/22_locale/numpunct_char_members.cc: Likewise.
- * testsuite/22_locale/operators.cc: Likewise.
- * testsuite/22_locale/static_members.cc: Likewise.
- * testsuite/23_containers/bitset_ctor.cc: Likewise.
- * testsuite/23_containers/bitset_members.cc: Likewise.
- * testsuite/23_containers/bitset_shift.cc: Likewise.
- * testsuite/23_containers/vector_capacity.cc: Likewise.
- * testsuite/23_containers/vector_ctor.cc: Likewise.
- * testsuite/23_containers/vector_element_access.cc: Likewise.
- * testsuite/23_containers/vector_modifiers.cc: Likewise.
- * testsuite/24_iterators/istreambuf_iterator.cc: Likewise.
- * testsuite/24_iterators/iterator.cc: Likewise.
- * testsuite/24_iterators/ostreambuf_iterator.cc: Likewise.
- * testsuite/25_algorithms/binary_search.cc: Likewise.
- * testsuite/25_algorithms/copy.cc: Likewise.
- * testsuite/25_algorithms/heap.cc: Likewise.
- * testsuite/25_algorithms/lower_bound.cc: Likewise.
- * testsuite/25_algorithms/min_max.cc: Likewise.
- * testsuite/25_algorithms/partition.cc: Likewise.
- * testsuite/25_algorithms/rotate.cc: Likewise.
- * testsuite/25_algorithms/sort.cc: Likewise.
- * testsuite/26_numerics/c_math.cc: Likewise.
- * testsuite/26_numerics/complex_inserters_extractors.cc: Likewise.
- * testsuite/26_numerics/complex_value.cc: Likewise.
- * testsuite/27_io/filebuf.cc: Likewise.
- * testsuite/27_io/filebuf_members.cc: Likewise.
- * testsuite/27_io/filebuf_virtuals.cc: Likewise.
- * testsuite/27_io/fpos.cc: Likewise.
- * testsuite/27_io/fstream_members.cc: Likewise.
- * testsuite/27_io/ifstream_members.cc: Likewise.
- * testsuite/27_io/ios_base_callbacks.cc: Likewise.
- * testsuite/27_io/ios_base_members_static.cc: Likewise.
- * testsuite/27_io/ios_base_storage.cc: Likewise.
- * testsuite/27_io/ios_ctor.cc: Likewise.
- * testsuite/27_io/ios_init.cc: Likewise.
- * testsuite/27_io/ios_manip_basefield.cc: Likewise.
- * testsuite/27_io/ios_manip_fmtflags.cc: Likewise.
- * testsuite/27_io/ios_members.cc: Likewise.
- * testsuite/27_io/istream_extractor_arith.cc: Likewise.
- * testsuite/27_io/istream_extractor_char.cc: Likewise.
- * testsuite/27_io/istream_extractor_other.cc: Likewise.
- * testsuite/27_io/istream_manip.cc: Likewise.
- * testsuite/27_io/istream_seeks.cc: Likewise.
- * testsuite/27_io/istream_sentry.cc: Likewise.
- * testsuite/27_io/istream_unformatted.cc: Likewise.
- * testsuite/27_io/istringstream_members.cc: Likewise.
- * testsuite/27_io/narrow_stream_objects.cc: Likewise.
- * testsuite/27_io/ofstream_members.cc: Likewise.
- * testsuite/27_io/ostream_inserter_arith.cc: Likewise.
- * testsuite/27_io/ostream_inserter_char.cc: Likewise.
- * testsuite/27_io/ostream_inserter_other.cc: Likewise.
- * testsuite/27_io/ostream_manip.cc: Likewise.
- * testsuite/27_io/ostream_seeks.cc: Likewise.
- * testsuite/27_io/ostream_unformatted.cc: Likewise.
- * testsuite/27_io/ostringstream_members.cc: Likewise.
- * testsuite/27_io/streambuf.cc: Likewise.
- * testsuite/27_io/stringbuf.cc: Likewise.
- * testsuite/27_io/stringbuf_virtuals.cc: Likewise.
- * testsuite/27_io/stringstream.cc: Likewise.
- * testsuite/27_io/stringstream_members.cc: Likewise.
- * testsuite/27_io/wide_stream_objects.cc: Likewise.
-
-2001-07-31 Loren J. Rittle <ljrittle@acm.org>
-
- * src/gen-num-limits.cc: Use __LONG_LONG_MAX__.
-
-2001-07-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.target: Remove mips from cpu table.
- * config/cpu/mips/bits/atomicity.h: Remove generic
- versions. Comment sgidefs include.
-
-2001-07-25 H.J. Lu <hjl@gnu.org>
-
- * configure.target (cpu_include_dir): Set to `config/cpu/mips'
- for mips.
-
- * config/cpu/mips/bits/atomicity.h: New.
-
-2001-07-25 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * acinclude.m4: CHECK_MATH_DECL_AND_LINKAGE for hypot, hypotf,
- hypotl, atan2f, atan2l. Remove from REPLACE_MATHFUNCS list.
- * aclocal.m4: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
- * libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove hypotl.c
- (EXTRA_DIST): Remove hypot.c hypotf.c.
- * libmath/Makefile.am: Regenerate.
- * libmath/hypotf.c: Remove.
- * libmath/hypot.c: Likewise.
- * libmath/hypotl.c: Likewise.
- * libmath/stubs.c: The macros seen here are HAVE_xxx, not
- _GLIBCPP_HAVE_xxx. Add long double versions.
-
-2001-07-23 David Edelsohn <edelsohn@gnu.org>
-
- * include/bits/limits_generic.h (int): Set digits and digits10
- appropriately for word size.
- (unsigned int,long,unsigned long): Likewise.
-
-2001-07-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/stl_algo.h : Fix typos.
- * testsuite/25_algorithms/unique.cc: New file.
-
-2001-07-19 Phil Edwards <pme@sources.redhat.com>
- Mark Mitchell <mark@codesourcery.com>
-
- Merge from cp-parser-branch.
- * include/bits/basic_string.h: Qualify symbols with 'template'.
- * include/bits/basic_string.tcc: Likewise.
- * include/bits/fstream.tcc: Likewise.
- * include/bits/istream.tcc: Likewise.
- * include/bits/sstream.tcc: Likewise.
- * include/bits/std_istream.h: Likewise.
- * include/bits/stl_iterator.h: Likewise.
- * include/bits/streambuf.tcc: Likewise.
- * src/gen-num-limits.cc: Add 'template<>' to specializations.
- * src/locale.cc: Likewise.
-
-2001-07-19 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
- Bert De Knuydt <Bert.Deknuydt@esat.kuleuven.ac.be>
-
- * src/gen-num-limits.cc (set_signals_handler): New function.
- Factor out signals setting. Set signal handler for SIGILL.
-
-2001-07-18 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/27_io/howto.html: Fix typo.
- * docs/html/faq/index.html: Minor updates for 3.0 all around.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-07-18 Stephen M. Webb <stephen@bregmasoft..com>
- Roman Sulzhyk <roman_sulzhyk@yahoo.com>
-
- libstdc++/3599
- * include/bits/ostream.tcc (ostream::put): Fixed error condition check.
- * testsuite/27_io/streambuf.cc (test07): Added new regression test.
-
-2001-07-17 Stephen M. Webb <stephen@bregmasoft.com>r
-
- All occurrences of the __value_type() and __distance_type()
- functions, which were required to support the HP STL, have been
- removed along with all the auxiliary forwarding functions that
- were required to support their use.
-
- The __iterator_category() function was pretty much left alone
- because there was no benefit to removing it and its use made code
- just a little more readable.
-
- Incidences of distance() with nonstandard argument list were
- replaced by calls to the standard function (only in the files
- affected by the removal of the other HP functions).
-
- The signature of the rotate() algorithm was changed to match the
- standard.
-
- Headers were reformatted under C++STYLE guidelines (indentation,
- linebreaks, typename keyword).
-
- * include/bits/stl_algo.h: replaced __value_type() and
- __distance_type() with iterator_traits, eliminated auxiliary
- support functions required to support said function usage.
- Changed nonstandard distance() call to standard call.
-
- * include/bits/stl_algobase.h: Same.
- * include/bits/stl_heap.h: Same.
- * include/bits/stl_numeric.h: Same.
- * include/bits/stl_uninitialized.h: Same.
- * include/bits/stl_iterator_base_types.h (__value_type()):
- Removed.
- (__distance_type()): Removed.
- (value_type()): Gone.
- (distance_type()): Done in.
- (iterator_category()): Hasta la vista, baby.
-
- * include/bits/stl_iterator_base_funcs.h (iterator_category()):
- Replaced with __iterator_category().
- * include/backward/iterator.h: moved definition of value_type(),
- distance_type(), and iterator_category() out of std:: and into
- here.
- * testsuite/23_containers/vector_ctor.cc (test03): New testcases.
- * testsuite/23_containers/vector_modifiers.cc (test03): New testcases.
- * testsuite/25_algorithms/rotate.cc: New testcase.
- * testsuite/25_algorithms/copy.cc: New testcase.
- * testsuite/25_algorithms/sort.cc: Same.
- * testsuite/25_algorithms/heap.cc: Same.
- * testsuite/25_algorithms/partition.cc: Same.
- * testsuite/25_algorithms/binary_search.cc: Same.
- * testsuite/26_numerics/sum_diff.cc: Ditto.
-
-001-07-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/README: Add notes on naming test cases.
- * testsuite/22_locale/members.cc: Mark as xfail.
- * testsuite/22_locale/numpunct_char_members.cc: Same.
-
-2001-07-16 Stephen M. Webb <stephen@bregmasoft.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CHEADERS): Use glibcpp_srcdir when
- setting C_INCLUDE_DIR.
- * configure.in: Revert yesterday's LN_S change.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-07-15 Phil Edwards <pme@sources.redhat.com>
-
- * configure.in: Temporarily force LN_S to copy instead of symlink.
- * configure: Regenerate.
-
-2001-07-13 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/std_sstream.h (basic_stringbuf::basic_stringbuf(string):
- Initialize _M_string with pointer-and-size constructor, not just
- pointer. Fix some comments.
- * testsuite/21_strings/ctor_copy_dtor.cc (test03): New test.
- * testsuite/27_io/stringbuf.cc (test02): Remove unused variable.
- (test03): Add embedded-NUL tests.
-
- * mkcheck.in: When printing totals, match the order of the tests.
- * include/bits/stringfwd.h: Use same declaration keywords.
- * include/bits/std_iosfwd.h: Cosmetic spacing.
-
-2001-07-13 Stephen M. Webb <stephen@bregmasoft.com>
- Loren J. Rittle <ljrittle@acm.org>
- Phil Edwards <pme@sources.redhat.com>
-
- * include/Makefile.am: New file encapsulating header generation rules.
- * Makefile.am (SUBDIRS): Prepend 'include' directory.
- * acinclude.m4: Moved/removed rules for building various headers.
- * configure.in (AC_OUTPUT): Add include/Makefile.
- * mkc++config: Removed.
-
- * testsuite_flags.in: Changed build-includes to match new scheme.
- * mknumeric_limits: Likewise.
- * libio/Makefile.am: Changed INCLUDES to maatch new header scheme.
- * libmath/Makefile.am: Likewise.
- * libsupc++/Makefile.am: Likewise.
- * src/Makefile.am: Likewise; removed rules to build headers.
- * libmath/mathconf.h: Changed #include'd header names to match.
- * libmath/stubs.c: Likewise.
- * src/gen-num-limits.cc: Likewise.
-
- * configure: Regenerated.
- * config.h.in: Regenerated.
- * aclocal.m4: Regenerated.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * libio/Makefile.in: Regenerated.
- * libmath/Makefile.in: Regenerated.
- * libsupc++/Makefile.in: Regenerated.
- * src/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
-2001-07-11 Felix Natter <fnatter@gmx.net>
-
- * docs/html/17_intro/porting-howto.xml: Initial checkin of
- master copy.
- * docs/html/17_intro/porting-howto.html: check in v0.9.3
-
-2001-07-11 Phil Edwards <pme@sources.redhat.com>
-
- * docs/doxygen/run_doxygen: Don't keep output from previous run.
- * docs/doxygen/user.cfg.in: Tweaks.
- * include/bits/c++config: Documentation comments for Doxygen.
- * include/bits/char_traits.h: Likewise.
- * include/bits/limits_generic.h: Likewise.
- * include/bits/std_stdexcept.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * libsupc++/exception: Likewise.
- * libsupc++/new: Likewise.
- * libsupc++/typeinfo: Likewise.
- * libmath/Makefile.am: Update and correct copyright.
-
-2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * acinclude.m4: Don't AC_REPLACE_MATHFUNCS expf and atan2f.
- * aclocal.m4: Regenerate.
- * configure: Same.
-
-2001-07-09 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/configopts.html: Fix thinko.
- * docs/html/27_io/howto.html: Fix thinko and HTML markup.
- * include/bits/stl_iterator.h: Fix typo.
-
-2001-07-09 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/explanations.html: New file.
- * docs/html/configopts.html: Link to it to provide more notes
- on cstdio. Minor markup and spacing fixes.
- * docs/html/27_io/howto.html: Talk about sync_with_stdio.
-
-2001-07-09 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
-
- * include/bits/valarray_meta.h (_Expr::operator+): Use qualified id
- for _Expr template template argument.
- (_Expr::operator-): Likewise.
- (_Expr::operator~): Likewise.
- (_Expr::operator!): Likewise.
- (_DEFINE_EXPR_UNARY_OPERATOR): Likewise.
-
-2001-07-06 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * libmath/Makefile.am (EXTRA_DIST): Remove atan2f.c and expf.c
- * libmath/Makefile.in: Regenerate.
- * libmath/expf.c: Remove.
- * libmath/atan2f.c: Likewise.
-
-2001-07-06 Daniel Jacobowitz <drow@mvista.com>
-
- * configure.in: Remove NATIVE, NULL_TARGET.
- Set CANADIAN only for Canadian crosses. Set xcompiling
- for both Canadian crosses and host-x-host crosses.
- * configure: Regenerated.
-
-2001-07-06 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/stl_vector.h (vector::_M_initialize_aux): Fix typo.
-
-2001-07-05 Jason Merrill <jason_merrill@redhat.com>
-
- * testsuite_flags.in (--build-includes): backward, not backwards.
-
-2001-07-04 Jeffrey Oldham <oldham@codesourcery.com>
-
- * include/ext/ropeimpl.h (_Rope_RopeRep::_M_free_c_string):
- Replace destroy by _Destroy.
- (_Rope_RopeRep::_S_free_string): Likewise.
- (rope::c_str()): Likewise.
- * include/ext/slist (_Slist_base::_M_erase_after>): Likewise.
- (_Slist_base::_M_erase_after): Likewise.
- (slist::_M_create_node): Replace construct by _Construct.
- (slist::pop_front): Replace destroy by _Destroy.
- * include/ext/stl_hashtable.h (hashtable::_M_new_node): Replace
- construct by _Construct.
- (hashtable::_M_delete_node): Replace destroy by _Destroy.
- * include/ext/stl_rope.h (rope::rope): Replace construct by
- _Construct.
- (rope::copy): Replace destroy by _Destroy.
-
-2001-07-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/localefwd.h: Format.
- * include/bits/locale_facts.tcc (locale::combine): Adjust.
- * src/locale.cc (locale::locale::(_Impl)): Don't call
- _M_add_reference.
- (locale::facet::_M_remove_reference): Simplify.
- * src/globals.cc (locale_impl_c): New. Format.
- (locale_c): New.
- * src/ios.cc (ios_base::Init::Init): Increment _S_ios_base_init last.
-
-2001-07-02 Loren J. Rittle <ljrittle@acm.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Protect variable from shell
- expansion (thanks to Alexandre Oliva).
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-07-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/locale.cc (locale::locale(const char*)): Make sure global
- locales are initialized.
- * include/bits/locale_facets.tcc (locale::combine): Refcout should
- be zero, not one as it's return-by-value.
- * testsuite/27_io/ios_base_callbacks.cc (test01): Don't check for
- named locales here.
- * testsuite/22_locale/ctor_copy_dtor.cc (test01): Instead, check
- for it here.
- (test02): Add test.
- * libsupc++/eh_alloc.cc: Use climits, not limits.h.
-
-2001-07-02 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/3284
- * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Portability enhancement.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-07-02 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/3243
- * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Add relative path to
- staged/installed area to support -I-. Document.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-07-02 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/2211
- * src/ios.cc (ios_base::Init::_S_ios_create): Rename __bufsize to
- __out_bufsize. Add __in_bufsize, document it and use it.
-
-2001-07-01 Stephen M. Webb <stephen@bregmasoft.com>
-
- * include/bits/stl_construct.h (construct): Remove.
- (destroy): Remove.
- (__destroy): Replaced by use of iterator_traits.
- * include/bits/stl_deque.h: replaced HP iterator functions with
- iterator_traits.
- (construct): changed to _Construct.
- (destroy): changed to _Destroy.
- * include/bits/stl_tempbuf.h: Same.
- * include/bits/stl_tree.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/backward/iterator.h (construct): moved definition to here.
- (destroy): Same.
-
-2001-06-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (locale::combine): Clone _Impl.
- before replacing facet.
- * include/bits/localefwd.h (locale::_Impl::_M_remove_reference):
- Correct decrement.
- * src/localename.cc (locale::_Impl): Correct ctor initialization
- lists. Initialize ref count with one. Simplify.
- * src/locale.cc: Add comment.
- * testsuite/22_locale/numpunct.cc (test01): Add derivation test.
- * testsuite/22_locale/numpunct_char_members.cc (test01): Add tests.
- * testsuite/22_locale/members.cc (test02): Fix.
-
-2001-06-27 Phil Edwards <pme@sources.redhat.com>
-
- * include/backward/algo.h: Add "GPL plus runtime exception" comment
- block, this time for real.
- * include/backward/algobase.h: Likewise.
- * include/backward/alloc.h: Likewise.
- * include/backward/bvector.h: Likewise.
- * include/backward/defalloc.h: Likewise.
- * include/backward/deque.h: Likewise.
- * include/backward/function.h: Likewise.
- * include/backward/hash_map.h: Likewise.
- * include/backward/hash_set.h: Likewise.
- * include/backward/hashtable.h: Likewise.
- * include/backward/heap.h: Likewise.
- * include/backward/iterator.h: Likewise.
- * include/backward/list.h: Likewise.
- * include/backward/map.h: Likewise.
- * include/backward/multimap.h: Likewise.
- * include/backward/multiset.h: Likewise.
- * include/backward/pair.h: Likewise.
- * include/backward/rope.h: Likewise.
- * include/backward/set.h: Likewise.
- * include/backward/slist.h: Likewise.
- * include/backward/stack.h: Likewise.
- * include/backward/strstream: Likewise.
- * include/backward/tempbuf.h: Likewise.
- * include/backward/tree.h: Likewise.
- * include/backward/vector.h: Likewise.
- * include/bits/pthread_allocimpl.h: Likewise.
- * include/bits/std_algorithm.h: Likewise.
- * include/bits/std_bitset.h: Likewise.
- * include/bits/std_deque.h: Likewise.
- * include/bits/std_functional.h: Likewise.
- * include/bits/std_iterator.h: Likewise.
- * include/bits/std_list.h: Likewise.
- * include/bits/std_map.h: Likewise.
- * include/bits/std_memory.h: Likewise.
- * include/bits/std_numeric.h: Likewise.
- * include/bits/std_queue.h: Likewise.
- * include/bits/std_set.h: Likewise.
- * include/bits/std_stack.h: Likewise.
- * include/bits/std_utility.h: Likewise.
- * include/bits/std_vector.h: Likewise.
- * include/bits/stl_algo.h: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_alloc.h: Likewise.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_construct.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_function.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
- * include/bits/stl_iterator.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_pthread_alloc.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_raw_storage_iter.h: Likewise.
- * include/bits/stl_relops.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- * include/bits/stl_threads.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/type_traits.h: Likewise.
- * include/ext/hash_map: Likewise.
- * include/ext/hash_set: Likewise.
- * include/ext/rope: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/slist: Likewise.
- * include/ext/stl_hash_fun.h: Likewise.
- * include/ext/stl_hashtable.h: Likewise.
- * include/ext/stl_rope.h: Likewise.
- * src/bitset.cc: Likewise.
- * src/strstream.cc: Likewise.
-
-2001-06-26 Benjamin Kosnik <bkoz@redhat.com>
- <vakatov@ncbi.nlm.nih.gov>
-
- libstdc++/3272
- * include/bits/streambuf.tcc (__copy_streambufs): Don't set eofbit.
- * testsuite/27_io/ostream_inserter_other.cc (test04): Add test.
- * testsuite/27_io/istream_extractor_other.cc: Fix.
-
-2001-06-26 Zoltan Hidvegi <hzoli@austin.ibm.com>
-
- * acinclude.m4 (glibcpp_toolexeclibdir): Make multilib safe.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stream_iterator.h (istream_iterator): Add copy ctor.
- (ostream_iterator): Same.
- * include/bits/stl_iterator.h (front_insert_iterator::operator=):
- Change argument to const_reference.
- (back_insert_iterator): Same.
-
-2001-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/sbuf_iter.h: Change to..
- * include/bits/streambuf_iterator.h: This.
- * include/bits/stl_iterator.h: Take out of here...
- * include/bits/stream_iterator.h: Add.
- * src/Makefile.am (base_headers): Add streambuf_iterator,
- stream_iterator.h
- * src/Makefile.in: Regenerate.
- * include/bits/std_string.h: Adjust includes.
- * include/bits/basic_ios.h: Same.
- * include/bits/locale_facets.tcc: Same.
- * include/bits/std_iosfwd.h: Same.
-
- * include/bits/std_iterator.h: Add istream, ostream includes.
- * include/bits/stl_iterator.h: Tweak.
- * testsuite/24_iterators/ostream_iterator.cc: Add test.
- * testsuite/24_iterators/istream_iterator.cc: Same.
- * testsuite/23_containers/multiset.cc: Add iterator include.
-
-2001-06-26 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4: Clean extraneous tabs, rewrap 'test' lines.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-06-26 Felix Natter <f.natter@ndh.net>
-
- * docs/html/17_intro/porting-howto.html: Fixed some errors.
-
-2001-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_iterator.h (istream_iterator::operator->): Fix
- return values.
- (istream_iterator::operator*): Same.
-
-2001-06-26 Benjamin Kosnik <bkoz@redhat.com>
- Alexandre Petit-Bianco <apbianco@redhat.com>
-
- * testsuite/21_strings/element_access.cc (test01): Chill Out Cafe
- is on 41st, not 14th.
-
-2001-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/std_iterator.h: Include sbuf_iter.h via std_ios.h.
-
- * include/bits/stl_iterator.h (istream_iterator): Inherit from
- iterator.
- (ostream_iterator): Same.
- * testsuite/24_iterators/istream_iterator.cc: New file.
- * testsuite/24_iterators/ostream_iterator.cc: New file.
-
- * include/bits/sbuf_iter.h: Remove self typedef.
- * testsuite/24_iterators/ostreambuf_iterator.cc: Add test.
- * testsuite/24_iterators/istreambuf_iterator.cc: Add test.
-
- * include/bits/stl_iterator.h (reverse_iterator): Remove
- extraneous typedefs. Add typename.
- (__normal_iterator): Remove typedefs referring to self. Add typename.
- (reverse_bidiretional_iterator): Remove, not longer required.
-
-2001-06-26 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/stl_iterator.h (__normal_iterator<>): Qualify
- dependent names with `typename'. Bring in various required
- iterator_traits members. Can't imagine why that used to work.
-
-2001-06-25 Phil Edwards <pme@sources.redhat.com>
- Kurt Garloff <garloff@suse.de>
-
- PR libstdc++/3377
- * src/cmath.cc: New [version of an old] file; instantiate
- __cmath_power to start with.
- * src/Makefile.am (sources): Add cmath.cc (and alphabetize).
- * Makefile.in: Regenerate.
- * libio/Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2001-06-24 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * libmath/stubs.c: Fix thinko.
-
-2001-06-24 David Edelsohn <dje@watson.ibm.com>
-
- * libmath/stubs.c (sqrtf): Define.
- (tanf): Correct typo.
-
-2001-06-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_iterator.h (reverse_iterator): Inherit from
- iterator.
- (back_insert_iterator): Same.
- (front_insert_iterator): Same.
- (insert_iterator): Same.
-
- * testsuite/20_util/raw_storage_iterator.cc: Modify.
- * testsuite/24_iterators/reverse_iterator.cc: New file.
- * testsuite/24_iterators/back_insert_iterator.cc: New file.
- * testsuite/24_iterators/front_insert_iterator.cc: New file.
- * testsuite/24_iterators/insert_iterator.cc: New file.
-
-2001-06-22 Phil Edwards <pme@sources.redhat.com>
-
- * include/*: Revert comment/license change from yesterday for all
- except libsupc++/unwind-cxx.h.
- * src/bitset.cc: Likewise.
- * src/strstream.cc: Likewise.
-
-2001-06-22 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * libmath/stubs.c: New file.
- (tanhf): Fix typo.
- (powf): Likewise.
-
- * libmath/Makefile.am (libmath_la_SOURCES): Add.
- * libmath/Makefile.in. Regenerate.
-
-2001-06-21 Phil Edwards <pme@sources.redhat.com>
-
- * include/backward/algo.h: Add "GPL plus runtime exception" comment.
- * include/backward/algobase.h: Likewise.
- * include/backward/alloc.h: Likewise.
- * include/backward/bvector.h: Likewise.
- * include/backward/defalloc.h: Likewise.
- * include/backward/deque.h: Likewise.
- * include/backward/function.h: Likewise.
- * include/backward/hash_map.h: Likewise.
- * include/backward/hash_set.h: Likewise.
- * include/backward/hashtable.h: Likewise.
- * include/backward/heap.h: Likewise.
- * include/backward/iterator.h: Likewise.
- * include/backward/list.h: Likewise.
- * include/backward/map.h: Likewise.
- * include/backward/multimap.h: Likewise.
- * include/backward/multiset.h: Likewise.
- * include/backward/pair.h: Likewise.
- * include/backward/rope.h: Likewise.
- * include/backward/set.h: Likewise.
- * include/backward/slist.h: Likewise.
- * include/backward/stack.h: Likewise.
- * include/backward/strstream: Likewise.
- * include/backward/tempbuf.h: Likewise.
- * include/backward/tree.h: Likewise.
- * include/backward/vector.h: Likewise.
- * include/bits/pthread_allocimpl.h: Likewise.
- * include/bits/std_algorithm.h: Likewise.
- * include/bits/std_bitset.h: Likewise.
- * include/bits/std_deque.h: Likewise.
- * include/bits/std_functional.h: Likewise.
- * include/bits/std_iterator.h: Likewise.
- * include/bits/std_list.h: Likewise.
- * include/bits/std_map.h: Likewise.
- * include/bits/std_memory.h: Likewise.
- * include/bits/std_numeric.h: Likewise.
- * include/bits/std_queue.h: Likewise.
- * include/bits/std_set.h: Likewise.
- * include/bits/std_stack.h: Likewise.
- * include/bits/std_utility.h: Likewise.
- * include/bits/std_vector.h: Likewise.
- * include/bits/stl_algo.h: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_alloc.h: Likewise.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_construct.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_function.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
- * include/bits/stl_iterator.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_pthread_alloc.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_raw_storage_iter.h: Likewise.
- * include/bits/stl_relops.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- * include/bits/stl_threads.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/type_traits.h: Likewise.
- * include/ext/hash_map: Likewise.
- * include/ext/hash_set: Likewise.
- * include/ext/rope: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/slist: Likewise.
- * include/ext/stl_hash_fun.h: Likewise.
- * include/ext/stl_hashtable.h: Likewise.
- * include/ext/stl_rope.h: Likewise.
- * libsupc++/unwind-cxx.h: Likewise.
- * src/bitset.cc: Likewise.
- * src/strstream.cc: Likewise.
-
-2001-06-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/indirect_array.h (indirect_array<>::operator=):
- Make copy and assignment operator public. Implement. Format.
-
- * include/bits/valarray_array.h (__valarray_copy): Add overloads
- for copy between index arrays. Format.
-
-2001-06-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * mknumeric_limits: Add static definitions, format.
- * testsuite/18_support/numeric_limits.cc (test02): Add test.
-
- * include/c_std/bits/std_cwchar.h: Include ctime.
- * testsuite/17_intro/header_cwchar.cc : Check.
-
- * include/c_std/bits/std_cwctype.h: Inject wctype.
- * testsuite/17_intro/header_cwctype.cc: Update.
-
-2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_raw_storage_iter.h: Format. Correct derivation.
- * testsuite/20_util/raw_storage_iterator.cc: Same.
-
- * include/bits/stl_alloc.h (_S_chunk_alloc): Change malloc to
- operator new.
- (__mem_interface): New typedef for switching between malloc and new.
- * testsuite/20_util/allocator_members.cc: New file.
-
- * testsuite/20_util/comparisons.cc: New file.
- * testsuite/20_util/pairs.cc: New file.
-
-2001-06-15 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/documentation.html: Point to new doxygen'ed collection.
-
-2001-06-14 Nathan Sidwell <nathan@codesourcery.com>
-
- * configure.in (auxdir): Replace by ...
- (toprel): ... new variable.
- (toplevel_srcdir): Construct from $toprel.
- * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Use $toprel
- rather than .. to locate gcc source directory.
- (GLIBCPP_CONFIGURE): Replace $auxdir with $srcdir/$toprel.
- * aclocal.m4, configure: Rebuilt.
-
-2001-06-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- (Approved by Mark and Benjamin. Applied by Loren.)
-
- * src/globals.cc: Define globals _GLIBCPP_mutex_init (),
- _GLIBCPP_mutex_address_init (), _GLIBCPP_once, _GLIBCPP_mutex
- and _GLIBCPP_mutex_address.
- * include/bits/stl_threads.h (_STL_mutex_lock): Use above to provide
- once-only runtime initialization of _M_lock mutex when
- __GTHREAD_MUTEX_INIT_FUNCTION is defined.
- (__STL_MUTEX_INITIALIZER): Provide initializer for _STL_mutex_lock
- for __GTHREAD_MUTEX_INIT_FUNCTION case.
-
-2001-06-13 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * testsuite/26_numerics/slice_array_assignment.cc (main): New test.
-
- * include/bits/slice_array.h (slice_array<>::operator=): Make
- public and implement.
- (slice_array<>::slice_array): Make copy-constructor public.
-
- * include/bits/valarray_array.h (__valarray_copy): Add another
- overload to copy between strided arrays.
-
-2001-06-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE): Bump version to 3.0.0.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * include/bits/c++config (__GLIBCPP__): Update date.
-
-2001-06-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fpos.h (fpos::operator-): Don't return reference,
- return original, non-modified version.
- (fpos::operator+): Same.
- * testsuite/27_io/fpos.cc: Add test.
-
-2001-06-12 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/2071
- * porting.texi: Add documentation about libstdc++-v3-specific
- macros that are currently included in os_defines.h files.
-
- * config/basic_file_stdio.h (sys_getc): New method.
- (sys_ungetc): New method.
- * include/bits/basic_file.h: (sys_getc): New method signature.
- (sys_ungetc): New method signature.
-
- * include/bits/fstream.tcc (underflow): Add conditional code
- paths which avoid using short seeks on streams (especially
- useful when the stream might be interactive or a pipe). At
- the moment, this alternate path only avoids seeking when the
- ``buffer size'' of underflow() is 1 since the C standard only
- guarantees buffer space for one ungetc (this technique could
- be extended since *-*-solaris* supports buffering for 4 calls
- to ungetc and *-*-*bsd* supports buffering limited only by
- memory resources). Also, _GLIBCPP_AVOID_FSEEK must be defined
- in a port's os_defines.h file for this alternate path to even
- be considered. As a bonus, the idiom of using getc/ungetc
- requires no system calls whereas fseek maps to one or two
- system call(s) on many platforms.
-
- * config/os/bsd/freebsd/bits/os_defines.h (_GLIBCPP_AVOID_FSEEK):
- Define it.
- * config/os/solaris/solaris2.5/bits/os_defines.h
- (_GLIBCPP_AVOID_FSEEK): Likewise.
- * config/os/solaris/solaris2.6/bits/os_defines.h
- (_GLIBCPP_AVOID_FSEEK): Likewise.
- * config/os/solaris/solaris2.7/bits/os_defines.h
- (_GLIBCPP_AVOID_FSEEK): Likewise.
-
-2001-06-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Change to
- AC_TRY_COMPILE, so that the built compiler is checked, and
- bootstraps or cross compiles with an older compile still work.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-06-12 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3142
- * include/bits/std_sstream.h: Add allocator_type, as per DR 251.
-
- libstdc++/3141
- * include/bits/istream.tcc (getline, get): Fix as per DR 243.
-
- libstdc++/3140
- * include/bits/std_bitset.h (bitset::set): Fix as per DR 186.
-
- libstdc++/3139
- * include/bits/limits_generic.h: Fix as per DR 184.
-
-2001-06-11 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3126
- * include/bits/basic_string.h (string::compare): Adjust signatures
- as per DR 5.
- * include/bits/basic_string.tcc: And here.
-
- libstdc++/2346
- * config/c_io_stdio.h: Remove whitespace.
- * testsuite/27_io/istream_seeks.cc (test03): Add regression.
- (test02): Add regression.
- * testsuite/27_io/istream_seeks-3.tst: New file.
-
-2001-06-11 Phil Edwards <pme@sources.redhat.com>
-
- * README: Update to reflect reality.
- * acinclude.m4: Update descriptions, fix typos. Comment changes only.
- * configure.in: Make certain target_alias is set and subst'd for 2.50.
- * aclocal.m4: Regenerate.
- * configure: Regenerate (with 2.13).
-
-2001-06-11 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3114
- * include/bits/ostream.tcc (ostream::seekp): Add error checking as
- per DR 129.
- * include/bits/istream.tcc (istream::seekg): Same.
- * testsuite/27_io/istream_seeks.cc: Fix.
-
- libstdc++/3113
- * include/bits/stl_function.h (binder2nd): Fix as per DR 109.
- (binder1st): Same.
- * include/bits/std_queue.h: Add c++config.h.
- * testsuite/20_util/binders.cc: New test.
-
-2001-06-11 Matthias Klose <doko@debian.org>
- Phil Edwards <pme@sources.redhat.com>
-
- * docs/doxygen/run_doxygen (find_doxygen): Tweak version check.
- (main script): Echo more information.
-
-2001-06-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cwchar.h: Alphabetize.
- * include/bits/char_traits.h: Tweak.
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for
- everything used by std_cwchar.h.
- * aclocal.m4: Regenerate.
- * configure.in: Regenerate.
- * config.h.in: Regenerate.
-
-2001-06-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_C99): Add stdio.h checking.
- Add checking for strtof, _Exit in stdlib.h
- * aclocal.m4: Regenerate.
- * configure.in: Regenerate.
- * include/c_std/bits/std_cstdio.h: Alphabetize lists.
- (snprintf): Put C99 functions into __gnu_cxx namespace.
- (vfscanf): Same.
- (vscanf): Same.
- (vsnprintf): Same.
- (vsscanf): Same.
- * include/c_std/bits/std_cstdlib.h: Alphabetize lists. Put undefs
- for C99 functions within _GLIBCPP_USE_C99 guard.
- (_Exit): Same.
- (strtof): Same.
- (strtold): Same.
- * include/bits/locale_facets.tcc: Check if C99 is enabled.
- * include/c_std/bits/std_cwchar.h (__gnu_cxx): Put undefs within
- C99 guard.
- * include/c_std/bits/cmath.tcc: Formatting tweak.
- * include/c_std/bits/std_cmath.h: Same.
-
-2001-06-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cstdio.h: Include cstddef for size_t.
-
-2001-06-09 Alexandre Oliva <aoliva@redhat.com>
- Stephen L Moshier <moshier@mediaone.net>
-
- * acinclude.m4 (AC_EXEEXT): Work around in case it expands to
- nothing, as in autoconf 2.50.
- * configure: Rebuilt.
-
-2001-06-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cwchar.h: Remove size_t injection,
- include std_cstddef.
- * include/c_std/bits/std_ctime.h: Same.
- * include/c_std/bits/std_cstring.h: Same.
- * include/c_std/bits/std_cstdlib.h: Same.
-
- * include/c_std/bits/std_cstdio.h: Remove vsnprintf, snprintf.
- * include/c_std/bits/std_cctype.h: Remove isblank.
-
-2001-06-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for fgetwc,
- fgetws.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * include/c_std/bits/std_cwchar.h: Remove duplicate fgetwc
- injection, guard fgetwc, fgetws.
- * include/c_std/bits/std_cstdio.h: Remove superfluous includes.
- * include/c_std/bits/std_clocale.h: And here.
- * include/c_std/bits/std_cctype.h: And here.
- * include/c_std/bits/std_cstdlib.h (strtof): Guard strtof injection.
-
- * config/basic_file_stdio.h: Don't include unistd.h.
- * config/c_io_stdio.h: Don't use compatibility headers.
- * libsupc++/eh_terminate.cc: Qualify abort.
- (__terminate): And here.
- * libsupc++/eh_catch.cc (__cxa_end_catch): Qualify abort.
-
-2001-06-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cstdlib.h: Remove _Exit, strtof injections.
-
-2001-06-08 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2767
- libstdc++/2989
- libstdc++/2992
- * include/std/*: Add copyright notice.
- * include/c_std/bits/*: Use using statements instead of extern "C".
- * include/c_std/bits/std_cmath.h: Don't overload double versions
- of math functions with __buitin versions, use global version to
- prevent ambiguities. Remove define hacks.
- * include/c_std/bits/std_cwchar.h: Using declarations for "C"
- functions that have changed signatures and std::
- declarations. Remove define hacks.
- * include/c_std/bits/std_cwchar.h: Same, plus remove ambiguous
- __builtins in std::. Remove define hacks.
- * testsuite/17_intro/headers_c.cc: Add tests.
- * testsuite/17_intro/headers_c++.cc: Add test.
-
-2001-06-07 Loren J. Rittle <ljrittle@acm.org>
- John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- c++/3082
- * libsupc++/eh_alloc.cc: Ensure that required macros are
- defined before including gthr.h. Ensure that we get the
- version of gthr.h for which we know how to provide a
- configuration.
- * libsupc++/eh_globals.cc: Likewise. And, bring the threading
- code path into line with the current EH model. Use std, where
- appropriate.
-
-2001-06-07 Loren J. Rittle <ljrittle@acm.org>
- John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * config/threads-no.h: Remove file.
- * config/threads-posix.h: Remove file.
-
- * acconfig.h (_GLIBCPP_USE_THREADS): Remove.
- (_GLIBCPP_SUPPORTS_WEAK): Add (required by namespace-clean gthr*.h).
- (_GLIBCPP_HAVE_GTHR_DEFAULT): Likewise.
- * config.h.in: Regenerate.
-
- * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Completely rework to
- setup and use gthr*.h files. In particular, make gthr.h files
- namespace-clean in the staging area (they don't have to be for
- libgcc.a).
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * src/Makefile.am (build_headers): Remove bits/c++threads.h
- and add bits/gthr.h bits/gthr-single.h bits/gthr-default.h.
- * src/Makefile.in: Regenerate.
-
- * include/bits/c++config: Cleanup threading configuration macros.
- In particular, define __STL_GTHREADS macro which controls...
- * include/bits/stl_threads.h: ...a brand new gthr.h-based
- configuration here.
-
- * config/c_io_stdio.h: Include staged gthr.h instead of local
- thread configuration file. Always use __gthread_mutex_t
- instead of __mutext_type (or int).
- * include/bits/std_fstream.h: Likewise.
-
- * docs/html/17_intro/howto.html: Remove placeholder comment in
- case this configuration patch didn't make it. Add advice that
- section only applies if configured with --enable-threads.
- * docs/html/23_containers/howto.html: Reword to make clear
- that _PTHREADS is no longer required for any port to be
- correctly using STL with threads. Add advice that section
- only applies if configured with --enable-threads.
-
-2001-06-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/string-inst.cc (_Rep::_S_max_size): Add instantiation.
-
-2001-06-05 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3045
- * include/bits/basic_ios.tcc: Formatting tweaks.
- * include/bits/ios_base.h: Formatting tweaks.
- * src/ios.cc (ios_base::Init::_S_ios_create): Use filebufs here.
- (ios_base::Init::_S_ios_destroy): ..and here. Explicitly call dtors.
- * src/globals.cc: Allocate filebufs for standard streams here.
- (buf_cout, buf_cin, buf_cerr): Like so.
- (buf_wcout, buf_wcin, buf_wcerr): And so.
- * testsuite/27_io/ios_init.cc: Add.
-
-2001-06-04 Brendan Kehoe <brendan@zen.org>
- Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3017
- * include/bits/locale_facets.h (ctype<_CharT>): Add definitions
- for generic ctype virtuals.
- * src/locale.cc: Minor tweaks, naming consistency.
- * testsuite/22_locale/ctype.cc: Add test.
-
-2001-06-04 Kenny Simpson <theonetruekenny@yahoo.com>
- Phil Edwards <pme@sources.redhat.com>
-
- PR libstdc++/3035 and PR libstdc++/3036
- * include/bits/stl_pair.h: Fix pair ctor and make_pair according
- to LWG DR 181 and 265.
-
-2001-06-04 Phil Edwards <pme@sources.redhat.com>
-
- PR libstdc++/3034
- * include/bits/stl_multiset.h (find, lower_bound, upper_bound,
- equal_range): Add const overloads as per LWG DR 214.
- * include/bits/stl_set.h: Likewise.
-
-2001-06-04 Brendan Kehoe <brendan@zen.org>
- Phil Edwards <pme@sources.redhat.com>
-
- PR libstdc++/3018
- * include/bits/std_bitset.h (bitset::test): Fix __pos >= _Nb
- comparison; all positions must be < _Nb.
- * testsuite/23_containers/bitset_members.cc: New file.
-
-2001-06-04 Brendan Kehoe <brendan@zen.org>
-
- PR libstdc++/3016
- * include/bits/stl_queue.h (classes queue, priority_queue): Fix
- ctors to match the standard.
-
-2001-06-04 Jeffrey Oldham <oldham@codesourcery.com>
-
- * include/bits/char_traits.h (move): Reverse qualification of
- memmove with std::.
- (copy): Reverse qualification of memcpy with std::.
-
-2001-06-04 Jeffrey Oldham <oldham@codesourcery.com>
-
- * include/bits/char_traits.h (move): Qualify memmove with std::.
- (copy): Qualify memcpy with std::.
- * testsuite/27_io/filebuf_virtuals.cc (test01): Qualify strlen and
- strncmp with std::.
- (test02): Likewise.
- * testsuite/27_io/stringbuf_virtuals.cc (test01): Likewise.
-
-2001-06-04 Hans-Peter Nilsson <hp@axis.com>
-
- * libsupc++/Makefile.am (install-glibcppinstallHEADERS,
- uninstall-glibcppinstallHEADERS): Have explicit rules catering to
- SUN make VPATH peculiarities.
- * libsupc++/Makefile.in: Regenerate.
-
-2001-06-01 Hans-Peter Nilsson <hp@axis.com>
-
- * src/Makefile.am (VPATH): Delimit with ":", not space.
- * src/Makefile.in: Regenerate.
-
- * configure.in (use of GLIBCPP_CHECK_GNU_MAKE): Don't fail if GNU
- make isn't found.
- * configure: Regenerate.
-
-2001-05-31 scott snyder <snyder@fnal.gov>
-
- libstdc++/2976
- * include/bits/istream.tcc: Include std_ostream.h.
-
-2001-05-31 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2997
- * src/bitset.cc: Qualify size_t with std::.
-
-2001-05-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * acconfig.h (_GLIBCPP_BUGGY_FLOAT_COMPLEX): Remove.
- (_GLIBCPP_BUGGY_COMPLEX): Remove.
- * config.h.in: Regenerate.
- * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT): Remove.
- * aclocal.m4: Regenerate.
- * configure.in: Don't call it.
- * configure: Regenerate.
-
- libstdc++/2970
- * src/complex_io.cc (operator<<(ostream&, const complex&): Fix.
- * testsuite/26_numerics/complex_inserters_extractors.cc (test01):
- New test.
-
- libstdc++/2985
- * include/bits/std_complex.h: Include sstream. Put definitions for
- complex inserters and extractors here, and remove them from...
- * src/complex_io.cc: ...here.
- * include/bits/basic_ios.h (basic_ios::__numput_type): Add _Traits
- parameter.
- (basic_ios::__numget_type): Same.
- * include/bits/std_istream.h: Same.
- * include/bits/std_ostream.h: Same.
- * include/bits/sbuf_iter.h (ostreambuf_iterator): Fix typo in base
- class iterator template arguments.
- * src/locale-inst.cc: Add explicit has_facet instantiations.
- * include/bits/basic_ios.h (basic_ios::_M_get_fctype_ios): Remove.
- (_M_get_fnumput): Remove.
- (_M_get_fnumget): Remove.
- (basic_ios::_M_check_facet): New function.
- (basic_ios::_M_cache_facets): New function.
- * include/bits/basic_ios.tcc: Definition for _M_cache_facets.
- (basic_ios::imbue): Call _M_cache_facets.
- (basic_ios::init): Same.
- * include/bits/istream.tcc: Format, use _M_check_facet.
- * include/bits/ostream.tcc: Same.
- * include/bits/locale_facets.tcc (__output_float): Change
- signature, add _Traits.
- * testsuite/26_numerics/complex_inserters_extractors.cc (test02):
- New test.
-
-2001-05-30 Loren J. Rittle <ljrittle@acm.org>
-
- * include/bits/c++config (__USE_MALLOC): Do not define it.
- Document why not and give pointers to more information.
-
- * docs/html/23_containers/howto.html: Update documentation
- to reflect recent understanding of problem.
- * docs/html/17_intro/howto.html: Likewise.
-
-2001-05-30 Phil Edwards <pme@sources.redhat.com>
-
- * docs/doxygen/user.cfg.in: Minor addition.
- * docs/html/documentation.html: Reorganize. Put most-looked-at
- stuff first.
- * docs/html/install.html: Update for 3.0. HTML fixups.
- * docs/html/17_intro/howto.html: Likewise.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/19_diagnostics/howto.html: Likewise.
- * docs/html/20_util/howto.html: Likewise.
- * docs/html/23_containers/howto.html: Likewise.
- * docs/html/24_iterators/howto.html: Likewise. More notes.
- * docs/html/25_algorithms/howto.html: Likewise.
- * docs/html/26_numerics/howto.html: Likewise. More notes.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/faq/index.html: Likewise.
- * docs/html/faq/index.txt: Regenerate.
- * docs/html/27_io/iostreams_hierarchy.pdf: Remove in favor of
- Doxygen-created documentation.
-
-2001-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Use
- get_multilibs to find gcc.
-
-2001-05-30 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_C99): Reorder output messages.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-05-29 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/c_std/bits/std_cstdlib.h:: Move C99 thingies to __gnu_cxx::.
- * include/c_std/bits/std_cwchar.h (__gnu_cxx): Likewise.
-
-2001-05-27 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/c_std/bits/std_cmath.h: Move C99 functions in __gnu_cxx::.
- * include/c_std/bits/std_cstdlib.h: Same.
- * include/c_std/bits/std_cwchar.h: Same.
-
-2001-05-30 Loren J. Rittle <ljrittle@acm.org>
-
- * docs/html/17_intro/howto.html: Update link.
- * docs/html/23_containers/howto.html: Likewise. Add new link.
-
-2001-05-26 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/c_std/bits/std_cmath.h (sqrt): #undef.
-
-2001-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * mknumeric_limits: Stop if gen-num-limits dies.
-
-2001-05-25 Benjamin Kosnik <bkoz@redhat.com>
-
- other/2931
- * acinclude.m4 (GLIBCPP_ENABLE_C99): Use AC_TRY_COMPILE.
- * aclocal.m4: Regenerate.
- * configure: Same.
-
-2001-05-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- Phil Edwards <pme@sources.redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Set glibcpp_srcdir
- in an amd-safe manner. Revert glibcpp_prefixdir.
-
-2001-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/c_std/bits/std_cmath.h: Tweak. #define away abs, cos,
- fabs, sin, sqrt. They are now implemented in terms of __builtin_
- variants.
-
-2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2830
- * testsuite/21_strings/inserters_extractors.cc (test09): New test.
- * include/bits/ostream.tcc: Format to match istream.tcc.
- (operator<<(basic_ostream __out, const basic_string __s)): Fix.
-
-2001-05-24 Phil Edwards <pme@sources.redhat.com>
-
- * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Qualify
- malloc with std:: .
- (__cxa_free_exception): Likewise with free.
-
-2001-05-24 Mark Mitchell <mark@codesourcery.com>
-
- * include/c_std/bin/std_cstring.h: #define away all global
- functions we will redeclare in namespace `std'.
- * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Use
- std::memset, instead of memset.
- * testsuite/19_diagnostics/stdexceptions.cc: Use `std::strcmp',
- not plain `strcmp'.
- * testsuite/21_strings/c_strings.cc: Use `std::strcpy' instead of
- plain `strcpy'.
-
-2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2832
- * include/bits/basic_ios.tcc: Small tweak.
- * include/bits/std_fstream.h (ifstream): Add buffer member. Adjust
- ctors and dtors, and rdbuf settings.
- (ofstream): Same.
- (fstream): Same.
- * include/bits/std_sstream.h: Same, but for stringstream classes.
- * testsuite/27_io/ostringstream_members.cc: New.
- * testsuite/27_io/stringstream_members.cc: New.
- * testsuite/27_io/fstream_members.cc: New.
- * testsuite/27_io/ifstream_members.cc: Add test.
- * testsuite/27_io/istringstream_members.cc: Add test.
- * testsuite/27_io/ofstream_members.cc: Add test.
-
-2001-05-24 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/c++config(__NO_MATH_INLINES): Move to...
- * config/os/gnu-linux/bits/os_defines.h: ...here.
-
-2001-05-24 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/c++config (__NO_MATH_INLINES): New macro.
- * testsuite/26_numerics/fabs_inline.cc (main): New test.
-
-2001-05-22 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2841
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set
- ld_library_path.
- (libstdc++-v3_set_ld_library_path): New, copied from g++.exp.
- (libstdc++-v3-finish): Remove.
- (libstdc++-v3_exit): Remove.
-
-2001-05-22 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/documentation.html: Point to doxygen output.
-
-2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * mkcheck.in (static_fail): Remove S_FLAG decoration on output.
-
- * include/bits/std_sstream.h (stringbuf::setbuf): Require both
- arguments to be non-null.
- * include/bits/fstream.tcc (filebuf::_M_allocate_buffers): Only
- try allocations if allocated size is greater than zero.
- (filebuf::_M_filebuf_init): Change to
- (filebuf::_M_allocate_file): Which is what it does now.
- (filebuf::_M_allocate_bufers): Change to
- (filebuf::_M_allocate_internal_buffer): This, and create
- (filebuf::_M_allocate_pback_buffer): New.
- (filebuf::_M_destroy_internal_buffer): New.
- (filebuf::_M_buf_allocated): New data member.
- (filebuf::setbuf): Use new logic, allow use of external buffer.
- * testsuite/27_io/stringbuf_virtuals.cc: New file.
- * testsuite/27_io/filebuf_virtuals.cc: New file.
-
-2001-05-21 Stephen M. Webb <stephen@bregmasoft.com>
-
- * include/c_std/bits/std_cstring.h (memchr): Define "C" functions to
- __glibcpp_memchr.
- (strchr): Same, but to __glibcpp_strchr.
- (strpbrk): Same.
- (strrchr): Same.
- (strstr): Same.
- * include/c_std/bits/std_cwchar.h (wcschr): Same.
- (wcsbrk): Same.
- (wcsrchr): Same.
- (wcsstr): Same.
- (wmemchr): Same.
-
-2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/21_strings/c_strings.cc (main): Fix.
-
-2001-05-19 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4: Fix --help spacing, correct comments.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * mkcheck.in: Add usage comments.
- * docs/html/documentation.html: Point to doxygen'd tarball.
-
-2001-05-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/README: Add notes.
-
- * src/Makefile.am (libstdc++.INC): Remove.
- * src/Makefile.in: Regenerate.
-
- Phil Edwards <pedwards@disaster.jaj.com>
- * mkcheck.in: Add missing '#'.
-
-2001-05-18 Angela Marie Thomas <angela@cygnus.com>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set flags
- appropriately for remote testing and testing installed files without
- a build dir.
-
-2001-05-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Set glibcpp_srcdir
- amd glibcpp_prefixdir with absolute paths.
-
- * include/bits/c++config (__GLIBCPP__): Bump.
- * acinclude.m4 (GLIBCPP_CONFIGURE): Correct version number.
-
-2001-05-18 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_valarray.h (valarray<>::operator[] const):
- Return a const reference.
- * testsuite/26_numerics/valarray_const_bracket.cc: New test.
-
-2001-05-18 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.target (ATOMICITYH): Actually use AIX-specific code on
- earlier versions of AIX 4.*.
-
-2001-05-18 Angela Marie Thomas <angela@cygnus.com>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-dg-test): Set
- output_file based on the name of the testcase.
-
-2001-05-18 Angela Marie Thomas <angela@cygnus.com>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Build
- gluefile and use it if needs_status_wrapper is set.
-
-2001-05-18 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.target (ATOMICITYH): Use cpu/generic code on earlier
- versions of AIX.
-
-2001-05-17 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.target (ATOMICITYH): Don't use AIX 4.3-specific code
- on earlier versions of AIX.
-
-2001-05-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite_flags.in (query): Add backwards, ext directories.
-
-2001-05-15 Mark Mitchell <mark@codesourcery.com>
-
- * porting.texi: Correct documentation about handling
- _LARRGEFILE_SOURCE and its ilk.
- * config/os/solaris/solaris2.5/bits/os_defines.h: Remove
- definitions of _XOPEN_SOURCE, _LARGEFILE64_SOURCE, and
- __EXTENSIONS__.
- * config/os/solaris/solaris2.6/bits/os_defines.h: Likewise.
- * config/os/solaris/solaris2.7/bits/os_defines.h: Likewise.
-
-2001-05-15 Zack Weinberg <zackw@stanford.edu>
-
- * testsuite/21_strings/inserters_extractors.cc,
- testsuite/27_io/istream_unformatted.cc,
- testsuite/27_io/stringstream.cc:
- Replace multi-line string constants with C89-style
- concatenated string constants.
-
-2001-05-14 Richard Henderson <rth@redhat.com>
-
- * mknumeric_limits: Build with -fno-exceptions.
-
-2001-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- Switch over to new harness.
- * testsuite_flags.in: Tweaks via Gaby.
- * testsuite/Makefile.am: Change tool to libstdc++-v3.
- (EXPECT): Quote directly.
- (RUNTEST): Same.
- * configure.in: Output testsuite_flags.
- * acinclude.m4: Substitute src, bld, and prefix dirs.
- Remove glibcpp_expect, glibcpp_runtestflags.
- * Makefile.am (RUNTESTFLAGS): Pass this down to subdirs.
- * mkcheck.in: Port to new interface.
-
- * aclocal.m4: Regerate.
- * configure: Regnerate.
- * Makefile.in: Regnerate.
- * */Makefile.in: Regenerate.
-
- * tests_flags.in: Remove.
- * testsuite/lib/libstdc++.exp: Remove.
- * testsuite/libstdc++.tests/tests.exp: Remove.
-
-2001-05-13 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.target: Remove detection of AIX pthread multilib, now
- obtained from `gcc -v'.
-
-2001-05-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * mkcheck.in (setup_size_command): Use Berkeley "-B" mode with GNU
- size. Add hpux case for HP size.
-
-2001-05-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite_flags.in: New, simplified interface.
- * testsuite/lib/libstdc++-v3-dg.exp: New test harness.
- * testsuite/libstdc++-v3.dg: Add.
- * testsuite/libstdc++-v3.dg/dg.exp: Add.
-
-2001-05-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/*/*.cc: Remove spaces, make sure testcases return zero.
- * testsuite/config/default.exp: Update bugs email address.
-
-2001-05-11 Richard Henderson <rth@redhat.com>
-
- * libsupc++/eh_personality.cc: Include unwind-pe.h. Remove
- all pointer encoding logic.
- (struct lsda_header_info): Add ttype_base.
- (get_ttype_entry): Use it instead of a context.
- (check_exception_spec): Likewise.
- (PERSONALITY_FUNCTION): Initialize ttype_base. Store it in
- the c++ exception header for __cxa_call_unexpected.
- (__cxa_call_unexpected): Use it.
-
-2001-05-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/lib/libstdc++.exp: Use libgloss.exp. Call
- libgloss_link_flags to find crt0.o for targets that use libgloss
- instead of newlib.
- Change LDFLAGS to LIBS.
- Consistently name procedures libstdc++-XXX.
- * testsuite/libstdc++.tests/tests.exp: Use new procedure names.
-
-2001-05-08 Benjamin Kosnik <bkoz@fillmore.constant.com>
-
- * include/c_std/bits/std_cstring.h (memchr): Correct definitions.
- (strchr): Same.
- (strpbrk): Same.
- (strrchr): Same.
- (strstr): Same.
- * include/c_std/bits/std_cwchar.h (wcschr): Same.
- (wcsbrk): Same.
- (wcsrchr): Same.
- (wcsstr): Same.
- (wmemchr): Same.
- * testsuite/21_strings/c_strings.cc: Add tests.
-
-2001-05-07 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2523
- * include/bits/std_fstream.h (basic_filebuf): Change signature.
- * include/bits/fstream.tcc (basic_filebuf): Change bool argument
- to int_type, pass in buffer size info.
- * include/bits/std_streambuf.h (_M_is_indeterminate): Check for
- unbuffered situation.
- (underflow): Remove codecvt bits for the time being.
- * include/bits/istream.tcc (istream::sentry): Avoid sputbackc call.
- * include/bits/locale_facets.tcc (_M_extract): Cache dereference
- values from iterators, clean.
- * src/locale.cc: Ditto.
- * include/bits/sbuf_iter.h: Format.
- * src/ios.cc: Explicitly pass in buffer sizes at creation time.
- * testsuite/27_io/narrow_stream_objects.cc: Add tests.
- * testsuite/27_io/filebuf.cc: Tweaks.
- * testsuite/27_io/filebuf_members.cc: Tweaks.
-
-2001-05-07 Mark Mitchell <mark@codesourcery.com>
-
- * config/os/solaris/solaris2.7/bits/os_defines.h
- (_LARGEFILE_SOURCE): Define it.
-
-2001-05-03 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (LIBSUPCXX_PICFLAGS): Set it to -prefer-pic or
- -prefer-non-pic depending on whether libtool has shared libraries
- enabled or disabled.
- * libsupc++/Makefile.am (LIBSUPCXX_CXXFLAGS): Set to
- $(LIBSUPCXX_PICFLAGS).
- * configure, */Makefile.in: Rebuilt.
-
-2001-05-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/sbuf_iter.h (istreambuf_iterator): Correct.
- * testsuite/24_iterators/istreambuf_iterator.cc (test02): Add test.
-
- * include/bits/std_sstream.h (stringbuf): Leak
- copied string.
- * testsuite/24_iterators/ostreambuf_iterator.cc: Correct.
-
-2001-05-01 Tom Browder <tbrowder@home.com>
-
- * docs/html/ext/howto.html: Fix typo.
-
-2001-05-01 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/libstdc++.tests/tests.exp: Add comment.
-
-2001-05-01 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/libstdc++.tests/tests.exp: Set ulimits.
-
-2001-04-30 Mark Mitchell <mark@codesourcery.com>
-
- * porting.texi: Use the GFDL.
-
-2001-04-30 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2627
- * testsuite/24_iterators/ostreambuf_iterator.cc: New file.
- * include/bits/sbuf_iter.h (ostreambuf_iterator): Remove bogus
- specializations.
-
-2001-04-30 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2964
- * include/bits/stl_iterator_base_funcs.h (__advance): Fix.
-
-2001-04-28 Phil Edwards <pme@sources.redhat.com>
-
- * docs/doxygen/run_doxygen: Minor tweaks.
- * docs/doxygen/style.css: New file.
- * docs/doxygen/user.cfg.in: Update using "doxygen -u" to get the
- latest parameters available. Use style.css.
-
-2001-04-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/mainpage.doxy: New.
- * docs/doxygen/user.cfg.in: Change default configuration. Single
- frame, other tweaks.
-
-2001-04-26 Mark Mitchell <mark@codesourcery.com>
-
- * docs/html/17_intro/BADNAMES: Remove EGCS reference.
- Indicate obsolete nature of thelist for G++ 3.0.
-
-2001-04-26 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_THREADS): Obtain
- target_thread_file with `gcc -v'.
- * aclocal.m4, configure: Rebuilt.
-
-2001-04-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cmath.h (std): Explicitly inject c99 names.
- * include/c_std/bits/std_cstdlib.h (std): Same, except for llabs.
- * include/c_std/bits/std_cwchar.h (std): Same.
- * acconfig.h (std): Remove c99 injection into std.
- * config.h.in: Regenerate.
-
- * testsuite/README: Fix typo.
-
- * include/bits/codecvt.h: Remove warnings.
-
-2001-04-24 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/ext/slist: Include required header files.
-
-2001-04-23 Loren J. Rittle <ljrittle@acm.org>
-
- * include/c_std/bits/std_cerrno.h (errno): Define macro from
- identifier declared with external linkage, if needed.
- * include/c_std/bits/std_csetjmp.h (setjmp): Likewise.
- * include/c_std/bits/std_cstdarg.h (va_end): Likewise.
-
-2001-04-23 Benjamin Kosnik <bkoz@fillmore.constant.com>
-
- * acinclude.m4 (CXX): Set to glibcpp_CXX so that in-directory
- re-configures find the build compiler.
- (GLIBCPP_ENABLE_C99): Do all fp-tests with 0.0, not 0. Fixes
- libstdc++/2609.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-04-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Make sure required C99
- support is enabled correctly before long long is activated.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * include/backward/backward_warning.h: Format correctly.
-
- * testsuite/26_numerics/c99_classification_macros_c.cc: Add.
- * testsuite/26_numerics/c99_classification_macros_c++.cc: Add.
- * testsuite/26_numerics/c99_macros.cc: Remove.
-
-2001-04-20 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/stl_bvector.h: Replace __ITERATOR_CATEGORY with
- __iterator_category.
-
-2001-04-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * acconfig.h (_GLIBCPP_USE_C99): Add.
- * config.h.in: Regenerate.
- * acinclude.m4 (GLIBCPP_ENABLE_C99): New macro. Test for ISO/IEC
- 9899: 1999 support.
- * aclocal.m4: Regenerate.
- * configure.in (GLIBCPP_ENABLE_C99): Use it, on by default.
- * configure: Regenerate.
- * configure.in (GLIBCPP_ENABLE_LONG_LONG): Set default to yes.
- * configure: Regenerate.
- * include/c_std/bits/std_cwchar.h: Put wcstold, wcstoll, wcstoull
- into c99.
- * include/c_std/bits/std_cmath.h: Bring C99 functions into c99
- namespace.
- * include/c_std/bits/std_cstdlib.h: Same.
- * docs/html/configopts.html: Update.
- * testsuite/26_numerics/c99_macros.cc: Edit, use cmath instead of
- math.h
- (test_c99_classify): Add.
- * config/os/gnu-linux/bits/os_defines.h (_GNU_SOURCE): Remove.
- (_ISOC99_SOURCE): Remove.
-
- * include/bits/stl_algo.h: Use _GLIBCPP_HAVE_DRAND48.
- * include/bits/c++config (__STL_ASSERTIONS): Simplify.
- * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Add check for drand48.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-04-19 Phil Edwards <pme@sources.redhat.com>
-
- * Makefile.am (doxygen): Assume script is missing execute perms.
- * Makefile.in: Regenerated.
- * docs/doxygen/user.cfg.in: Add class diagrams and source browsing.
-
-2001-04-17 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/27_io/istream_seeks.cc: Inform DejaGnu of required files.
-
-2001-04-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/23_containers/map_operators.cc: Add dg-excess-errors.
- * testsuite/23_containers/set_operators.cc: Same.
-
- * include/bits/c++config: Add _GLIBCPP_CONCEPT_CHECKS. Disable by
- default.
- (__GLIBCPP__): Bump from value of last release.
- * include/bits/concept_check.h: Default to off, edit comments.
- * src/stl-inst.cc: Use _GLIBCPP_CONCEPT_CHECKS.
- * src/Makefile.am (AM_CXXFLAGS): Remove _GLIBCPP_NO_CONCEPT_CHECKS.
- * src/Makefile.in: Regenerate.
-
-2001-04-14 Martin Reinecke <martin@MPA-Garching.MPG.DE>
-
- * include/bits/boost_concept_check.h(_Mutable_ContainerConcept):
- Properly uglify member.
-
-2001-04-13 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/stl_algobase.h (equal): Use EqualOpConcept instead
- of EqualityCo
- mparableConcept.
-
-2001-04-13 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/boost_concept_check.h: Uglify, fork from Boost.
- * include/bits/concept_check.h: Uglify.
- * include/bits/stl_algo.h: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/ext/hash_map: Likewise.
- * include/ext/hash_set: Likewise.
- * include/ext/slist: Likewise.
-
-2001-04-13 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/23_containers/set_operators.cc: Just try to compile.
- Mark as XFAIL.
- * testsuite/23_containers/map_operators.cc: Same.
-
-2001-04-12 Jason Merrill <jason_merrill@redhat.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Prepend "./" to
- output_file.
- (dg-test): Revert rth's change.
-
-2001-04-12 Nathan Sidwell <nathan@codesourcery.com>
-
- * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Don't
- terminate holding the mutex. Make sure size fits in EMERGENCY_OBJ_SIZE.
-
-2001-04-12 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/README: Add DejaGnu specific documentation.
-
-2001-04-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: AC_CHECK_TOOL for expect.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/Makefile.am (RUNTEST): Use substituted.
- (EXPECT): Same.
-
- * configure.in: Remove xcompiling substitution.
- * tests_flags.in (CROSS_LIB_PATH): Remove.
- (xcompiling): Remove.
- (CXX): Use substituted CXX.
-
-2001-04-11 Richard Henderson <rth@redhat.com>
-
- * testsuite/lib/libstdc++.exp: Specify path for output_file.
-
-2001-04-08 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_valarray.h(valarray<>::operator[]): Make
- inline.
-
-2001-04-06 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/25_algorithms/equal.cc: New test.
-
-2001-04-06 Joe Buck <jbuck@welsh-buck.org>
-
- * stl_algobase.h (std::equal): avoid use of possibly-undefined
- operator != (one line patch).
-
-2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/backward/backward_warning.h: Re-enable.
-
-2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- * tests_flags.in (CROSS_LIB_PATH): Add as -B flag.
-
-2001-04-06 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/c_std/bits/std_cmath.h: Get rid of C99 math macros.
- * testsuite/26_numerics/c99_macros.cc: Add test.
-
-2001-04-06 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/faq/index.html: Update for 2.92, grab from RELEASE-NOTES.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/backward/backward_warning.h: Temporarily disable until
- g++ testsuite changes go in.
- * tests_flags.in (CROSS_LIB_PATH): Add.
-
-2001-04-05 Benjamin Kosnik <bkoz@redhat.com>
-
- Warn when using backward headers.
- * include/backward/algo.h: Include warning file.
- * include/backward/vector.h: Same.
- * include/backward/tree.h: Same.
- * include/backward/tempbuf.h: Same.
- * include/backward/strstream: Same.
- * include/backward/streambuf.h: Same.
- * include/backward/stream.h: Same.
- * include/backward/stack.h: Same.
- * include/backward/slist.h: Same.
- * include/backward/set.h: Same.
- * include/backward/rope.h:
- * include/backward/queue.h: Same.
- * include/backward/pair.h: Same.
- * include/backward/ostream.h: Same.
- * include/backward/new.h: Same.
- * include/backward/multiset.h: Same.
- * include/backward/multimap.h: Same.
- * include/backward/map.h: Same.
- * include/backward/list.h: Same.
- * include/backward/iterator.h: Same.
- * include/backward/istream.h: Same.
- * include/backward/iostream.h:
- * include/backward/iomanip.h:
- * include/backward/heap.h: Same.
- * include/backward/hashtable.h:
- * include/backward/hash_set.h:
- * include/backward/hash_map.h:
- * include/backward/function.h:
- * include/backward/fstream.h:
- * include/backward/deque.h:
- * include/backward/defalloc.h: Same.
- * include/backward/complex.h: Same.
- * include/backward/bvector.h:
- * include/backward/alloc.h:
- * include/backward/algobase.h: Same.
-
- * include/backward/backward_warning.h: New file.
- * src/Makefile.am (backward_headers): Add backward_warning.h
- * src/Makefile.in: Regenerate.
-
-2001-04-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (myinstalldirs): Make sure backward directory is
- created.
- (myinstallheaders): Install backward headers in backward directory.
- * src/Makefile.in: Regenerate.
-
-2001-04-05 Benjamin Kosnik <bkoz@redhat.com>
-
- Prepare for libstdc++-2.92.
- * docs/html/17_intro/RELEASE-NOTES (New): Update.
- * docs/html/configopts.html: Fix formatting.
- * README (file): Updates.
- * include/bits/c++config (__GLIBCPP__): Update.
-
-2001-04-05 Phil Edwards <pme@sources.redhat.com>
-
- * docs/doxygen/run_doxygen: Check for the existence of Doxygen.
-
-2001-04-04 Phil Edwards <pme@sources.redhat.com>
-
- * docs/doxygen/user.cfg.in: Extract all non-private members;
- reduce confusing documentation output.
-
-2001-04-04 Geoffrey Keating <geoffk@redhat.com>
-
- * include/backward/fstream.h: Add missing semicolons.
-
-2001-04-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fstream.tcc: Add bool parameter to filebuf ctor.
- * include/bits/ios_base.h(ios_base::Init): Remove _M_cout, _M_cin,
- _M_cerr, _M_wcout, _M_wcin, _M_wcerr.
- (ios_base::Init::_S_ios_create): New.
- (ios_base::Init::_S_ios_destroy): New.
- * include/bits/std_fstream.h: Change ctor args.
- * src/ios.cc (ios_base::Init::Init): Use _S_ios_create.
- (ios_base::Init::~Init): Use _S_ios_destroy.
- (ios_base::sync_with_stdio): Use new members.
- * testsuite/27_io/filebuf_members.cc: Fix calling conventions for
- filebuf ctor.
-
-2001-04-03 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/backward/fstream.h: Expose streampos to global
- namespace.
-
-2001-04-03 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/stl_iterator_base_types.h: Fix typo
-
-2001-04-03 Andreas Schwab <schwab@suse.de>
-
- * include/backward/fstream.h: Define filebuf and wfilebuf.
-
-2001-04-02 Phil Edwards <pme@sources.redhat.com>
-
- New concept checking implementation.
- * docs/html/19_diagnostics/howto.html: Document.
- * docs/html/17_intro/concept_check.diff: New file, for reference.
- * include/bits/boost_concept_check.h: New file from Boost.
- * include/bits/c++config: Update comments.
-
- * include/bits/concept_check.h: New file.
- * include/bits/concept_checks.h: Removed.
- * include/bits/container_concepts.h: Removed.
- * include/bits/sequence_concepts.h: Removed.
- * include/bits/stl_iterator_base.h: Removed; split into...
- * include/bits/stl_iterator_base_funcs.h: ...this new file...
- * include/bits/stl_iterator_base_types.h: ...and this new file.
-
- * include/bits/sbuf_iter.h: Update to use new implementation.
- * include/bits/std_iterator.h: Likewise.
- * include/bits/std_memory.h: Likewise.
- * include/bits/stl_algo.h: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_construct.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/ext/hash_map: Likewise.
- * include/ext/hash_set: Likewise.
- * include/ext/slist: Likewise.
- * include/ext/stl_hashtable.h: Likewise.
-
- * src/Makefile.am (base_headers): Update list of headers.
- * Makefile.in: Regenerated.
- * src/Makefile.in: Regenerated.
- * libio/Makefile.in: Regenerated.
- * libmath/Makefile.in: Regenerated.
- * libsupc++/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
-
- * docs/html/install.html: Update contact information.
- * docs/html/17_intro/howto.html: Ditto.
- * docs/html/18_support/howto.html: Ditto.
- * docs/html/20_util/howto.html: Ditto.
- * docs/html/21_strings/howto.html: Ditto.
- * docs/html/22_locale/howto.html: Ditto.
- * docs/html/23_containers/howto.html: Ditto.
- * docs/html/24_iterators/howto.html: Ditto.
- * docs/html/25_algorithms/howto.html: Ditto.
- * docs/html/26_numerics/howto.html: Ditto.
- * docs/html/27_io/howto.html: Ditto.
- * docs/html/faq/index.html: Ditto, plus info on new checking code.
- * docs/html/ext/howto.html: Ditto, plus info on new checking code.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-04-02 Zack Weinberg <zackw@stanford.edu>
-
- * testsuite/lib/libstdc++.exp (dg-test): Annotate result
- messages with $which_library as well as $tool_flags and
- ${dg-extra-tool-flags}. Factor out annotation text into
- a single variable.
-
-2001-04-02 Stephen M. Webb <stephen@bregmasoft.com>
-
- * include/c_std/bits/std_cstring.h: Fix for const-correctness.
- * include/c_std/bits/std_cwchar.h: Same.
- * testsuite/21_strings/c_strings.cc: Add.
-
-2001-04-01 Benjamin Kosnik <bkoz@codesourcery.com>
-
- * docs/html/configopts.html: Add --enable-sjlj-exceptions docs.
-
-2001-04-01 Zack Weinberg <zackw@stanford.edu>
-
- * tests_flags.in: Use test a = b, not test a == b which is not
- portable.
-
-2001-03-31 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.target: Remove duplicate aix entry.
-
-2001-03-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/stl_bvector.h: Move to...
- * include/bits/stl_vector.h: ...here.
- * include/ext/bvector: Move to...
- * include/backward/bvector.h: ...here.
- * include/bits/std_vector.h: Change stl_bvector include.
- * include/bits/std_queue.h: Remove bvector include.
- * include/ext/tree: Insert using rb_tree, move to...
- * include/backward/tree.h: ...here.
- * include/backward/hash_map.h: Include ext/hash_map.
- * include/backward/hash_set.h: Include ext/hash_set.
- * include/backward/queue.h: New file.
- * include/backward/stack.h: Edit.
- * include/backward/algo.h: Same.
- * include/backward/algobase.h: Same.
- * include/backward/alloc.h: Same.
- * include/backward/function.h: Same.
- * include/backward/iomanip.h: Same.
- * include/backward/istream.h: Same.
- * include/backward/iterator.h: Same.
- * include/backward/list.h: Same.
- * include/backward/map.h: Same.
- * include/backward/multimap.h: Same.
- * include/backward/multiset.h: Same.
- * include/backward/ostream.h: Same.
- * include/backward/pair.h: Same
- * include/backward/rope.h: Same.
- * include/backward/set.h: Same.
- * include/backward/stream.h: Same.
- * include/backward/strstream.h: Same.
- * include/backward/tempbuf.h: Same.
- * src/Makefile.am (ext_headers): Edit.
- * src/Makefile.in: Regenerate.
- * testsuite/ext/headers.cc (main): Fix.
- * mkcheck.in: Fix.
-
-2001-03-30 Phil Edwards <pme@sources.redhat.com>
-
- * tests_flags.in (LIBS): Pass correct path for installed testing.
-
-2001-03-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * mkcheck.in (LIBTOOL): Don't construct -B argument here...
- * tests_flags.in (CXX): Construct here.
- (static_fail): Don't remove compile.out. Format with spaces.
- (INCLUDES): Deal with xcompiling.
- * configure.in (xcompiling): Substitute.
- * testsuite/Makefile.am: Snake libjava configury.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/23_containers/map_operators.cc: Tweaks.
- * testsuite/23_containers/set_operators.cc: Tweaks.
-
-2001-03-28 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- Enable dejagnu testing framework.
- * configure.in: Generate testsuite/Makefile.
- * configure: Regenerate.
- * Makefile.am (check-install): Change rule from this...
- (check-script-install): ...to this.
- (check): Change rule from this...
- (check-script):...to this.
- * Makefile.in: Regenerate.
-
-2001-03-28 Alexandre Oliva <aoliva@redhat.com>
-
- * libsupc++/Makefile.am (CXXLINK): Add --tag disable-shared after
- --tag CXX.
- (LIBTOOL): Let automake take care of its definition.
- * libsupc++/Makefile.in: Rebuilt.
-
-2001-03-28 Richard Henderson <rth@redhat.com>
-
- IA-64 ABI Exception Handling:
- * acinclude.m4 (GLIBCPP_ENABLE_SJLJ_EXCEPTIONS): New.
- * configure.in: Use it.
- * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
- * libsupc++/Makefile.am (sources): Update files list.
- * libsupc++/Makefile.in: Regenerate.
- * libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc: New files.
- * libsupc++/eh_catch.cc, libsupc++/eh_exception.cc: New files.
- * libsupc++/eh_globals.cc, libsupc++/eh_personality.cc: New files.
- * libsupc++/eh_terminate.cc, libsupc++/eh_throw.cc: New files.
- * libsupc++/exception_support.cc: Remove.
- * libsupc++/exception_support.h: Remove.
- * libsupc++/pure.cc: Use std::terminate.
- * libsupc++/tinfo2.cc (__throw_type_match_rtti_2): Remove.
- (__is_pointer): Remove.
- * libsupc++/unwind-cxx.h: New file.
- * libsupc++/vec.cc (uncatch_exception): Update for new abi.
-
-2001-03-27 Alexandre Oliva <aoliva@redhat.com>
-
- * libsupc++/Makefile.am (CXXLINK): Use CXX again, and choose
- CXX tag explicitly.
- * src/Makefile.am (CXXLINK): Likewise.
- * libsupc++/Makefile.in, src/Makefile.in: Rebuilt.
-
-2001-03-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config (_STL_USE_CONCEPT_CHECKS): Disable by default.
-
-2001-03-26 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * libstdc++-v3/tests_flags.in: Change the order of libstdc++
- and libc
-
-2001-03-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_file.h (get_fileno): Remove.
- (_M_fileno): Remove.
- (_M_cfile_created): Add.
- (basic_file::basic_file(__c_file_type*, openmode): Add.
- (basic_file::basic_file(int, const char*, openmode): Remove.
- * include/bits/fstream.tcc (basic_fstream::basic_filebuf(int __fd,
- const char*, ios_base::openmode): Don't allocate
- internal buffers. Turn off internal buffers.
- (basic_filebuf::overflow): Remove test for null buffer.
- (basic_filebuf::_M_really_overflow): Same. Allow unbuffered use.
- * include/bits/streambuf.cc: Tweak.
- * include/bits/std_ostream.h: Tweak.
- * config/basic_file_libio.h: Same.
- * config/basic_file_stdio.h: Same.
- * src/ios.cc (ios_base::Init::Init()): Unbuffer stdout by default.
- * testsuite/27_io/filebuf_members.cc: Tweaks.
- * testsuite/27_io/ios_base_members_static.cc: Tweaks.
-
-2001-03-24 Phil Edwards <pme@sources.redhat.com>
-
- * Makefile.am: New targets, doxygen and doxygen-maint.
- * Makefile.in: Regenerated.
- * docs/doxygen/run_doxygen: Finally implemented.
- * docs/doxygen/maint.cfg.in: New file.
- * docs/doxygen/user.cfg.in: New file.
-
-2001-03-24 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPILER_FEATURES): Update comment.
- * src/Makefile.am: Replace leading spaces with tabs on continuation
- lines.
- * aclocal.m4: Regenerated.
- * configure: Ditto.
- * Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
- * libio/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
-
-2001-03-24 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/19_diagnostics/howto.html: HTML fixup. Describe
- concept-checking code and current status of same.
- * docs/html/ext/howto.html: Ditto.
- * docs/html/faq/index.html: Ditto.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-03-24 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/std_bitset.h: Include ostream and istream headers
- instead of iostream.
-
-2001-03-22 Greg Bumgardner <bumgard@roguewave.com>
-
- * include/bits/ostream.tcc: Use __builtin_alloca.
-
-2001-03-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/misc-inst.cc (__sink_unused_warning): Move to...
- * src/locale-inst.cc (__sink_unused_warning): Move to...
- * src/stl-inst.cc: Here.
- * include/bits/c++config (_STL_NO_CONCEPT_CHECKS): Add define,
- commented it out.
-
-2001-03-21 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * intclude/bits/basic_file.h: Fix typos in comments.
-
-2001-03-20 Richard Henderson <rth@redhat.com>
-
- * src/gen-num-limits.cc: Instantiate for wchar_t.
- * config/os/aix/bits/ctype_base.h (mask): Use unsigned int.
-
-2001-03-20 Jason Merrill <jason@redhat.com>
-
- * libsupc++/vec.cc (__cxa_vec_cleanup): New fn.
- (__cxa_vec_ctor, __cxa_vec_cctor, __cxa_vec_dtor): Call it.
- * libsupc++/cxxabi.h: Declare it.
-
-2001-03-16 Alexandre Oliva <aoliva@redhat.com>
-
- * src/gen-num-limits.cc (signal_adapter): Overloaded to match
- signal_func with an unspecified argument list.
-
-2001-03-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * tests_flags.in (CXXFLAGS): Link libstdc++ before libsupc++.
-
-2001-03-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/basic_string.tcc (operator+): Fix thinko.
-
-2001-03-14 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2020
- * include/bits/std_streambuf.h: Remove cached locale facets.
- (basic_streambuf::_M_buf_fctype): Remove.
- (basic_streambuf::~basic_streambuf): Remove here.
- (basic_streambuf::basic_streambuf): Same.
- (basic_streambuf::imbue): Same.
- * include/bits/fstream.tcc (filebuf::imbue): Remove _M_buf_fctype.
- * include/bits/std_fstream.h (basic_filebuf::_M_fcvt): Remove.
- (basic_filebuf::~basic_filebuf()): Remove here.
- * include/bits/fstream.tcc (basic_filebuf::basic_filebuf): Same.
- (basic_filebuf::imbue): Same.
- * include/bits/localefwd.h (_Count_ones): Remove.
- (locale::_S_num_categories): Just use 6, since this doesn't
- actually change, ever.
- * include/bits/locale_facets.tcc (has_facet): Simplify.
- (use_facet): Same.
- * testsuite/27_io/filebuf.cc (test06): Add tests.
-
-2001-03-13 Steve Ellcey <sje@cup.hp.com>
-
- * libstdc++-v3/config/os/hpux/bits/ctype_base.h: Make ctype masks
- match HP-UX ctype.h header file.
-
-2001-03-13 Andris Pavenis <pavenis@latnet.lv>
-
- * config/djgpp/bits/ctype_noninline.h: Fix typo and remove
- duplicate definitions of __dj_ctype_*
-
-2001-03-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/new: Remove pragma interface.
- * libsupc++/typeinfo: Same.
- * libsupc++/exception: Same.
- * libsupc++/new_handler.cc: Remove pragma implementation.
- (bad_alloc::~bad_alloc()): Add.
- * libsupc++/exception_support.cc: Same.
- (exception::~exception): Add.
- (bad_exception::~bad_exception): Add.
- * libsupc++/tinfo.cc: Same.
- (bad_cast::~bad_cast): Add.
- (bad_typeid::~bad_typeid): Add.
-
-2001-03-13 Phil Edwards <pme@sources.redhat.com>
-
- * mkcheck.in: Fix IFS regression for non-bash-2.01 hosts.
-
-2001-03-12 Felix Lee <flee@redhat.com>
-
- * mkcheck.in: workaround for bash 2.01 IFS bug.
-
-2001-03-12 Benjamin Kosnik <bkoz@redhat.com>
-
- Fixups for -fno-for-scope
- * include/bits/locale_facets.tcc (__match_parallel): Fixup.
- * src/valarray-inst.cc (__gslice_to_index): Same.
-
-2001-03-12 Rodney Brown <RodneyBrown@mynd.com>
-
- * src/gen-num-limits.cc (traps) [SPECIALIZE_TRAPPING]: Add fflush
- prior to trapping signal (UnixWare 7 workaround).
-
-2001-03-12 Craig Rodrigues <rodrigc@mediaone.net>
-
- * include/backward/hashtable.h: Same.
- * include/backward/rope.h: Fix include.
-
-2001-03-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/backward/vector.h: Include std_vector.h.
-
- * include/bits/istream.tcc (basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
- Fix typo.
-
-2001-03-11 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/ext/stl_hashtable.h: Change type of __n to size_t
- * include/backward/bvector.h: Include <ext/stl_bvector.h>
-
-2001-03-09 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/istream.tcc ( basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
- Use streamsize, not int_type.
-
-2001-03-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/streambuf.cc (test06): New test, disabled at the
- moment.
-
-2001-03-08 Andreas Schwab <schwab@suse.de>
-
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Fix syntax in test
- command.
- * aclocal.m4, configure: Regenerated.
-
-2001-03-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/std_iosfwd.h: Remove string forward decls here.
- * include/bits/stringfwd.h: Add forward decls for char_traits
- specializations.
- * config/c_io_libio.h (wstreamoff): Delete.
- * config/c_io_stdio.h (wstreamoff): Same.
- * include/bits/char_traits.h: Use streamoff not wstreamoff for
- char_traits<wchar_t>::off_type.
- Remove duplicate typedefs.
- * include/bits/fpos.h: Define streampos/wstreampos here.
- * testsuite/27_io/istream_seeks.cc (test04): Explicitly cast int
- values to off_type.
- (test05): Same.
- Changeup output files.
- * testsuite/27_io/istream_unformatted.cc: Change output files.
- * testsuite/27_io/istream_seeks-1.txt: Add.
- * testsuite/27_io/istream_seeks-2.tst: Add.
- * testsuite/27_io/istream_seeks-1.tst: Add.
- * testsuite/27_io/istream_unformatted-2.tst: Delete.
- * testsuite/27_io/istream_unformatted-3.tst: Delete.
- * testsuite/27_io/istream_unformatted-3.txt: Delete.
-
-2001-03-07 Alexandre Oliva <aoliva@redhat.com>
-
- Add Irix 5.2, 6.3 support.
- * config/os/irix/bits: Renamed to...
- * config/os/irix/irix6.5/bits: this.
- * config/os/irix/irix5.2/bits: New, copied from irix6.5/bits.
- * config/os/irix/irix5.2/bits/ctype_base.h: Use _U, _L, _N,
- _X, _S, _P, _C and _B instead of IRIX-6.5 _IS* macros.
- * config/os/irix/irix5.2/bits/ctype_noninline.h
- (ctype<char>::ctype): Initialize _M_table with __ctype.
- * configure.target: Adjust.
-
-2001-03-06 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2181
- * include/bits/istream.tcc (basic_istream<_CharT, _Traits>::
- operator>>(__istream_type& (*__pf)(__istream_type&)): Don't use
- sentry.
- (basic_istream<_CharT, _Traits>:: operator>>(__ios_type&
- (*__pf)(__ios_type&)): Same.
- (basic_istream<_CharT, _Traits>:: operator>>(ios_base&
- (*__pf)(ios_base&))): Same.
- * testsuite/27_io/istream_extractor_other.cc: Add tests.
- * testsuite/27_io/istream_manip.cc (test01): Fix.
-
-2001-03-06 Nathan Myers <ncm@cantrip.org>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cerrno.h: Don't define errno in std::.
- * testsuite/17_intro/header_cerrno.cc (test01): New file.
- * testsuite/17_intro/header_cassert.cc (test01): New file.
- * testsuite/17_intro/header_cstddef.cc (test01): New file.
- * testsuite/17_intro/header_csetjmp.cc (test01): New file.
- * testsuite/17_intro/header_cstdarg.cc (test01): New file.
-
-2001-03-05 scott snyder <snyder@fnal.gov>
-
- libstdc++/2190
- * include/c_std/bits/std_cmath.h: Move abs(long), div(long,long)
- from here...
- * include/c_std/bits/std_cstdlib.h: ... to here.
- * testsuite/17_intro/header_cstdlib.cc: Add test.
-
-2001-03-05 Stephen M. Webb <stephen.webb@cybersafe.com>
-
- * libsupc++/vec.cc (__cxxa_vec_new2): Qualify size_t.
-
-2001-03-05 Laurynas Biveinis <lauras@softhome.net>
-
- * config/os/djgpp/ctype_base.h (ctype_base): fix __to_type
- definition. Replace enum with static const variables.
-
- * config/os/djgpp/ctype_inline.h (ctype<char>::is): remove
- throw specification, fix typos, use <static_cast>.
- (ctype<char>::scan_is): remove throw specification.
- (ctype<char>::scan_not): likewise.
-
- * config/os/djgpp/ctype_noninline.h (ctype<char>::ctype): fix typo.
- (ctype<char>::do_toupper(char)): use <static_cast>.
- (ctype<char>::do_toupper(char *, const char *)): likewise.
- (ctype<char>::do_tolower(char)): likewise.
- (ctype<char>::do_tolower(char *, const char *)): likewise.
-
-2001-03-04 Phil Edwards <pme@sources.redhat.com>
-
- http://gcc.gnu.org/ml/libstdc++/2001-03/msg00015.html
- * include/backward/algo.h: Use std not __STD. Remove unneeded
- macros and "never happens" code. Adjust to C++STYLE guidelines.
- * include/backward/algobase.h: Likewise.
- * include/backward/alloc.h: Likewise.
- * include/backward/bvector.h: Likewise.
- * include/backward/deque.h: Likewise.
- * include/backward/function.h: Likewise.
- * include/backward/hash_map.h: Likewise.
- * include/backward/hash_set.h: Likewise.
- * include/backward/hashtable.h: Likewise.
- * include/backward/heap.h: Likewise.
- * include/backward/iterator.h: Likewise.
- * include/backward/list.h: Likewise.
- * include/backward/map.h: Likewise.
- * include/backward/multimap.h: Likewise.
- * include/backward/multiset.h: Likewise.
- * include/backward/pair.h: Likewise.
- * include/backward/rope.h: Likewise.
- * include/backward/set.h: Likewise.
- * include/backward/slist.h: Likewise.
- * include/backward/stack.h: Likewise.
- * include/backward/strstream: Likewise.
- * include/backward/tempbuf.h: Likewise.
- * include/backward/tree.h: Likewise.
- * include/backward/vector.h: Likewise.
- * include/bits/basic_ios.h: Likewise.
- * include/bits/basic_ios.tcc: Likewise.
- * include/bits/basic_string.h: Likewise.
- * include/bits/c++config: Likewise.
- * include/bits/concept_checks.h: Likewise.
- * include/bits/fpos.h: Likewise.
- * include/bits/fstream.tcc: Likewise.
- * include/bits/functexcept.h: Likewise.
- * include/bits/ios_base.h: Likewise.
- * include/bits/istream.tcc: Likewise.
- * include/bits/mask_array.h: Likewise.
- * include/bits/ostream.tcc: Likewise.
- * include/bits/pthread_allocimpl.h: Likewise.
- * include/bits/sbuf_iter.h: Likewise.
- * include/bits/slice.h: Likewise.
- * include/bits/slice_array.h: Likewise.
- * include/bits/sstream.tcc: Likewise.
- * include/bits/std_bitset.h: Likewise.
- * include/bits/std_fstream.h: Likewise.
- * include/bits/std_iomanip.h: Likewise.
- * include/bits/std_ios.h: Likewise.
- * include/bits/std_istream.h: Likewise.
- * include/bits/std_iterator.h: Likewise.
- * include/bits/std_memory.h: Likewise.
- * include/bits/std_ostream.h: Likewise.
- * include/bits/std_sstream.h: Likewise.
- * include/bits/std_streambuf.h: Likewise.
- * include/bits/std_string.h: Likewise.
- * include/bits/std_valarray.h: Likewise.
- * include/bits/stl_algo.h: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_alloc.h: Likewise.
- * include/bits/stl_construct.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_function.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
- * include/bits/stl_iterator.h: Likewise.
- * include/bits/stl_iterator_base.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_pthread_alloc.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_raw_storage_iter.h: Likewise.
- * include/bits/stl_relops.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- * include/bits/stl_threads.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/streambuf.tcc: Likewise.
- * include/bits/type_traits.h: Likewise.
- * include/bits/valarray_meta.h: Likewise.
- * include/ext/bvector: Likewise.
- * include/ext/hash_map: Likewise.
- * include/ext/hash_set: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/slist: Likewise.
- * include/ext/stl_bvector.h: Likewise.
- * include/ext/stl_hash_fun.h: Likewise.
- * include/ext/stl_hashtable.h: Likewise.
- * include/ext/stl_rope.h: Likewise.
- * src/complex_io.cc: Likewise.
- * src/ios.cc: Likewise.
- * src/locale-inst.cc: Likewise.
- * src/locale.cc: Likewise.
- * src/localename.cc: Likewise.
- * src/misc-inst.cc: Likewise.
- * src/stdexcept.cc: Likewise.
- * src/stl-inst.cc: Likewise.
- * src/strstream.cc: Likewise.
- * src/valarray-inst.cc: Likewise.
-
-2001-03-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/misc-inst.cc (__copy_streambufs): Fix typo for alpha.
-
-2001-03-02 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/istream.tcc: change type of __extracted to __size_type
-
-2001-03-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/wstring-inst.cc: New file.
- * src/Makefile.am (EXTRA_LTLIBRARIES): Remove.
- (libinst_wstring_la_SOURCES): Remove.
- (libstdc___la_LIBADD): Remove libinst_wstring_la.
- (sources): Add wstring-inst.cc
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Remove
- libinst_wstring_la.
-
-2001-03-02 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * src/locale.cc: initialise __ret with zero
- * src/strstream.cc:cast gptr to int_type
-
-2001-03-01 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/faq/index.html: Update broken links.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-02-28 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2064
- * configure.target: Change irix* to irix6.5* in target_os table.
-
-2001-02-28 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2103
- * include/bits/c++config (__GLIBCPP__): Bump number in
- anticipation of 2.92.
-
- * include/bits/codecvt.h: Fix typo.
- * include/bits/basic_file.h (__basic_file): Don't use _M_wfile for
- stdio model.
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Enable wchar_t
- instantiations for stdio model.
-
-2001-02-28 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE): Remove GLIBCPP_CFLAGS
- and GLIBCPP_CXXFLAGS as unused variables.
- * configure.host: Likewise.
- * configure.target: Likewise.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
- * Makefile.in: Regenerated.
- * libio/Makefile.in: Regenerated.
- * libmath/Makefile.in: Regenerated.
- * libsupc++/Makefile.in: Regenerated.
- * src/Makefile.in: Regenerated.
-
-2001-02-27 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/1886
- * include/bits/basic_file.h: Include basic_file_model.h.
- * config/c_io_libio.cc: Move to...
- * config/basic_file_libio.cc: Here.
- * config/basic_file_libio.h: New file.
- * config/c_io_stdio.cc: Move to...
- * config/basic_file_stdio.cc: Here.
- * config/basic_file_stdio.h: New file.
- * config/c_io_libio.h: Tweak.
- * config/c_io_stdio.h: Tweak.
- * src/Makefile.am (build_headers): Add basic_file_model.h.
- (sources): Add basic_file.cc, remove c++io.cc.
- * src/Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add support for
- basic_file_model.h and basic_file.cc.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/27_io/filebuf.cc (test05): Add regression.
-
-2001-02-27 Benjamin Kosnik <bkoz@redhat.com>
-
- Correct license.
- * config/cpu/alpha/bits/atomicity.h: Change.
- * config/cpu/arm/bits/atomicit3y.h
- * config/cpu/generic/bits/atomicity.h
- * config/cpu/i386/bits/atomicity.h
- * config/cpu/i486/bits/atomicity.h
- * config/cpu/ia64/bits/atomicity.h
- * config/cpu/powerpc/bits/atomicity.h
- * config/cpu/sparc/sparc32/bits/atomicity.h
- * config/cpu/sparc/sparc64/bits/atomicity.h
- * config/os/aix/bits/atomicity.h
- * config/os/irix/bits/atomicity.h
-
-2001-02-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/std_stdexcept.h (runtime_error): Make string
- member non-const.
- (logic_error): Same.
- * testsuite/19_diagnostics/stdexceptions.cc (test04): Add test.
- (test03): Fix.
-
-2001-02-26 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/1972
- libstdc++/2089
- * include/bits/std_stdexcept.h (logic_error::logic_error): Use
- string object, not reference.
- (runtime_error::runtime_error): Same.
- * testsuite/19_diagnostics/stdexceptions.cc: New file.
-
-2001-02-26 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE): Update required compiler version.
- (GLIBCPP_CHECK_COMPILER_FEATURES): Can safely assume new
- diagnostics. Remove WFMT_FLAGS.
- * configure.in: Replace WFMT_FLAGS with diagnostics options.
- * libsupc++/Makefile.am: Likewise.
- * src/Makefile.am: Likewise.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
- * Makefile.in: Regenerated.
- * libio/Makefile.in: Regenerated.
- * libmath/Makefile.in: Regenerated.
- * libsupc++/Makefile.in: Regenerated.
- * src/Makefile.in: Regenerated.
-
-2001-02-26 Phil Edwards <pme@sources.redhat.com>
-
- Fixes libstdc++/2079
- * include/backward/iomanip.h: Expose <ios> manipulators to global
- namespace.
- * include/backward/iostream.h: Also expose std::ws.
-
-2001-02-25 Greg Freemyer <freemyer@NorcrossGroup.com>
-
- * libmath/mathconf.h (GET_LDOUBLE_MSW64): Fix thinko.
-
-2001-02-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/codecvt.h: Use __builtin_alloca.
- * include/bits/ostream.tcc: Same.
- * include/bits/fstream.tcc: Same.
-
-2001-02-23 Alexandre Oliva <aoliva@redhat.com>
-
- * mknumeric_limits (CC): Use VAR=${VAR=...} form.
-
-2001-02-23 David Edelsohn <dje@watson.ibm.com>
-
- * mknumeric_limits (CC): Use $BUILD_DIR/../../gcc/xgcc
-
-2001-02-23 Phil Edwards <pme@sources.redhat.com>
-
- c++/2052
- * include/backward/iostream.h: Expose std::flush in old headers.
-
-2001-02-23 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * mknumeric_limits: Remove special-casing on target. Use gcc
- instead of g++ to build gen-num-limits.cc
-
-2001-02-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * tests_flags.in (CXXFLAGS): Add -rpath to gcc build dir.
-
- * include/bits/codecvt.h: Use alloca instead of __extension__ for
- the time being.
- * include/bits/ostream.tcc: Same.
- * include/bits/std_ostream.h: Same.
- * include/bits/fstream.tcc: Same.
- * include/bits/locale_facets.tcc: Add typename.
- * include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS): Enable.
-
-2001-02-21 Phil Edwards <pme@sources.redhat.com>
-
- * tests_flags.in: Remove -n flag from call to echo.
-
-2001-02-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/c_locale_gnu.h: Add clocale include.
-
-2001-02-20 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/stl_config.h: Remove file.
- * src/Makefile.am (base_headers): Remove from list.
- * configure: Regenerate.
- * Makefile.in: Ditto.
- * libio/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
-
- * include/bits/c++config: Move relevant macros to here.
- * include/backward/alloc.h: Include c++config.h instead.
- * include/backward/function.h: Ditto.
- * include/backward/heap.h: Ditto.
- * include/backward/pair.h: Ditto.
- * include/bits/pthread_allocimpl.h: Ditto.
- * include/bits/std_functional.h: Ditto.
- * include/bits/std_iterator.h: Ditto.
- * include/bits/std_numeric.h: Ditto.
- * include/bits/std_utility.h: Ditto.
- * include/bits/stl_algobase.h: Ditto.
- * include/bits/type_traits.h: Ditto.
- * src/stl-inst.cc: Ditto.
-
-2001-02-19 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/basic_file.h: Add #pragma system_header
- * include/bits/basic_ios.h: Ditto.
- * include/bits/basic_string.h: Ditto.
- * include/bits/char_traits.h: Ditto.
- * include/bits/codecvt.h: Ditto.
- * include/bits/cpp_type_traits.h: Ditto.
- * include/bits/fpos.h: Ditto.
- * include/bits/gslice.h: Ditto.
- * include/bits/gslice_array.h: Ditto.
- * include/bits/indirect_array.h: Ditto.
- * include/bits/ios_base.h: Ditto.
- * include/bits/limits_generic.h: Ditto.
- * include/bits/locale_facets.h: Ditto.
- * include/bits/localefwd.h: Ditto.
- * include/bits/mask_array.h: Ditto.
- * include/bits/sbuf_iter.h: Ditto.
- * include/bits/sequence_concepts.h: Ditto.
- * include/bits/slice.h: Ditto.
- * include/bits/slice_array.h: Ditto.
- * include/bits/std_algorithm.h: Likewise.
- * include/bits/std_bitset.h: Likewise.
- * include/bits/std_complex.h: Likewise.
- * include/bits/std_deque.h: Likewise.
- * include/bits/std_fstream.h: Likewise.
- * include/bits/std_functional.h: Likewise.
- * include/bits/std_iomanip.h: Likewise.
- * include/bits/std_ios.h: Likewise.
- * include/bits/std_iosfwd.h: Likewise.
- * include/bits/std_iostream.h: Likewise.
- * include/bits/std_istream.h: Likewise.
- * include/bits/std_iterator.h: Likewise.
- * include/bits/std_list.h: Likewise.
- * include/bits/std_locale.h: Likewise.
- * include/bits/std_map.h: Likewise.
- * include/bits/std_memory.h: Likewise.
- * include/bits/std_numeric.h: Likewise.
- * include/bits/std_ostream.h: Likewise.
- * include/bits/std_queue.h: Likewise.
- * include/bits/std_set.h: Likewise.
- * include/bits/std_sstream.h: Likewise.
- * include/bits/std_stack.h: Likewise.
- * include/bits/std_stdexcept.h: Likewise.
- * include/bits/std_streambuf.h: Likewise.
- * include/bits/std_string.h: Likewise.
- * include/bits/std_utility.h: Likewise.
- * include/bits/std_valarray.h: Likewise.
- * include/bits/std_vector.h: Likewise.
- * include/bits/stringfwd.h: Likewise.
- * include/bits/type_traits.h: Likewise.
- * include/bits/valarray_array.h: Likewise.
- * include/bits/valarray_meta.h: Likewise.
-
-2001-02-19 Andreas Jaeger <aj@suse.de>
-
- * config/cpu/sparc/sparc64/bits/atomicity.h (__compare_and_swap):
- Fix typo.
-
-2001-02-16 Greg Bumgardner <bumgard@roguewave.com>
-
- libstdc++/1734
- * include/bits/std_ostream.h: Replaced usage of
- _Traits::_S_eos() with _CharT() as per section 17.2.2.1.3.
- * include/bits/char_traits.h: Removed non-standard
- methods that cannot be used elsewhere.
-
- libstdc++/1885
- * include/bits/basic_ios.h: Uncommented #include of
- bits/basic_ios.tcc
-
- libstdc++/1897
- * include/bits/codecvt.h: See next...
- * include/bits/fstream.tcc: See next...
- * include/bits/ostream.tcc: Add __extension__
- to variable-length arrays.
-
- libstdc++/1967
- * include/bits/localefwd.h: Changed int counter type to size_t.
-
- libstdc++/1968
- * include/bits/std_fstream.h: Added typedef for __ctype_type.
-
-2001-02-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/21_strings/char_traits.cc: Move to ...
- * testsuite/21_strings/char_traits_requirements.cc: ..here.
- * testsuite/21_strings/char_traits-int_type.cc: Move to ...
- * testsuite/21_strings/char_traits_typedefs.cc: ..here.
-
-2001-02-16 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * libmath/mathconf.h (FINITE_P, INFINITE_P): Remove macro
- definitions.
-
-2001-02-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config: Revert.
-
-2001-02-15 Mark Mitchell <mark@codesourcery.com>
-
- * include/bits/istream.tcc: Use ios_base::iostate in place of
- iostate throughout. Insert `typename' keyword where necessary.
- * include/bits/ostream.tcc: Insert `typename' keyword where
- necessary.
-
-2001-02-15 Jeffrey Oldham <oldham@codesourcery.com>
-
- * include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS):
- Define so library is compliant.
-
-2001-02-15 Anthony Green <green@redhat.com>
-
- * acinclude.m4 (glibcpp_toolexeclibdir): Fix test for cross
- compilation.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-02-15 Rodney Brown <RodneyBrown@mynd.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_MATH_DECL_1):
- Include ieeefp.h for fpclass on UnixWare{2,7}.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * mkcheck.in (size_command): Do without GNU-grep when using
- size from binutils.
-
-2001-02-15 Mark Mitchell <mark@codesourcery.com>
-
- Remove old ABI support from libsupc++.
- * libsupc++/cxxabi.h: Remove conditionally compiled code.
- * libsupc++/exception_support.cc: Likewise.
- * libsupc++/pure.cc: Likewise.
- * libsupc++/tinfo.cc: Likewise.
- * libsupc++/tinfo.h: Likewise.
- * libsupc++/tinfo2.cc: Likewise.
- * libsupc++/typeinfo: Likewise.
- * libsupc++/vec.cc: Likewise.
-
-2001-02-15 Benjamin Kosnik <bkoz@redhat.com>
-
- Add support for -fno-exceptions.
- * include/bits/exception_support.h: Remove.
- * include/bits/basic_string.h: Remove exception_support.
- (string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range.
- (string::at): Same.
- (string::substr): Same.
- * include/bits/basic_string.tcc (string::reserve): Replace
- __LENGTHERROR with __throw_length_error.
- (string::_S_create): Same.
- (string::resize): Same.
- (string::_M_replace): Same.
- (string::replace): Same.
- (string::copy): Replace __OUTOFRANGE with __throw_out_of_range.
- (string::compare): Same.
- * include/bits/stl_vector.h: Remove exception_support.
- * src/Makefile.am (base_headers): Remove here.
- * src/Makefile.in: Regenerate.
-
- * include/bits/stl_range_errors.h: Remove.
- * include/bits/stl_deque.h: Use __throw_range_error.
- * include/bits/std_deque.h: Include functexcept.h.
- * include/bits/std_vector.h: Same.
- * src/Makefile.am (base_headers): Remove here.
- * src/Makefile.in: Regenerate.
- * include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error.
- * include/ext/bvector: Remove stl_range_errors.h
-
- * include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove.
-
- * include/bits/functexcept.h: New file.
- * src/functexcept.cc: New file. Definitions for function-based
- exception routines.
- * src/Makefile.am (sources): Add functexcept.cc.
- * src/Makefile.in: Regenerate.
-
- * include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with
- __EXCEPTIONS.
-
- * include/bits/localefwd.h: Include functexcept.h.
- * include/bits/std_iosfwd.h: Same.
-
- * include/bits/basic_ios.h: Use __throw_ios_failure instead of
- throw basic_ios::failure.
- * include/bits/fstream.tcc (filebuf::_M_allocate_buffers):
- Use __throw_exception_again.
- (filebuf::_M_filebuf_init): Same.
- * include/bits/streambuf.tcc (__copy_streambufs): Same.
- * include/bits/ostream.tcc (ostream::operator<<): Same.
- * include/bits/istream.tcc (istream::operator>>): Same.
- * include/bits/basic_string.tcc (string::_M_mutate): Same.
- (string::_S_construct): Same.
- (string::_M_clone): Same.
- * include/bits/locale_facets.tcc (use_facet(const locale&)): Use
- __throw_bad_cast.
- (num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again.
- * src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use
- __throw_exception_again.
- (locale::_Imp::_Imp(string, size_t): Same.
- (locale::_Imp::_M_replace_facet): Use __throw_runtime_error.
- * src/locale.cc (locale::_M_coalesce): Use __throw_exception_again.
- (locale::locale(const char*)): Use __throw_runtime_error.
- (locale::classic): Use __throw_exception_again.
- (locale::_S_normalize_category): Use __throw_runtime_error.
-
- * src/stdexcept.cc: Remove cruft.
-
- * libsupc++/exception_defines.h: New file.
- * libsupc++/new_opnt.cc: Include exception_defines.h.
- * libsupc++/vec.cc: Same.
- (__cxa_vec_new2): Use __throw_exception_again.
- (__cxa_vec_new3): Same.
- (__cxa_vec_ctor): Same.
- (__cxa_vec_delete3): Same.
- (__cxa_vec_cctor): Same.
- (__cxa_vec_delete2): Same.
- (__cxa_vec_dtor): Same.
- * libsupc++/exception_support.cc: Include exception_defines.h. Only
- compile exception-handling bits if __EXCEPTIONS is defined.
- Remove old ABI support.
- * libsupc++/new_op.cc (new): Include exception_defines.h. Use
- std::__throw_bad_alloc() instead of throw bad_alloc.
- * libsupc++/Makefile.am: Add exception_defines.h.
- * libsupc++/Makefile.in: Reformat.
- * libsupc++/*: Format.
-
-2001-02-15 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/configopts.html: Minor updates and typo fixes.
- * docs/html/faq/index.html: Updates of the "not really bugs" list.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-02-15 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp: Lift, temporarily, out of
- dejagnu/dg.exp. Adapt to log options used to run testcases.
-
-2001-02-13 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * testsuite/lib/libstdc++.exp(dg-test): Lift temporarily from
- dejagnu/dg.exp.
-
-2001-02-13 Dirk Mueller <dmuell@gmx.net>
- Phil Edwards <pme@sources.redhat.com>
-
- * include/backward/function.h: Do not use rel_ops for older
- headers either.
- * include/backward/pair.h: Likewise.
-
-2001-02-12 Mark Mitchell <mark@codesourcery.com>
-
- * src/locale.cc: Remove bogus locale::id definitions.
-
-2001-02-11 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/std_valarray.h: #undef _DEFINE_LOGICAL_OPERATOR,
- not _DEFINE_VALARRAY_OPERATOR which is not existent.
-
- * include/bits/valarray_meta.h (_RefFunClos<>_RefRunClos): Fix
- thinko in member initialisation.
-
-2001-02-11 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/std_valarray.h(valarray<>::shift): Avoid
- comparaison between signed and unsigned integer types.
- (valarray<>::cshift): Reformat.
-
-2001-02-11 Alexandre Oliva <aoliva@redhat.com>
-
- * src/gen-num-limits.cc: Use sigsetjmp and siglongjmp if available.
- * mknumeric_limits: Compile it with -DHAVE_CONFIG_H.
- * configure.in: Test for sigsetjmp.
- * configure, config.h.in: Rebuilt.
-
-2001-02-11 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't flip
- lengths and strides.
- (__gslice_to_index): Document.
-
-2001-02-11 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * include/bits/char_traits.h char_traits<char>::int_type: Change
- to `int' to match 21.1.3.1/2.
-
- * testsuite/21_strings/char_traits-int_type.C: New test.
-
-2001-02-10 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/Makefile.am: New file.
-
-2001-02-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * include/c_shadow/bits/std_cstdlib.h (lldiv_t): Fix typo.
-
-2001-02-08 Loren J. Rittle <ljrittle@acm.org>
-
- * src/locale-inst.cc (fill_n): Instantiate with size_t arguments.
-
-2001-02-08 David Edelsohn <edelsohn@gnu.org>
-
- * configure.target (aix4*): Remove extra set of brackets.
-
-2001-02-07 Benjamin Kosnik <bkoz@redhat.com>
-
- Clean up stdexcept.
- * include/bits/stringfwd.h: New file.
- * include/bits/stl_string_fwd.h: Remove.
- * include/bits/localefwd.h: Remove declaration for allocator.
- * include/bits/std_iosfwd: Same.
- * include/bits/std_string.h: Include it.
- * include/bits/std_ios.h: Remove include.
- * include/bits/basic_string.h: Tweak.
- * libsupc++/new: Format.
- * src/Makefile.am (base_headers): Add stringfwd.h, remove
- stl_string_fwd.h
- * src/Makefile.in: Regenerate.
- * include/bits/std_stdexcept.h: Rewrite.
- * src/stdexcept.cc: Same.
-
-2001-02-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library
- install locations too.
- * aclocal.m4: Regenerate.
- * configure.in: Remove USE_LIBDIR.
- * configure: Regenerate.
- * src/Makefile.am (toolexecdir): Simplify, use
- glibcpp_toolexecdir, glibcpp_toolexeclibdir.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Same.
- * libsupc++/Makefile.in: Regenerate.
-
- * src/Makefile.am: Just remove special rules for locale-inst.cc and
- misc-inst.cc as no longer necessary.
-
- Follow C++STYLE for naming non-static functions.
- * include/bits/ostream.tcc (_S_pad_char): Not static, rename to
- __pad_char.
- * include/bits/streambuf.tcc: Same.
- * include/bits/ostream.tcc: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/locale_facets.tcc (_S_pad_numeric): To __pad_numeric.
- (_S_output_float): To __output_float.
- * include/bits/std_streambuf.h (_S_copy_streambufs): To
- __copy_streambufs.
- * include/bits/locale_facets.tcc (_S_build_float_format): To
- __build_float_format.
- (_S_format): To __output_integer.
- (_S_fill): To __pad.
- * src/locale.cc: Same.
- * src/misc-inst.cc: Fix formatting. Fix signature for wchar_t. Correct
- names.
- * include/bits/locale_facets.tcc (_S_group_digits): To
- __group_digits.
- * src/locale-inst.cc: Fixup names. Add use_facet instantiations
- for collate, numpunct.
-
-2001-02-06 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/configopts.html: Fix HTML markup.
- * docs/html/install.html: Bring up to date.
- * docs/html/17_intro/C++STYLE: Add global variable conventions.
- * docs/html/21_strings/howto.html: More notes.
- * docs/html/22_locale/howto.html: Fix HTML markup.
- * docs/html/27_io/howto.html: More notes.
- * docs/html/27_io/binary_iostreams_kanze.txt: New file.
- * docs/html/27_io/binary_iostreams_kuehl.txt: New file.
-
-2001-02-06 Jeffrey Oldham <oldham@codesourcery.com>
-
- * src/misc-inst.cc (_S_pad_char): Modify declaration's parameters
- to match header files.
- (_S_output_float): Likewise.
- (_S_copy_streambufs): Likewise.
-
-2001-02-06 Hyman Rosen <Hyman.Rosen@kbcfp.com>
- Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/std_istream.h (op>> signed,unsigned char): Must
- use reinterpret_cast, not static_cast.
-
-2001-02-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (gxx_include_dir): Quote, fix regression.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (class moneypunct): Fix typos.
- * libsupc++/pure.cc: Revert.
-
-2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_MATH_DECL_1): New macro.
- (GLIBCPP_CHECK_MATH_DECL_2): New macro.
- (GLIBCPP_CHECK_MATH_DECL_3): New macro.
- (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1): Use it, check for _* too.
- (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2): Same.
- (GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3): Same.
- (GLIBCPP_CHECK_MATH_SUPPORT): Remove explicit checks for _* versions.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2001-02-05 Mark Mitchell <mark@codesourcery.com>
-
- * include/bits/locale_facets.tcc: Remove `static' keyword on
- function definitions.
- * include/bits/std_streambuf.h: Likewise.
- * src/Makefile.am: Remove use of -fimplicit-templates.
- * src/Makefile.in: Regenerated.
- * src/locale-inst.cc: Explicitly instantiate more functions.
- * src/misc-inst.cc: Likewise.
- * src/string-inst.cc: Likewise.
-
-2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): New
- macro. Consolidate all the bits to do with where includes might be
- installed.
- * aclocal.m4: Regenerate.
- * configure.in: Use it.
- * configure: Regenerate.
- * src/Makefile.am (targetincludep): Use simplified rules.
- (targetincludep): Rename gxx_target_include_dir.
- (myincludep): Rename gxx_include_dir.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Use simplified rules.
- * libsupc++/Makefile.in: Regenerate.
-
-2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cerrno.h: Correct date format for copyright.
- * include/c_std/bits/std_cctype.h: Same.
- * include/c_std/bits/std_cassert.h: Same.
- * include/c_std/bits/std_cstdarg.h: Same.
- * include/c_std/bits/std_cstddef.h: Same.
-
- * include/c_std/bits/std_cstdio.h: Undefine all names brought into
- namespace std.
- * include/c_std/bits/std_ctime.h: Same.
- * include/c_std/bits/std_clocale.h: Same.
- * include/c_std/bits/std_cmath.h: Same.
- * include/c_std/bits/std_csetjmp.h: Same.
- * include/c_std/bits/std_csignal.h: Same.
- * include/c_std/bits/std_cstring.h: Same.
- * include/c_std/bits/std_cstdlib.h: Same.
- * include/c_std/bits/std_cwchar.h: Same.
-
-2001-02-05 Phil Edwards <pme@sources.redhat.com>
-
- * testsuite/27_io/ios_base_members_static.cc: Swap order of tests.
-
-2001-02-05 Mark Mitchell <mark@codesourcery.com>
-
- * src/string-inst.cc (string::_M_replace): Explicitly instantiate.
- (string::_S_construct): Likewise.
-
-2001-02-05 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/config/default.exp: New file.
- * testsuite/config: New directory.
-
-2001-02-04 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/typeinfo (__GXX_MERGED_TYPEINFO_NAMES): New macro.
- * libsupc++/tinfo.cc (std::typeinfo::operator==): Use strcmp
- whenever !__GXX_MERGED_TYPEINFO_NAMES.
- * libsupc++/tinfo2.cc (std::typeinfo::before): Likewise.
-
-2001-02-03 Alexandre Oliva <aoliva@redhat.com>
- Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * Makefile.am (mkinstalldirs): Set.
- * src/Makefile.am (mkinstalldirs): Set.
- * libmath/Makefile.am (mkinstalldirs): Set.
- * libsup++/Makefile.am (mkinstalldirs): Set.
- * libio/Makefile.am (mkinstalldirs): Set.
- * */Makefile.in: Regenerate.
-
-2001-02-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_threads.h (struct _STL_mutex_lock): Same.
- * include/bits/localefwd.h: More initialization cleanups.
-
-2001-02-03 Jeffrey A Law <law@cygnus.com>
-
- * include/bits/ios_base.h (_S_ios_fmtflags_end): Initialize
- correctly targets with 16bit ints.
- (_S_ios_openmode_end): Similarly.
- (_S_ios_iostate_end): Similarly.
- (_S_ios_Seekdir_end): Similarly.
-
-2001-02-02 Phil Edwards <pme@sources.redhat.com>
-
- * mkcheck.in: Also limit virtual memory size, for mmap-based mallocs.
-
-2001-02-01 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (toplevel_srcdir, auxdir): Set.
- * acinclude.m4 (glibcpp_basedir): Set based on auxdir.
- * aclocal.m4, configure, Makefile.in: Rebuilt.
- * libio/Makefile.in, math/Makefile.in, src/Makefile.in: Likewise.
- * libsupc++-v3/Makefile.am (INCLUDES): Use toplevel_srcdir.
- * libsupc++-v3/Makefile.in: Rebuilt.
- * libsupc++-v3/configure.in, libsupc++-v3/configure: Removed.
- * libsupc++-v3/aclocal.m4, libsupc++-v3/config.h.in: Likewise.
-
-2001-01-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/c_locale_generic.cc: Remove langinfo include.
-
-2001-01-29 Benjamin Kosnik <bkoz@redhat.com>
-
- Preliminary named locales.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
- * aclocal.m4: Regenerate.
- * configure.in: Use it.
- * configure: Regerate.
- * src/Makefile.am (sources): Add c++locale.cc.
- (build_headers): Add c++locale.h.
- * src/Makefile.in: Regenerate.
- * config/c_locale_gnu.h: New file.
- * config/c_locale_gnu.cc: New file. Non-inline member functions
- for named locales, gnu-specific.
- * config/c_locale_generic.h: New file.
- * config/c_locale_generic.cc: New file. Non-inline member
- functions for named locales, generic version.
- * docs/html/configopts.html: Add documentation on new options.
-
- * include/bits/locale_facets.h (class _Messages): Remove.
- (class _Moneypunct): Remove.
- * src/locale-inst.cc: Remove.
-
- * include/bits/locale_facets.h (class _Collate): Remove.
- * src/locale-inst.cc (std): Remove.
- * src/locale.cc: And here.
-
- * include/bits/localefwd.h (locale::_M_coalesce): New
- function. Correctly put together multi-name locales.
- (_Impl(const _Impl&, category, size_t)): Remove.
-
- * include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
- member functions.
- (_M_normalize_category_names): Remove.
- (_M_replace_categories): Fix.
-
- * src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
- (locale::_Impl::_M_construct_ctype): Remove.
- (locale::_Impl::_M_construct_monetary): Remove.
- (locale::_Impl::_M_construct_numeric): Remove.
- (locale::_Impl::_M_construct_time): Remove.
- (locale::_Impl::_M_construct_messages): Remove.
-
- * include/bits/locale_facets.h (_Bad_use_facet): Remove.
- (_Use_facet_failure_handle): Remove.
- * src/locale.cc: Remove definitions.
- * src/locale-inst.cc: And here.
-
- * testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.
-
- * src/localename.cc (locale::facet::_S_create_c_locale): Properly
- create and error-check underlying locale object.
- (locale::facet::_S_destroy_c_locale): Add, take care of properly
- tearing down underlying locale object.
- * include/bits/localefwd.h (locale::facet): Declare.
- * testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
- correctness, as glibc apparently has incorrect info in it. Test
- with it when it works again.....
-
- * include/bits/localefwd.h (locale::_Impl::__vec_string):
- Remove. Number of categories is fixed at six, so just simplify and
- make this an array of strings.
- (locale::_Impl::_M_has_name): Remove.
- (locale::_Impl::_M_name): Remove.
- (locale::_Impl::_M_category_names): Turns into...
- (locale::_Impl::_M_names): ...this.
- (locale::_Impl::_M_has_same_name()): New function.
- * src/localename.cc (locale::_Impl::~_Impl()): Remove here.
- (locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
- signature.
- * src/locale.cc (locale::name()): Construct mangled name
- accurately reflecting combined locale categories.
-
- * src/locale.cc (locale::classic()): Don't initialize here.
- * src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
- __refs, bool __has_name, string __str): Do it here.
-
- * include/bits/localefwd.h: _S_categories_num to
- _S_num_categories. _S_facets_num to _S_num_facets.
- (locale::id::id()): Explicitly set _M_index to zero.
- * src/locale.cc: Same.
-
- * src/locale.cc: (locale::locale(const char*)): Construct named
- locales uniquely.
-
- * src/locale.cc: Remove numpunct_byname ctors.
- * testsuite/22_locale/numpunct_byname.cc: New file.
- * testsuite/22_locale/numpunct.cc: New file.
-
- * include/bits/localefwd.h (class locale): Change data members to
- protected, from private.
- (_Impl::_M_get_c_locale): Add member function.
- (locale::facet::_M_get_global_impl()): Add member function.
- * include/bits/locale_facets.h (numpunct::_M_init): Change to take
- a __c_locale pointer.
- (numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
- named locales.
- * testsuite/22_locale/members.cc: New file, test name and combine.
-
- * include/bits/locale_facets.h (class numpunct): Remove class
- _Punct and _Numpunct. Rewrite class numpunct to be correct for
- named locales.
- * include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
- * src/localename.cc (_Impl::~_Impl()): Call __frelocale.
- (_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
- * src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
- * testsuite/22_locale/numpunct_char_members.cc: New file.
-
-2001-01-28 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/README: Add more comment.
- * testsuite/lib/libstdc++.exp: Tweak comment.
-
-2001-01-26 Benjamin Kosnik <bkoz@kredhat.com>
-
- * libsupc++/pure.cc (writestr): Just use cstdio and std::fputs.
-
-2001-01-25 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/21_strings/inserters_extractors.cc: Remove
- explicit reference to 'testsuite/'.
-
-2001-01-25 Richard Henderson <rth@redhat.com>
-
- * config/cpu/alpha/bits/atomicity.h: Remove tricky .subsetion
- bits. Fixes Tru64 build issues.
-
-2001-01-25 Michael Sokolov <msokolov@ivan.Harhan.ORG>
-
- * acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Bourne shell portability bug
- (use ${MAKE-make}, not ${MAKE:-make}).
- * aclocal.m4, configure: Regenerate.
-
-2001-01-25 Mark Mitchell <mark@codesourcery.com>
-
- * src/ios.cc: Remove accidental inclusion of <stdio.h> in last
- checkin.
-
- * src/Makefile.am (sources): Add globals.cc.
- * src/Makefile.in: Regenerated.
- * src/globals.cc: New file.
- * src/ios.cc (cin): Don't define here, just declare extern.
- (cout): Likewise.
- (cerr): Likewise.
- (clog): Likewise.
- (wcin): Likewise.
- (wcout): Likewise.
- (wcerr): Likewise.
- (wclog): Likewise.
-
-2001-01-25 Phil Edwards <pme@sources.redhat.com>
-
- * include/bits/std_iterator.h: Do not include stl_relops.h.
- * include/bits/std_numeric.h: Ditto.
- * include/bits/stl_algobase.h: Ditto.
- * include/bits/stl_relops.h: Add comment warning about problems.
-
-2001-01-25 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/27_io/*.cc: Remove explicit reference to 'testsuite/'
- in testcases. Prepare for the DejaGnu based framework.
- * mkcheck.in: Adjust call to tests_flags. Don't mmkdir testsuite
- directory -- it is now mkcheck working directory.
- * tests_flags.in: Remove reference to $(top_srcdir). Use
- ${SRC_DIR} instead.
- * Makefile.am (check, check-install): Change mkcheck invocation
- logic.
- * Makefile.in: Regenerate.
-
-2001-01-24 Mark Mitchell <mark@codesourcery.com>
-
- * config/os/aix/bits/atomicity.h (__compare_and_swap): Remove.
- (__always_swap): Likewise.
-
-2001-01-23 Chris Demetriou <cgd@broadcom.com>
-
- * libsupc++/exception_support.cc (__terminate_func): Remove
- declaration.
- (__terminate_func_ptr): New typedef.
- (__terminate, __terminate_set_func): New extern function
- prototypes.
- (std::terminate): Use __terminate function.
- (std::set_terminate): Use __terminate_set_func function.
-
-2001-01-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.target: Just use os_include_dir always.
- * configure.in: Remove calls to GLIBCPP_CHECK_CTYPE_SUPPORT.
- Link atomicity files and ctype files here.
- * configure: Regenerate.
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Remove.
- (GLIBCPP_ENABLE_ATOMICITY): Remove.
- * aclocal.m4: Regenerate.
-
-2001-01-23 Chris Demetriou <cgd@broadcom.com>
-
- * configure.in: Place definition of MULTISUBDIR in
- libsupc++/Makefile as is done for src/Makefile.
- * configure: Regenerate.
-
-2001-01-23 Phil Edwards <pme@sources.redhat.com>
-
- * acinclude.m4: Cosmetic changes only.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
- * configure.target: Update documented list of changed variables.
- * docs/html/install.html: Fix typo.
- * docs/html/20_util/howto.html: More notes on auto_ptr.
- * docs/html/27_io/howto.html: More notes on streabufs.
- * docs/html/faq/index.html: Add rel_ops problem and mention the
- DEC as(1) .subsection difficulty.
- * docs/html/faq/index.txt: Regenerated.
-
-2001-01-23 Mark Mitchell <mark@codesourcery.com>
-
- * ainclude.m4 (GLIBCPP_CHEC_MATH_DECLS_AND_LINKAGE_1): New macro.
- (GLIBCPP_CHECK_MATH_SUPPORT): Use it.
- (GLIBCPP_CHECK_TYPE_SUPPORT): Don't autoconf ctype information if
- its already provided in config.target.
- * aclocal.m4: Regenerated.
- * configure: Likewise.
- * configure.target: Set ctype_include_dir for lots of systems.
- * libsupc++/Makefile.am: Explicitly include --tag disable-shared.
- * libsupc++/Makefile.in: Regenerated.
-
-2001-01-23 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp: Improve. Add support for @xxx#
- keyword capability.
-
- * testsuite/README: Add comment.
-
-2001-01-21 Phil Edwards <pme@sources.redhat.com>
-
- * docs/html/configopts.html: Update for current status. Fix HTML.
- * docs/html/install.html: Update for current status.
-
-2001-01-20 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * testsuite/libstdc++.tests/tests.exp: New file.
- * testsuite/lib/libstdc++.exp: Itou.
- * testsuite/README: Itou.
-
-2001-01-20 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * tests_flags.in: Just output the bare minimum to run tests.
- Let's the caller do its own arrangement.
-
- * mkcheck.in: Rename INC_PATH to INCLUDES. Adjust flags
- computations.
-
-2001-01-19 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/17_intro: Prepare testcases for new style DejaGnu
- framework.
-
-2001-01-18 Gabriel Dos Reis <gdr@codesourcery.com>
-
- * testsuite/libstdc++.tests, testsuite/lib: New directories.
-
-2001-01-17 Loren J. Rittle <ljrittle@acm.org>
-
- * mkcheck.in: Construct file names that match $objdir structure.
- * testsuite/27_io/filebuf_members-1.txt: New file.
- * testsuite/27_io/ifstream_members-1.txt: New file.
- * testsuite/27_io/ostream_inserter_char-1.txt: New file.
-
- * testsuite/27_io/ios_base_members_static.cc (test02): Add test.
- * testsuite/27_io/ios_base_members_static-1.tst: Add expected output.
-
-2001-01-17 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * testsuite/27_io/istream_sentry.cc (test02): Fix.
-
-2001-01-17 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/1605
- * include/bits/ios_base.h (ios_base::failure): Tighten up throw specs.
- * src/ios.cc (ios_base::failure): Make definitions match.
- * libsupc++/typeinfo (class bad_typeid): Add throw specs.
- (class bad_cast): Same.
- * libsupc++/exception (class exception): Add throw specs.
- * libsupc++/exception_support.cc (set_terminate): Add throw specs.
- (set_unexpected): Same.
- (uncaught_exception): Same.
- (what): Same.
-
- * docs/html/17_intro/C++STYLE (classname): Fix.
-
-2001-01-16 Mark Mitchell <mark@codesourcery.com>
-
- * src/gen-num-limits.cc (INSTANTIATIONS): New macro.
- Use it do explicitly instantiate predicate<T> and value<T> for
- all the builtin Ts.
-
-2001-01-16 Nathan Sidwell <nathan@codesourcery.com>
-
- * libsupc++/exception_support.cc (__cp_pop_exception): Fix
- uninitialized thinko in last change.
-
-2001-01-16 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/exception_support.cc (__cp_pop_exception): Change
- prototype.
-
-2001-01-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/C++STYLE (classname): Add more existing
- and stylish patterns.
-
- libstdc++/944
- * include/bits/istream.tcc (istream::sentry::sentry()): Set
- failbit if the state of the stream is not good.
- * testsuite/27_io/istream_sentry.cc (test02): Add test.
- * testsuite/27_io/istream_manip.cc (test01): Modify.
-
- libstdc++/1019
- reported by Paolo Carlini <pcarlini@unitus.it>
- * include/bits/istream.tcc (operator>>(istream&, string&)): Fix.
- * testsuite/21_strings/inserters_extractors.cc (test08): Add test.
-
- libstdc++/1057
- * include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
- * include/bits/streambuf.tcc (xsputn): Remove outside if clause.
- (xsgetn): Same. Simplify.
- * testsuite/27_io/streambuf.cc (test04): Add testcases.
-
- reported by Larry Evans <jcampbell3@prodigy.net>
- * include/bits/streambuf.tcc (streambuf::xsputn): Just check for
- equality with eof on returned value from overflow.
-
-2001-01-14 Andreas Jaeger <aj@suse.de>
-
- * libio/libio.h: Add test for glibc 2.0.
-
-2001-01-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/djgpp/bits/*: Fix dates.
-
- * include/bits/basic_string.h (_S_find(const _CharT* __beg, const
- _CharT* __end, _CharT __c): Remove.
- * include/bits/basic_string.tcc: Substitute traits::find for _S_find.
- * include/bits/char_traits.h: Tweak.
-
-2001-01-12 Laurynas Biveinis <lauras@softhome.net>
-
- * acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): check for DJGPP <ctype.h>
- (LIB_AC_PROG_CXX): replace [/\\] with [\\/] to work around older
- bash bug.
- * aclocal.m4: regenerated.
- * configure.target: set os_include_dir to config/os/djgpp under DJGPP.
- * configure: regenerated.
- * config/os/djgpp, config/os/djgpp/bits: new directories.
- * config/os/djgpp/bits/ctype_base.h,
- config/os/djgpp/bits/ctype_inline.h,
- config/os/djgpp/bits/ctype_noninline.h,
- config/os/djgpp/bits/os_defines.h: new files.
-
-2001-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * include/c_std/bits/std_cstdio.h: Undef printf.
-
-2001-01-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/ios.cc: Fix typo: change cout->wcout.
-
- * src/Makefile.am (targetincludep): Fix for version-specific-libs.
- * src/Makefile.in: Regenerate.
-
-2001-01-10 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/std_complex.h: Fix a typo.
-
-2001-01-09 Benjamin Kosnik <bkoz@redhat.com>
- <kainz@ilm.com>
-
- Fixes for libstdc++/1576
- * src/stdstreams.cc: Initialize with NULL filebuf. Delete
- file, move contents into....
- * src/ios.cc: ...Here. Put defines for iostreams objects and
- initialization routines into one file to simplify DSO interaction.
- * include/bits/std_iostream.h: Touch.
- * include/bits/ios_base.h (_S_synched_with_stdio): Make static.
- * src/Makefile.am (sources): Remove stdstreams.cc.
- * src/Makefile.in: Regenerate.
-
-2001-01-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * tests_flags.in (check_directory): Fix typo.
-
-2001-01-09 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/std_complex.h: Fix a typo.
-
-2001-01-09 Loren J. Rittle <ljrittle@acm.org>
-
- * config/os/bsd/freebsd/bits/ctype_inline.h (is): (Make right
- code path:) Remove magic constants and restructure to handle
- ctype.h bit mask layout changes more gracefully. (Make fast
- code path:) Use __maskrune (), if available.
- (is): Remove special case for digit and xdigit masks.
-
-2001-01-09 Robert Lipe <robertlipe@usa.net>
-
- * include/c_std/bits/std_ctime.h: Undefine difftime.
-
-2001-01-09 Alexandre Oliva <aoliva@redhat.com>
-
- * src/gen-num-limits.cc (signal_adapter): New template function.
- (signal_handler): Use it, instead of signal.
- (traps<T>): Likewise. Install SIGTRAP handler too. Don't
- require both tests to trap to set trap_flag.
-
-2001-01-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fpos.h (fpos:::fpos(streamoff __pos)): Explicitly
- initialize mbstate_t member, name offset data members *off, not pos.
- * include/bits/fstream.tcc (filebuf::filebuf): Same.
-
-2001-01-08 Benjamin Kosnik <bkoz@redhat.com>
-
- reported by Chris G. Demetriou <cgd@sibyte.com>
- * configure.in: Change -linux-* to -linux*.
- * configure: Regenerate.
-
-2001-01-05 Benjamin Kosnik <bkoz@redhat.com>
-
- Fix 27_io/filebuf_members.cc
- * src/localename.cc (locale::_Impl::_Impl(const _Impl& __imp,
- const string& __name, category __cat, size_t __refs): Set
- _M_has_name with _M_name.
- * include/bits/localefwd.h (locale::operator!=): Protect member
- function call with this->.
- * src/locale.cc (locale::operator==): Make fast checks first.
- * include/bits/basic_ios.tcc (basic_ios::init): Simplify.
-
- * include/bits/ios_base.h (_M_synced_with_stdio): Add data member
- to ios_base::Init.
- * src/ios.cc (ios_base::Init::Init): Initialize here.
- (ios_base::sync_with_stdio): Set here.
-
-2001-01-04 Loren J. Rittle <ljrittle@acm.org>
-
- * config/c_io_stdio.cc (__basic_file<_CharT>::sys_open()): On
- systems that support it, call dup() before fdopen().
-
-2001-01-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/bits/std_cwctype.h: Include std_cwchar.h for wint_t.
- * testsuite/17_intro/header_cwctype.cc (main): New file.
-
- * src/Makefile.am (base_headers): Change.
- * include/bits/std_string.h: And here.
- * include/bits/string.tcc: Tweaks, move to...
- * include/bits/basic_string.tcc: ...Here.
- * src/string-inst.cc: Simplify, just instantiate the whole class,
- not member-by-member.
-
-2001-01-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
- * include/bits/c++config (__GLIBCPP__): Bump version number.
-
- * ChangeLog: Start new log for year 2001
- * ChangeLog-2000: New file.
-
- * docs/html/configopts.html: Make sure default values are current,
- add commentary.
-
-2001-01-01 Benjamin Kosnik <bkoz@fillmore.redhat.com>
-
- * include/c_std/bits/std_cwchar.h: Same.
- * testsuite/17_intro/header_cwchar.cc: Same.
- * include/c_std/bits/std_ctime.h: Same.
- * testsuite/17_intro/header_ctime.cc: Same.
- * include/c_std/bits/std_cstdlib.h: Same.
- Clean up undefs, make consistent with cwchar and cmath, etc.
- * testsuite/17_intro/header_cstdlib.cc: Same.
- * include/c_std/bits/std_cstdio.h: Same here.
- * testsuite/17_intro/header_cstring.cc: Same.
- * include/c_std/bits/std_cstring.h: Include std_cstddef.h for size_t.
- * testsuite/17_intro/header_cstring.cc: New file. Check for
- size_t in namespace std.
-
- * include/c_std/bits/std_cwchar.h: Explicit checks for mbstate_t.
- * acconfig.h (HAVE_MBSTATE_T): Add.
- * config.h.in: Regenerate.
- * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Always test for
- mbstate_t.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/17_intro/headers_c++.cc: New file.
- * testsuite/17_intro/headers_c.cc: Small changes.
-
-2001-01-01 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * tests_flags.in: Fix typo in usage.
-
- * tests_flags.in: Set target specific LIBS for cygwin.
diff --git a/contrib/libstdc++/ChangeLog-2002 b/contrib/libstdc++/ChangeLog-2002
deleted file mode 100644
index 337056ec8cc7..000000000000
--- a/contrib/libstdc++/ChangeLog-2002
+++ /dev/null
@@ -1,5590 +0,0 @@
-2002-12-30 Loren J. Rittle <ljrittle@acm.org>
-
- * src/Makefile.am: Resolve non-portable use of $<.
- * src/Makefile.in: Rebuilt.
-
-2002-12-30 Phil Edwards <pme@gcc.gnu.org>
-
- * configure.in (GLIBCPP_ENABLE_CXX_FLAGS): Do not pass arguments,
- let the defaults work.
- * configure: Regenerate.
-
-2002-12-30 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4: Remove trailing whitespace.
- (GLIBCPP_ENABLE_CXX_FLAGS): Fix.
- * aclocal.m4, configure: Regenerate.
-
-2002-12-29 Phil Edwards <pme@gcc.gnu.org>
-
- * include/std/std_bitset.h: Better comments.
-
-2002-12-28 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * docs/html/17_intro/porting.texi: Use @copying.
- * docs/html/17_intro/porting.html: Regenerate.
-
-2002-12-27 Mark Mitchell <mark@codesourcery.com>
-
- * config/locale/gnu/ctype_members.cc
- (ctype<wchar_t>::_M_convert_to_wmask): Remove stray semicolon.
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t, true>::_M_initialize_moneypunct): Avoid
- defining classes in static_cast.
- (moneypunct<wchar_t, false>::_M_initialize_moneypunct): Likewise.
- * config/locale/gnu/numeric_members.cc
- (numpunct<wchar_t, false>::_M_initialize_numpunct): Likewise.
- * include/bits/stl_deque.h (operator-): Insert typename where
- required.
- * include/bits/stl_multiset.h (multiset): Remove stray semicolon.
- * include/bits/stl_set.h (set): Likewise.
- * include/bits/valarray_meta.h (bits/slice_array.h): Include it.
- * include/std/std_fstream.h (basic_fstream::open): Use this-> to
- avoid Koenig lookup.
- (basic_fstream::close): Likewise.
- * libsupc++/new (operator delete): Remove stray semicolon.
- * libsupc++/new (operator delete[]): Likewise.
- * libsupc++/tinfo.cc: Likewise.
- * src/stdexcept.c (logic_error::~logic_error): Likewise.
- (runtime_error::~runtime_error): Likewise.
-
-2002-12-26 Phil Edwards <pme@gcc.gnu.org>
-
- * libsupc++/exception: Add comment (mistakenly skipped).
-
-2002-12-26 Phil Edwards <pme@gcc.gnu.org>
-
- * include/std/std_bitset.h (_Base_bitset::_M_do_left_shift,
- _Base_bitset::_M_do_right_shift): Expect a non-zero shift.
- (bitset::operator<<=, bitset::operator>>=): When shifting more bits
- than are in the bitset, zero memory rather than segfault.
- (operator>>(basic_istream,bitset): Only call setstate once, after
- all work has been done.
-
- * testsuite/23_containers/bitset_members.cc (test03): New test.
- * testsuite/23_containers/bitset_shift.cc (test02): New test.
-
-2002-12-26 Phil Edwards <pme@gcc.gnu.org>
-
- * libsupc++/vterminate.cc (writestr): Use __builtin_strlen.
-
-2002-12-26 Phil Edwards <pme@gcc.gnu.org>
-
- * libsupc++/eh_term_handler.cc: Add comment about embedded systems.
- * docs/html/debug.html: Cosmetic and HTML changes. Point to
- verb-term notes.
- * docs/html/documentation.html: Link to the FAQ.
- * docs/html/17_intro/howto.html: Mention use of isatty(3).
- * docs/html/19_diagnostics/howto.html: Update verb-term description.
-
-2002-12-25 Phil Edwards <pme@gcc.gnu.org>
-
- * src/vterminate.cc: Move to...
- * libsupc++/vterminate.cc: ...here. New file. Replace fprintf with
- writestr macro. Slight reword to explanatory text.
- * libsupc++/eh_terminate.cc (__cxxabiv1::__terminate_handler,
- __cxxabiv1::__unexpected_handler): Break definitions out to...
- * libsupc++/eh_unex_handler.cc: ...here (new file), and...
- * libsupc++/eh_term_handler.cc: ...here (new file). Initialize
- __terminate_handler with __gnu_cxx::__verbose_terminate_handler
- instead of std::abort.
-
- * libsupc++/Makefile.am (sources), src/Makefile.am (sources): Update.
- * libsupc++/Makefile.in, src/Makefile.in: Regenerate.
-
-2002-12-23 Danny Smith <dannysmith@users.sourceforge.net>
-
- * config/io/basic_file_stdio.cc (__basic_file::_M_open_mode):
- Don't use O_NONBLOCK if it is not defined.
- (__basic_file::open): Don't use fcntl either.
-
-2002-12-20 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
-
- * include/bits/stl_deque.h: Fix typo.
- * include/bits/stl_list.h: Same.
- * include/bits/stl_map.h: Same.
- * include/bits/stl_multimap.h: Same.
- * include/bits/stl_queue.h: Same.
- * include/bits/stl_stack.h: Same.
- * include/bits/stl_vector.h: Same.
-
-2002-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/documentation.html: Add link for debug.html.
- * docs/html/debug.html: New.
-
-2002-12-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/23_containers/vector_capacity.cc (test03): Move ...
- * testsuite/23_containers/vector_resize.cc: ...here as a new file.
- Pass in -lmalloc for irix6.
- * testsuite/27_io/ios_base_storage.cc: Pass in -lmalloc for irix6.
-
-2002-12-18 Jason Merrill <jason@redhat.com>
-
- * src/vterminate.cc (__verbose_terminate_handler): Send
- diagnostics to stderr.
-
-2002-12-18 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.in: Define with_target_subdir and with_build_subdir
- variables in config-ml.in AC_OUTPUT call.
- * configure: Regenerate.
-
-2002-12-16 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/8949
- * include/std/std_limits.h
- (struct numeric_limits<short>,
- struct numeric_limits<unsigned short>,
- struct numeric_limits<int>,
- struct numeric_limits<unsigned int>,
- struct numeric_limits<long>,
- struct numeric_limits<unsigned long>,
- struct numeric_limits<long long>,
- struct numeric_limits<unsigned long long>): According
- to 18.2.1.2,53 and 18.2.1.5,1 is_iec559 shall be false.
- * testsuite/18_support/numeric_limits.cc: Add test04.
-
-2002-12-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
- Call GLIBCPP_ENABLE_DEBUG_FLAGS.
- * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
- conditional if --enable-debug is yes. Rework.
- (GLIBCPP_ENABLE_DEBUG_FLAGS): New.
- * aclocal.m4: Regenerate.
- * libio/Makefile.am: Remove DEBUG_FLAGS.
- * libio/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Remove DEBUG_FLAGS.
- * libsupc++/Makefile.in: Regenerate.
- * docs/html/configopts.html: Add docs for --enable-debug,
- --enable-debug-flags.
-
-2002-12-16 Benjamin Kosnik <bkoz@redhat.com>
-
- Correct dependency tracking, build warts.
- * configure.in: Correct repeated AC_OUTPUT thrashing by
- config-ml.in
- * configure: Regenerate.
- * include/Makefile.am (stamp-target): Stamp in top_builddir.
- * include/Makefile.in: Regenerate.
- * src/Makefile.am (codecvt_members.cc): New rule.
- (collate_members.cc): Same.
- (ctype_members.cc): Same.
- (messages_members.cc): Same.
- (monetary_members.cc): Same.
- (numeric_members.cc): Same.
- (time_members.cc): Same.
- (c++locale.cc): Same.
- (basic_file.cc): Same.
- * src/Makefile.in: Regenerate.
- * acinclude.m4 (CCTYPE_CHAR_CC): Remove.
- (CCCODECVT_CC): Don't link, AC_SUBST.
- (CCOLLATE_CC): Same.
- (CCTYPE_CC): Same.
- (CMESSAGES_CC): Same.
- (CMONEY_CC): Same.
- (CNUMERIC_CC): Same.
- (CTIME_CC): Same.
- (CLOCALE_CC): Same.
- * aclocal.m4: Regenerate.
-
- * src/Makefile.am (libstdc___la_LIBADD): Use top_builddir
- for convenience libraries.
- (version_arg): Rename linker.map to libstdc++.ver.
- (libstdc___la_DEPENDENCIES): Remove linker.map, add
- libstdc++-symbol.ver as a dependency.
- (libstdc++-symbol.ver): Add rule.
- * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to
- SYMVER_MAP. Don't link, AC_SUBST.
-
- * include/Makefile.am (target_headers_noinst): New.
- (stamp-target): Add CLOCALE_INTERNAL_H.
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link
- CLOCALE_INTERNAL_H, AC_SUBST.
- * config/locale/gnu/c_locale.cc: Modify c++locale_internal.h
- include.
- * config/locale/gnu/time_members.cc: Same.
- * config/locale/gnu/numeric_members.cc: Same.
- * config/locale/gnu/monetary_members.cc: Same.
- * config/locale/gnu/messages_members.cc: Same.
- * config/locale/gnu/ctype_members.cc: Same.
- * config/locale/gnu/collate_members.cc: Same.
- * config/locale/gnu/codecvt_members.cc: Same.
- * config/locale/generic/codecvt_members.cc: Remove.
-
-2002-12-11 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/8887
- * config/locale/generic/time_members.cc
- (__timepunct<char>::_M_initialize_timepunct): Fix typos
- in _M_date_format and _M_date_era_format string literals.
-
-2002-12-10 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/cxxabi.h (__cxa_bad_cast): Declare it.
- (__cxa_bad_typeid): Likewise.
- (__cxa_atexit): Likewise.
- (__cxa_finalize): Likewise.
-
-2002-12-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
-
-2002-12-09 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it.
-
-2002-12-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/abi_check.cc: Add GLIBCPP_3.2.2.
-
-2002-12-04 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/generic/codecvt_members.cc (codecvt::do_out
- (state_type&, const intern_type*, const intern_type*,
- const intern_type*&, extern_type*, extern_type*, extern_type*&),
- codecvt::do_in(state_type&, const extern_type*, const extern_type*,
- const extern_type*&, intern_type*, intern_type*, intern_type*&)):
- Fully qualify min() with std::.
- * config/locale/gnu/codecvt_members.cc: Ditto.
- * locale/ieee_1003.1-2001/codecvt_specializations.h
- (codecvt::do_length(const state_type&, const extern_type*,
- const extern_type*, size_t): Ditto.
- * include/bits/deque.tcc
- (_M_range_initialize(_ForwardIterator, _ForwardIterator,
- forward_iterator_tag), deque::_M_range_insert_aux(iterator,
- _ForwardIterator, _ForwardIterator, forward_iterator_tag),
- deque::_M_reallocate_map(size_type, bool)): Fully qualify
- distance() and max() with std::.
- * include/bits/fstream.tcc (basic_filebuf::seekoff(off_type,
- ios_base::seekdir, ios_base::openmode)): Fully qualify max()
- with std::.
- * include/bits/istream.tcc (basic_istream::ignore(streamsize,
- int_type), basic_istream::readsome(char_type*, streamsize)):
- Fully qualify min() with std::.
- * include/bits/locale_facets.tcc (time_get::_M_extract_name
- (iter_type&, iter_type&, int&, const _CharT**, size_t,
- ios_base::iostate&)): Ditto.
- * include/bits/sstream.tcc (basic_stringbuf::overflow(int_type)):
- Fully qualify max() with std::.
- * include/bits/stl_algo.h (__inplace_stable_partition(_ForwardIter
- __first, _ForwardIter, _Predicate, _Distance),
- __stable_partition_adaptive(_ForwardIter, _ForwardIter, _Predicate,
- _Distance, _Pointer, _Distance), __merge_sort_loop(_RandomAccessIter1,
- _RandomAccessIter1, _RandomAccessIter2, _Distance),
- __merge_sort_loop(_RandomAccessIter1, _RandomAccessIter1,
- _RandomAccessIter2, _Distance, _Compare), lower_bound(_ForwardIter,
- _ForwardIter, const _Tp&), lower_bound(_ForwardIter, _ForwardIter,
- const _Tp&, _Compare), upper_bound(_ForwardIter, _ForwardIter,
- const _Tp&), upper_bound(_ForwardIter, _ForwardIter, const _Tp&,
- _Compare), equal_range(_ForwardIter, _ForwardIter, const _Tp&),
- equal_range(_ForwardIter, _ForwardIter, const _Tp&, _Compare),
- __merge_without_buffer(_BidirectionalIter, _BidirectionalIter,
- _BidirectionalIter, _Distance, _Distance), __merge_without_buffer
- (_BidirectionalIter, _BidirectionalIter, _BidirectionalIter,
- _Distance, _Distance, _Compare), __rotate_adaptive(_BidirectionalIter1,
- _BidirectionalIter1, _BidirectionalIter1, _Distance, _Distance,
- _BidirectionalIter2, _Distance), __merge_adaptive(_BidirectionalIter,
- _BidirectionalIter, _BidirectionalIter, _Distance, _Distance,
- _Pointer, _Distance), __merge_adaptive(_BidirectionalIter,
- _BidirectionalIter, _BidirectionalIter, _Distance, _Distance,
- _Pointer, _Distance, _Compare), inplace_merge(_BidirectionalIter,
- _BidirectionalIter, _BidirectionalIter), inplace_merge
- (_BidirectionalIter, _BidirectionalIter, _BidirectionalIter,
- _Compare), __find_end(_BidirectionalIter1, _BidirectionalIter1,
- _BidirectionalIter2, _BidirectionalIter2, bidirectional_iterator_tag,
- bidirectional_iterator_tag), __find_end(_BidirectionalIter1,
- _BidirectionalIter1, _BidirectionalIter2, _BidirectionalIter2,
- bidirectional_iterator_tag, bidirectional_iterator_tag,
- _BinaryPredicate)): Fully qualify distance() and min() with std::.
- * include/bits/stl_algobase.h (lexicographical_compare
- (const unsigned char*, const unsigned char*, const unsigned char*,
- const unsigned char*)): Fully qualify min() with std::.
- * include/bits/stl_bvector.h (_M_insert_range(iterator,
- _ForwardIterator, _ForwardIterator, forward_iterator_tag),
- _M_assign_aux(_ForwardIterator, _ForwardIterator,
- forward_iterator_tag),
- _M_initialize_range(_ForwardIterator, _ForwardIterator,
- forward_iterator_tag), _M_fill_insert(iterator, size_type, bool)):
- Fully qualify distance() and max() with std::.
- * include/bits/stl_deque.h
- (_Deque_base::_M_initialize_map(size_t),
- _M_assign_aux(_ForwardIterator, _ForwardIterator,
- forward_iterator_tag)):
- Ditto. * include/bits/stl_list.h (size()): Fully qualify
- distance() with std::.
- * include/bits/stl_tempbuf.h (_Temporary_buffer::_Temporary_buffer
- (_ForwardIterator, _ForwardIterator)): Ditto.
- * include/bits/stl_tree.h (_Rb_tree::erase(const _Key&),
- _Rb_tree::count(const _Key&)): Ditto.
- * include/bits/stl_vector.h (_M_range_initialize(_ForwardIterator,
- _ForwardIterator, forward_iterator_tag)): Ditto.
- * include/bits/streambuf.tcc (basic_streambuf::xsgetn(char_type*,
- streamsize), basic_streambuf::xsputn(const char_type*, streamsize)):
- Fully qualify min() with std::.
- * include/bits/vector.tcc (_M_assign_aux(_ForwardIter, _ForwardIter,
- forward_iterator_tag), _M_fill_insert(iterator, size_type,
- const value_type&), _M_range_insert(iterator, _ForwardIterator,
- _ForwardIterator, forward_iterator_tag)): Fully qualify max() and
- distance() with std::.
- * include/std/std_bitset.h (bitset::_M_copy_from_string
- (const basic_string&, size_t, size_t)): Fully qualify min() with std::.
- * include/std/std_streambuf.h (_M_pback_create()): Ditto.
- * include/std/std_complex.h (abs(const complex<_Tp>&)):
- Fully qualify max() with std::.
- * include/std/std_sstream.h (str()): Ditto.
- * src/codecvt.cc (codecvt::do_out(state_type&, const intern_type*,
- const intern_type*, const intern_type*&, extern_type*, extern_type*,
- extern_type*&), codecvt::do_in(state_type&, const extern_type*,
- const extern_type*, const extern_type*&, intern_type*, intern_type*,
- intern_type*&), codecvt::do_length(const state_type&,
- const extern_type*, const extern_type*, size_t), do_length
- (const state_type&, const extern_type*, const extern_type*,
- size_t)): Fully qualify min() with std::.
- * src/strstream.cc (strstreambuf::strstreambuf(streamsize),
- strstreambuf::overflow(int_type)): Fully qualify max() with std::.
-
-2002-12-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.h (compare(const basic_string&)):
- Fully qualify min() with std::.
-
-2002-12-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (libtool_VERSION): Update to 5:2:0.
- * configure: Regenerate.
-
-2002-12-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.tcc
- (basic_string::append(const basic_string&, size_type,
- size_type), basic_string::compare(size_type, size_type,
- const basic_string&), basic_string::compare(size_type,
- size_type, const basic_string&, size_type, size_type),
- basic_string::compare(const _CharT*), basic_string::
- compare(size_type, size_type, const _CharT*),
- basic_string::compare(size_type, size_type, const _CharT*,
- size_type), _S_string_copy(const basic_string&, _CharT*,
- typename _Alloc::size_type)): Fully qualify min() with std::.
-
-2002-12-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.tcc
- (basic_string::_S_construct(_InIter, _InIter, const _Alloc&,
- forward_iterator_tag)): Delay the declaration of __dnew,
- fully qualify distance() with std::.
- (basic_string::_M_replace_safe): Fully qualify distance()
- with std::.
-
-2002-11-28 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/8716
- * testsuite/21_strings/ctor_copy_dtor.cc (test05): Also test
- the NULL-pointer, zero-size case.
-
-2002-11-28 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/faq/index.html: Add tip about a namespace for extensions.
-
-2002-11-28 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * src/localename.cc
- (locale::_Impl::_Impl(const char*, size_t)):
- Improve previous fix for the strtok vs MT issue.
-
-2002-11-28 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/gnu/c_locale.cc (locale::_S_categories):
- Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
- * config/locale/generic/c_locale.cc (locale::_S_categories): Ditto.
- * testsuite/22_locale/ctor_copy_dtor.cc (test04): Tweak.
-
-2002-11-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible.
- * config/linker-map.gnu: Version __cxa_guard_acquire,
- __cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1.
-
-2002-11-25 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * src/localename.cc
- (locale::_Impl::_Impl(const char*, size_t)):
- Avoid strtok for thread safety.
-
-2002-11-25 Stephen M. Webb <stephen@bregmasoft.com>
-
- * testsuite/testsuite_allocator.h: New file.
- * testsuite/testsuite_allocator.cc: New file.
- * testsuite/Makefile.am: Added testsuite_allocator to test library.
- * testsuite/testsuite_hooks.h: Added more detailed tracker objects
- gnu_copy_constructor, gnu_assignment_operator, and gnu_destructor.
- * testsuite/testsuite_hooks.cc: Added new static objects definitions.
- * testsuite/23_containers/vector_capacity.cc: Added reserve() tests.
- * testsuite/23_containers/vector_ctor.cc: Added a plethora of tests.
- * testsuite/23_containers/deque_ctor.cc: Added a slew of new tests.
-
-2002-11-25 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/Makefile.am (sources): Add guard.cc.
- * libsupc++/Makefile.in: Regenerated.
- * libsupc++/cxxabi.h (__cxa_guard_acquire): New function.
- (__cxa_guard_release): Likewise.
- (__cxa_guard_abort): Likewise.
- * libsupc++/guard.cc: New file.
-
-2002-11-25 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
-
- * include/std/std_complex.h
- (operator<<(basic_ostream&, const complex&)): Prefer 'x'
- to "x" for efficiency sake.
- * src/locale.cc (locale::locale(const char*)): Ditto.
-
-2002-11-24 Paolo Carlini <pcarlini@unitus.it>
-
- * src/locale.cc (locale::locale(const char*)):
- Trivial cosmetic tweaks.
-
-2002-11-22 Laszlo Ersek <erseklaszlo@chello.hu>
- Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/8645
- * include/bits/stl_tree.h (_Rb_tree_rebalance_for_erase):
- Don't check that __w->_M_left != 0 and __w->_M_right != 0
- when they can't be otherwise.
-
-2002-11-21 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/documentation.html: Fix broken/thinko'd URL.
-
-2002-11-21 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/run_doxygen: Tighter search expression for sed.
- * docs/doxygen/stdheader.cc: Handle the case of good headers.
-
-2002-11-21 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4: Uniform formatting.
- * configure.in: Warn when generic atomicity.h is used.
- * configure.target: Fix comment.
- * aclocal.m4, configure: Regenerate.
-
-2002-11-21 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/streambuf.tcc (basic_streambuf::sputbackc): Prefix
- "this->" to call to pbackfail.
-
-2002-11-21 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/style.css: Update.
- * docs/doxygen/user.cfg.in: Update.
- * docs/html/documentation.html: Regenerate.
- * docs/html/17_intro/howto.html: Tweak I/O sentry entry.
- * docs/html/27_io/howto.html: New section on headers.
- * docs/html/faq/index.html: Add i386 threading entry.
- * docs/html/faq/index.txt: Regenerate.
-
- * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
- Import R23.
-
-2002-11-21 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/TODO: Note change in clause 27 docs.
- * include/bits/basic_ios.h, include/bits/fpos.h,
- include/bits/ios_base.h, include/bits/stl_deque.h,
- include/bits/stl_iterator_base_types.h, include/std/std_fstream.h,
- include/std/std_iomanip.h, include/std/std_iosfwd.h,
- include/std/std_iostream.h, include/std/std_istream.h,
- include/std/std_ostream.h, include/std/std_sstream.h,
- include/std/std_streambuf.h: Doxygenate all I/O entities.
-
-2002-11-20 Benjamin Kosnik <bkoz@redhat.com>
- Jonathan Lennox <lennox@cs.columbia.edu>
-
- * include/bits/streambuf.tcc (__copy_streambufs):
- Revert previous fix for the interactive half of
- libstdc++/6745, use _M_buf_size_opt to set dynamically
- the correct buffer size.
-
-2002-11-20 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/21_strings/howto.html: Fix example code, cite Gaby's
- explanation of "<unknown type>" error with toupper/tolower.
- * docs/html/22_locale/howto.html: Be more consistent with
- example in 21_strings.
-
-2002-11-19 John Gustafsson <forgoil@rsn.bth.se>
-
- * docs/html/20_util/howto.html: Fix typo.
-
-2002-11-18 Jonathan Lennox <lennox@cs.columbia.edu>
-
- * include/bits/streambuf.tcc (__copy_streambufs): verify
- __sbin->gptr() + __bufsize < __sbin->egptr() before using.
- * testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add.
- (test05): Use test_buffer_4. Delete unused ostringstream
- variables.
-
-2002-11-18 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/6745 (continued)
- * include/bits/streambuf.tcc (__copy_streambufs):
- Deal with interactive input by using isatty as in the
- fix for libstdc++/8399.
-
-2002-11-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/linker-map.gnu: Export _S_construct even if size_t is
- unsigned long. Collapse std::codecvt<char>::codecvt(size_t)
- and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern.
-
-2002-11-15 Benjamin Kosnik <bkoz@redhat.com>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/8230
- * include/bits/stl_alloc.h: Use builtin_expect for the most
- obvious limit checks.
- (__default_alloc_template::allocate): Check for null, throw
- bad_alloc.
- * include/bits/vector.tcc: Formatting tweaks.
- * include/bits/stl_vector.h: Same.
- * testsuite/20_util/allocator_members.cc (test02): Add.
- * testsuite/23_containers/vector_capacity.cc (test03): Add.
-
-2002-11-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
-
-2002-11-15 Paolo Carlini <pcarlini@unitus.it>
- Loren J. Rittle <ljrittle@acm.org>
-
- PR libstdc++/8399
- * acinclude.m4
- (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): New macro to
- check for unistd.h functions.
- (GLIBCPP_CHECK_UNISTD_SUPPORT): New macro, check for isatty
- in unistd.h.
- * configure.in: Call here.
- * src/ios.cc (ios_base::Init::_S_ios_create(bool)):
- Use _GLIBCPP_HAVE_ISATTY: ifdef, in case of interactive
- input __in_size = 1 even when sync_with_stdio is false;
- otherwise fall back to __in_size = 1.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2002-11-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * acconfig.h (HAVE_DRAND48): Add.
- (HAVE_GETPAGESIZE): Add.
- (HAVE_SETENV): Add.
- (HAVE_SIGSETJMP): Add.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2002-11-13 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define
- on hppa when there is no weak support.
-
-2002-11-13 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/8230
- * include/bits/vector.tcc (vector::reserve): Throw length_error if
- requested size is bigger than max_size().
- * include/bits/stl_bvector.h (vector<bool>::reserve): Same.
- * testsuite/23_containers/vector_capacity.cc (test02): Add.
-
-2002-11-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Export all _S_construct.
-
-2002-11-13 Loren J. Rittle <ljrittle@acm.org>
-
- PR libstdc++/7445
- * src/locale.cc (std::locale::classic()): Weaken locking protocol.
-
-2002-11-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/install.html, docs/html/22_locale/locale.html: HTML fix.
-
-2002-11-11 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6746
- * include/bits/fstream.tcc (filebuf::open): Set input pointers.
- * config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
- __p_mode as well.
- (__basic_file::open): Set to non-block for input.
- * testsuite/27_io/istream_unformatted.cc (test12): Add.
- (test13): Same.
-
-2002-11-11 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/17_intro/howto.html: Make "chapter 22 notes" a link.
- * docs/html/faq/index.html: Mention that GCC ships with a newer
- version of the library than the last snapshot. Make "see below" a
- link. Add missing <html> tag.
- * docs/html/faq/index.txt: Regenerate.
- * docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
- docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
- docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
- docs/html/27_io/howto.html, docs/html/ext/howto.html,
- docs/html/ext/sgiexts.html: Add missing <html> tag.
-
-2002-11-07 Phil Edwards <pme@gcc.gnu.org>
- Richard Earnshaw <rearnsha@arm.com>
-
- * config/cpu/generic/atomicity.h: Provide atomic __exchange_and_add
- and __atomic_add.
-
-2002-11-08 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
- const char*),
- moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
- const char*)): Tweak parameters for glibc2.3 systems, thus
- avoiding unused parameter warnings.
-
-2002-11-05 Jonathan Wakely <cow@compsoc.man.ac.uk>
-
- * include/std/std_sstream.h
- (basic_stringbuf::str(const __string_type&)):
- Prefer data() to c_str(), thus avoiding assigning the
- unnecessary NULL-terminator.
-
-2002-11-05 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/8258
- * include/bits/istream.tcc (istream::readsome): Don't set eofbit
- for null buffer.
- (istream::operator>>(_CharT*)): Use traits_type.
- (istream::ws): Same.
- (istream::operator>>(string)): Same.
- * testsuite/27_io/istream_unformatted.cc (test11): Add.
-
-2002-11-05 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/8466
- * include/std/std_sstream.h
- (basic_stringbuf::str(const __string_type&)):
- Cannot use simple assignment since the COW-nature of v3
- basic_string is not taken into account in basic_stringbuf.
- * testsuite/27_io/stringstream_members.cc: Add test04 from PR.
-
-2002-11-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * configure.target (hppa*): Define cpu_include_dir.
- * config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define.
- * src/misc-inst.cc: Instantiate atomicity lock when
- _GLIBCPP_INST_ATOMICITY_LOCK is defined.
- * config/cpu/hppa/atomicity.h: New file.
-
-2002-11-05 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/8463
- * include/bits/ios_base.h (~ios_base): Make virtual.
-
-2002-11-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Export string operator+.
- Export __default_alloc_template::_S_force_new.
- * testsuite/abi_check.cc: Output tweaks.
-
-2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/8172
- * src/string-inst.cc: Add instantiation.
-
-2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7926
- * configure.target: Simplify.
- * config/cpu/i386/atomicity.h: Remove.
- * config/cpu/i386: Remove.
- * config/cpu/arm/atomicity.h: Remove.
- * config/cpu/arm: Remove.
- * config/cpu/x86-64/atomicity.h: Remove.
- * config/cpu/x86-64: Remove.
-
-2002-11-01 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
-
- PR libstdc++/8197
- * config/link-map.gnu: Export math stubbs.
-
-2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/8318
- * include/std/std_iostream.h: Tweak.
- * include/std/std_iosfwd.h: Add _GLIBCPP_USE_WCHAR_T.
- * include/std/std_iomanip.h: Same.
- * include/bits/stringfwd.h: Same.
- * include/bits/basic_string.tcc: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/fstream.tcc: Same.
- * include/bits/basic_ios.tcc: Same.
- * include/bits/streambuf.tcc: Same.
- * include/bits/locale_facets.tcc: Same.
-
-2002-11-01 John Carter <john.carter@tait.co.nz>
-
- PR libstdc++/7961
- * include/bits/basic_string.tcc
- (compare(const _CharT* __s)): Don't access __s past its length.
-
-2002-10-31 Zack Weinberg <zack@codesourcery.com>
-
- * libsupc++/eh_globals.cc: Don't call __gthread_key_dtor.
-
-2002-10-31 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/8348
- * include/bits/istream.tcc (istream::tellg): Remove sentry bits.
- (istream::seekg): Same.
- * testsuite/27_io/istream_seeks.cc (test06): New.
-
-2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * testsuite/thread/pthread5.cc: Include <unistd.h>
- if _GLIBCPP_HAVE_UNISTD_H is defined.
- (main): Only use pthread_attr_setscope if
- _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
-
-2002-10-28 Jason Thorpe <thorpej@wasabisystems.com>
-
- * testsuite/thread/pthread1.cc: Enable on *-*-netbsd*.
- * testsuite/thread/pthread2.cc: Likewise.
- * testsuite/thread/pthread3.cc: Likewise.
- * testsuite/thread/pthread4.cc: Likewise.
- * testsuite/thread/pthread5.cc: Likewise.
- * testsuite/thread/pthread6.cc: Likewise.
-
-2002-10-27 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/8347
- * include/bits/basic_string.tcc
- (string::_S_construct(_InIter, _InIter, const _Alloc&,
- forward_iterator_tag)): Do not throw logic error if
- __beg == NULL && __end == __beg.
- (string::string(const _CharT*, const _Alloc&)): Tweak.
- * testsuite/21_strings/ctor_copy_dtor.cc: Add test05 from PR.
-
-2002-10-24 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR other/3337
- PR bootstrap/6763
- PR bootstrap/8122
- * testsuite/testsuite_hooks.cc (__set_testsuite_memlimit): Use
- __typeof__ (r.rlim_cur), not rlim_t in declaration of limit.
-
-2002-10-23 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/22_locale/num_put_members_char.cc (test01): Swap size
- and decimal_point arguments of find.
- * testsuite/22_locale/num_put_members_wchar_t.cc (test01): Likewise.
-
-2002-10-22 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.am (check-abi, new-abi-baseline): Use @glibcpp_srcdir@
- instead of ${top_srcdir}.
- * Makefile.in: Rebuilt.
-
-2002-10-22 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
- Remove specialization for FreeBSD systems.
-
-2002-10-18 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.target (freebsd*): Use abi_baseline_triplet.
- * config/abi/i386-unknown-freebsd4/baseline_symbols.txt: New file.
- * config/abi/i386-unknown-freebsd4.7/baseline_symbols.txt: Remove.
-
- * testsuite/thread/pthread1.cc: Remove needless workaround
- for FreeBSD 5.
-
-2002-10-18 Loren J. Rittle <ljrittle@acm.org>
- Brad Spencer <spencer@infointeractive.com>
- (provided alternate patch and improvements)
-
- * docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
- new environment variable which replaces all uses of __USE_MALLOC
- macro.
- * docs/html/ext/howto.html (GLIBCPP_FORCE_NEW): Likewise.
- (__mem_interface): Remove all references to old internal typedef.
- * include/backward/alloc.h (__USE_MALLOC): Remove it and all
- guarded code.
- * include/bits/c++config (__USE_MALLOC): Update related error
- message and comment.
- * include/bits/stl_alloc.h (__USE_MALLOC): Remove it and all
- guarded code. Update all related comments.
- (__mem_interface): Unconditionally replace it with __new_alloc.
- However, leave the typedef around in case anyone used it.
- (__default_alloc_template<>::_S_force_new): New class static.
- (__default_alloc_template<>::allocate, deallocate): Add
- run-time controlled feature similar to what __USE_MALLOC code
- path had provided.
- * src/stl-inst.cc (__USE_MALLOC): Remove it and all
- guarded code.
- * testsuite/21_strings/capacity.cc: Remove reference to __USE_MALLOC.
- Add documentation on GLIBCPP_FORCE_NEW environment variable.
- * testsuite/ext/allocators.cc: Likewise.
-
-2002-10-18 Phil Edwards <pme@gcc.gnu.org>
-
- * configure.in: Use target, not target_alias, when matching triplet
- patterns.
- * configure: Regenerate.
-
-2002-10-17 Momchil Velikov <velco@fadata.bg>
- Loren J. Rittle <ljrittle@acm.org>
-
- * configure.in: Add *-freebsd* to cross list.
- * configure: Rebuilt.
-
-2002-10-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (__timepunct::__timepunct): Allocate
- _M_name_timepunct.
- (__timepunct::~__timepunct): Deallocate, remove specialization
- declarations.
- (messages::messages): Allocate _M_name_messages.
- (messages::~messages): Deallocate.
- (messages_byname): Same.
- * config/locale/gnu/time_members.cc (__timepunct::~__timepunct):
- Remove.
- * config/locale/generic/time_members.cc (__timepunct::~__timepunct):
- Remove.
-
- * docs/html/install.html: Add es_MX, en_PH to required locales list.
-
-2002-10-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Add exports for codecvt constructors
- where size_t == unsigned long.
-
-2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to
- c_locale_impl.
- * testsuite/abi_check.cc (line_to_symbol_info): Collect size info.
- * docs/html/abi.txt: Update.
-
-2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/static_members.cc (test02): Less provincial.
-
-2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/static_members.cc (test02): Disable for
- systems without named locale support.
- * testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume
- running the testsuites in "C" environment.
- Add new tests.
- * docs/html/22_locale/locale.html: Update.
-
-2002-10-13 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/bits/stl_threads.h (_GLIBCPP_mutex,
- _GLIBCPP_mutex_init,_GLIBCPP_mutex_address,
- _GLIBCPP_mutex_address_init, _GLIBCPP_once):
- Declare in namespace __gnu_cxx.
- (_STL_mutex_lock::_M_initialize): Qualify __gnu_cxx
- names.
- Adjust copyright.
-
-2002-10-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/abi_check.cc (hash<string>): Specialize.
- Simplify. Check compatible symbol versions.
- * config/linker-map.gnu: Clarify, explicitly export
- std::codecvt::c* symbols.
-
- * testsuite/22_locale/static_members.cc (test02): Avoid null strings.
-
-2002-10-12 Jonathan Wakely <jw@kayari.org>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * docs/html/21_strings/howto.html#5: Correct nasting of XHTML
- elements. Correct allocator-related text.
-
-2002-10-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/static_members.cc (test02): Fix.
-
-2002-10-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * acconfig.h (_GLIBCPP_SYMVER): Add.
- (_GLIBCPP_ASM_SYMVER): Add.
- * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Define _GLIBCPP_SYMVER.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/bits/c++config (_GLIBCPP_AT_AT): Define, as an expedient
- hack around m4 issues with quoting '@'.
- * src/locale.cc: Use _GLIBCPP_ASM_SYMVER.
- * src/globals.cc: Same.
-
- * testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for
- non-glibc systems.
-
-2002-10-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu (GLIBCPP_3.2.1): Add.
- (GLIBCPP_3.2): Don't export locale::_S_*.
- * src/ios.cc: Move globals into __gnu_cxx. Make old exported
- symbols match.
- * src/locale.cc: Same.
- * src/localename.cc: Same.
- * src/globals.cc: Same.
-
-2002-10-10 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/21_strings/howto.html: Write #5, char_traits.
- * docs/html/17_intro/porting.texi: Expand on os_include_dir.
- * docs/html/17_intro/porting.html: Regenerate.
-
-2002-10-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/locale.cc: Fix comments, move ctors together.
- * testsuite/22_locale/static_members.cc (test03): Add.
-
-2002-10-08 Jonathan Lennox <lennox@cs.columbia.edu>
-
- PR libstdc++/8071, libstdc++/8127, libstdc++/6745
- * streambuf.tcc (__copy_streambufs): Handle cases where
- __sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
- * testsuite/27_io/ostream_inserter_other.cc (test05): Add.
-
-2002-10-08 Paolo Carlini <pcarlini@unitus.it>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/localefwd.h (class locale): Add static member
- _S_num_extra_categories, encoding the number of additional
- categories.
- Change _S_num_categories to _S_categories_size.
- (class locale::_Impl): Add _M_c_cats.
- (class locale::_Impl::_M_names): Change to array of chars.
- (class locale::_Impl::_M_check_same_name): Use
- _S_extra_categories_size, tweak.
- (locale::locale(const locale&, _Facet*)): Ditto.
- * src/locale.cc (locale::locale(const char* )): Rewrite to deal
- with the environment in a POSIX-compliant way while being thread
- safe.
- (locale::name()): Update to output POSIX environment strings.
- * src/localename.cc
- (locale::_Impl::_Impl(const _Impl&, size_t): Use
- _S_categories_size_*, tweak.
- (locale::_Impl::_Impl(facet**, size_t, bool)): Ditto.
- (locale::_Impl::_Impl(const char*, size_t)): Name each category
- individually.
- (locale::_Impl::_M_replace_categories): Use strcpy.
-
- * include/bits/locale_facets.h (numpunct::_M_initialize_numpunct):
- Change default argument to NULL from _S_c_locale.
- (timepunct::_M_initialize_timepunct): Same.
- _S_c_locale cleanups.
- * src/codecvt.c: _S_c_locale simplification.
- * src/ctype.c: Same.
- * src/globals.cc: Add fake_name.
- * src/locale-inst.cc: Remove extra includes.
- * src/locale.cc: Remove extra includes.
- Add _S_extra_categories_size definition.
- Correct "C" initialization.
- (locale::facet::facet): Don't initialize _S_c_locale.
- (locale::facet::_M_remove_reference): Adjust.
- * src/localename: Use facet_vec, facet_name.
- (locale::_Impl::_Impl(facet** __f, size_t __refs, bool)): Set
- facet ref counts to one. Initialize _S_c_locale.
- (locale::_Impl::_M_install_facet(id*, facet*)): Adjust facet ref
- counts when installing unilaterally.
-
- * config/locale/generic/c_locale.cc: Add _S_categories definition.
- * config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
- * config/locale/generic/time_members.cc: _S_c_locale cleanup.
-
- * config/locale/gnu/c_locale.cc: Add _S_categories definition.
- (_S_destroy_c_locale): Move checks against _S_c_locale here.
- * config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
- * config/locale/gnu/ctype_members.cc: Simplify _S_destroy_c_locale
- calls, _S_c_locale usage.
- * config/locale/gnu/monetary_members.cc: Same, tweaks.
- * config/locale/gnu/monetary_members.cc: Same.
- * config/locale/gnu/time_members.cc: Same.
- * config/os/gnu-linux/ctype_noninline.h: Use locale::classic().
-
- * docs/html/22_locale/locale.html: Add bits about global locales
- and "C" setlocale.
-
- * testsuite/22_locale/facet.cc (test02): Add.
- * testsuite/22_locale/static_members.cc (test02): Add.
- * testsuite/22_locale/ctor_copy_dtor.cc (test04): Add.
-
-2002-10-07 Jonathan Wakely <jw@kayari.org>
-
- * docs/html/configopts.html, docs/html/documentation.html,
- docs/html/explanations.html, docs/html/install.html,
- docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
- docs/html/17_intro/license.html, docs/html/18_support/howto.html,
- docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
- docs/html/21_strings/howto.html, docs/html/22_locale/codecvt.html,
- docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
- docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
- docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
- docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
- docs/html/27_io/howto.html, docs/html/ext/howto.html,
- docs/html/ext/sgiexts.html, docs/html/faq/index.html: Add DOCTYPEs.
-
-2002-10-03 Richard Earnshaw <rearnsha@arm.com>
-
- PR libstdc++/3584
- * config/cpu/arm/atomicity.h (__exchange_and_add): Don't try to use
- ASM sequences that don't give us atomic addition operations. Instead
- just add a comment explaining why it doesn't work.
- (__atomic_add): Just use __exchange_and_add.
- (__test_and_set, __always_swap): Delete.
-
-2002-10-02 Andreas Jaeger <aj@suse.de>
-
- * config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt:
- New file.
-
-2002-10-01 Phil Edwards <pme@gcc.gnu.org>
-
- * Makefile.am (check-abi): Add @ to rule.
- * Makefile.in: Regenerated.
-
-2002-09-27 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (num_put::_M_widen_int):
- Deal correctly with grouped, showbased (oct or hex) zero.
- * testsuite/22_locale/num_put_members_char.cc: Add test05.
- * testsuite/22_locale/num_put_members_wchar_t.cc: Ditto.
-
-2002-09-27 Richard Henderson <rth@redhat.com>
-
- * config/os/hpux/cpu_limits.h: Remove.
-
- * include/std/std_limits.h (numeric_limits<T>::is_iec559): False
- if denormals are not supported.
-
-2002-09-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (target_headers): Remove cpu_limits.h.
- * include/Makefile.in: Regenerate.
- * configure.in (CPU_LIMITS_INC_SRCDIR): Remove
- * configure: Regenerate.
- * configure.target (CPULIMITS): Remove.
-
- * include/std/std_limits.h: Remove cpu_limits.h include.
-
- * config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
- Remove.
- * config/os/irix/irix6.5/os_defines.h
- (__glibcpp_long_double_bits): Remove.
- (__glibcpp_wchar_t_bits): Remove.
- (__glibcpp_long_bits): Remove.
- * config/os/irix/irix5.2/os_defines.h
- (__glibcpp_long_double_bits): Remove.
- (__glibcpp_long_bits): Remove.
- * config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
- * config/os/bsd/freebsd/os_defines.h:
- (__glibcpp_long_double_bits): Remove.
- * config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
- (__glibcpp_wchar_t_is_signed): Remove.
- (__glibcpp_long_bits): Remove.
- * config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
- (__glibcpp_long_double_bits): Remove.
-
- * config/os/osf/osf5.0/cpu_limits.h: Remove.
- * config/cpu/alpha/cpu_limits.h: Remove.
- * config/cpu/arm/cpu_limits.h: Remove.
- * config/cpu/cris/cpu_limits.h: Remove.
- * config/cpu/generic/cpu_limits.h: Remove.
- * config/cpu/generic/limits.h: Remove.
- * config/cpu/ia64/cpu_limits.h: Remove.
- * config/cpu/m68k/cpu_limits.h: Remove.
- * config/cpu/mmix/cpu_limits.h: Remove.
- * config/cpu/powerpc/cpu_limits.h: Remove.
- * config/cpu/S390/cpu_limits.h: Remove.
-
-2002-09-25 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * testsuite/18_support/numeric_limits.cc: Check the maximum and
- minimum values of the wchar_t type.
-
-2002-09-25 Mark Mitchell <mark@codesourcery.com>
-
- * include/std/std_limits.h (numeric_limits<unsigned char>::digits):
- Fix typo.
-
-2002-09-23 Richard Henderson <rth@redhat.com>
-
- * include/std/std_limits.h (__glibcpp_plain_char_is_signed,
- __glibcpp_wchar_t_is_signed, __glibcpp_s8_max, __glibcpp_s8_min,
- __glibcpp_s8_digits, __glibcpp_s8_digits10, __glibcpp_u8_min,
- __glibcpp_u8_max, __glibcpp_u8_digits, __glibcpp_u8_digits10,
- __glibcpp_s16_max, __glibcpp_s16_min, __glibcpp_s16_digits,
- __glibcpp_s16_digits10, __glibcpp_u16_min, __glibcpp_u16_max,
- __glibcpp_u16_digits, __glibcpp_u16_digits10, __glibcpp_s32_max,
- __glibcpp_s32_min, __glibcpp_s32_digits, __glibcpp_s32_digits10,
- __glibcpp_u32_min, __glibcpp_u32_max, __glibcpp_u32_digits,
- __glibcpp_u32_digits10, __glibcpp_s64_max, __glibcpp_s64_min,
- __glibcpp_s64_digits, __glibcpp_s64_digits10, __glibcpp_u64_min,
- __glibcpp_u64_max, __glibcpp_u64_digits, __glibcpp_u64_digits10,
- __glibcpp_bool_digits, __glibcpp_signed_char_min,
- __glibcpp_signed_char_max, __glibcpp_signed_char_digits,
- __glibcpp_signed_char_digits10, __glibcpp_unsigned_char_min,
- __glibcpp_unsigned_char_max, __glibcpp_unsigned_char_digits,
- __glibcpp_unsigned_char_digits10, __glibcpp_char_min,
- __glibcpp_char_max, __glibcpp_char_digits, __glibcpp_char_digits10,
- __glibcpp_signed_short_min, __glibcpp_signed_short_max,
- __glibcpp_signed_short_digits, __glibcpp_signed_short_digits10,
- __glibcpp_unsigned_short_min, __glibcpp_unsigned_short_max,
- __glibcpp_unsigned_short_digits, __glibcpp_unsigned_short_digits10,
- __glibcpp_signed_int_min, __glibcpp_signed_int_max,
- __glibcpp_signed_int_digits, __glibcpp_signed_int_digits10,
- __glibcpp_unsigned_int_min, __glibcpp_unsigned_int_max,
- __glibcpp_unsigned_int_digits, __glibcpp_unsigned_int_digits10,
- __glibcpp_signed_long_min, __glibcpp_signed_long_max,
- __glibcpp_unsigned_long_digits, __glibcpp_unsigned_long_digits10,
- __glibcpp_signed_long_long_min, __glibcpp_signed_long_long_max,
- __glibcpp_signed_long_long_digits, __glibcpp_signed_long_long_digits10,
- __glibcpp_wchar_t_min, __glibcpp_wchar_t_max, __glibcpp_wchar_t_digits,
- __glibcpp_wchar_t_digits10): Remove.
- (__glibcpp_byte, __glibcpp_word_bits, __glibcpp_word): Remove.
- (__float_storage, __double_storage, __long_double_storage): Remove.
- (__glibcpp_signed, __glibcpp_min, __glibcpp_max): New.
- (__glibcpp_digits, __glibcpp_digits10): New.
- (numeric_limits<T>::min): Use __glibcpp_min or limits.h builtins.
- (numeric_limits<T>::max): Use __glibcpp_max or limits.h builtins.
- (numeric_limits<T>::is_signed, T=char,wchar_t): Use __glibcpp_signed.
- (numeric_limits<T>::digits): Use __glibcpp_digits.
- (numeric_limits<T>::digits10): Use __glibcpp_digits10.
- * testsuite/18_support/numeric_limits.cc (test03): Don't use
- __glibcpp_s8_digits10 et al; check vs the installed versions
- of digits10 for particular sizes.
-
- * include/std/std_limits.h (__glibcpp_float_is_modulo,
- __glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
- (numeric_limits<T>::is_modulo, T floating): Use false.
-
-2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * Makefile.am (all-multi): Fix multilib parallel build.
-
-2002-09-22 Richard Henderson <rth@redhat.com>
-
- * include/std/std_limits.h (__glibcpp_f32_round_error,
- __glibcpp_f64_round_error, __glibcpp_f80_round_error,
- __glibcpp_f96_round_error, __glibcpp_f128_round_error,
- __glibcpp_float_round_error, __glibcpp_double_round_error,
- __glibcpp_long_double_round_error, __glibcpp_float_round_style,
- __glibcpp_double_round_style, __glibcpp_long_double_round_style): Kill.
- (numeric_limits<char>::epsilon, round_error): Use constant 0.
- (numeric_limits<float>::round_error): Use constant 0.5.
- (numeric_limits<float>::round_style): Use round_to_nearest.
- (numeric_limits<double>, numeric_limits<long double>): Similarly.
-
- * include/std/std_limits.h (__glibcpp_f32_is_iec559,
- __glibcpp_f64_is_iec559, __glibcpp_f80_is_iec559,
- __glibcpp_f96_is_iec559, __glibcpp_f128_is_iec559,
- __glibcpp_float_is_iec559, __glibcpp_double_is_iec559,
- __glibcpp_long_double_is_iec559): Remove.
- (numeric_limits<float>::is_iec559): Use has_infinity & has_quiet_NaN.
- (numeric_limits<double>, numeric_limits<long double>): Similarly.
-
- * include/std/std_limits.h (__glibcpp_integral_traps): New.
- (__glibcpp_char_traps, __glibcpp_short_traps, __glibcpp_int_traps,
- __glibcpp_long_traps, __glibcpp_wchar_t_traps,
- __glibcpp_long_long_traps, __glibcpp_plain_char_traps,
- __glibcpp_signed_char_traps, __glibcpp_unsigned_char_traps,
- __glibcpp_signed_short_traps, __glibcpp_unsigned_short_traps,
- __glibcpp_signed_int_traps, __glibcpp_unsigned_int_traps,
- __glibcpp_signed_long_traps, __glibcpp_unsigned_long_traps,
- __glibcpp_signed_long_long_traps, __glibcpp_unsigned_long_long_traps,
- __glibcpp_char_is_modulo, __glibcpp_signed_char_is_modulo,
- __glibcpp_signed_short_is_modulo, __glibcpp_signed_int_is_modulo,
- __glibcpp_signed_long_is_modulo, __glibcpp_signed_long_long_is_modulo,
- __glibcpp_wchar_t_is_modulo, __glibcpp_float_is_bounded,
- __glibcpp_double_is_bounded, __glibcpp_long_double_is_bounded): Kill.
- (numeric_limits<T>::traps, T integral): Use __glibcpp_integral_traps.
- (numeric_limits<T>::is_modulo, T integral): Use true.
- (numeric_limits<T>::is_bounded, T floating): Use true.
-
-2002-09-18 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/18_support/numeric_limits.cc (test_epsilon): New.
-
-2002-09-18 Richard Henderson <rth@redhat.com>
-
- * testsuite/18_support/numeric_limits.cc: Add -mieee for alpha.
-
-2002-09-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_shadow: Remove.
- * include/bits/generic_shadow.h: Remove.
- * include/Makefile.am: Remove generic_shadow.h.
- * acinclude.m4: Remove c_shadow references.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * mkcshadow: Remove.
- * mkinclosure: Remove.
-
-2002-09-16 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/7922
- * include/ext/stl_rope.h (rope<>): Qualify dependent names
- with `typename'.
-
-2002-09-16 Richard Henderson <rth@redhat.com>
-
- * include/std/std_limits.h (__glibcpp_f32_QNaN_bytes,
- __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
- __glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes,
- __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
- __glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes,
- __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
- __glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes,
- __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
- __glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes,
- __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
- __glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes,
- __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
- __glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes,
- __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
- __glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes,
- __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
- __glibcpp_long_double_has_SNaN): Remove.
- (__glibcpp_f128_is_iec559): True if IEEE.
- (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
- (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
- (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
- (std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf.
- (std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN.
- (std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf.
- (std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf.
- (std::numeric_limits<double>): Similarly.
- (std::numeric_limits<long double>): Similarly.
- * src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
- (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
- (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
-
- * testsuite/18_support/numeric_limits.cc (test_infinity): New.
- (test_denorm_min, test_qnan, test_is_iec559): New.
-
-2002-09-16 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/abi_check.cc: Pull shell fragments out into...
- * config/abi/extract_symvers: ...here. New file.
- * Makefile.am (check_abi): Change to match.
- (new-abi-baseline): New target.
- * Makefile.in: Regenerated.
-
-2002-09-16 Richard Henderson <rth@redhat.com>
-
- * include/std/std_limits.h (__glibcpp_f32_denorm_min_bytes,
- __glibcpp_f32_has_denorm, __glibcpp_f64_denorm_min_bytes,
- __glibcpp_f64_has_denorm, __glibcpp_f80_denorm_min_bytes,
- __glibcpp_f80_has_denorm, __glibcpp_f96_denorm_min_bytes,
- __glibcpp_f96_has_denorm, __glibcpp_f128_denorm_min_bytes,
- __glibcpp_f128_has_denorm, __glibcpp_float_denorm_min_bytes,
- __glibcpp_float_has_denorm, __glibcpp_double_denorm_min_bytes,
- __glibcpp_double_has_denorm, __glibcpp_long_double_denorm_min_bytes,
- __glibcpp_long_double_has_denorm): Remove.
- (__glibcpp_float_denorm_min, __glibcpp_double_denorm_min,
- __glibcpp_long_double_denorm_min): Remove.
- (std::numeric_limits<float>::has_denorm): Use __FLT_DENORM_MIN__.
- (std::numeric_limits<float>::denorm_min): Likewise.
- (std::numeric_limits<double>): Similarly.
- (std::numeric_limits<long double>): Similarly.
- * src/limits.cc (__glibcpp_float_denorm_min,
- __glibcpp_double_denorm_min, __glibcpp_long_double_denorm_min): Remove.
-
-2002-09-13 Andy Felt <afelt@uwsp.edu>
-
- * docs/html/17_intro/howto.html: Update link.
-
-2002-09-13 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/run_doxygen: Massage man page for Iterator_types.3.
- * docs/html/faq/index.html: Whitespace fixes.
-
-2002-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * libmath/Makefile.am (LIBTOOL): Use --tag CC always for this
- directory.
- * libmath/Makefile.in: Regenerate.
- * src/Makefile.am: Tweak comment.
- * src/Makefile.in: Regenerate.
-
- * config/locale/gnu/c_locale.h: Remove warnings.
- Inject __uselocale into __gnu_cxx.
- * config/locale/generic/c_locale.h: Match.
-
-2002-09-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (__convert_from_v): Remove.
- * config/locale/gnu/c_locale.h (__convert_from_v): Add.
- * config/locale/generic/c_locale.h (__convert_from_v): Add.
-
-2002-09-11 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (__convert_from_v):
- Use __uselocale instead of setlocale for glibc 2.3+.
-
-2002-09-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (sources): Edit.
- (target_sources): New.
- (target_sources_extra): New.
- * src/Makefile.in: Regenerate.
- * acinclude.m4: Set CCODECVT_CC.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/locale.cc: Move ctype definitions...
- * src/ctype.cc: ...here. New file.
- * src/locale.cc: Move codecvt definitions...
- * src/codecvt.cc: ...here.
- * config/generic/codecvt_members.cc: ...and here.
- * config/gnu/codecvt_members.cc: ...and here.
- * include/bits/codecvt.h: Tweak.
- * include/bits/locale_facets: Tweak.
-
- * src/bitset.cc: Correct license text.
- * src/concept-inst.cc: Same.
- * src/strstream.cc: Same.
- * src/vterminate.cc: Same.
-
-2002-09-10 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
-
- * include/bits/stl_vector.h (vector<>): Don't use a name with
- different meanings before and after re-evaluation in the completed
- scope.
- * include/bits/basic_string.h (basic_string<>): Likewise.
- * include/bits/stl_bvector.h (vector<bool>): Likewise.
- * include/bits/stl_deque.h (std): Likewise.
- * include/bits/stl_list.h (list<>): Likewise.
- * include/bits/stl_tree.h (_Rb_tree<>): Likewise.
-
-2002-09-10 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/codecvt.h (class __codecvt_abstract_base):
- Add __c_locale type _M_c_locale_codecvt member.
- (class codecvt<char, char, mbstate_t>,
- class codecvt<wchar_t, char, mbstate_t>): Add new
- codecvt(__c_locale, size_t) constructor.
- (codecvt_byname::codecvt_byname): Update.
- * src/codecvt.cc (class codecvt<char, char, mbstate_t>,
- class codecvt<wchar_t, char, mbstate_t>): Update codecvt(size_t)
- constructor and ~codecvt() destructor; define
- codecvt(__c_locale, size_t) constructor.
- (codecvt::do_out): Switch to _M_c_locale_codecvt around wcsrtombs call.
- (codecvt::do_in): Ditto for mbsrtowcs call.
- * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
- Tweak construction of codecvt facets.
-
-2002-09-10 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/bits/locale_facets.tcc (__convert_from_v):
- Replace strdup with ISO malloc and strcpy.
-
-2002-09-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/configopts.html: Change grouping. Note ABI impacts.
- Update information for locale model defaults.
- * docs/html/install.html: Update include directory
- information.
- Update testing information.
- Update linux issues for named locales.
- * docs/html/abi.txt: Fix typos.
- Add more info.
-
- * src/misc-inst.cc: Add missing instantiations.
-
- * testsuite/abi_check.cc: Make output results more verbose.
-
- * config/os/gnu-linux/ctype_base.h: Remove shadow headers injections.
-
-2002-09-07 Jakub Jelinek <jakub@redhat.com>
-
- * config/locale/generic/messages_members.cc: Add specialization for
- messages<wchar_t>.
- * config/locale/ieee_1003.1-20021/messages_members.cc: Likewise.
-
-2002-09-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/localefwd.h: Tweak formatting.
- * docs/html/abi.txt: Add.
-
-2002-09-06 Jakub Jelinek <jakub@redhat.com>
-
- * configure.target: Use cpu_include_dir="config/cpu/sparc" for all
- sparc targets.
- * config/cpu/sparc/atomicity.h: New file.
- * config/cpu/sparc/sparc32/atomicity.h: Removed.
- * config/cpu/sparc/sparc64/atomicity.h: Removed.
-
-2002-09-06 Jakub Jelinek <jakub@redhat.com>
-
- * config/os/gnu-linux/ctype_noninline.h
- [_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*.
- (ctype<char>::classic_table): If _GLIBCPP_C_LOCALE_GNU, return
- _S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale
- and return __ctype_b.
- (ctype<char>::ctype(__c_locale, const mask*, bool, size_t)): If not
- _GLIBCPP_C_LOCALE_GNU, temporarily switch to "C" locale and
- initialize using __ctype_{b,tolower,toupper}.
- (ctype<char>::ctype(const mask*, bool, size_t)): If
- _GLIBCPP_C_LOCALE_GNU, initialize using
- _S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily
- switch to "C" locale and initialize using __ctype_{b,tolower,toupper}.
-
-2002-09-05 Paolo Carlini <pcarlini@unitus.it>
- Roland McGrath <roland@redhat.com>
-
- PR libstdc++/7811
- * src/locale.cc (locale::locale(__s)): Use getenv instead
- of setenv for the environment locale.
- * testsuite/22_locale/ctor_copy_dtor.cc (test03): New.
-
-2002-09-05 Jakub Jelinek <jakub@redhat.com>
-
- * config/abi/ia64-unknown-linux-gnu: Add.
- * config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt: New file.
- * config/abi/alphaev67-unknown-linux-gnu: Add.
- * config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt: New file.
-
-2002-09-05 Jonathan Wakely <jw@kayari.org>
-
- * docs/html/Makefile: Use more portable shell wildcard.
- * docs/html/makedoc.awk: Nest elements correctly for XHTML conversion.
- * docs/html/configopts.html, docs/html/documentation.html,
- docs/html/explanations.html, docs/html/install.html,
- docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
- docs/html/17_intro/license.html, docs/html/18_support/howto.html,
- docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
- docs/html/21_strings/howto.html, docs/html/22_locale/codecvt.html,
- docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
- docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
- docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
- docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
- docs/html/27_io/howto.html, docs/html/ext/howto.html,
- docs/html/ext/sgiexts.html, docs/html/faq/index.html: Convert
- to XHTML.
- * docs/html/faq/index.txt: Regenerate.
-
-2002-09-05 Jakub Jelinek <jakub@redhat.com>
-
- * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)):
- Switch to _M_c_locale_ctype around btowc call.
- (ctype<wchar_t>::do_widen(const char*, const char *, wchar_t*)):
- Switch to _M_c_locale_ctype around mbsrtowcs call.
- (ctype<wchar_t>::do_narrow(char)): Switch to _M_c_locale_ctype around
- wctob call.
- (ctype<wchar_t>::do_narrow(const char*, const char *, wchar_t*)):
- Switch to _M_c_locale_ctype around wcsrtombs call.
-
-2002-09-05 Jakub Jelinek <jakub@redhat.com>
-
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t, true>::_M_initialize_moneypunct,
- moneypunct<wchar_t, false>::_M_initialize_moneypunct): Use
- __uselocale instead of setlocale for glibc 2.3.
-
-2002-09-05 Jakub Jelinek <jakub@redhat.com>
-
- * config/locale/generic/c++locale_internal.h: New header.
- * config/locale/gnu/c++locale_internal.h: New header.
- * config/locale/gnu/c_locale.cc: Include it.
- * config/locale/gnu/collate_members.cc: Include it.
- * config/locale/gnu/ctype_members.cc: Include it.
- * config/locale/gnu/messages_members.cc: Include it.
- * config/locale/gnu/monetary_members.cc: Include it.
- * config/locale/gnu/numeric_members.cc: Include it.
- * config/locale/gnu/time_members.cc: Include it.
- (_M_put): Reorder __strftime_l and __wcsftime_l arguments to match
- glibc.
- (_M_initialize_timepunct): Initialize _M_c_locale_timepunct for
- C locale.
- * acinclude.m4: Include string.h when testing strcoll_l.
- For glibc 2.3 provide __-prefixed prototypes.
- (CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line.
- * aclocal.m4, configure: Rebuilt.
-
-2002-09-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h: Add declaration of specialization
- here.
- * config/locale/gnu/messages_members.cc: Add specialization for
- messages<wchar_t>.
- * config/locale/gnu/messages_members.h: Remove generic definition
- of do_get.
-
-2002-09-04 Richard Henderson <rth@redhat.com>
-
- * include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
- __glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes,
- __glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes,
- __glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes,
- __glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes,
- __glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes,
- __glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes,
- __glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes,
- __glibcpp_long_double_has_infinity): Remove.
- (std::numeric_limits<float>, std::numeric_limits<double>,
- std::numeric_limits<long double>): Use __builtin_huge_val
- to implement has_infinity and infinity().
- * src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity,
- __glibcpp_long_double_infinity): Remove.
-
-2002-09-03 Richard Henderson <rth@redhat.com>
-
- * include/std/std_limits.h (__glibcpp_f32_min, __glibcpp_f32_max,
- __glibcpp_f32_digits, __glibcpp_f32_digits10, __glibcpp_f32_radix,
- __glibcpp_f32_epsilon, __glibcpp_f32_min_exponent,
- __glibcpp_f32_min_exponent10, __glibcpp_f32_max_exponent,
- __glibcpp_f32_max_exponent10, __glibcpp_f64_min, __glibcpp_f64_max,
- __glibcpp_f64_digits, __glibcpp_f64_digits10, __glibcpp_f64_radix,
- __glibcpp_f64_min_exponent, __glibcpp_f64_min_exponent10,
- __glibcpp_f64_max_exponent, __glibcpp_f64_max_exponent10,
- __glibcpp_f80_min, __glibcpp_f80_max, __glibcpp_f80_digits,
- __glibcpp_f80_digits10, __glibcpp_f80_radix, __glibcpp_f80_epsilon,
- __glibcpp_f80_min_exponent, __glibcpp_f80_min_exponent10,
- __glibcpp_f80_max_exponent, __glibcpp_f80_max_exponent10,
- __glibcpp_f96_min, __glibcpp_f96_max, __glibcpp_f96_digits,
- __glibcpp_f96_digits10, __glibcpp_f96_radix, __glibcpp_f96_epsilon,
- __glibcpp_f96_min_exponent, __glibcpp_f96_min_exponent10,
- __glibcpp_f96_max_exponent, __glibcpp_f96_max_exponent10,
- __glibcpp_f128_min, __glibcpp_f128_max, __glibcpp_f128_digits,
- __glibcpp_f128_digits10, __glibcpp_f128_radix, __glibcpp_f128_epsilon,
- __glibcpp_f128_min_exponent, __glibcpp_f128_min_exponent10,
- __glibcpp_f128_max_exponent, __glibcpp_f128_max_exponent10,
- __glibcpp_float_min, __glibcpp_float_max, __glibcpp_float_digits,
- __glibcpp_float_digits10, __glibcpp_float_radix,
- __glibcpp_float_epsilon, __glibcpp_float_min_exponent,
- __glibcpp_float_min_exponent10, __glibcpp_float_max_exponent,
- __glibcpp_float_max_exponent10, __glibcpp_double_min,
- __glibcpp_double_max, __glibcpp_double_digits,
- __glibcpp_double_digits10, __glibcpp_double_radix,
- __glibcpp_double_epsilon, __glibcpp_double_min_exponent,
- __glibcpp_double_min_exponent10, __glibcpp_double_max_exponent,
- __glibcpp_double_max_exponent10, __glibcpp_long_double_min,
- __glibcpp_long_double_max, __glibcpp_long_double_digits,
- __glibcpp_long_double_digits10, __glibcpp_long_double_radix,
- __glibcpp_long_double_epsilon, __glibcpp_long_double_min_exponent,
- __glibcpp_long_double_min_exponent10,
- __glibcpp_long_double_max_exponent,
- __glibcpp_long_double_max_exponent10): Remove macros.
- (std::numeric_limits<float>, std::numeric_limits<double>,
- std::numeric_limits<long double>): Use protected float.h macros.
-
-2002-09-01 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/Makefile.am: Use LD_RUN_PATH when linking abi_check.
- Fix spelling in comment.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/abi_check.cc: Use string literals to build 'cmd' rather
- than 'quote' and 'bslash'.
-
-2002-08-31 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4: Minor comment tweaks.
-
- * docs/html/makedoc.awk: New file...
- * docs/html/Makefile: ...called from here...
- * docs/html/documentation.html: ...to help generate this.
-
- * docs/html/21_strings/howto.html: Prepare for new entry.
- * include/bits/basic_string.h: Initial basic_stirng hook for
- doxygen. Remove trailing whitespace.
- * include/bits/char_traits.h: Point to onlinedocs for new entry.
- * include/bits/stringfwd.h: Add doxygen hooks for string and
- wstring typedefs.
-
-2002-08-29 Richard Earnshaw <rearnshaw@arm.com>
-
- * config/cpu/arm/cpu_limits.h: New file.
- * configure.target: Use config/cpu/arm for XScale and StrongARM
- configurations.
-
-2002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/std/std_limits.h (__glibcpp_char_bits,
- __glibcpp_short_bits, __glibcpp_int_bits, __glibcpp_long_bits,
- __glibcpp_long_long_bits, __glibcpp_float_bits,
- __glibcpp_double_bits, __glibcpp_long_double_bits): Remove. Use
- compiler predifined macros.
- (__glibcpp_wchar_t_is_signed): Define based on compiler predefined
- __WCHAR_UNSIGNED__.
-
-2002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
- __glibcpp_f32_has_infinity, __glibcpp_f32_QNaN_bytes,
- __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
- __glibcpp_f32_has_SNaN, __glibcpp_f32_denorm_min_bytes,
- __glibcpp_f32_has_denorm, __glibcpp_f32_is_iec559,
- __glibcpp_f64_infinity_bytes,
- __glibcpp_f64_has_infinity, __glibcpp_f64_QNaN_bytes,
- __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
- __glibcpp_f64_has_SNaN, __glibcpp_f64_denorm_min_bytes,
- __glibcpp_f64_has_denorm, __glibcpp_f64_is_iec559,
- __glibcpp_f80_infinity_bytes,
- __glibcpp_f80_has_infinity, __glibcpp_f80_QNaN_bytes,
- __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
- __glibcpp_f80_has_SNaN, __glibcpp_f80_denorm_min_bytes,
- __glibcpp_f80_has_denorm, __glibcpp_f80_is_iec559,
- __glibcpp_f96_infinity_bytes,
- __glibcpp_f96_has_infinity, __glibcpp_f96_QNaN_bytes,
- __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
- __glibcpp_f96_has_SNaN, __glibcpp_f96_denorm_min_bytes,
- __glibcpp_f96_has_denorm, __glibcpp_f96_is_iec559,
- __glibcpp_f128_infinity_bytes,
- __glibcpp_f128_has_infinity, __glibcpp_f128_QNaN_bytes,
- __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
- __glibcpp_f128_has_SNaN, __glibcpp_f128_denorm_min_bytes,
- __glibcpp_f128_has_denorm, __glibcpp_f128_is_iec559,
- __glibcpp_float_infinity_bytes,
- __glibcpp_float_has_infinity, __glibcpp_float_QNaN_bytes,
- __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
- __glibcpp_float_has_SNaN, __glibcpp_float_denorm_min_bytes,
- __glibcpp_float_has_denorm, __glibcpp_float_is_iec559,
- __glibcpp_double_infinity_bytes,
- __glibcpp_double_has_infinity, __glibcpp_double_QNaN_bytes,
- __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
- __glibcpp_double_has_SNaN, __glibcpp_double_denorm_min_bytes,
- __glibcpp_double_has_denorm, __glibcpp_double_is_iec559,
- __glibcpp_long_double_infinity_bytes,
- __glibcpp_long_double_has_infinity, __glibcpp_long_double_QNaN_bytes,
- __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
- __glibcpp_long_double_has_SNaN, __glibcpp_long_double_denorm_min_bytes,
- __glibcpp_long_double_has_denorm, __glibcpp_long_double_is_iec559:
- New macros.
- (__glibcpp_word_bits, __glibcpp_word): Likewise.
- (__glibcpp_byte): New typedef.
- (__float_storage, __double_storage, __long_double_storage): New types.
- (__glibcpp_float_infinity, __glibcpp_float_QNaN,
- __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Now
- objects. Declare.
- (__glibcpp_double_infinity, __glibcpp_double_QNaN,
- __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
- (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
- __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
- Likewise.
-
- * src/limits.cc (__glibcpp_float_infinity, __glibcpp_float_QNaN,
- __glibcpp_float_SNaN, __glibcpp_float_denorm_min): Define.
- (__glibcpp_double_infinity, __glibcpp_double_QNaN,
- __glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
- (__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
- __glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
- Likewise.
-
-2002-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/std/std_limits.h: Indent conditional macro definitions.
-
-2002-08-23 Phil Edwards <pme@gcc.gnu.org>
-
- * Makefile.am (check-abi): Specify current directory.
- * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Fix shell syntax, use
- abi_baseline_triplet in baseline_file.
- * Makefile.in, aclocal.m4, configure: Regenerate.
- * configure.target: Add abi_baseline_triplet with default.
- * testsuite/abi_check.cc: More error checking.
-
-2002-08-23 Phil Edwards <pme@gcc.gnu.org>
-
- * config/linker-map.gnu: Verbose comments, clean up spacing.
- * include/bits/stl_alloc.h: Fix indentation of 'if' bodies, return
- statements.
- __allocator: Change class declaration to struct.
- * docs/html/17_intro/C++STYLE: Fix typo.
- * include/bits/stl_deque.h, include/bits/stl_list.h,
- include/bits/stl_map.h, include/bits/stl_multimap.h,
- include/bits/stl_vector.h: Fix fallout from typo.
-
-2002-08-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Set
- GLIBCPP_BUILD_ABI_CHECK based on cross compiling, build, host
- variables.
- * aclocal.m4: Regenerate.
- * testsuite/Makefile.am (noinst_PROGRAMS): Make conditional on
- native compiling.
- * testsuite/Makefile.in: Regenerate.
-
-2002-08-22 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/abi_check.cc: Enhance shell portability.
- Support older binutils/readelf.
- * config/abi/i386-unknown-freebsd4.6: Add.
- * config/abi/i386-unknown-freebsd4.6/baseline_symbols.txt: New file.
-
-2002-08-22 Paolo Carlini <pcarlini@unitus.it>
-
- * docs/html/faq/index.html: Add Loren James Rittle and
- Paolo Carlini to the list of v3 maintainers.
- * docs/html/faq/index.txt: Ditto.
- * docs/html/17_intro/RELEASE-NOTES: Ditto.
-
-2002-08-22 Benjamin Kosnik <bkoz@redhat.com>
- Phil Edwards <pme@gcc.gnu.org>
- Ulrich Drepper <drepper@redhat.com>
-
- * Makefile.am (check-abi): New rule.
- * Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check.
- (abi_check_SOURCES): Add.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/abi_check.cc: New file.
- * config/abi: Add.
- * config/abi/i686-pc-linux-gnu: Add.
- * config/abi/i686-pc-linux-gnu/baseline_symbols.txt: New file.
-
-2002-08-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (libtool_VERSION): Update to 5:1:0.
- * configure: Regenerate.
-
-2002-08-19 Jonathan Wakely <jw@kayari.org>
-
- * docs/html/configopts.html, docs/html/documentation.html,
- docs/html/install.html, docs/html/22_locale/codecvt.html,
- docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
- docs/html/22_locale/locale.html,
- docs/html/22_locale/messages.html: Conform to HTML 4.01 standard.
-
-2002-08-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set
- _M_buf_size_opt to zero when unbuffering.
- * include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
- Consistency checks for _M_buf_size_opt.
-
- Revert PR libstdc++/7445
- * src/locale.cc (locale::classic): Revert.
-
- * docs/html/17_intro/TODO: Add.
-
-2002-08-15 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/documentation.html: Update doxygen links for 3.2.
-
-2002-08-15 Steve Ellcey <sje@cup.hp.com>
-
- * libsupc++/unwind-cxx.h (__cxa_exception): Change catchTemp
- type from void* to _Unwind_Ptr.
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
- Do not cast landing_pad or base_of_encoded_value to (void *).
- * libsupc++/eh_throw.cc (__gxx_exception_cleanup):
- Accept _URC_NO_REASON as a valid reason code.
-
-2002-08-14 Jonathan Wakely <jw@kayari.org>
-
- * docs/html/22_locale/messages.html: Use HTML entities for
- punctuation.
-
-2002-08-13 Jonathan Wakely <jw@kayari.org>
- Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/documentation.html: Use HTML entities for punctuation.
-
-2002-08-09 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/deque.tcc, include/bits/list.tcc,
- include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
- include/bits/stl_list.h, include/bits/stl_map.h,
- include/bits/stl_multimap.h, include/bits/stl_queue.h,
- include/bits/stl_stack.h, include/bits/stl_vector.h,
- include/bits/vector.tcc: Re-indent contents of namespace std,
- re-wrap comment lines as necessary.
-
-2002-08-08 Danny Smith <dannysmith@users.sourceforge.net>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/istream.tcc (basic_istream::ignore): Use sbumpc,
- not snextc.
- * testsuite/27_io/narrow_stream_objects.cc (test10): Add.
-
-2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * libsupc++/Makefile.am (LTCOMPILE): Add LIBSUPCXX_PICFLAGS.
- * libsupc++/Makefile.in: Regenerate.
-
-2002-08-05 Gabriel Dos Reis <gdr@nerim.net>
-
- PR/7491
- * include/bits/slice_array.h(_DEFINE_VALARRAY_OPERATOR):
- Instantiate with new function objects.
- * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): Likewise.
- Reformat. Uglify.
- * include/bits/gslice_array.h: Likewise.
- * include/bits/indirect_array.h: Likewise.
-
-2002-08-03 Gabriel Dos Reis <gdr@nerim.net>
-
- * testsuite/26_numerics/valarray_name_lookup.cc: Rename from
- testsuite/26_numerics/valarray_name_lookup.C
-
- * include/bits/valarray_array.h (_DEFINE_ARRAY_FUNCTION): Use our
- object function surrogates.
- * include/bits/valarray_meta.h (__shift_left): Fix typo.
- (_BinFunClos<>): Remove.
- (_BinFunBase<>): Likewise.
- (_BinFunBase1<>):Likewise.
- (_BinFunBase2<>): Likewise.
- (_DEFINE_EXPR_RELATIONAL_OPERATOR): Likewise.
- (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
- (_DEFINE_EXPR_BINARY_OPERATOR): Likewise.
- (_DEFINE_EXPR_BINARY_FUNCTION): Likewise.
- * include/std/std_valarray.h: Dont #include <functional> anymore.
- (_Bitwise_or<>, _Bitwise_and<>, _Bitwise_xor<>, _Shift_left<>,
- _Shift_right<>): Remove.
- (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT): Adjust instantiation.
- (_DEFINE_BINARY_OPERATOR): Tweak definition.
- (_DEFINE_LOGICAL_OPERATOR): Remove.
- * testsuite/26_numerics/valarray_name_lookup.C (main): Add more tests.
-
-2002-08-02 Gabriel Dos Reis <gdr@nerim.net>
-
- * include/bits/valarray_meta.h (_UnFunBase<>): Remove.
- (_UnFunClos<>): Same.
- (_UnBase<>): Reformat. Make first template-parameter non
- template.
- (_UnClos<>): Likewise.
- (_Expr<>): Reformate. Adjust unary member operator return types.
- (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
- (_DEFINE_EXPR_UNARY_FUNCTION): Likewise.
- * include/std/std_valarray.h (_UnClos<>): Adjust declaration.
- (valarray<>::_UnaryOp<>): New nested traits. Adjust unary member
- operator return types. Reformat.
- (_Bitwise_not): Remove.
- (_DEFINE_VALARRAY_UNARY_OPERATOR): Adjust definition.
- * testsuite/26_numerics/valarray_name_lookup.C: New test.
-
-2002-08-02 Danny Smith <dannysmith@users.sourceforge.net>
-
- * config/os/newlib/ctype_inline.h (is): Don't offset _M_table.
- (scan_is): Use this->is.
- (scan_not): Likewise.
-
-2002-08-02 Benjamin Kosnik <bkoz@redhat.com>
-
- Revert PR libstdc++/6594
- * src/strstream.cc (strstreambuf): Revert.
- (strstreambuf::overflow): Same.
- (strstreambuf::~strstreambuf): Same.
- * testsuite/backward/strstream_members.cc (test02): Add.
-
- * docs/html/abi.txt: Update. Spell check.
-
- * testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test.
-
- * testsuite/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/testsuite_hooks.h: Use __throw_exception_again,
- include functexcept.h so that -fno-exceptions will build.
-
-2002-08-02 Gabriel Dos Reis <gdr@nerim.net>
-
- * include/bits/valarray_meta.h (__unary_plus, __negate,
- __bitwise_not, __plus, __minus, __multiplies, __divides,
- __modulus, __bitwise_xor, __bitwise_or, __bitwise_and,
- __shift_left, __shift_right, __logical_and, __logical_or,
- __logical_not, __equal_to, __not_equal_to, __less, __less_equal,
- __greater_equal, __greater, __atan2, __pow): New function object
- classes.
- (__fun<>): New function traits class.
-
-2002-08-01 Rick Danos <rdanos@hotmail.com>
-
- PR libstdc++/7461
- * config/os/newlib/ctype_noninline.h (classic_table): Add offset.
- * config/os/newlib/ctype_inline.h (is): Use static_cast.
-
-2002-08-01 Neil Booth <neil@daikokuya.co.uk>
-
- * libsupc++/Makefile.am (LT_COMPILE): Remove C++ flags.
- * libsupc++/Makefile.in: Regenerate.
-
-2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2,
- GLIBCPP_3.1 to GLIBCPP_3.2.
-
-2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
- Mark Mitchell <mark@codesourcery.com>
-
- PR libstdc++/7442
- * libsupc++/cxxabi.h (class __base_class_type_info::hwm_bit):
- Change to __hwm_bit.
- (__class_type_info): And here.
-
-2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7442
- * libsupc++/cxxabi.h
- (__base_class_info): Change to __base_class_type_info. 2.9.5p6c
- (__base_class_info::__base): Change to __base_type. 2.9.5p6c
- (__base_class_info::offset_shift): Change to __offset_shift. 2.9.5p6c
- (__vmi_class_type_info::__base_info): Don't make const, of type
- __base_class_type_info, as per 2.9.5p6c
- (__pbase_type_info::__qualifier_flags): Change to __flags, as per
- 2.9.5p7.
- (__pbase_type_info::__qualifier_masks): Change to __masks, as per
- 2.9.5p7.
- (__pointer_to_member_type_info::__context_class): Change member to
- __context, as per 2.9.5p9.
- * libsupc++/tinfo2.cc (__pointer_catch): Change __context_class to
- __context.
- * libsupc++/tinfo2.cc (__do_catch): Change __qualifier_flags to
- __flags.
- * libsupc++/tinfo.cc (__do_find_public_src): Change __base to
- __base_type.
- * libsupc++/tinfo.cc (__do_dyncast): Same.
- * libsupc++/tinfo.cc (__do_upcast): Same.
-
-2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/fstream.cc: Add _GLIBCPP_USE_WCHAR_T guards.
-
-2002-07-31 Simon Whomsley <whomsley@avacadcam.com>
-
- * docs/html/22_locale/howto.html: Fix.
-
-2002-07-31 Alex Kompel <shurik@sequoiap.com>
-
- PR libstdc++/7445
- * src/locale.cc (locale::classic): Move locks inside !_S_classic
- block.
-
-2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/abi.txt: Update.
-
-2002-07-30 Benjamin Kosnik <bkoz@redhat.com>
- Gabriel Dos Reis <gdr@nerim.net>
-
- * include/bits/char_traits.h: Remove generic definitions.
- * include/bits/streambuf_iterator.h (istreambuf_iterator): Use
- eof, not -2.
- * include/bits/istream.tcc (istream::readsome): Don't check
- against eof, instead use constants.
- (istream::sync): Same.
- (istream::sentry::sentry): Use eq_int_type.
- (istream::get): Same.
- * include/bits/ostream.tcc: Change __pad to
- __pad<_CharT, _Traits>::_S_pad.
- * include/bits/locale_facets.h: Add __pad_traits generic and
- ostreambuf_iterator specialization.
- * include/bits/locale_facets.tcc: Change __pad into struct __pad
- with a _CharT and _Traits template parameter and _S_pad static
- member function.
- * src/locale-inst.cc: Update __pad instantiations.
-
- * include/std/std_fstream.h: Declare _M_underflow_common
- specializations.
- * src/fstream.cc: New. Add _M_underflow_common specializations.
- * include/bits/fstream.tcc (filebuf::close): Use traits_type.
- (filebuf::_M_underflow_common(bool)): Remove generic version, as
- sys_ungetc and custom int_types don't get along.
- * include/std/std_streambuf.h: Add _M_pos.
- * src/Makefile.am (sources): Add fstream.cc.
- * src/Makefile.in: Regenerate.
-
- * testsuite/21_strings/capacity.cc: Add char_traits specializations.
- * testsuite/22_locale/codecvt_members_unicode_char.cc: Same.
- * testsuite/22_locale/codecvt_members_unicode_wchar_t.cc: Same.
- * testsuite/22_locale/ctor_copy_dtor.cc: Same.
- * testsuite/27_io/filebuf_virtuals.cc (test07): Move to...
- * testsuite/27_io/filebuf.cc: ...here.
- * testsuite/testsuite_hooks.h: Add gnu_char, gnu_int, char_traits
- specialization for both.
- * testsuite/27_io/streambuf.cc: Add instantiation test,
- testsuite_hooks include.
- * testsuite/27_io/istream.cc: Same.
- * testsuite/27_io/ostream.cc: Same.
- * testsuite/27_io/fstream.cc: Same.
- * testsuite/27_io/stringstream.cc: Same.
- * testsuite/27_io/filebuf.cc: Same.
- * testsuite/27_io/stringbuf.cc: Same.
-
-2002-07-29 Alan Modra <amodra@bigpond.net.au>
-
- * config/cpu/powerpc/cpu_limits.h (__glibcpp_long_bits): Define.
- * configure.target (cpu_include_dir): Use cpu/powerpc for powerpc64.
- * config/cpu/powerpc/atomicity.h (__always_swap): Remove.
- (__test_and_set): Remove.
- (_STWCX): Define and use.
-
-2002-07-26 Phil Edwards <pme@gcc.gnu.org>
-
- * libsupc++/new (placement delete): Remove unused parameter names.
-
-2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7216
- * include/std/std_istream.h (basic_iostream): Add typedefs for
- char_type, int_type, pos_type, off_type, and traits_type.
- * testsuite/27_io/iostream.cc (test01): Add typedef tests.
- * testsuite/27_io/istream.cc: Same.
- * testsuite/27_io/ostream.cc: Same.
- * testsuite/27_io/filebuf.cc: Same.
- * testsuite/27_io/stringbuf.cc: Replace content, move to...
- * testsuite/27_io/stringbuf_members.cc: ...here.
- * testsuite/27_io/streambuf.cc: Replace content, move to...
- * testsuite/27_io/streambuf_members.cc: ...here.
- * testsuite/27_io/stringstream.cc: Replace content, move to...
- * testsuite/27_io/stringstream_members.cc: ...here.
- * testsuite/27_io/ios.cc: New file.
- * testsuite/27_io/fstream.cc: New file.
- * testsuite/27_io/ifstream.cc: New file.
- * testsuite/27_io/ofstream.cc: New file.
- * testsuite/27_io/istringstream.cc: New file.
- * testsuite/27_io/ostringstream.cc: New file.
-
-2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7220
- * include/bits/istream.tcc (istream::ignore): Don't extract on
- zero.
- * testsuite/27_io/istream_unformatted.cc (test10): Add.
-
-2002-07-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ios_base_type.cc: Move to...
- * testsuite/27_io/ios_base_types.cc: ...here.
-
-2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7222
- * src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
- * testsuite/22_locale/ctor_copy_dtor.cc (test02): New.
-
-2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7230
- * config/linker-map.gnu: Revert strstream patch from 2002-07-01.
- * include/Makefile.am (backward_headers): Use strstream, not
- strstream.h.
- * include/Makefile.in: Regenerate.
- * include/backward/strstream: Revert.
- * include/backward/strstream.h: Remove.
- * src/strstream.cc: Revert.
- * testsuite/backward/strstream_members.cc: Change include.
-
-2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7219
- * include/bits/ios_base.h (ios_base::streampos): Add.
- (ios_base::streamoff): Add.
- * testsuite/27_io/ios_base_type.cc: New.
-
-2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7286
- * libsupc++/new: Add placement delete.
- * testsuite/18_support/new_delete_placement.cc: New.
-
- * docs/html/abi.txt: Fix typos.
-
-2002-07-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/documentation.html: Remove libstdc++-v3.0.86 links,
- confusing usage of "latest."
- De-tangle contributor information from introductory notes.
- Move abi.txt link placement, activate.
- Re-organize.
- Move chapter info into old FAQ format.
- * docs/html/organization.html: Removed, obsoleted by doxygen work.
- * docs/html/abi.txt: Add notes on testing ABI changes.
-
-2002-07-20 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/abi.txt: New file.
- * docs/html/23_containers/howto.html: Tweak vector-overhead text.
- * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
- Import from upstream, R22.
-
- * include/bits/char_traits.h, include/bits/stl_iterator.h,
- include/bits/stl_iterator_base_types.h, libsupc++/exception,
- libsupc++/new, libsupc++/typeinfo: Use @brief markup.
-
- * include/bits/deque.tcc, include/bits/stl_alloc.h,
- include/bits/stl_deque.h, include/bits/stl_list.h: Postpone removal
- of deprecated functions until 3.4. (Same timeframe, different text.)
- * include/bits/stl_vector.h: Ditto. Also do the same cleanups that
- the other sequence classes received.
-
-2002-07-18 Brendan Kehoe <brendan@zen.org>
-
- * bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): Fix typo of
- _Nname to _Name.
-
-2002-07-19 Gabriel Dos Reis <gdr@nerim.net>
-
- DR/123
- * include/bits/slice_array.h
- (slice_array<T>::operator=(const T&)): Constify.
- * include/bits/gslice_array.h
- (gslice_array<T>::operator=(const T&)): Likewise.
- * include/bits/mask_array.h
- (mask_array<T>::operator=(const T&)): Likewise.
- * include/bits/indirect_array.h
- (indirect_array<T>::operator=(const T&): Likewise.
-
-2002-07-17 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/run_doxygen: Remove template parameter names from
- "Compound List" summary page. Reformat.
- * docs/html/documentation.html: XHTML fixes.
-
-2002-07-16 Andreas Schwab <schwab@suse.de>
-
- * libsupc++/new (set_new_handler): Declare to not throw any
- exceptions.
- * libsupc++/new_handler.cc (set_new_handler): Likewise.
-
-2002-07-16 Gabriel Dos Reis <gdr@nerim.net>
-
- * include/Makefile.am (bits_headers): Remove slice.h
- * include/Makefile.in: Regenerate.
- * include/bits/slice.h (slice): move to include/bits/slice_array.h
- * include/bits/slice.h Remove.
- * include/std/std_valarray.h: Don't #include bits/slice.h anymore.
- * include/bits/slice_array.h: Comply to official coding styles.
- * testsuite/26_numerics/slice.cc: New test.
-
-2002-07-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix
- print to match vendor <ctype.h>.
-
-2002-07-15 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html: Fix download links.
- * docs/html/faq/index.txt: Regenerate.
- * docs/html/17_intro/porting.html: Regenerate from earlier changes.
-
-2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.target (target_os switch): Allow for irix6*o32
- configurations.
-
-2002-07-10 Gabriel Dos Reis <gdr@nerim.net>
-
- * include/bits/valarray_meta.h (_UnFunBase): Take a second
- template parameter. Remove _M_func data member.
- (_UnFunClos): Take a third template parameter.
- (__abs, __cos, __acos, __cosh, __sin, __asin, __sinh, __tan,
- __atan, __tanh, __exp, __log, __log10, __sqrt): New classes.
- (_DEFINE_EXPR_UNARY_OPERATOR): Adjust definition.
-
-2002-07-08 Eric Christopher <echristo@redhat.com>
-
- * configure.target: Fix comment for mips atomicity. Add
- mips*-*-linux* target, enable atomic operations there.
- * config/cpu/mips/atomicity.h: Fix comments, remove
- #ifndef/#endif. Add push/pop mips2.
-
-2002-07-08 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/stl_deque.h (_Deque_alloc_base): Change order of
- member declarations to avoid compiler warnings and restore 3.1 ABI.
-
-2002-07-08 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/23_containers/howto.html: Link to dk_std::vector paper
- and homepage.
-
-2002-07-07 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/7186
- * include/bits/stl_deque.h (_Deque_iterator::operator-):
- Make non-member, as already happens for the comparison
- operators in accord with DR179 (Ready).
- * testsuite/23_containers/deque_operators.cc: Add test02.
-
-2002-07-04 Benjamin Kosnik <bkoz@redhat.com>
- Jack Reeves <jackw_reeves@hotmail.com>
-
- * include/std/std_streambuf.h (basic_streambuf::_M_buf): Change to
- size_t, from int_type.
- (basic_streambuf::_M_buf_size_opt): Same.
- (basic_streambuf::_S_pback_sizex): Same.
- * include/bits/streambuf.tcc: Same.
- * include/std/std_streambuf.h (basic_streambuf::snextc): Use
- eq_int_type.
- (basic_streambuf::uflow): Same.
- * include/bits/sstream.tcc (basic_stringbuf::overflow): Use
- to_char_type.
- * include/bits/basic_ios.tcc (basic_ios::init): Use _CharT().
- * include/bits/streambuf.tcc (basic_streambuf::xsgetn): Use
- eq_int_type.
- (basic_streambuf::xsputn): Same.
- (__copy_streambufs): Same.
-
-2002-07-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_memory.h: Fix formatting.
- * testsuite/20_util/auto_ptr_neg.cc: New.
- * testsuite/20_util/auto_ptr.cc: Tweaks.
- * testsuite/23_containers/map_operators.cc (test01): Split into..
- * testsuite/23_containers/map_operators_neg.cc (test01): ...this. New.
- * testsuite/23_containers/set_operators.cc: Move to...
- * testsuite/23_containers/set_operators_neg.cc: ...here.
- * testsuite/README: Add some more naming rules.
-
-2002-07-03 Steev Wilcox <steev@paradigmds.com>
-
- PR libstdc++/7057
- * include/ext/stl_hashtable.h: Fix.
- * testsuite/ext/hash_map.cc: New.
-
-2002-07-03 Jack Reeves <jackw_reeves@hotmail.com>
- Kenny Simpson <theonetruekenny@yahoo.com>
- Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/3946
- * testsuite/20_util/auto_ptr.cc (test08): New test.
- * include/std/std_memory.h (auto_ref_ptr): Make constructor explicit.
- (auto_ptr::operator auto_ptr_ref): Fix typo.
- General reformatting and doxygenating of the whole file.
-
-2002-07-03 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/7097
- * include/c/std_cwchar.h: Fix.
-
-2002-07-02 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6410
- * include/bits/locale_facets.h (moneypunct::moneypunct): Add const
- char* name parameter.
- * config/locale/gnu/monetary_members.cc: Use it.
- * config/locale/generic/monetary_members.cc: Same.
- * src/localename.cc (_Impl::_Impl(const char*, size_t)): Use it.
-
- * include/backward/strstream.h: Update date.
-
-2002-07-02 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/6642
- * include/bits/stl_iterator.h
- (__normal_iterator::operator-(const __normal_iterator&)):
- Make non-member, as already happens for the comparison
- operators in accord with DR179 (Ready).
- * testsuite/24_iterators/iterator.cc: Add test from the PR.
-
-2002-07-02 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/7173
- * acinclude.m4: Simplify determination of gcc_version, and move
- up to GLIBCPP_CONFIGURE.
- * configure.in (release_VERSION): Really remove.
- (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER): Move after GLIBCPP_CONFIGURE.
- * aclocal.m4, configure: Regenerate.
-
-2002-07-02 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/configopts.html, docs/html/install.html: Tweaks.
- * include/ext/algorithm, include/ext/hash_map, include/ext/hash_set,
- include/ext/iterator, include/ext/numeric, include/ext/rb_tree,
- include/ext/slist, include/ext/stl_rope.h: Add doxygen hooks.
-
-2002-07-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/backward/strstream: Remove namespace std. Transfer to...
- * include/backward/strstream.h: ...here. Qualify std names.
- * src/strstream.cc: Remove namespace std.
- * include/Makefile.am (backward_headers): Remove strstream.h.
- * include/Makefile.in: Regenerate.
- * config/linker-map.gnu: Export strstream bits.
-
- * src/fstream-inst.cc: Tweak.
- * src/io-inst.cc: Same.
- * src/istream-inst.cc: Same.
- * src/misc-inst.cc: Same.
- * src/ostream-inst.cc: Same.
- * src/sstream-inst.cc: Same.
- * src/valarray-inst.cc: Same.
- * src/misc-inst.cc: Remove unused instantiations.
-
-2002-07-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (libtool_VERSION): Bump to 5:0:0.
- * configure: Regenerate.
-
-2002-06-28 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/7157, PR libstdc++/7158, PR libstdc++/7161
- * include/std/std_queue.h: Include deque.tcc, vector.tcc.
- * include/std/std_stack.h: Include deque.tcc.
- * testsuite/23_containers/adaptors.cc: New file.
-
-2002-06-27 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_alloc.h: Deprecate all 'reallocate' memfns.
- * docs/html/ext/howto.html: Update allocator notes.
-
-2002-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (INTERFACE): Remove.
- (release_VERSION): Remove.
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Change include placement.
- (libstdcxx_interface): Change. Use gcc methods to determine version.
- * configure: Regenerate.
- * aclocal.m4: Regenerate.
-
-2002-06-25 DJ Delorie <dj@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE): Split out
- GLIBCPP_TOPREL_CONFIGURE.
- * aclocal.m4: Likewise.
- * configure.in: Call it before AC_CANONICAL_SYSTEM.
- * configure: Regenerate.
-
-2002-06-25 Jessica Han <jessica@cup.hp.com>
-
- * config/os/hpux/os_defines.h Define _GLIBCPP_VTABLE_PADDING
- * libsupc++/tinfo.cc Handle the 8 byte aligned vtable entries when
- _GLIBCPP_VTABLE_PADDING is defined.
-
-2002-06-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_alloc.h: Additional formatting.
-
-2002-06-24 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_alloc.h: Reformat as per C++STYLE.
-
-2002-06-24 Phil Edwards <pme@gcc.gnu.org>
-
- * config/cpu/*/bits/*: Move header files up a level. Remove bits.
- * config/os/*/bits/*: Likewise.
- * configure.in: Update.
- * configure: Regenerate.
- * configure.target: Update.
- * docs/html/17_intro/porting.texi: Update.
-
-2002-06-21 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_map.h, include/bits/stl_multimap.h,
- include/bits/stl_queue.h, include/bits/stl_stack.h: Reformat and
- complete doxygenation.
- * include/bits/boost_concept_check.h: Minor comment.
-
-2002-06-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_compatibility: New.
- * include/c_compatibility/assert.h: New.
- * include/c_compatibility/ctype.h: New.
- * include/c_compatibility/errno.h: New.
- * include/c_compatibility/float.h: New.
- * include/c_compatibility/iso646.h: New.
- * include/c_compatibility/limits.h: New.
- * include/c_compatibility/locale.h: New.
- * include/c_compatibility/math.h: New.
- * include/c_compatibility/setjmp.h: New.
- * include/c_compatibility/signal.h: New.
- * include/c_compatibility/stdarg.h: New.
- * include/c_compatibility/stddef.h: New.
- * include/c_compatibility/stdio.h: New.
- * include/c_compatibility/stdlib.h: New.
- * include/c_compatibility/string.h: New.
- * include/c_compatibility/time.h: New.
- * include/c_compatibility/wchar.h: New.
- * include/c_compatibility/wctype.h: New.
-
- * include/c/std_cerrno.h: Get out of the way... define errno.
- * include/c/std_cmath.h: Add abs, modf overloads.
- Undefine C99 isms. Still not sure how to deal with this sanely.
- * include/c/std_csetjmp.h: Tweak.
- * include/c/std_cwchar.h: Include cstddef for size_t.
-
- * include/c_std/std_cmath.h: Remove extra function.
-
- Pendantic std usage in testsuites.
- * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t
- with std.
- * testsuite/17_intro/header_cwchar.cc: Tweak.
- * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use
- std::setlocale.
- * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same.
- * testsuite/22_locale/ctype_to_char.cc (test05): Same.
- * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same.
- * testsuite/22_locale/ctype_is_char.cc (test05): Same.
- * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same.
- * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same.
- * testsuite/22_locale/time_get_members_char.cc (test08): Same.
- * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same.
- * testsuite/22_locale/time_put_members_char.cc (test04): Same.
- * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same.
- * testsuite/22_locale/num_put_members_char.cc (test04): Same.
- * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same.
- * testsuite/22_locale/numpunct_members_char.cc (test03): Same.
- * testsuite/22_locale/num_get_members_wchar_t.cc: Same.
- * testsuite/22_locale/num_get_members_char.cc: Same.
- * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same.
- * testsuite/22_locale/money_put_members_char.cc (test07): Same.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same.
- * testsuite/22_locale/moneypunct_members_char.cc (test03): Same.
- * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same.
- * testsuite/22_locale/money_get_members_char.cc (test08): Same.
- * testsuite/22_locale/messages_members_char.cc (test03): Same.
- * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same.
- * testsuite/22_locale/collate_members_char.cc (test04): Same.
- * testsuite/26_numerics/fabs_inline.cc: Use std::printf.
- * testsuite/27_io/istream_seeks.cc (test02): Qualify abort.
- * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol.
-
-2002-06-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/Makefile.am (libsupc__convenience_la_SOURCES): Add
- c_sources.
-
-2002-06-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/ext-inst.cc (__gnu_cxx): Use instead of std:: for extensions.
- Use size_type instead of unsigned long.
-
-2002-06-20 Steve Ellcey <sje@cup.hp.com>
-
- * src/ext-inst.cc (_S_fetch): Add explicit templates for char and
- wchar types.
- (_S_min_len): Ditto.
-
-2002-06-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am: Add rules.
- * include/Makefile.in: Regenerate.
-
- * acinclude.m4: Define GLIBCPP_C_HEADERS_COMPATIBILITY.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * configure.target (c_model, c_compatibility): Add.
-
- * libsupc++/Makefile.am (c_sources): New.
- (libsupc___la_SOURCES): Add c_sources.
- (LTCOMPILE): Remove INCLUDES.
- (GCC_INCLUDES): New.
- (C_COMPILE): New, like COMPILE but without INCLUDES.
- (cxa_demangle.o): Use C_COMPILE.
- (dyn-string.o): Use C_COMPILE.
-
- * include/c/std_cstdarg.h: Define __need___va_list.
- * include/c/std_cstddef.h: Define need_size_t, need_ptrdiff_t,
- need_NULL, need_offsetof.
-
-2002-06-19 Steve Ellcey <sje@cup.hp.com>
-
- * configure.in (HAVE_FINITE*, HAVE_ISINF*, HAVE_ISNAN*): Remove
- definitions in hpux11 cross-build because these functions do
- not exist on hpux11 (but some exist on hpux10); move defaults out
- into existing sections.
- * configure: Regenerate.
-
-2002-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c/std_cwchar.h: Guard. Add mbstate_t bits.
- * include/c/std_cwctype.h: Guard.
-
- * libsupc++/eh_alloc.cc: Tweak include order.
- * libsupc++/pure.cc: Use cstdio.
- * libsupc++/new_op.cc: Remove malloc forward declaration, as
- cstdlib brings it in. Use std::malloc.
-
- * src/Makefile.am (sources): Remove cmath.cc.
- * src/Makefile.in: Regenerate.
- * src/cmath.cc: Remove.
-
-2002-06-18 Phil Edwards <pme@gcc.gnu.org>
-
- * configure.target: Force mips to use the generic cpu routines.
-
-2002-06-18 Phil Edwards <pme@gcc.gnu.org>
-
- * configure.host: Delete file.
- * configure.target: More documentation. Factor out common parts of
- script into "intelligent" settings about defaults. Remove redundancy.
-
- * acinclude.m4: Update comments. Do not call configure.host.
- (GLIBCPP_ENABLE_SYMVERS): If disabled, do not bother checking for
- libgcc_s.
- * configure.in: Slight reformatting, more comments. Factor out
- "config/" from all the directories.
- * docs/html/17_intro/porting.texi: Update and expand.
- * testsuite/Makefile.am (AM_RUNTESTFLAGS): Move empty setting
- from configure.host.
-
- * aclocal.m4, configure, docs/html/17_intro/porting.html,
- testsuite/Makefile.in: Regenerate.
-
-2002-06-16 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/TODO: Update.
- * docs/doxygen/tables.html: Uncomment magical middle column.
- * docs/doxygen/user.cfg.in: Kludge to ignore function-like macros.
- * include/bits/stl_queue.h: Doxygenate and reformat.
- * include/bits/ios_base.h, include/std/std_streambuf.h: Add comment
- for deprecated names required by the standard.
-
-2002-06-14 J.T. Conklin <jtc@acorntoolworks.com>
-
- * configure.in (target_alias): Fix.
- * configure: Regenerate.
- * aclocal.m4: Regenerate.
-
-2002-06-12 Phil Edwards <pme@gcc.gnu.org>
-
- * include/Makefile.am: Add new files.
- * include/Makefile.in: Regenerate.
-
- * include/bits/stl_deque.h, include/bits/stl_list.h,
- include/bits/stl_vector.h: Clean up, reformat. Move definitions...
- * include/bits/deque.tcc, include/bits/list.tcc,
- include/bits/vector.tcc: ...to here. New files.
-
- * include/ext/stl_hashtable.h: Inclide correct full headers.
- * include/std/std_deque.h: Include .tcc files for now.
- * include/std/std_list.h: Likewise.
- * include/std/std_vector.h: Likewise.
-
-2002-06-12 Daniel Jacobowitz <drow@mvista.com>
-
- * Makefile.am: Add FLAGS_TO_PASS.
- * Makefile.in: Regenerated.
-
-2002-06-11 J.T. Conklin <jtc@acorntoolworks.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.target: Set os_include_dir to config/os/qnx/qnx6.1
- under *-qnx6.[12]*.
- * configure.in: Add support for *-qnx6.[12]*.
- * configure: Regenerate.
-
- * config/os/qnx, config/os/qnx/qnx6.1, config/os/qnx/qnx6.1/bits:
- New directories.
- * config/os/qnx/qnx6.1/bits/ctype_base.h, ctype_inline.h,
- ctype_noninline.h, os_defines.h: New files.
-
-2002-06-10 Loren J. Rittle <ljrittle@acm.org>
-
- * acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT_ancilliary): Reorder and
- include all required headers for test against older POSIX standard.
- (GLIBCPP_CHECK_SETRLIMIT): Likewise.
- (ac_setrlimit): Likewise.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/testsuite_hooks.cc: Reorder and include all
- required headers for use against older POSIX standard.
-
-2002-06-08 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/backwards/strstream_members.cc: New.
-
-2002-06-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/backwards/strstream: Format.
- * src/strstream.cc: Format.
-
-2002-06-08 Andreas Schwab <schwab@suse.de>
-
- * src/strstream.cc (strstreambuf::overflow): Set _M_buf,
- _M_buf_size and _M_buf_size_opt to the new buffer and size.
-
-2002-06-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/generic/bits/ctype_noninline.h: Tweak format.
-
-2002-06-07 Steve Ellcey <sje@cup.hp.com>
-
- * src/locale-inst.cc (__codecvt_abstract_base):
- Put inside _GLIBCPP_USE_WCHAR_T ifdef.
- * include/bits/istream.tcc (basic_istream): Ditto.
- (ws) Ditto.
- (operator>>) Ditto.
- * include/bits/ostream.tcc (basic_ostream): Ditto.
- (endl): Ditto.
- (ends): Ditto.
- (flush): Ditto.
- (operator<<): Ditto.
-
-2002-06-07 Phil Edwards <pme@gcc.gnu.org>
-
- * mkcheck.in: Link against local testsuite library.
- * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Move null
- implementation out...
- * testsuite/testsuite_hooks.cc: ...to here.
-
-2002-06-06 Loren J. Rittle <ljrittle@acm.org>
-
- * src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation.
- * include/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
- * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
- * src/Makefile.in: Regenerate (explicitly with --cygnus option).
- * testsuite/Makefile.in: Likewise.
-
-2002-06-05 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/aix/bits/ctype_noninline.h (do_toupper,do_tolower):
- Call external symbol.
-
-2002-06-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
- Search correct multilib testsuite dir for libv3test.
-
-2002-06-04 Paolo Carlini <pcarlini@unitus.it>
- Gaby Dos Reis <gdr@codesourcery.com>
-
- * include/bits/basic_string.tcc
- (basic_string::_S_construct(forward_iterator_tag):
- Fix typo in null pointer check.
- * testsuite/21_strings/ctor_copy_dtor.cc: Add test04.
-
-2002-06-04 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/money_get_members_char.cc
- (test02): Add decimal point to long double constants.
- * testsuite/22_locale/money_get_members_wchar_t.cc
- (test02): Likewise.
- * testsuite/22_locale/money_put_members_char.cc
- (test02, test03, test06): Likewise.
- * testsuite/22_locale/money_put_members_wchar_t.cc:
- (test02, test03, test06): Likewise.
- * testsuite/22_locale/num_get_members_char.cc:
- (test02, test01): Likewise; suffix long long constants with LL.
- * testsuite/22_locale/num_get_members_wchar_t.cc:
- (test02, test01): Likewise.
- * testsuite/22_locale/num_put_members_char.cc:
- (test02, test01): Likewise.
- * testsuite/22_locale/num_put_members_wchar_t.cc:
- (test02, test01): Likewise.
-
-2002-06-03 Marc Espie <espie@openbsd.org>
-
- * config/cpu/m68k/bits/atomicity.h(__exchange_and_add): Fix inline
- assembly for old assemblers.
-
-2002-06-03 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_bvector.h (swap(_Bit_reference,_Bit_reference)):
- Move/rename...
- (vector<bool>::swap(reference,reference)): ...to this.
-
-2002-06-03 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/TODO: Update.
- * docs/doxygen/user.cfg.in (SORT_MEMBER_DOCS): Set to off, now that
- some class members are in 14882 order.
- * docs/html/ext/howto.html: 3.1 is in the past now, not the future.
-
- * include/std/std_bitset.h: Update comment.
- * src/bitset.cc: Update comments, clean up spacing.
-
- * src/Makefile.am (sources): Alphabetize for convenience.
- * src/Makefile.in: Regenerate.
-
-2002-06-03 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_deque.h, include/bits/stl_list.h,
- include/bits/stl_vector.h: Reformat to (mostly) match C++STYLE.
- Reorder to match 14882. Doxygen blocks for all public members.
-
-2002-05-31 Marcus Meissner <meissner@suse.de>
-
- PR libstdc++/6886
- * include/bits/stl_bvector.h: Use UL suffix for unsigned longs.
- * testsuite/23_containers/vector_bool.cc (test02): New test.
-
-2002-05-30 Marc Espie <espie@openbsd.org>
-
- * configure.in: Always check for sys/types.h
- * configure: Regenerate.
-
-2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init):
- Rebuild the wrapper file every time this proc is called.
-
-2002-05-28 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/Makefile.am (noinst_LIBRARIES): New target. Pull in
- CXX/INCLUDES.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/testsuite_hooks.h (gnu_copy_tracker): Move from
- list_modifiers.cc and rename from 'T'. Move code bodies...
- * testsuite/testsuite_hooks.cc: ...to here. New file.
- * testsuite/23_containers/list_modifiers.cc: Move 'T' class out.
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3_target_compile):
- Add libv3test.a to link options.
-
-2002-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/misc-inst.cc: Define unnecessary algorithm
- instantiations. Break apart instantiations into groupings below.
- * src/fstream-inst.cc: New.
- * src/io-inst.cc: New.
- * src/istream-inst.cc: New.
- * src/ostream-inst.cc: New.
- * src/streambuf-inst.cc: New.
- * src/sstream-inst.cc: New.
- * src/Makefile.am (sources): Add files.
- * src/Makefile.in: Regenerate.
-
- * acinclude.m4: Work around automake 1.4-p5 bug, change
- AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT.
-
-2002-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6795.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h
- (classic_table): Fix.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
-
-2002-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/ctype_is_wchar_t.cc: Guard with
- _GLIBCPP_USE_WCHAR_T.
- * testsuite/22_locale/ctype_narrow_wchar_t.cc: Same.
- * testsuite/22_locale/ctype_to_wchar_t.cc: Same.
- * testsuite/22_locale/ctype_widen_wchar_t.cc: Same.
-
-2002-05-26 Carlo Wood <carlo@alinoe.com>
- Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/6811
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h
- (__enc_traits::operator=): add missing return statement.
-
-2002-05-24 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/6282
- * include/std/std_bitset.h (_Base_biteset<0>): New specialization.
- (operator>>): If nothing was extracted, don't fail in the
- zero-length case.
- * testsuite/23_containers/bitset_ctor.cc (test02): New test.
-
-2002-05-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6701
- * testsuite/22_locale/ctype_narrow_char.cc: New.
- * testsuite/22_locale/ctype_narrow_wchar_t.cc: New.
- * testsuite/22_locale/ctype_widen_char.cc: New.
- * testsuite/22_locale/ctype_widen_wchar_t.cc: New.
- * testsuite/22_locale/ctype_members_char.cc: Move some bits into...
- * testsuite/22_locale/ctype_is_char.cc: ...this.
- * testsuite/22_locale/ctype_to_char.cc: ...and this.
- * testsuite/22_locale/ctype_members_wchar_t.cc: Move some bits into...
- * testsuite/22_locale/ctype_is_wchar_t.cc: ...this.
- * testsuite/22_locale/ctype_to_wchar_t.cc: ...and this.
-
- * testsuite/22_locale/ctype_scan_wchar_t.cc: Should pass.
-
-2002-05-24 Dale Peakall <dale@peakall.net>
-
- PR libstdc++/6701
- * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_narrow): Fix.
- * config/locale/generic/ctype_members.cc: Same.
-
-2002-05-24 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6750
- * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
- for empty string literal.
- (ostream::operator<<(const _CharT*)): Same.
- (ostream<char>::operator<<(const char*)): Same.
- (ostream<char>::operator<<(streambuf*)): Same.
- * testsuite/27_io/ostream_inserter_char.cc (test08): Add tests.
- * testsuite/27_io/ostream_inserter_other.cc (test02): Modify.
-
-2002-05-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (release_VERSION): Update to 3.1.1.
- (libtool_VERSION): Update to 4:1:0.
- * configure: Regenerate.
-
-2002-05-21 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_pair.h: Tweak comment markup.
-
-2002-05-21 Phil Edwards <pme@gcc.gnu.org>
-
- * include/ext/stdio_filebuf.h: Add header guards. Doxygenate.
-
-2002-05-21 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/user.cfg.in (EXCLUDE): Add 'CVS'.
-
-2002-05-21 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_vector.h: Reformat to follow C++STYLE.
- Doxygenate all public members. Reorder to follow 14882.
- (vector::push_back(void)): Remove previously-deprecated fn.
- (vector::insert(iterator), vector::_M_insert_aux(iterator)):
- Deprecate for removal in 3.3.
-
-2002-05-20 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html (5.4): Recommend against -I options for
- finding the ext headers.
- * docs/html/faq/index.txt: Regenerate.
-
-2002-05-19 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/23_containers/deque_operators.cc (test01):
- Fix minor typo in last commit.
-
-2002-05-18 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/6503
- * include/bits/stl_deque.h (_Deque_iterator::operator==,
- operator!=, operator<, operator>, operator>=, operator<=):
- Make non-member functions, to allow comparing const and
- non-const iterators in any order.
- * testsuite/23_containers/deque_operators.cc: New testfile.
-
-2002-05-16 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html: Update not-a-bug list with basic_file.h.
- * docs/html/faq/index.txt: Regenerate.
-
-2002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Makefile.am: Allow for PWDCMD to override hardcoded pwd.
- * acinclude.m4: Likewise.
- * docs/html/Makefile: Likewise.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
-
-2002-05-15 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/6641
- * include/bits/c++config (__USE_MALLOC): Report case where
- the user improperly defined it on the command line.
-
-2002-05-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/testsuite_hooks.h (__set_testsuite_memlimit):
- Retrieve current limits before setting.
-
-2002-05-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6518
- * include/bits/ostream.tcc (ostream::operator<<(const char*)): Fix
- for null case.
- (ostream::operator<<(const _CharT*)): Same.
- (ostream<char>::operator<<(const char*)): Same.
- * testsuite/27_io/ostream_inserter_char.cc (test07): Add test.
-
-2002-05-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6594
- * src/strstream.cc (strstreambuf): Fix leak.
-
-2002-05-15 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/6648
- * include/bits/istream.tcc (istream::getline, ignore):
- Upon __idelim (__delim) call sbumpc() not snextc().
- * testsuite/27_io/narrow_stream_objects.cc:
- Add test08 and test09.
-
-2002-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/ctype_scan_char.cc: Tweak.
- * testsuite/22_locale/ctype_scan_wchar_t.cc: New.
-
- * docs/html/install.html: Fix.
-
-2002-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fstream.tcc
- (basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
- try/catch blocks.
- * src/localename.cc (locale::_Impl::_M_install_facet): Same.
-
- * docs/html/install.html: Tweak, add bits about required locales
- for the 22_locale tests when using the gnu model.
-
- * testsuite/27_io/istream_sentry.cc: Tweak.
-
-2002-05-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * config/os/irix/irix5.2/bits/ctype_inline.h (scan_is, scan_not):
- Fix typo, use this->is() rather than manually (and perhaps
- incorrectly) inlining it.
- * config/os/irix/irix6.5/bits/ctype_inline.h (scan_is, scan_not):
- Likewise.
- * testsuite/22_locale/ctype_scan_char.cc: New file.
-
-2002-05-13 Paolo Carlini <pcarlini@unitus.it>
- Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/22_locale/money_get_members_char.cc
- (test01, test02, test04): Use the de_DE@euro named locale
- instead of de_DE to allow for an uniform behaviour with
- both old and Euro-era localedata; tweak some tests.
- * testsuite/22_locale/money_get_members_wchar_t.cc
- (test01, test02, test04): Likewise.
- * testsuite/22_locale/money_put_members_char.cc
- (test01, test02, test04): Likewise.
- * testsuite/22_locale/money_put_members_wchar_t.cc
- (test01, test02, test04): Likewise.
-
-2002-05-13 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/codecvt_members_char_char.cc
- (test03): Robustify wrt localedata.
- * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Likewise.
- * testsuite/22_locale/collate_members_char.cc (test04): Likewise.
- * testsuite/22_locale/collate_members_wchar_t.cc (test04): Likewise.
- * testsuite/22_locale/ctype_members_char.cc (test05): Likewise.
- * testsuite/22_locale/ctype_members_wchar_t.cc (test04): Likewise.
- * testsuite/22_locale/messages_members_char.cc (test03): Likewise.
- * testsuite/22_locale/money_get_members_char.cc (test08): Likewise.
- * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Likewise.
- * testsuite/22_locale/money_put_members_char.cc (test07): Likewise.
- * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Likewise.
- * testsuite/22_locale/moneypunct_members_char.cc (test03): Likewise.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Likewise.
- * testsuite/22_locale/num_get_members_char.cc (test06): Likewise.
- * testsuite/22_locale/num_get_members_wchar_t.cc (test06): Likewise.
- * testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
- * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
- * testsuite/22_locale/numpunct_members_char.cc (test03): Likewise.
- * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Likewise.
- * testsuite/22_locale/time_get_members_char.cc (test08): Likewise.
- * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Likewise.
- * testsuite/22_locale/time_put_members_char.cc (test04): Likewise.
- * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Likewise.
-
-2002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * config/os/irix/irix5.2/bits/os_defines.h: Revert 2002-05-06
- change.
-
-2002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * config/os/gnu-linux/bits/os_defines.h (__glibcpp_long_bits): Define
- to 64 for hppa 64-bit port.
- (__glibcpp_long_double_bits): Define to 64 for all hppa ports.
-
-2002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * acinclude.m4 (enable_symvers): Quote $LD.
- * aclocal.m4: Regenerate.
- * configure: Likewise.
-
-2002-05-09 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Append all
- multilib dirs containing libgcc_s*.so.1 below gcc object dir to
- LD_LIBRARY_PATH.
-
-2002-05-08 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
- script entry, and set LD to it when configuring multilibs.
- * configure: Rebuilt.
-
-2002-05-07 Mark Mitchell <mark@codesourcery.com>
-
- * configure.in: Add support for WindISS.
- * configure: Regenerated.
- * configure.target: Add support for WindISS.
- * config/os/windiss/bits/ctype_base.h: New file.
- * config/os/windiss/bits/ctype_inline.h: Likewise.
- * config/os/windiss/bits/ctype_noninline.h: Likewise.
- * config/os/windiss/bits/os_defines.h: Likewise.
-
-2002-05-06 Paolo Carlini <pcarlini@unitus.it>
-
- Test all the facets for the temporary "C" locale switch issue.
- * testsuite/22_locale/codecvt_members_char_char.cc: Add test03.
- * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise.
- * testsuite/22_locale/collate_members_char.cc: Add test04.
- * testsuite/22_locale/collate_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/ctype_members_char.cc: Add test05.
- * testsuite/22_locale/ctype_members_wchar_t.cc: Add test04.
- * testsuite/22_locale/messages_members_char.cc: Add test03.
- * testsuite/22_locale/money_get_members_char.cc: Add test08.
- * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/money_put_members_char.cc: Add test07.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/moneypunct_members_char.cc: Add test03.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/num_get_members_char.cc: Add test06.
- * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/numpunct_members_char.cc: Add test03.
- * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/time_get_members_char.cc: Add test08.
- * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/time_put_members_char.cc: Add test04.
- * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise.
-
- * testsuite/22_locale/num_put_members_char.cc (test04): Add comment.
- * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Likewise.
-
-2002-05-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * config/os/irix/irix5.2/bits/os_defines.h (_SGI_SOURCE,
- __EXTENSIONS__): Ensure they are always defined.
-
-2002-05-06 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/documentation.html: Fix broken link.
-
-2002-05-04 Benjamin Kosnik <bkoz@redhat.com>
- Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/num_put_members_char.cc: Add test04(),
- testing for the locale_facets.tcc entry of the previous commit.
- * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
-
-2002-05-04 Takeshi Kobayakawa <tskoba@mte.biglobe.ne.jp>
-
- * config/locale/generic/c_locale.cc
- (__convert_to_v(float, double, long double)):
- Fix the temporary switch to the "C" locale, saving and
- restoring in the proper way the current locale.
- * config/locale/generic/time_members.cc
- (__timepunct<char, wchar_t>::_M_put): Likewise.
- * config/locale/gnu/messages_members.cc
- (messages<char>::do_get): Likewise.
- * config/locale/gnu/messages_members.h
- (messages<_CharT>::do_get): Likewise.
- * config/locale/gnu/time_members.cc
- (__timepunct<char, wchar_t>::_M_put): Likewise.
- * include/bits/locale_facets.tcc (__convert_from_v): Likewise.
-
-2002-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * configure.in (AC_CHECK_HEADERS): Check for string.h & stdlib.h.
- * libsupc++/Makefile.am (LTCOMPILE): Add $(DEFS).
-
- * Makefile.in, config.h.in, configure: Regenerate.
-
-2002-05-03 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6549.
- * include/bits/fstream.tcc (filebuf::_M_underflow_common): Revert.
- * testsuite/27_io/narrow_stream_objects.cc (test07): Add.
-
-2002-05-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * config/os/irix/irix5.2/bits/ctype_noninline.h (classic_table):
- Return __ctype + 1.
- (ctype:_M_table): Initialize to classic_table(), not __ctype.
-
-2002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.in: Update local install.html, configopts.html paths.
- * configure: Regenerate.
-
-2002-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * config/os/irix/irix5.2/bits/os_defines.h
- (__glibcpp_long_double_bits, __glibcpp_long_bits): Define.
-
- * config/os/irix/irix5.2/bits/ctype_inline.h: Cast to unsigned
- char.
-
-2002-05-02 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html: Update list in #4.1.
- * docs/html/faq/index.txt: Regenerated.
-
-2002-05-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/RELEASE-NOTES (New): Update.
-
-2002-05-01 Phil Edwards <pme@gcc.gnu.org>
-
- * include/std/std_bitset.h: Fix doxygen comments.
- * docs/html/documentation.html: Minor tweaks for 3.1.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise, mention stdio_filebuf.
- * docs/html/faq/index.html: Likewise.
- * docs/html/faq/index.txt: Regenerated.
-
-2002-05-01 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6533
- * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get): New.
- (istreambuf_iterator::equal): Use it.
- (istreambuf_iterator::operator*): Use it.
-
-2002-05-01 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/6513
- * include/bits/stl_uninitialized.h
- (uninitialized_copy(_InputIter, _InputIter, _ForwardIter)):
- Fix typo in 2001-07-17 commit: typedef _ValueType to
- iterator_traits<_ForwardIter> not <_InputIter>.
- * testsuite/23_containers/vector_ctor.cc: Add test04.
-
-2002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- PR libstdc++/6501
- * include/c_std/std_cctype.h: Include bits/c++config.h.
- * config/os/hpux/bits/os_defines.h (_SB_CTYPE_MACROS): Define.
-
-2002-04-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/stdio_filebuf.h: New file.
- * include/ext/enc_filebuf.h: New file.
- * config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor.
- * config/io/basic_file_stdio.cc: Same.
- * include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer):
- Remove _M_unbuf hacks.
- (filebuf::_M_destroy_internal_buffer): Same.
- (filebuf::filebuf(cfile, openmode, int_type): Remove definition.
- (filebuf::fd): Remove.
- * include/std/std_fstream.h (filebuf::_M_unbuf): Remove.
- (filebuf::filebuf(__c_file*, openmode, int_type)): Remove.
- (filebuf::fd): Remove.
- * src/ios.cc (ios_base::_S_ios_create): Change to use specialized
- filebufs.
- (ios_base::_S_ios_destroy): Same.
- * src/misc-inst.cc (file_filebuf<char>): Add instantiation.
- * include/Makefile.am (ext_headers): Add ext_filebuf.h,
- stdio_filebuf.h. * include/Makefile.in: Regenerate.
-
-2002-04-30 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6511
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Fix typo.
-
-2002-04-29 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/5820
- * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
- Check for eof.
- * include/bits/streambuf_iterator.h: Match stream_iterator.h.
- (istreambuf_iterator::operator++): Invalidate on eof.
- (istreambuf_iterator::operator++(int)): Same.
- (istreambuf_iterator::operator*): Same.
-
-2002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set all
- of LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
- LD_LIBRARY64_PATH.
-
-2002-04-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/5820
- * config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int.
- (__basic_file::sys_ungetc): Take int.
- * config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same.
- * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
- Use sys_getc for unbuffered input.
- * testsuite/27_io/narrow_stream_objects.cc (test06): New.
-
- * src/ios.cc (_M_grow_words): Adjust error checking.
- * testsuite/27_io/ios_base_storage.cc: Same.
-
-2002-04-28 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/ext/stl_hashtable.h: Import __iterator_category
-
-2002-04-28 Paolo Carlini <pcarlini@unitus.it>
- Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * testsuite/ext/hash_set.cc: New testfile.
-
-2002-04-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/solaris/solaris2.5/bits/os_defines.h: Remove
- _G_USING_THUNKS.
- * config/os/solaris/solaris2.6/bits/os_defines.h: Same.
- * config/os/solaris/solaris2.7/bits/os_defines.h: Same.
-
-2002-04-26 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.h (replace(__pos, __n1, __s, __n2):
- Fix and tighten __throw_length_error check.
- * testsuite/21_strings/replace.cc (test05): New.
- * testsuite/21_strings/replace.cc (test02, test03, test04): Tweak.
-
-2002-04-23 Loren J. Rittle <ljrittle@acm.org>
-
- * include/std/std_fstream.h (basic_filebuf::sync): Hoist
- unconditional flush on lower-layer handle to here...
- * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow):
- ...from here. Optimize remaining _M_file.sync() call pattern.
- * testsuite/27_io/narrow_stream_objects.cc (test04): New test.
- (test05): Likewise.
-
-2002-04-23 Jason Merrill <jason@redhat.com>
-
- * include/bits/fstream.tcc (basic_filebuf::seekoff): Fix for
- output-only filebufs.
- * include/std/std_fstream.h (basic_filebuf::_M_set_indeterminate):
- Likewise.
- (basic_filebuf::_M_set_determinate): Likewise.
-
- PR libstdc++/6414
- * include/bits/fstream.tcc (basic_filebuf::seekoff): Adjust return
- value properly in the trivial case.
- * testsuite/27_io/istream_seeks.cc (test04): Make sure that
- tellg() returns the right value after a read.
-
-2002-04-23 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/cpu/mmix/bits/cpu_limits.h: New file.
- * configure.target (CPULIMITSH): Use it.
-
-2002-04-22 Loren J. Rittle <ljrittle@acm.org>
-
- * docs/html/17_intro/porting.texi (_GLIBCPP_AVOID_FSEEK): Remove.
- * docs/html/17_intro/porting.html: Rebuilt.
-
-2002-04-20 Jason Merrill <jason@redhat.com>
-
- PR libstdc++/4150
- * include/std/std_streambuf.h (basic_streambuf::_M_set_indeterminate):
- Move to filebuf.
- (basic_streambuf::_M_set_determinate): Likewise.
- (basic_streambuf::_M_is_indeterminate): Likewise.
- * include/bits/std_fstream.h (basic_filebuf::_M_filepos): New
- non-static data member.
- (basic_filebuf::_M_underflow_common): New non-static member function.
- (basic_filebuf::_M_underflow, _M_uflow): Call it.
- (basic_filebuf::sync): Avoid useless seeking.
- (basic_filebuf::_M_set_indeterminate): Move here from streambuf.
- Set _M_filepos.
- (basic_filebuf::_M_set_determinate): Likewise.
- (basic_filebuf::_M_is_indeterminate): Likewise.
- * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow): Seek
- back to _M_out_beg if necessary.
- (basic_filebuf::seekoff): Likewise.
- (basic_filebuf::_M_underflow_common): Generalization of old
- underflow(). Don't seek back to _M_in_beg.
- * src/ios.cc: Lose _GLIBCPP_AVOID_FSEEK stuff.
- * config/os/solaris/solaris2.?/bits/os_defines.h: Likewise.
- * config/os/bsd/freebsd/bits/os_defines.h: Likewise.
- * config/os/mingw32/bits/os_defines.h: Likewise.
- * testsuite/27_io/filebuf_virtuals.cc (test05): Don't overspecify
- ungetc test.
-
-2002-04-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/istream.tcc (istream::read): Fix.
- * testsuite/27_io/istream_unformatted.cc (main): Add.
-
-2002-04-20 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6360
- * include/bits/istream.tcc (istream::ignore): Streamline, use
- delimiter as is.
- * include/bits/streambuf.tcc: Use this->gptr.
- * testsuite/27_io/istream_unformatted.cc (test08): Add test.
-
-2002-04-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/localefwd.h (locale::id::_M_id): Do this correctly,
- as type safety is important, especially on solaris.
- * include/bits/istream.tcc (istream::read): Clean.
- (istream::readsome): Same.
- * locale.cc: Wrap lines.
-
- * testsuite/21_strings/inserters_extractors.cc: Tweaks.
- * testsuite/27_io/instantiations.cc (test): Add bool variable...
- * testsuite/21_strings/capacity.cc: Clean.
-
-2002-04-17 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/doxygroups.cc: New group on binary searching.
- * include/bits/stl_algo.h: Document binary searches and merges.
- * include/bits/stl_deque.h: The 'map' member is not the 'map' class.
-
-2002-04-17 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/mainpage.html: Doxygen logo is now a PNG file.
- * docs/doxygen/run_doxygen: Bump required version.
- * docs/doxygen/user.cfg.in: Revert accidental change.
- * docs/html/faq/index.html: Reindent a block of links.
- (4.4): New note on using dlsym.
- * docs/html/faq/index.txt: Regenerated.
-
-2002-04-17 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite_flags.in (cxxflags): Also pass @EXTRA_CXX_FLAGS@.
-
-2002-04-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu (__malloc_alloc_template): Add.
- (__default_alloc_template): Same.
- * include/bits/stl_alloc.h (__malloc_alloc_template): Add extern
- template.
- (__default_alloc_template): Same.
-
-2002-04-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/filebuf_virtuals.cc: Add _S_pback_size instantiation.
-
-2002-04-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/concept-inst.cc (vector<locale::facet*>): Remove instantiations.
- * src/stl-inst.cc (vector::_M_insert_aux): Remove instantiation.
- (__malloc_alloc_template): Conditionalize.
-
- * include/bits/istream.tcc: Remove sputbackc calls.
-
- * testsuite/19_diagnostics/stdexceptions.cc: Fix comment.
-
-2002-04-16 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/24_iterators/rel_ops.cc: New test.
-
-2002-04-16 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/bits/type_traits.h (__normal_iterator): Declare in
- __gnu_cxx. Adjust use at global namespace.
- * include/bits/stl_iterator.h (__normal_iterator): Move definition
- into __gnu_cxx::. Add more operator overloads. Tidy existing ones.
- * include/bits/basic_string.h (basic_string): Adjust use of
- __normal_iterator.
- * include/bits/stl_vector.h (_Alloc>): Likewise.
- * src/concept-inst.cc (__gnu_cxx): __normal_iterator<> is now here.
- * src/string-inst.cc (operator==): Instantiate in __gnu_cxx.
-
-2002-04-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/4164
- Valgrind fixes.
- * config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
- Call close.
- (__basic_file::close): Call fflush. Correct return if fclose ok.
- (__basic_file::is_open): Make const.
- Change __c_file_type to __c_file.
- * config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
- (__basic_file::is_open): Make const.
- * config/io/c_io_stdio.h: Change __c_file_type to __c_file.
- * include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
- (filebuf::_M_unbuf): Add.
- (filebuf::_M_file): Change to non-pointer.
- (filebuf::_M_allocate_pback_buffer): Remove.
- * include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
- (filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
- Change initialization list for _M_file change.
- (filebuf::_M_allocate_pback_buffer): Remove.
- Change _M_file usage to reflect non-pointer data member.
-
- * config/locale/generic/c_locale.cc
- (locale::facet::_S_create_c_locale): Add parameter.
- * config/locale/generic/collate_members.cc: Change
- _M_compare_helper to _M_compare.
- Change _M_transform_helper to _M_transform.
- * config/locale/generic/monetary_members.cc: Changeup data types.
- Add dtors.
- * config/locale/generic/numeric_members.cc: Add dtors.
- * config/locale/generic/time_members.cc: Add dtors.
- * config/locale/gnu/c_locale.cc: Add parameter.
- * config/locale/gnu/collate_members.cc:Change
- _M_compare_helper to _M_compare.
- Change _M_transform_helper to _M_transform.
- * config/locale/gnu/ctype_members.cc: Better error checking.
- * config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
- * config/locale/gnu/messages_members.cc: Tweak comment.
- * config/locale/gnu/monetary_members.cc: Change data types.
- Add dtors.
- * config/locale/gnu/numeric_members.cc: Add dtors, better error
- checking.
- * config/locale/gnu/time_members.cc: Same.
- * config/locale/ieee_1003.1-2001/c_locale.cc
- (locale::facet::_S_create_c_locale): Add parameter.
- * config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
- bogus ctor.
-
- * include/bits/locale_facets.h (moneypunct): Use string literals.
- Don't define dtor.
- (numpunct): Same.
- (__timepunct): Same.
- (locale::_Impl::_M_facets): Change from vector to array.
- (locale::_Impl::_M_names): Change from array of strings to array
- of string literals.
- (locale::facet::_S_create_c_locale): Add parameter.
- (locale::locale::_S_num_facets): Move to...
- (locale::_Impl::_M_facets_size): Here.
- * include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
- changes.
- * include/bits/localefwd.h: (locale::id::_M_id): Add member function.
- (locale::_Impl::_Impl(facet**, size_t, bool)): Add.
- (locale::_Impl::_Impl(string, size_t)): Change to
- (locale::_Impl::_Impl(const char*, size_t)): This.
-
- * include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
- * include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
- (streambuf::_S_pback_size): This.
-
- * src/globals.cc: Add pre-allocations for "C" facets.
- * src/locale-inst.cc: Remove vector instantiations.
- * src/locale.cc: Remove vector include. Fixups for _M_names,
- _M_facets changes.
- * src/localename.cc: Same.
-
- * include/bits/stl_vector.h: Fix odd formatting.
-
- * include/bits/basic_string.tcc: Tweak comment.
-
- * libsupc++/new: Make sure parameters are uglified.
- * libsupc++/typeinfo: Same.
-
- * testsuite/22_locale/num_get_members_char.cc: Fixup.
- * testsuite/22_locale/num_get_members_wchar_t.cc: Same.
- * testsuite/27_io/filebuf_members.cc: Same.
-
-2002-04-12 Steve Ellcey <sje@cup.hp.com>
-
- * gcc/libstdc++-v3/config/os/hpux/bits/os_defines.h
- (strtoll, strtoull): In 64 bit mode HP-UX (IA64 and HPPA)
- does not define strtoll or strtoull, but does define strtol
- and strtoul which are the same since in 64 bit mode
- sizeof(long) == sizeof(long long).
-
-2002-04-12 Phil Edwards <pme@gcc.gnu.org>
-
- * include/std/std_bitset.h: Doxygenate std::bitset<>. Clean up
- trailing spaces, indentation, and macro names. Make exception
- messages more informative.
-
-2002-04-11 Richard Henderson <rth@redhat.com>
-
- * include/bits/fstream.tcc (basic_filebuf<>::open): Fix & ordering.
- * include/bits/ostream.tcc (basic_ostream<>::operator<<(long)): Same.
- (basic_ostream<>::operator<<(long long)): Same.
-
-2002-04-11 Richard Henderson <rth@redhat.com>
-
- * config/linker-map.gnu: Add __gxx_personality_sj0.
-
-2002-04-09 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/1072
- * include/bits/localefwd.h (locale::_Impl::_M_facets): Change from
- pointer to vector.
- Remove forward declaration of vector.
- Include vector.
- * include/bits/locale_facets.tcc: Remove vector include.
- (use_locale): Adjust.
- (has_locale): Adjust.
- * src/locale.cc: Adjust.
- * src/localename.cc: Same.
-
-2002-04-09 Benjamin Kosnik <bkoz@redhat.com>
- Richard Henderson <rth@redhat.com>
-
- * include/bits/sstream.tcc: Clean up bit ops.
- * include/bits/fstream.tcc: Same.
-
-2002-04-09 Jakub Jelinek <jakub@redhat.com>
-
- * include/bits/locale_facets.h (__num_base::_S_scale_hex): Remove.
- (__num_base::_S_scale_oct): Remove.
- * src/locale.cc (__num_base::_S_scale_hex): Remove.
- (__num_base::_S_scale_oct): Remove.
-
-2002-04-09 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/6124
- * testsuite/23_containers/bitset_members.cc: New test.
- * include/std/std_bitset.h (_Bit_count::_S_bit_count): Move..
- (_S_bit_count): Here.
- (_First_one::_S_first_one): Move...
- (_S_first_one): Here.
- Format.
- * src/bitset.cc: Adjust.
- * config/linker-map.gnu: Export.
-
-2002-04-08 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/5180
- * include/bits/fstream.tcc (filebuf::seekpos): Fix.
- * include/std/std_fstream.h: Clean.
- * include/bits/ostream.tcc: Remove extraneous variables.
- * include/bits/sstream.tcc (stringbuf::seekoff): Be strict about
- open modes and which modes.
- (stringbuf::seekpos): Same.
- * testsuite/27_io/stringbuf_virtuals.cc: New tests.
-
-2002-04-05 Jonathan Wakely <jw@kayari.org>
-
- * include/bits/stl_algo.h (unique_copy, __gcd, rotate, rotate_copy,
- random_shuffle, partition, stable_partition, sort, stable_sort,
- partial_sort, partial_sort_copy, nth_element): Doxygenate.
-
-2002-04-05 David S. Miller <davem@redhat.com>
-
- * config/os/gnu-linux/bits/os_defines.h
- (__glibcpp_long_double_bits): Set to 64 on 32-bit Sparc.
-
-2002-04-04 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3457
- via gawrilow@math.tu-berlin.de
- * acinclude.m4 (version_specific_libs): Fix combo usage with
- --with-gxx-include-dir.
- * aclocal.m4: Regenerate.
- * configure: Same.
-
-2002-04-03 Benjamin Kosnik <bkoz@redhat.com>
-
- As per DR 184, libstdc++/3139
- * include/std/std_limits.h (__glibcpp_bool_digits): Change to 1.
- (numeric_limits<bool>::is_iec559): False.
- (numeric_limits<bool>::is_modulo): False.
-
- * testsuite/27_io/ios_init.cc: Add instantiations.
-
-2002-04-02 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/5268
- * src/ios.cc: (ios_base::Init::_S_ios_destroy): Remove flush calls.
- * testsuite/27_io/ios_init.cc (tests04): Add test.
-
- libstdc++/3983
- * include/bits/basic_ios.h (basic_ios::_M_get_fctype_ios): Remove.
- (basic_ios::_M_ios_fctype): Consistently name to _M_fctype.
- * include/bits/basic_ios.tcc: Same. Remove outdated comments.
- * include/bits/istream.tcc: Use _M_fctype, make consistent with
- ostream.
- * testsuite/27_io/ios_init.cc (tests03): Add test.
-
-2002-04-02 Phil Edwards <pme@gcc.gnu.org>
-
- * include/Makefile.am (install-data-local): Use mkinstalldirs.
- * include/Makefile.in: Regenerate.
-
-2002-04-02 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
- Philip Martin <philip@codematters.co.uk>
-
- * include/bits/basic_string.h
- (replace(i1, i2, _CharT* k1, _CharT* k2),
- replace(i2, i2, const _CharT* k1, const _CharT* k2),
- replace(i1, i2, iterator k1, iterator k2,
- replace(i1, i2, const_iterator k1, const_iterator k2):
- New specializations to optimize for the common cases of
- pointers and iterators.
- (replace(pos, n1, s, n2)): Tweak.
- * include/bits/basic_string.tcc: Tweak comments.
- * testsuite/21_strings/replace.cc (test04): New tests.
-
-2002-04-01 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/5542
- * acinclude: More extensive checks for msgfmt, --enable-nls.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2002-04-01 Phil Edwards <pme@gcc.gnu.org>
-
- * libsupc++/exception (__verbose_terminate_handler): Point to docs.
- * docs/doxygen/doxygroups.cc: Doxygen hooks for abi::__cxa_demangle.
- * docs/html/18_support/howto.html: Document the demangler.
- * docs/html/17_intro/howto.html: And link to it.
-
- * docs/doxygen/mainpage.html: Describe user-vs-maintainer docs.
- * docs/doxygen/run_doxygen: Print user-vs-maintainer.
-
-2002-04-01 Phil Edwards <pme@gcc.gnu.org>
-
- * config/linker-map.gnu: Export __verbose_terminate_handler.
- * libsupc++/Makefile.am (sources): Add cxa_demangle.c, dyn-string.c.
- Make new LTCOMPILE variable, use it in new special build rules.
- * libsupc++/Makefile.in: Rebuild.
- * src/vterminate.cc (__verbose_terminate_handler): Enable use of
- runtime __cxa_demangle.
-
- * docs/html/install.html: Update prereqs and instructions.
- * docs/html/19_diagnostics/howto.html: Bring naming for
- verbose_terminate_handler into line with reality.
-
-2002-04-01 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3129
- * include/bits/basic_ios.h (basic_ios::_M_exception): Move.
- (basic_ios::_M_streambuf_state): Move.
- * include/bits/ios_base (ios_base): To here.
- * include/bits/ios_base.h (ios_base::_S_local_words): To
- _S_local_word_size.
- (ios_base::_M_word_array): To _M_local_word.
- (ios_base::_M_words_limit): To _M_word_size.
- (ios_base::_M_words): To _M_word.
- Comment.
- * include/bits/basic_ios.tcc: Adjust.
- * src/ios.cc (ios_base::_M_grow_words): Tweak.
- * testsuite/27_io/ios_base_storage.cc: Add tests.
-
- libstdc++/5207
- Kenny Simpson <theonetruekenny@yahoo.com>
- * include/bits/ios_base.h: Fix.
-
- Richard Henderson <rth@redhat.com>
- * include/bits/ostream.tcc (ostream::operator<<(_CharT)): Correct
- last change.
-
- * include/bits/basic_string.h: Tweak formatting.
-
-2002-04-01 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h
- (codecvt::do_out, codecvt::do_unshift, codecvt::do_in):
- By definition, sizeof(char) == 1.
- * include/bits/locale_facets.tcc (money_get::do_get,
- money_put::do_put): Ditto.
- * testsuite/21_strings/inserters_extractors.cc
- (test04): Ditto.
-
-2002-03-30 Richard Henderson <rth@redhat.com>
-
- PR c++/3719
- * libsupc++/eh_personality.cc (__cxa_call_unexpected): Copy handler
- data out of the exception struct before calling unexpectedHandler.
-
-2002-03-28 Roger Sayle <roger@eyesopen.com>
-
- * include/c_std/std_cmath.h: To prevent problems overloading
- g++ builtins, use the double variants from the global namespace
- before defining float and long double variants in std::.
-
-2002-03-28 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/18_support/numeric_limits.cc (test_extrema): Fix typo.
-
-2002-03-28 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/24_iterators/istream_iterator.cc
- (test02): New tests.
-
-2002-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
- Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/codecvt_members_unicode_wchar_t.cc
- (test01): Protect the test with _GLIBCPP_USE_WCHAR_T;
- fix i_lit_base e_lit_base arrays, making them independent
- from the endianness of the platform; tweak UCS4 to UCS-4BE.
-
-2002-03-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/ostream.tcc (ostream::operator<<(_CharT)): Always
- allocate at least a byte.
-
- * testsuite/18_support/numeric_limits.cc (test_extrema): Make
- debugger-friendly.
- * testsuite/27_io/streambuf.cc (test07): Fix.
- (test06): Enable.
-
-2002-03-27 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/Intro.3: Date tweak.
- * docs/doxygen/TODO: Update.
- * docs/doxygen/doxygroups.cc: Point to tables.html.
- * docs/doxygen/mainpage.html: Date tweak.
- * docs/doxygen/run_doxygen: Version tweak. Copy tables.html over.
- * docs/doxygen/tables.html: Fill in the blanks.
-
- * docs/doxygen/user.cfg.in (ALIASES): Remove maint and endmaint.
- * include/bits/stl_algo.h: Likewise; use expanded form.
- * include/bits/stl_alloc.h: Likewise.
- * include/bits/stl_construct.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_relops.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/std/std_memory.h: Likewise.
-
- * include/bits/stl_deque.h: Point into tables.html and add @ingroup.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
-
-2002-03-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c/: Guard with _CPP_.
- * include/c_std/: Same.
- * include/Makefile.am: Fixup install, link routines for null
- c_base_headers_extra scenarios.
- * include/Makefile.in: Regerate.
-
-2002-03-25 Paolo Carlini <pcarlini@unitus.it>
- Richard Henderson <rth@redhat.com>
-
- * testsuite/22_locale/codecvt_members_unicode_char.cc
- (test01, test02): make sure that the i_lit_base array
- is sufficiently aligned.
-
-2002-03-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/newlib/bits/ctype_noninline.h (ctype::classic): Set to
- _ctype_.
-
-2002-03-25 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/collate_byname.cc
- (test01): compare the result of collate::compare with
- that of collate::transform + string::compare, not with
- that of collate::transform + collate::compare; values
- returned by collate::compare are normalized, therefore
- test against +-1.
-
-2002-03-25 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * config/locale/gnu/messages_members.h: Correct conditional.
- * config/locale/gnu/messages_members.cc: Same.
- * config/locale/gnu/time_members.cc: Same.
-
-2002-03-25 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
- Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/codecvt_members_unicode_char.cc
- (test01, test02): Fix i_lit_base arrays, making them
- independent from the endianness of the platform.
-
-2002-03-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for
- signbit and __signbit directly.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * libmath/Makefile.am: Simplify.
- * libmath/Makefile.in: Regenerate.
- * include/c_std/std_cmath.h: Update paths for include of cmath.tcc.
-
- * include/Makefile.am: Clean up handling of extra "C" header files.
- Add hooks for "C" compatibility headers.
- * include/Makefile.in: Regenerate.
-
- * include/c/*: Formatting tweaks, cleanups.
- * include/c_std/*: Same.
-
-2002-03-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/gnu/messages_members.h: Add __uselocale bits.
- * config/locale/gnu/messages_members.cc: Same.
- * config/locale/gnu/time_members.cc: Same.
-
-2002-03-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/vterminate.cc: Format, -fno-exceptions cleanup.
-
-2002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_3): New.
- (GLIBCPP_CONFIGURE_TESTSUITE): Use it to check for setenv.
- * aclocal.m4: Regenerate.
- * configure: Likewise.
-
-2002-03-19 Paolo Carlini <pcarlini@unitus.it>
- Ulrich Drepper <drepper@redhat.com>
-
- * src/locale-inst.cc (__convert_from_v): Add an additional
- __size parameter in the declarations.
- * include/bits/locale_facets.tcc
- (__convert_from_v): When available (that is,
- _GLIBCPP_USE_C99 defined) use snprintf instead of sprintf.
- (num_put::_M_convert_float): Depending on _GLIBCPP_USE_C99
- being defined or not, call and use __convert_from_v in the
- appropriate way.
- (num_put::_M_convert_int): Same here.
- (money_put::do_put(long double)): Same here.
-
-2002-03-19 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html (#3.6): Rewrap and close <a href> tags.
- * docs/html/faq/index.txt: Regenerate.
-
-2002-03-19 Steve Ellcey <sje@cup.hp.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Define
- GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS to set LIBUNWIND_FLAG if
- --enable-libunwind-exceptions is set.
- * configure.in (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Call new
- macro to check for libunwind.
- * configure: Regenerate.
- * src/Makefile.am (libstdc___la_LDFLAGS): Add
- LIBUNWIND_FLAG to libstdc link line.
- * src/Makefile.in: Regenerate.
-
-2002-03-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/faq/index.html: Add OS X workaround.
- * docs/html/17_intro/TODO: Update.
-
-2002-03-18 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc
- (money_put::do_put(long double)): Fix dimensioning of
- temporary buffers to avoid risk of overruns.
- (money_put::do_put(string)): Same for the buffer used to
- add the grouping chars.
- * testsuite/22_locale/money_put_members_char.cc: Add test06.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
-
- * include/bits/locale_facets.tcc
- (collate::do_transform): Simplify.
-
-2002-03-18 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE): Make indentation/spacing uniform.
- * configure.in: Add comments pointing the way for autoconf 2.5x.
- * aclocal.m4, config.h.in, configure: Regenerate.
-
-2002-03-18 Philipp Thomas <pthomas@suse.de>
-
- * include/backward/hash_map.h: hash, hashtable, hash_map and
- hash_multimap are in namespace __gnu_cxx.
- include/backward/hash_set.h: hash, hashtable, hash_set and
- hash_multiset are in namespace __gnu_cxx.
- include/backward/hashtable.h: hash and hashtable are in
- namespace __gnu_cxx.
- include/backward/rope.h: char_producer, sequence_buffer,
- rope, crope and wrope are in namespace __gnu_cxx.
- include/backward/slist.h: slist is in namespace __gnu_cxx.
- * testsuite/backward/header_hash_map_h.cc
- testsuite/backward/header_hash_set_h.cc
- testsuite/backward/header_hashtable_h.cc
- testsuite/backward/header_rope_h.cc
- testsuite/backward/header_slist_h.cc
- testsuite/backward/header_tempbuf_h.cc: New tests for
- checking that we're using the correct namespace.
-
-2002-03-17 Jason Merrill <jason@redhat.com>
-
- PR c++/4381
- * libsupc++/eh_personality.cc (get_adjusted_ptr): New static fn.
- (check_exception_spec): Call it. Take the thrown pointer.
- (__cxa_call_unexpected): Pass it.
- (PERSONALITY_FUNCTION): Likewise. Use get_adjusted_ptr.
-
-2002-03-15 Anthony Green <green@redhat.com>
-
- * configure.in: Remove useless is_mingw32.
- * configure: Rebuilt.
-
-2002-03-15 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/collate_members_char.cc
- (test01): compare the result of collate::compare with
- that of collate::transform + string::compare, not with
- that of collate::transform + collate::compare.
- (test01): values returned by collate::compare are
- normalized, therefore test against +-1.
- * testsuite/22_locale/collate_members_wchar_t.cc: Ditto.
-
-2002-03-12 Loren Rittle <ljrittle@acm.org>
-
- reported by Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
- * testsuite/thread/pthread4.cc: Lower nominal iteration counter.
-
-2002-03-12 Benjamin Kosnik <bkoz@redhat.com>
- Per Liboriussen <liborius@stofanet.dk>
-
- * config/os/gnu-linux/bits/ctype_noninline.h: Cast to
- unsigned char.
- * config/os/gnu-linux/bits/ctype_inline.h: Same.
-
- * config/os/irix/irix6.5/bits/ctype_inline.h: Same.
-
- * config/os/solaris/solaris2.5/bits/ctype_inline.h: Same.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
-
- * config/os/solaris/solaris2.6/bits/ctype_inline.h: Same.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
-
- * config/os/solaris/solaris2.7/bits/ctype_inline.h: Same.
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
-
- * testsuite/22_locale/ctype_members_char.cc (main): Add tests.
-
-2002-03-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_string.tcc (string::_S_construct(_InIter,
- _InIter, const _Alloc&, forward_iterator_tag): Check for null.
- (string::basic_string(const _CharT* __s, const _Alloc& __a)): Same.
- * testsuite/21_strings/ctor_copy_dtor.cc (test01): Re-enable, now
- that memory limits are in place.
- (test03): Add tests.
-
-2002-03-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for wctype.h.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/c_std/std_cwctype.h: Guard.
-
-2002-03-11 Chris Demetriou <cgd@broadcom.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Enhance check for
- whether GLIBCPP_CHECK_LINKER_FEATURES has been used.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2002-03-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_bvector.h: Fix warning.
-
-2002-03-11 Richard Henderson <rth@redhat.com>
-
- * include/bits/stl_bvector.h (_Bit_type): New. Use throughout.
-
-2002-03-11 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles):
- New function. Build the list of tests to run in testsuite_files.
- * testsuite/libstdc++-v3.dg/dg.exp: Use it.
-
-2002-03-11 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/21_strings/capacity.cc: Only explicitly instantiate on
- platforms with no weak support.
- * testsuite/27_io/ios_init.cc: Likewise.
-
-2002-03-10 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (time_put::do_put):
- Consider sizeof(char_type) in allocating the buffer.
-
- * include/bits/locale_facets.tcc (collate::do_tranform):
- Remove redundant variable.
-
-2002-03-10 Ulrich Drepper <drepper@redhat.com>
- Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/generic/collate_members.cc
- (collate<char,wchar_t>::_M_compare_helper): normalize
- values returned by strcoll and wcscoll.
- * config/locale/gnu/collate_members.cc
- (collate<char,wchar_t>::_M_compare_helper): ditto
- for __strcoll_l and __wcscoll_l.
-
-2002-03-10 Anthony Green <green@redhat.com>
-
- * configure.in: Support cross builds to mingw32 target.
- * configure: Rebuilt.
-
-2002-03-09 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (collate::do_transform):
- Rewrite to fix problems with long transformed strings.
-
-2002-03-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * c_locale_generic.cc: Move to...
- * generic/c_locale.cc
- * c_locale_generic.h: Move to...
- * generic/c_locale.h
- * codecvt_specializations_generic.h: Move to...
- * generic/codecvt_specializations.h
- * collate_members_generic.cc: Move to...
- * generic/collate_members.cc
- * ctype_members_generic.cc: Move to...
- * generic/ctype_members.cc
- * messages_members_generic.cc: Move to...
- * generic/messages_members.cc
- * messages_members_generic.h: Move to...
- * generic/messages_members.h
- * moneypunct_members_generic.cc: Move to...
- * generic/monetary_members.cc
- * numpunct_members_generic.cc: Move to...
- * generic/numeric_members.cc
- * time_members_generic.cc: Move to...
- * generic/time_members.cc
- * c_locale_gnu.cc: Move to...
- * gnu/c_locale.cc
- * c_locale_gnu.h: Move to...
- * gnu/c_locale.h
- * collate_members_gnu.cc: Move to...
- * gnu/collate_members.cc
- * ctype_members_gnu.cc: Move to...
- * gnu/ctype_members.cc
- * messages_members_gnu.cc: Move to...
- * gnu/messages_members.cc
- * messages_members_gnu.h: Move to...
- * gnu/messages_members.h
- * moneypunct_members_gnu.cc: Move to...
- * gnu/monetary_members.cc
- * numpunct_members_gnu.cc: Move to...
- * gnu/numeric_members.cc
- * time_members_gnu.cc: Move to...
- * gnu/time_members.cc
- * c_locale_ieee_1003.1-200x.cc: Move to...
- * ieee_1003.1-2001/c_locale.cc
- * c_locale_ieee_1003.1-200x.h: Move to...
- * ieee_1003.1-2001/c_locale.h
- * codecvt_specializations_ieee_1003.1-200x.h: Move to...
- * ieee_1003.1-2001/codecvt_specializations.h
- * messages_members_ieee_1003.1-200x.cc: Move to...
- * ieee_1003.1-2001/messages_members.cc
- * messages_members_ieee_1003.1-200x.h: Move to...
- * ieee_1003.1-2001/messages_members.h
-
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Make consistent.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.am (sources): Change to monetary and numeric.
- * src/Makefile.in: Regenerate.
- * docs/html/configopts.html: Update to ieee_1003.1-2001.
-
-2002-03-08 scott snyder <snyder@fnal.gov>
-
- libstdc++/5875
- * include/bits/locale_facets.tcc (num_put::_M_convert_float):
- Allow one more digit of precision.
- * testsuite/27_io/ostream_inserter_arith.cc: Test that we can
- write a double and read back in the same value.
-
-2002-03-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_limits.h: Move static const data members out of
- generic template, into base class __numeric_limits_base.
- * src/limits.cc: Add definitions.
- * config/linker-map.gnu: Add __numeric_limits_base.
- * testsuite/18_support/numeric_limits.cc: Declare test in scope.
-
-2002-03-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_alloc.h: Add extern implicit allocator
- instantiations.
- * include/bits/basic_string.tcc: Tweak.
- * include/bits/locale_facets.tcc: Remove default args. Add
- has_facet, use_facet extern instantiations.
- * src/stl-inst.cc: Add explicit instantiation.
- * src/locale-inst.cc: Clean. Remove locale member template
- instantiations.
-
- * testsuite/22_locale/operators.cc (test02): Enable.
-
-2002-03-06 Benjamin Kosnik <bkoz@redhat.com>
- Stephen M. Webb <stephen.webb@bregmasoft.com>
-
- * include/bits/stl_tree.h (_S_rb_tree_red): Make enum.
- (_S_rb_tree_black): Make enum.
- Clean. Format.
- * include/bits/stl_bvector.h (__WORD_BIT): To _M_word_bit, enum.
- * include/bits/stl_algo.h (__stl_chunk_size): _M_chunk_size, enum.
- (__stl_threshold): _M_threshold, enum.
- * src/stl-inst.cc: Same.
- * config/linker-map.gnu: Remove.
-
- * testsuite/23_containers/vector_bool.cc: New.
-
-2002-03-06 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/user.cfg.in: Also document deprecated entries.
- * docs/html/Makefile: Example rule to rebuild porting-howto.html.
- * docs/html/17_intro/howto.html: "gcc"->"GCC" changes, when
- referring to the collection as a whole. New section on which macros
- can be redefined by the user.
- * docs/html/19_diagnostics/howto.html: Update note for concepts.
- * docs/html/20_util/howto.html: Update link to SGI.
- * docs/html/faq/index.html: Update snapshot versions. New entry
- on why g++ (but not gcc) must currently predefine certain macros.
- * docs/html/faq/index.txt: Regenerated.
-
- * include/bits/basic_string.h (basic_string::_S_construct): Fix
- names in declaration.
- (basic_string::compare): These are no longer optional.
- * include/bits/ostream.tcc: Tweak closing brace placement.
- * include/bits/stl_algo.h: Lots of initial doxygen comment hooks.
- * include/std/std_sstream.h: Fix typo in comment.
- * include/bits/locale_facets.tcc: Remove unneeded header inclusion.
- * src/locale.cc: Likewise.
-
-2002-03-06 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/5734
- * include/bits/stl_vector.h (vector::push_back()): Guard with
- _GLIBCPP_DEPRECATED.
-
-2002-03-06 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/c++config: Fix misplaced leading blanks on first line.
-
-2002-03-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/RELEASE-NOTES: Fix usage.
- * README (libmath): Make clear.
-
-2002-03-05 Jakub Jelinek <jakub@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Check for version
- script globbing in ld.
- * aclocal.m4: Rebuilt.
- * configure: Rebuilt.
-
-2002-03-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/RELEASE-NOTES: Update.
- * README: Format subdirectories.
-
-2002-03-05 Paolo Carlini <pcarlini@unitus.it>
-
- libstdc++/5816
- * include/bits/locale_facets.tcc
- (num_get::_M_extract_float): Fix the parsing of __dec, since
- the standard prescribes that if no grouping characters are
- seen, no grouping check is applied.
- * testsuite/22_locale/num_get_members_char.cc: Add test05
- distilled from the PR.
- * testsuite/22_locale/num_get_members_wchar_t.cc: Ditto.
-
-2002-03-04 Craig Rodrigues <rodrigc@gcc.gnu.org>
-
- * docs/html/17_intro/porting-howto.xml: Refer to
- http://www.oasis-open.org for docbookx.dtd.
- * docs/html/17_intro/porting-howto.html: Regenerated.
-
-2002-03-03 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/3955
- * include/std/std_sstream.h: Remove trailing spaces.
- (basic_stringbuf::_M_stringbuf_init): Also check for ios_base::app.
- * testsuite/27_io/stringbuf.cc (test05, test06): New tests.
-
-2002-03-02 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/num_get_members_char.cc (test04):
- Use a named locale expecting grouping (de_DE).
- * testsuite/22_locale/num_get_members_wchar_t.cc (test04):
- Ditto.
- * testsuite/27_io/ios_manip_basefield.cc (test01):
- Extend coverage, uniform treatment of hexs and octs.
-
-2002-02-28 Richard Henderson <rth@redhat.com>
-
- * config/linker-map.gnu: Export operator new with unsigned long,
- and with std::nothrow_t. Likewise operator delete.
-
-2002-02-28 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_int):
- Admit grouping for octals and hexadecimals too.
- * testsuite/22_locale/num_get_members_char.cc: Add test04.
- (test01): Tweak "." -> "," in void* test.
- * testsuite/22_locale/num_get_members_wchar_t.cc: Ditto.
-
- * testsuite/27_io/ios_manip_basefield.cc: Remove static keyword.
- * testsuite/27_io/ios_manip_fmtflags.cc: Remove two of them.
-
-2002-02-27 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/ios_manip_basefield.cc (test01):
- Fix for 64 bit machines.
-
-2002-02-26 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/3983
- * include/bits/basic_ios.tcc (basic_ios::init): Set _M_fill to zero.
- Adjust comment.
- * include/bits/basic_ios.h (basic_ios::_M_fill): Make mutable.
- (basic_ios::_M_fill_init): New.
- (basic_ios::fill()): Delay dealing with _M_fill.
- Adjust comment.
- * ios.cc (ios_base::ios_base()): Initialize _M_callbacks, _M_words.
- (ios_base::_M_call_callbacks): Adjust.
- * testsuite/27_io/ios_init.cc (test02): Adjust testcase.
-
-2002-02-26 Loren Rittle <ljrittle@acm.org>
-
- * include/Makefile.am (thread_target_headers): Unconditionally
- stage and install gthr-posix.h.
- (${target_builddir}/gthr-posix.h): New rule cloned off
- ${target_builddir}/gthr-default.h.
- (${target_builddir}/gthr-default.h): Support chained inclusion
- of gthr support headers.
- * include/Makefile.in: Rebuilt.
-
-2002-02-26 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (num_put::_M_widen_int):
- Group all the integral types, not only decs.
- * testsuite/27_io/ios_manip_basefield.cc (test01): Tweak existing
- tests, add a few more.
-
-2002-02-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/ios.cc (ios_base::~ios_base): Tweak.
- (ios_base::_M_call_callbacks): Deal with null __p.
- (ios_base::ios_base): Set _M_callbacks.
- * include/bits/basic_ios.tcc (basic_ios::init): Adjust comment.
- * testsuite/27_io/ios_init.cc (test02): Fix.
-
- * mkcheck.in (static_fail): Failed links go to output file.
-
-2002-02-25 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html: Update.
- * docs/html/faq/index.txt: Regenerate.
-
-2002-02-22 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Fix comment.
- * aclocal.m4: Regenerate.
- * docs/html/configopts.html: Document --enable-symvers.
- * config/linker-map.gnu: Break libsupc++ symbols out to their own tag.
-
-2002-02-22 Philipp Thomas <pthomas@suse.de>
-
- * include/backward/tempbuf.h: get_temporary_buffer and
- return_temporary_buffer are in namespace std, not in __gnu_cxx.
-
-2002-02-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (target_alias): Default to yes.
- * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Add check for shared
- libgcc to default case.
-
-2002-02-20 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Also check version.
- (GLIBCPP_ENABLE_SYMVERS): Redo logic, use linker version.
- * configure.in (GLIBCPP_ENABLE_SYMVERS): Move later in the script.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config/linker-map.dummy: New file. Contains nothing useful.
-
-2002-02-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/money_put_members_char.cc: Fix.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Fix.
-
- * testsuite/27_io/standard_manipulators.cc: New file.
-
- * testsuite/27_io/ios_manip_basefield.cc: Check results, now failing.
- * testsuite/27_io/ios_manip_fmtflags.cc: Use locale::classic().
-
-2002-02-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * config/os/mingw32/bits/ctype_noninline.h
- (ctype<char>::ctype): Remove default args from parm list.
- * config/os/djgpp/bits/ctype_noninline.h: Same.
-
-2002-02-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_iomanip.h: Inline, tweaks.
- * config/linker-map.gnu: Remove hacks.
-
- * testsuite/21_strings/capacity.cc: Add explicit instantiations.
- * testsuite/27_io/ios_init.cc: Same.
- * testsuite/22_locale/money_get_members_char.cc (test07): Fix.
- * testsuite/22_locale/money_get_members_wchar_t.cc (test07): Same.
-
-2002-02-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Export global vtable, typeinfo, guard
- variable, and thunk info as per CXXABI docs.
-
-2002-02-19 Loren Rittle <ljrittle@acm.org>
-
- * include/Makefile.am: Use CONFIG_HEADER instead of ad hoc names.
- * include/Makefile.in: Rebuilt.
-
-2002-02-18 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * testsuite/22_locale/collate_byname.cc (test01): Replace size4
- with size3 for the string collations of str5.
-
-2002-02-18 Paolo Carlini <pcarlini@unitus.it>
-
- libstdc++/5708
- * include/bits/locale_facets.tcc (money_put::do_put):
- For the space field use __fill instead of ' ', uniformly.
- * testsuite/22_locale/money_put_members_char.cc:
- Add test05 distilled from PR.
- (test01-02-03): Trim some '*' to ' '.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
-
-2002-02-18 Loren Rittle <ljrittle@acm.org>
-
- libstdc++/5697
- * include/Makefile.am (thread_builddir): Remove (map all
- existing uses to target_builddir).
- (thread_headers): Rename to...
- (thread_target_headers): ...this.
- (stamp-thread): Remove.
- (stamp-target): Correctly state the position as built.
- Update all dependencies to match the new reality. Remove all
- dependency calculations on directories.
- * include/Makefile.in: Rebuilt.
-
-2002-02-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc: Add pragma GCC system_header.
- * include/bits/fstream.tcc: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/ostream.tcc: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/streambuf.tcc: Same.
- * include/bits/basic_ios.tcc: Same.
- * include/bits/basic_string.tcc: Same.
-
-2002-02-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_iosfwd.h: Don't guard typedefs with
- _GLIBCPP_USE_WCHAR_T
- * include/bits/stringfwd.h: Same.
-
-2002-02-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/locale.cc (moneypunct_byname): Remove definitions.
- * include/std/std_streambuf.h (streambuf::operator=): Return.
-
-2002-02-15 Benjamin Kosnik <bkoz@redhat.com>
-
- Tune for size.
- * src/string-inst.cc (string::_Rep::_S_terminal): Remove redundant
- explicit instantiation.
- (string::_Rep::_S_max_size): Same.
- * include/bits/basic_string.tcc: Add extern explicit
- instantiations for string, wstring.
- * include/bits/basic_ios.tcc: Add extern explicit instantiations
- for ios, wios.
- * include/bits/streambuf.tcc: Same, for streambuf, wstreambuf.
- * include/bits/istream.tcc: Same, for istream, wistream.
- * include/bits/ostream.tcc: Same for ostream, wostream, iostream,
- wiostream.
- * include/bits/sstream.tcc: Same, for stringbuf, wstringbuf,
- istringstream, wistringstream, ostringstream, wostringstream,
- stringstream, wstringstream.
- * include/bits/fstream.tcc: Same, for filebuf, wfilebuf, ifstream,
- wifstream, ofstream, wofstream, fstream, wfstream.
- * src/misc-inst.cc: Correct comments.
- Add iomanip instantiations for wide streams.
- * include/std/std_iomanip.h: Same.
- * include/bits/locale_facets.tcc: Same.
-
- * include/std/std_streambuf.h: Correct
- _GLIBCPP_FULLY_COMPLIANT_HEADERS guard.
- * include/std/std_sstream.h: Same.
- * include/std/std_ostream.h: Same.
- * include/std/std_istream.h: Same.
- * include/std/std_fstream.h: Same.
-
- * include/std/std_streambuf.h: Add definitions for private copy
- ctor and assignment operator.
- * include/std/std_istream.h: Remove declared but undefined copy
- ctor and assignment operator. This is taken care of in ios_base,
- so adding it in the derived class as well is superfluous.
- * include/std/std_ostream.h: Same.
-
- * include/bits/basic_ios.h (basic_ios::clear): Don't inline.
- * include/bits/basic_ios.tcc (basic_ios::clear): Move definition here.
-
-2002-02-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Change tag from GCC_3.1 to GLIBCPP_3.1.
- Add typeinfo bits. Smooth.
- * aclocal.m4: Regenerate.
- * configure: Same.
- * src/Makefile.in: Same.
-
-2001-02-14 Joel Sherrill <joel@OARcorp.com>
-
- * config/cpu/m68k/bits/atomicity.h: Corrected for RTEMS targets
- which do not have a CAS instruction.
-
-2002-02-14 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): New macro, initial revision.
- * configure.in: Call it.
- * config/linker-map.gnu: New file, initial incomplete revision.
- * src/Makefile.am: Optionally pass version script to the linker.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * src/Makefile.in: Regenerate.
-
-2002-02-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/localename.cc: Remove stdexcept include.
- * src/locale-inst.cc: Same.
- * src/locale.cc: Same.
- * src/functexcept.cc: Remove string includes.
- * include/std/std_bitset.h: Remove stdexcept include.
- * testsuite/23_containers/bitset_members.cc: Add stdexcept.
- * testsuite/23_containers/bitset_ctor.cc: Same.
-
-2002-02-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_algo (__stl_threshold): Declare external.
- (__stl_chunk_size): Same.
- * include/bits/stl_bvector.h (__WORD_BIT): Same.
- * include/bits/stl_tree.h (_S_rb_tree_red): Same.
- (_S_rb_tree_black): Same.
- * src/stl-inst.cc (__stl_threshold): Define.
- (__stl_chunk_size): Same.
- (__WORD_BIT): Same.
- (_S_rb_tree_red): Same.
- (_S_rb_tree_black): Same.
-
- * config/io/basic_file_libio.h (__basic_file): Add declarations.
- * include/bits/basic_file.h: Remove.
- * config/io/c_io_stdio.h: Remove _GLIBCPP_BASIC_FILE_ENCAPSULATION
- Declare generic types, specialization.
- * config/io/basic_file_stdio.cc: Definitions.
- * config/io/c_io_libio.h: Remove _GLIBCPP_BASIC_FILE_INHERITANCE.
- Declare generic types.
- * include/Makefile.am (bits_headers): Remove basic_file.h.
- (extra_target_headers): Change basic_file_model.h to basic_file.h.
- (stamp-target): Same.
-
- * include/bits/stl_alloc.h: Tweaks.
- * include/bits/localefwd.h: Same.
-
-2002-02-11 Aaron W LaFramboise <AWLaFramboise@aol.com>
-
- * include/bits/locale_facets.tcc (collate::do_hash): Fix.
- * testsuite/22_locale/collate_members_char.cc (test03): New test.
- * testsuite/22_locale/collate_members_wchar_t.cc (test03): Same.
-
-2002-02-10 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_algo.h (transform (both signatures), generate_n):
- Use __typeof__ in concept checks.
-
-2002-02-10 Jonathan Wakely <cow@compsoc.man.ac.uk>
-
- * include/bits/stl_algo.h (__median, for_each, find, find_if,
- adjacent_find, count, count_if, search, search_n, swap_ranges,
- transform, replace, replace_if, replace_copy, replace_copy_if,
- generate, generate_n, remove_copy, remove_copy_if, remove, remove_if,
- unique, unique_copy, reverse, reverse_copy): Doxygenate.
-
-2002-02-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h
- (numpunct<_CharT>::_M_initialize_numpunct): Remove definition.
- (__timepunct<_CharT>::_M_initialize_timepunct): Same.
- (__timepunct<_CharT>::_M_put_helper): Same.
- (moneypunct<_CharT, _Intl>::_M_initialize_moneypunct): Same.
-
- * include/bits/fstream.tcc (filebuf::underflow): Remove
- __codecvt_type typedef.
- (filebuf::_M_convert_to_external): Same.
-
-2002-02-08 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/TODO: Update.
- * docs/doxygen/doxygroups.cc: Tweak __gnu_cxx description.
- * docs/doxygen/mainpage.html: Add TODO list link.
- * docs/doxygen/user.cfg.in: Add @doctodo hook.
- * docs/doxygen/tables.html: New file, emoty structure only.
-
- * include/bits/stl_iterator.h: Doxygenate just about everything.
- * include/bits/stl_iterator_base_funcs.h: Ditto, clean up spaces.
- * include/bits/stl_iterator_base_types.h: Add notes.
-
-2002-02-07 Stephan Buys <sbproxy@icon.co.za>
-
- * include/bits/stl_map.h: Tweak doxygen markup.
- * include/bits/stl_multimap.h: Doxygenate and remove extra spaces.
- * include/bits/stl_vector.h: Likewise.
-
-2002-02-07 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/5286
- libstdc++/3860
- * include/std/std_fstream.h (filebuf::__file_type): Change to
- __basic_file<char>.
- (filebuf::_M_convert_to_external): Declare.
- * include/bits/fstream.tcc (filebuf::_M_convert_to_external): Define
- codecvt bits for wide streams.
- (filebuf::_M_really_overflow): Use it.
- (filebuf::underflow): Use codecvt.
- * config/locale/codecvt_specializations_ieee_1003.1-200x.h:
- (codecvt<__enc_traits>::do_out): Deal with partial.
- (codecvt<__enc_traits>::do_encoding): Return something useful.
- * src/codecvt.cc (codecvt<wchar_t>::do_encoding): Return sizeof
- wchar_t.
- * testsuite/22_locale/codecvt_members_unicode_char.cc (test01):
- Change expected encoding output.
- (test02): Same.
- * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test01): Same.
- (test02): Same.
-
-2002-02-07 Benjamin Kosnik <bkoz@redhat.com>
- Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
-
- * include/bits/basic_ios.tcc (basic_ios::narrow): Add default value.
- (basic_ios::widen): Same.
-
-2002-02-07 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/money_get_members_char.cc:
- Add comment, tidy up.
- (test01): more "en_HK" tests (without showbase).
- * testsuite/22_locale/money_get_members_wchar_t.cc: Ditto.
-
-2002-02-06 Loren Rittle <ljrittle@acm.org>
-
- * config/locale/c_locale_generic.cc: Do not trust
- _GLIBCPP_HAVE_STRTOF or _GLIBCPP_HAVE_STRTOLD as
- set by configure.
-
-2002-02-06 Loren Rittle <ljrittle@acm.org>
-
- * acinclude.m4: Add C++ linkage check for strtof.
- * aclocal.m4: Rebuilt.
- * config.h.in: Rebuilt.
- * configure: Rebuilt.
- * config/locale/c_locale_generic.cc: Conditionally include
- <ieeefp.h>. Improve handling and error checking of float
- and long double input for non-C99 configurations.
-
-2002-02-06 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (money_get::do_get(string)):
- In case money_base::symbol deal properly with multi-char sign
- for patterns {X,Y,Z,symbol} and {X,Y,symbol,none}.
- * testsuite/22_locale/money_get_members_char.cc: Add test07.
- * testsuite/22_locale/money_get_members_wchar_t.cc: Add test07.
-
-2002-02-05 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (money_get::do_get(string)):
- First construct a tentative returned string, then, only if the
- parsing succeeds, copy it into the string passed by reference.
- * testsuite/22_locale/money_get_members_char.cc: Add test06.
- * testsuite/22_locale/money_get_members_wchar_t.cc: Add test06.
-
-2002-02-04 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/TODO: Impl-defined behavior now documented...
- * docs/html/17_intro/howto.html: ...here.
- * docs/doxygen/mainpage.doxy: Remove, rename...
- * docs/doxygen/mainpage.html: ...to this. Tweak HTML, add license.
- * docs/doxygen/style.css: Add small text.
- * docs/doxygen/run_doxygen: Adjust for new mainpage.
- * docs/doxygen/user.cfg.in: Likewise.
-
-2002-02-04 Stephan Buys <sbproxy@icon.co.za>
-
- * include/bits/stl_map.h: Initial doxygen markup.
- * include/std/std_fstream.h: Initial doxygen markup.
-
-2002-02-04 Paolo Carlini <pcarlini@unitus.it>
-
- libstdc++/5579
- * include/bits/locale_facets.tcc (money_get::do_get(string)):
- Deal correctly with !(__io.flags() & ios_base::showbase)
- for case money_base::symbol.
- * testsuite/22_locale/money_get_members_char.cc: Add test05.
- * testsuite/22_locale/money_get_members_wchar_t.cc: Add test05.
-
-2002-02-02 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/operators.cc
- (gnu_collate::do_compare()): Add return statement to
- suppress "no return statement" warning.
-
-2002-02-01 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/ostream_manip.cc: Enable test02.
-
-2002-02-01 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/documentation.html: Update for 3.0.96.
- * docs/html/faq/index.html: Update for 3.0.96.
- * docs/html/faq/index.txt: Regenerated.
- * docs/doxygen/TODO: Update notes.
- * docs/html/17_intro/howto.html: Initial impl-specific listing.
-
-2002-01-31 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/codecvt_specializations_ieee_1003.1-200x.h:
- Initialize all data members in copy ctor. Make ctors explicit.
- (__enc_traits::__enc_traits()): Default ctor does nothing.
- (__enc_traits::_M_init): Guard against multiple iconv_opens.
- * include/std/std_sstream.h (basic_stringbuf): Make data members
- protected.
- * include/std/std_fstream.h (basic_filebuf): Same.
- * include/std/std_streambuf.h: Tweak.
- * include/bits/streambuf.tcc: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/fstream.tcc: Same.
-
-2002-01-31 Loren Rittle <ljrittle@acm.org>
-
- * testsuite/22_locale/codecvt_members_char_char.cc: Do not
- allow NULL argument to be passed to setenv().
- * testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise.
- * testsuite/22_locale/collate_members_char.cc: Likewise.
- * testsuite/22_locale/collate_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/ctype_members_char.cc: Likewise.
- * testsuite/22_locale/ctype_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/messages_members_char.cc: Likewise.
- * testsuite/22_locale/money_get_members_char.cc: Likewise.
- * testsuite/22_locale/money_get_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/money_put_members_char.cc: Likewise.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/moneypunct_members_char.cc: Likewise.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/num_get_members_char.cc: Likewise.
- * testsuite/22_locale/num_get_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/num_put_members_char.cc: Likewise.
- * testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/numpunct_members_char.cc: Likewise.
- * testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/time_get_members_char.cc: Likewise.
- * testsuite/22_locale/time_get_members_wchar_t.cc: Likewise.
- * testsuite/22_locale/time_put_members_char.cc: Likewise.
- * testsuite/22_locale/time_put_members_wchar_t.cc: Likewise.
-
-2002-01-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/c_locale_gnu.cc: Same errno fixes as generic.
-
- * ChangeLog-2001: Fix spelling errors...
- * docs/html/17_intro/RELEASE-NOTES: Update.
- * docs/html/17_intro/TODO: Update.
- * README (file): Update.
-
-2002-01-30 Loren Rittle <ljrittle@acm.org>
-
- * config/locale/c_locale_generic.cc: Check errno for ERANGE
- instead of non-zero to aid portability.
-
-2002-01-30 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * docs/html/22_locale/messages.html: Fix example code.
-
-2002-01-30 Richard Henderson <rth@redhat.com>
-
- * testsuite/27_io/ostream_inserter_arith.cc (test03_check): Break
- out from test03 and templatize.
- (test03): Use it.
-
-2002-01-30 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/numpunct_members_gnu.cc
- (numpunct<char, wchar_t>::_M_initialize_numpunct()):
- Fix initialization of _M_grouping for locales which have
- _M_thousands_sep == '\0'(L'\0', respectively).
- * testsuite/22_locale/numpunct_byname.cc (test02): Add test.
-
-2002-01-30 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/ostream_inserter_arith.cc (test03):
- Better fix for 32/64 bit architectures, avoiding the
- implicit assumption that CHAR_BIT == 8.
-
-2002-01-28 Phil Edwards <pme@gcc.gnu.org>
-
- * Makefile.am (doxygen, doxygen-maint, doxygen-man): Tweak targets.
- * Makefile.in: Regenerate.
-
- * docs/doxygen/run_doxygen: Update, mostly for man pages.
- * docs/doxygen/Intro.3: Update.
- * docs/doxygen/TODO: Update.
- * docs/doxygen/doxygroups.cc: Add namespace hook for __gnu_cxx.
- * docs/doxygen/mainpage.doxy: Update.
- * docs/doxygen/user.cfg.in: Update for header rename. Also
- regenerate comments and variables with 1.2.12.
- * docs/doxygen/maint.cfg.in: Remove file.
-
- * include/bits/stl_relops.h: Doxygenate.
- * include/bits/stl_tempbuf.h (std::_Temporary_buffer): Likewise.
-
- * include/c_std/std_cassert.h, include/c_std/std_cctype.h,
- include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
- include/c_std/std_ciso646.h, include/c_std/std_climits.h,
- include/c_std/std_clocale.h, include/c_std/std_cmath.h,
- include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
- include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
- include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
- include/c_std/std_cstring.h, include/c_std/std_ctime.h,
- include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
- include/ext/algorithm, include/ext/functional, include/ext/hash_map,
- include/ext/hash_set, include/ext/iterator, include/ext/memory,
- include/ext/numeric, include/ext/rb_tree, include/ext/rope,
- include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
- include/ext/stl_hashtable.h, include/ext/stl_rope.h,
- include/std/std_algorithm.h, include/std/std_bitset.h,
- include/std/std_complex.h, include/std/std_deque.h,
- include/std/std_fstream.h, include/std/std_functional.h,
- include/std/std_iomanip.h, include/std/std_ios.h,
- include/std/std_iosfwd.h, include/std/std_iostream.h,
- include/std/std_istream.h, include/std/std_iterator.h,
- include/std/std_limits.h, include/std/std_list.h,
- include/std/std_locale.h, include/std/std_map.h,
- include/std/std_memory.h, include/std/std_numeric.h,
- include/std/std_ostream.h, include/std/std_queue.h,
- include/std/std_set.h, include/std/std_sstream.h,
- include/std/std_stack.h, include/std/std_stdexcept.h,
- include/std/std_streambuf.h, include/std/std_string.h,
- include/std/std_utility.h, include/std/std_valarray.h,
- include/std/std_vector.h: Add/correct @file doxygen hook.
-
- * include/ext/memory: Doxygenate most of rest of file.
- * libsupc++/exception: Doxygen output formatting.
- * libsupc++/new: Say which header it is.
-
- * testsuite/lib/libstdc++-v3-dg.exp: Fix spacing.
- * docs/html/19_diagnostics/howto.html: Describe concept-checks switch.
- * docs/html/23_containers/howto.html: Describe O(n) list::size().
- * docs/html/27_io/howto.html: Also link to Langer and Kreft text.
-
-2002-01-28 Paolo Carlini <pcarlini@unitus.it>
- Charles Leggett <CGLeggett@lbl.gov>
-
- * testsuite/27_io/filebuf_members.cc (test_05): Add test.
-
-2002-01-28 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/ostream_inserter_arith.cc (test03):
- Fix to deal correctly with both 32 bit and 64 bit architectures
-
-2002-01-25 Loren Rittle <ljrittle@acm.org>
-
- * testsuite/thread/pthread1.cc: Use one condition variable
- per predicate instead of tricky use of one condition variable.
-
-2002-01-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fstream.tcc (filebuf::close()): Fix close for input
- streams.
- (filebuf::_M_really_overflow): Match indeterminate and sync calls.
- * testsuite/27_io/filebuf.cc: Compile only.
- * testsuite/27_io/filebuf_members.cc: Move tests to here.
- * testsuite/27_io/filebuf_virtuals.cc: And here.
- Revert sungetc, sync changes for expected values.
- * testsuite/27_io/filebuf-*: Move to...
- * testsuite/27_io/filebuf_virtuals-*: ...here.
- * testsuite/27_io/istream.cc: Compile only, activate.
- * testsuite/27_io/ostream.cc: Same.
- * testsuite/27_io/iostream.cc: New.
- * testsuite/27_io/iostream_members.cc: New.
-
-2002-01-25 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * testsuite/thread/pthread1.cc: Enable on cygwin.
- * testsuite/thread/pthread2.cc: Likewise.
- * testsuite/thread/pthread3.cc: Likewise.
- * testsuite/thread/pthread4.cc: Likewise.
- * testsuite/thread/pthread5.cc: Likewise.
- * testsuite/thread/pthread6.cc: Likewise.
-
-2002-01-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ostream_inserter_char.cc (test07): New.
-
-2002-01-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_ios.h (basic_ios::_M_check_facet): Make
- const, tweak.
- (basic_ios::fill(char_type)): Use fill().
- * include/bits/basic_ios.tcc (basic_ios::widen): Use _M_check_facet.
- (basic_ios::narrow): Same.
- (basic_ios::_M_cache_facets): Explicitly set cached facets to zero
- if they are invalid.
- (basic_ios::init): Comment.
- * testsuite/27_io/ios_init.cc (test02): New.
-
-2002-01-24 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_tempbuf.h (_Temporary_buffer): Add doxygen hook.
- * include/bits/stl_algo.h: Include stl_tempbuf.h.
- * include/ext/memory: Do not include stl_tempbuf.h.
- (temporary_buffer): Add doxygen hook.
- (__get_temporary_buffer, get_temporary_buffer,
- return_temporary_buffer): Move back to std:: header...
- * include/std/std_memory.h: ...here. Do not include stl_tempbuf.h.
- * include/ext/rope: Do not include stl_tempbuf.h.
- * include/ext/stl_hashtable.h: Likewise.
- * include/std/std_algorithm.h: Likewise.
- * testsuite/20_util/temporary_buffer.cc: New file.
-
-2002-01-24 andrew@andypo.net
- (tweaks, test and commit by Loren J. Rittle <ljrittle@acm.org>)
-
- libstdc++/5432
- * include/bits/ios_base.h: Use _Atomic_word for reference counts.
- * include/bits/localefwd.h: Likewise.
- Also use for std::locale::id::_S_highwater.
- * src/ios.cc (ios_base::xalloc): Use _Atomic_word.
- * src/locale.cc: Support new usage of _Atomic_word.
- (std::locale::classic): Guard entire function against reentry.
- * src/localename.cc: Support new usage of _Atomic_word.
-
-2002-01-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/num_put_members_wchar_t.cc (test03): Use
- _GLIBCPP_HAVE_SETENV.
- * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): Same.
- * testsuite/22_locale/collate_members_char.cc (test02): Same.
- * testsuite/22_locale/ctype_members_char.cc (test03): Same.
- * testsuite/22_locale/ctype_members_wchar_t.cc (test03): Same.
- * testsuite/22_locale/messages_members_char.cc (test02): Same.
- * testsuite/22_locale/moneypunct_members_char.cc (test02): Same.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): Same.
- * testsuite/22_locale/money_put_members_char.cc (test04): Same.
- * testsuite/22_locale/money_put_members_wchar_t.cc (test04): Same.
- * testsuite/22_locale/num_get_members_char.cc (test03): Same.
- * testsuite/22_locale/num_get_members_wchar_t.cc (test03): Same.
- * testsuite/22_locale/numpunct_members_char.cc (test02): Same.
- * testsuite/22_locale/numpunct_members_wchar_t.cc (test02): Same.
- * testsuite/22_locale/time_get_members_char.cc (test07): Same.
- * testsuite/22_locale/time_get_members_wchar_t.cc (test07): Same.
- * testsuite/22_locale/time_put_members_char.cc (test03): Same.
- * testsuite/22_locale/time_put_members_wchar_t.cc (test03): Same.
- * testsuite/22_locale/num_put_members_char.cc (test03): Same.
- * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Check for setenv.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2002-01-23 Loren Rittle <ljrittle@acm.org>
-
- * testsuite/thread/pthread1.cc: New test.
- * testsuite/thread/pthread2.cc: New test adapted from libstdc++/5347.
- * testsuite/thread/pthread3.cc: Likewise.
- * testsuite/thread/pthread4.cc: New test adapted from
- http://gcc.gnu.org/ml/gcc-bugs/2002-01/msg00679.html
- * testsuite/thread/pthread5.cc: New test adapted from libstdc++/5464.
- * testsuite/thread/pthread6.cc: New test adapted from libstdc++/5444.
-
-2002-01-23 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/5198
- * config/cpu/m68k/bits/atomicity.h (__exchange_and_add): Only use
- CAS on the cpu variants that support it. Add versions that use
- TAS and that disable interrupts.
- (__atomic_add): Use __exchange_and_add to guarantee atomicity.
-
-2002-01-23 Matt Kraai <kraai@alumni.cmu.edu>
-
- * include/bits/locale_facets.tcc: Remove old comments.
-
-2002-01-23 Andreas Tobler <toa@pop.agri.ch>
-
- * include/bits/locale_facets.tcc (__convert_to_v): Change template
- parameter to _Tv.
- (__convert_from_v): Same.
-
-2002-01-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (num_get::_M_extract_int): Change
- prototype.
- * include/bits/locale_facets.tcc (num_get::_M_extract_int): Remove
- __max_digits checks, adjust arguments.
- (num_get::do_get(*)): Changeup.
-
-2002-01-23 Loren Rittle <ljrittle@acm.org>
-
- * config/locale/c_locale_generic.cc: Fix typename usage.
-
-2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/c_locale_generic.cc: Fix.
-
-2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/22_locale/messages.html: Remove angle brackets.
- * docs/html/17_intro/TODO: Add.
-
-2002-01-22 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/ios_manip_basefield.cc: Enable test02.
- * testsuite/27_io/ostream_inserter_arith.cc: Enable test03.
- * testsuite/27_io/ostream_inserter_char.cc: Enable test01.
- * testsuite/27_io/ostream_inserter_other.cc: Enable test04.
-
-2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
-
- Audit for LANG independence.
- * include/bits/localefwd.h: Tweaks.
- * include/bits/locale_facets.tcc (money_get::do_get(long double)):
- Use __convert_to_v.
- (time_get::do_get_year): Same.
- (__convert_from_v): Add.
- (num_put::_M_convert_float): Use.
- (num_put::_M_convert_int): Same.
- (money_put::do_put): Same.
-
- * src/locale-inst.cc: Add instantiations for __convert_from_v.
- * config/locale/time_members_gnu.cc: Cleanup setlocale usage.
- * config/locale/time_members_generic.cc:
- * config/locale/messages_members_gnu.cc: Same.
- * config/locale/messages_members_gnu.h: Same.
-
- * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): New.
- * testsuite/22_locale/codecvt_members_char_char.cc (test02): New.
- * testsuite/22_locale/collate_members_wchar_t.cc (test02): New.
- * testsuite/22_locale/collate_members_char.cc (test02): New.
- * testsuite/22_locale/ctype_members_wchar_t.cc (test03): New.
- * testsuite/22_locale/ctype_members_char.cc (test03): New.
- * testsuite/22_locale/messages_members_char.cc (test02): New.
- * testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): New.
- * testsuite/22_locale/moneypunct_members_char.cc (test02): New.
- * testsuite/22_locale/money_get_members_wchar_t.cc (test04): New.
- * testsuite/22_locale/money_get_members_char.cc (test04): New.
- * testsuite/22_locale/money_put_members_wchar_t.cc (test04): New.
- * testsuite/22_locale/money_put_members_char.cc (test04): New.
- * testsuite/22_locale/numpunct_members_wchar_t.cc (test02): New.
- * testsuite/22_locale/numpunct_members_char.cc (test02): New.
- * testsuite/22_locale/time_put_members_wchar_t.cc (test03): New.
- * testsuite/22_locale/time_put_members_char.cc (test03): New.
- * testsuite/22_locale/time_get_members_wchar_t.cc (test07): New.
- * testsuite/22_locale/time_get_members_char.cc (test07): New.
- * testsuite/22_locale/num_get_members_wchar_t.cc (test03): New.
- * testsuite/22_locale/num_get_members_char.cc (test03): New.
- * testsuite/22_locale/num_put_members_wchar_t.cc (test03): New.
- * testsuite/22_locale/num_put_members_char.cc (test03): New.
-
- * testsuite/22_locale/time_get_members_char.cc: Fixups for global
- locale issues.
- * testsuite/22_locale/time_get_members_char.cc: Same.
-
-2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/5280
- * include/bits/localefwd.h: Tweak comments.
- * include/bits/locale_facets.h (__convert_to_v): Add.
- * include/bits/locale_facets.tcc (num_get::do_get(double)): Use it.
- (num_get::do_get(float)): Same.
- (num_get::do_get(long double)): Same.
- (num_get::do_get(bool)): Same.
- (num_get::do_get(long)): Same.
- (num_get::do_get(long long)): Same.
- (num_get::do_get(unsigned int)): Same.
- (num_get::do_get(unsigned short)): Same.
- (num_get::do_get(unsigned long)): Same.
- (num_get::do_get(unsigned long long)): Same.
- * config/locale/c_locale_gnu.cc (__convert_to_v): Specialize.
- * config/locale/c_locale_generic.cc: Same.
-
-2002-01-22 Loren Rittle <ljrittle@acm.org>
-
- * include/Makefile.am (c_base_builddir): Remove redundant slash.
- (std_builddir): Likewise.
- (std_headers_rename): Fix cut-n-paste typo.
- (install-data-local): Concat path per element instead of once to
- first element of list.
- * include/Makefile.in: Rebuilt.
-
-2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/aix/bits/ctype_noninline.h: Fix formatting.
- * config/os/bsd/netbsd/bits/ctype_noninline.h: Fix typo.
- * config/os/bsd/freebsd/bits/ctype_noninline.h: Fix formatting.
-
-2002-01-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (ctype<char>::classic_table):
- Remove definition.
- (ctype<char>::_S_ctable): Remove.
- * config/os/gnu-linux/bits/ctype_noninline.h
- (ctype<char>::_S_table): Remove definition.
- (ctype<char>::classic_table): Define.
- (ctype<char>::ctype): Replace _S_ctable with classic_table().
- * config/os/aix/bits/ctype_noninline.h: Same.
- * config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
- * config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
- * config/os/djgpp/bits/ctype_noninline.h: Same.
- * config/os/generic/bits/ctype_noninline.h: Same.
- * config/os/gnu-linux/bits/ctype_noninline.h: Same.
- * config/os/hpux/bits/ctype_noninline.h: Same.
- * config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
- * config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
- * config/os/mingw32/bits/ctype_noninline.h: Same.
- * config/os/newlib/bits/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
-
-2002-01-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * config/os/mingw32/bits/ctype_noninline.h: Declare _ctype instead
- of _pctype. Use to define _S_ctable. Add definition for alternate
- ctor. Initialise _M_ctable to _S_ctable in ctors.
- (do_toupper, do_tolower): Use inline code appropriate for C-locale
- rather than ::toupper, ::tolower.
-
-2002-01-18 Loren Rittle <ljrittle@acm.org>
-
- * testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
- Add specialization for FreeBSD systems only to avoid losing test
- only due to extra precision unmentioned in system headers.
-
-2002-01-18 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * config/os/irix/irix6.5/bits/ctype_noninline.h: Fix typo
-
-2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
-
- * testsuite/testsuite_hooks.h: Fix comment typo. Memory
- limiting is only attempted if _GLIBCPP_MEM_LIMIT is defined.
-
-2002-01-17 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * testsuite/22_locale/ctor_copy_dtor.cc: Remove check.
-
-2002-01-17 David Edelsohn <edelsohn@gnu.org>
-
- * configure.target: Define OPT_LDFLAGS for AIX case.
-
-2002-01-17 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
-
- * include/std/std_limits.h (__glibcpp_float_has_quiet_NaN,
- __glibcpp_double_has_quiet_NaN): Correct mispelling.
-
-2002-01-17 Andreas Tobler <toa@pop.agri.ch>
-
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Fix.
-
-2002-01-16 David Edelsohn <dje@watson.ibm.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Do not clear
- SECTION_LDFLAGS and OPT_LDFLAGS. Fix ac_sectionLDflags type.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2002-01-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (c_base_headers_rename): New.
- (c_base_headers_extra): New.
- (stamp-c_base): Modify.
- (install-data-local): Use both.
- * include/Makefile.in: Regenerate.
- * include/c/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
- csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
- cstdio ctime cwctype]: Move to..
- * include/c/std_*: Here.
- * include/c_std/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
- csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
- cstdio ctime cwctype]: Move to..
- * include/c_std/std_*: Here.
-
- Alexandre Oliva <aoliva@redhat.com>
- * include/Makefile.am (.PRECIOUS): Add rule.
- * include/Makefile.in: Regenerate.
-
-2002-01-16 Benjamin Kosnik <bkoz@redhat.com>
- Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- * include/bits/stl_iterator.h (reverse_iterator::_M_current):
- Deuglify, should be current.
- (back_insert_iterator::_M_container): Deuglify, should be container.
- (front_insert_iterator::_M_container): Same.
- (insert_iterator::_M_container): Same.
- * testsuite/24_iterators/reverse_iterator.cc: Add check.
- * testsuite/24_iterators/back_insert_iterator.cc: Add check.
- * testsuite/24_iterators/front_insert_iterator.cc: Same.
- * testsuite/24_iterators/insert_iterator.cc: Same.
-
-2002-01-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (ctype<char>::classic_table): Make
- static.
- (ctype<char>::_M_ctable): Make static, change name to _S_ctable.
- * config/os/gnu-linux/bits/ctype_noninline.h: Define _S_ctable.
- * config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
- * config/os/newlib/bits/ctype_noninline.h: Same.
- * config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
- * config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
- * config/os/hpux/bits/ctype_noninline.h: Same.
- * config/os/djgpp/bits/ctype_noninline.h: Same.
- * config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
- * config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
- * config/os/aix/bits/ctype_noninline.h: Same.
-
- Testcase by Dietmar Kühl via Peter Schmid
- * testsuite/22_locale/ctype_members_char.cc (char>): Add test for
- classic_table().
-
-2002-01-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * libmath/signbitl.c: Copyright years as list, not range.
- * libmath/Makefile.am: Same.
- * libmath/Makefie.in: Regenerate.
- * libmath/signbit.c: Same.
- * libmath/nan.c: Same.
- * libmath/copysignf.c: Same.
- * libmath/signbitf.c: Same.
- * testsuite/22_locale/money_get_members_char.cc: Same.
- * testsuite/22_locale/money_get_members_wchar_t.cc: Same.
- * testsuite/22_locale/money_put_members_char.cc: Same.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Same.
- * testsuite/22_locale/time_get_members_char.cc: Same.
- * testsuite/22_locale/time_get_members_wchar_t.cc: Same.
- * testsuite/22_locale/time_put_members_char.cc: Same.
- * testsuite/22_locale/time_put_members_wchar_t.cc: Same.
- * testsuite/21_strings/nonmember.cc: Same.
- * testsuite/21_strings/compare.cc: Same.
- * testsuite/27_io/stringstream.cc: Same.
- * testsuite/27_io/stringbuf.cc: Same.
- * testsuite/27_io/filebuf.cc: Same.
- * testsuite/27_io/ios_manip_basefield.cc: Same.
- * testsuite/27_io/ios_manip_fmtflags.cc: Same.
- * include/bits/cpp_type_traits.h: Same.
- * include/bits/generic_shadow.h: Same.
- * include/bits/gslice_array.h: Same.
- * include/bits/gslice.h: Same.
- * include/bits/indirect_array.h: Same.
- * include/bits/slice_array.h: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/streambuf_iterator.h: Same.
- * include/bits/valarray_array.tcc: Same.
- * include/bits/valarray_meta.h: Same.
- * include/bits/valarray_array.h: Same.
- * config/os/mingw32/bits/ctype_noninline.h: Same.
- * config/os/mingw32/bits/ctype_base.h: Same.
- * config/os/hpux/bits/ctype_noninline.h: Same.
- * config/os/hpux/bits/ctype_base.h: Same.
- * config/os/gnu-linux/bits/ctype_noninline.h: Same.
- * config/os/gnu-linux/bits/ctype_base.h: Same.
- * config/os/generic/bits/ctype_noninline.h: Same.
- * config/os/generic/bits/ctype_base.h: Same.
-
- * libsupc++/tinfo.h: Tweaks.
-
-2002-01-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/num_put_members_wchar_t.cc (test02): Same.
- * testsuite/22_locale/num_put_members_char.cc (test01): Tweak.
- * testsuite/22_locale/ctype_members_char.cc: Tweak.
-
-2002-01-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (num_put::do_put(bool): Fix.
- (num_put::do_put(void*)): Fix.
- * testsuite/22_locale/num_put_members_char.cc (test02): Add.
- * testsuite/22_locale/num_put_members_wchar_t.cc (test02): Add.
- * testsuite/22_locale/num_get_members_char.cc (test02): Add
- long double, void, bool types.
- * testsuite/22_locale/num_get_members_wchar_t.cc (test02): Add.
-
-2002-01-15 Benjamin Kosnik <bkoz@redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- * libmath/Makefile.am (LINK): Add --tag CC.
- * libmath/Makefile.in: Regenerate.
-
-2002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * config/os/hpux/bits/ctype_noninline.h: Use __SB_masks for address
- of character to attribute mapping table.
-
-2002-01-15 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * testsuite/26_numerics/c99_classification_macros_c.cc
- Remove dg-error and dg-excess-errors comments.
-
-2002-01-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (time_put::put): Correct output
- iterator positions.
- * testsuite/22_locale/time_put_members_char.cc (test02): Add.
- * testsuite/22_locale/time_put_members_wchar_t.cc (test02): Add.
- * testsuite/22_locale/time_get_members_wchar_t.cc (test06): Add.
- * testsuite/22_locale/time_get_members_char.cc (test06): Add.
-
-2002-01-14 Craig Rodrigues <rodrigc@gcc.gnu.org>
-
- * docs/html/17_intro/porting-howto.xml: Update filebuf section.
-
-2002-01-14 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * include/bits/basic_string.h
- (replace(__pos, __n1, __s, __n2)): Optimize by avoiding
- temporaries (i.e., call _M_replace_safe) when possible.
- (replace(__pos, __n, __str)): Call replace(__pos, __n1, __s, __n2).
- (replace(__pos, __n1, __s)): Call replace(__pos, __n1, __s , __n2).
- (replace(__i1, __i2, __str)): Call replace(__i1, __i2, __s, __n).
- (replace(__i1, __i2, __s)): Call replace(__i1, __i2, __s, __n).
- (replace(__i1, __i2, __s, __n)): Call replace(__pos1, __n1, __s, __n2).
- * include/bits/basic_string.tcc
- (replace(__pos1, __n1, __str, __pos2, __n2)): Call
- replace(__pos, __n1, __s, __n2).
- * testsuite/21_strings/replace.cc (test03): New testcases.
-
- * include/bits/basic_string.h (insert(__pos, __s, __n)):
- Adjust comparison wrt overflow.
-
-2002-01-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (std_headers_rename): New variable.
- (install-data-local): Use it.
- * include/Makefile.in: Regenerate.
-
-2002-01-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (money_put::do_put(string):
- Correct output iterator value.
- * testsuite/22_locale/money_put_members_char.cc (test03): Add.
- * testsuite/22_locale/money_put_members_wchar_t.cc: Same.
-
-2002-01-11 Phil Edwards <pme@gcc.gnu.org>
-
- * include/Makefile.am, include/Makefile.in (stamp-std): Fix typo from
- previous commit.
-
-2002-01-11 Phil Edwards <pme@gcc.gnu.org>
-
- * include/Makefile.am (std_headers): Update list with new names.
- (stamp-std): Link to standardized name.
- * include/Makefile.in: Regenerate.
-
- * include/std/algorithm, include/std/bitset, include/std/complex,
- include/std/deque, include/std/fstream, include/std/functional,
- include/std/iomanip, include/std/ios, include/std/iosfwd,
- include/std/iostream, include/std/istream, include/std/iterator,
- include/std/limits, include/std/list, include/std/locale,
- include/std/map, include/std/memory, include/std/numeric,
- include/std/ostream, include/std/queue, include/std/set,
- include/std/sstream, include/std/stack, include/std/stdexcept,
- include/std/streambuf, include/std/string, include/std/utility,
- include/std/valarray, include/std/vector: Rename to...
-
- * include/std/std_algorithm.h, include/std/std_bitset.h,
- include/std/std_complex.h, include/std/std_deque.h,
- include/std/std_fstream.h, include/std/std_functional.h,
- include/std/std_iomanip.h, include/std/std_ios.h,
- include/std/std_iosfwd.h, include/std/std_iostream.h,
- include/std/std_istream.h, include/std/std_iterator.h,
- include/std/std_limits.h, include/std/std_list.h,
- include/std/std_locale.h, include/std/std_map.h,
- include/std/std_memory.h, include/std/std_numeric.h,
- include/std/std_ostream.h, include/std/std_queue.h,
- include/std/std_set.h, include/std/std_sstream.h,
- include/std/std_stack.h, include/std/std_stdexcept.h,
- include/std/std_streambuf.h, include/std/std_string.h,
- include/std/std_utility.h, include/std/std_valarray.h,
- include/std/std_vector.h: ...this.
-
-2002-01-11 Loren Rittle <ljrittle@acm.org>
-
- * include/Makefile.am (extra_target_headers): New list of all
- target files built with ad hoc naming rules.
- (stamp-*): Handle LN_S failure in manner portable across make
- implementations.
- (install-data-local): Install header files from human-maintained
- file lists and directory components instead of non-robust find.
- * include/Makefile.in: Rebuilt.
-
-2002-01-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (money_get::do_get(string)):
- Check for zero-length negative sign before adding it to output
- string.
- (money_get::do_get(long double)): Return beg.
- * testsuite/22_locale/money_get_members_char.cc (test02): Add
- iterator checks.
- * testsuite/22_locale/money_get_members_wchar_t.cc: Same.
-
-2002-01-10 David Seymour <seymour_dj@yahoo.com>
-
- libstdc++/5331
- * include/bits/locale_facets.h (num_get<>): Return advanced iterator
- for _M_extract_float and _M_extract_int
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float)
- (num_get<>::_M_extract_int): Likewise, all callers changed
- * testsuite/22_locale/num_get_members_char.cc: Testcase
-
-2002-01-09 Paolo Carlini <pcarlini@unitus.it>
-
- * libsupc++/exception (bad_exception): Add comment.
- * libsupc++/new (bad_alloc): Same.
- * libsupc++/typeinfo (bad_cast, bad_typeid): Same.
-
-2002-01-09 Paolo Carlini <pcarlini@unitus.it>
-
- libstdc++/3150: revert 2001-11-30 commit. DR266 only means
- that the destructors should be removed from the descriptions
- in the standard: writing them explicitly allows the vtable
- heuristic to work. For additional information see:
- http://gcc.gnu.org/ml/libstdc++/2002-01/msg00090.html
- http://gcc.gnu.org/ml/libstdc++/2002-01/msg00110.html
- http://gcc.gnu.org/ml/libstdc++/2002-01/msg00155.html
- * libsupc++/exception (bad_exception::~bad_exception()):
- Reintroduce declaration.
- * libsupc++/new (bad_alloc::~bad_alloc()): Same.
- * libsupc++/typeinfo (bad_cast::~bad_cast()): Same.
- (bad_typeid::~bad_typeid()): Same.
- * libsupc++/eh_exception.cc (bad_exception::~bad_exception()):
- Reintroduce definition.
- * libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
- * libsupc++/tinfo.cc (bad_cast::~bad_cast()): Same.
- (bad_typeid::~bad_typeid()): Same.
-
-2002-01-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (c_base_srcdir): Remove duplicate '/'.
- * include/Makefile.in: Regenerate.
-
-2002-01-09 Bo Thorsen <bo@suse.co.uk>
-
- * config/cpu/x86-64/bits/cpu_limits.h (__glibcpp_long_bits): Add
- definition.
-
-2002-01-08 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++/2913
- libstdc++/4879
- * include/bits/fstream.tcc (filebuf::_M_really_overflow): Test
- return value of _M_file->sync().
- (filebuf::showmanyc): Check for is_open.
- * include/std/fstream (filebuf::sync): Tweak.
- * testsuite/27_io/filebuf.cc: Tweak.
-
-2002-01-08 John Fardo <jfardo@laurelnetworks.com>
- Brad Garcia <garsh@attbi.com>
-
- * testsuite/27_io/filebuf_members.cc: Add test.
-
-2002-01-07 Benjamin Kosnik <bkoz@redhat.com>
- Craig Rodrigues <rodrigc@mediaone.net>
-
- libstdc++/5174
- * po/Makefile.am (mkinstalldirs): Add.
- * po/Makefile.in: Regenerate.
-
-2002-01-07 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * testsuite_flags.in: Add -fmessage-length=0 to CXXFLAGS *
- testsuite/lib/prune.exp: Delete lines ":In function ..." from
- compiler output.
- * testsuite/23_containers/map_operators.cc: Remove
- dg-excess-errors comment.
- * testsuite/23_containers/set_operators.cc: Likewise.
-
-2002-01-06 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_function.h: Remove two lines of comments;
- adjust copyright years.
-
-2002-01-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (std_headers): Remove cXXX from list.
- (c_base_srcdir): No bits subdirectory.
- (c_base_builddir): Same.
- (c_base_headers): Adjust names, add ciso646.
- (bits_headers): Remove std_xxx.h headers.
- * include/Makefile.in: Regenerate.
-
- * include/ext/iterator: Adjust includes.
- * include/ext/ropeimpl.h: Same.
- * include/ext/stl_hash_fun.h: Same.
- * include/ext/algorithm: Same.
-
- * include/backward/bvector.h: Adjust includes.
- * include/backward/vector.h: Same.
- * include/backward/strstream: Same.
- * include/backward/streambuf.h: Same.
- * include/backward/stack.h: Same.
- * include/backward/set.h: Same.
- * include/backward/queue.h: Same.
- * include/backward/multiset.h: Same.
- * include/backward/multimap.h: Same.
- * include/backward/map.h: Same.
- * include/backward/list.h: Same.
- * include/backward/iterator.h: Same.
- * include/backward/iostream.h: Same.
- * include/backward/iomanip.h: Same.
- * include/backward/fstream.h: Same.
- * include/backward/deque.h: Same.
- * include/backward/complex.h: Same.
-
- * include/bits/std_algorithm.h: Move to...
- * include/std/algorithm: ...here.
- * include/bits/std_iosfwd.h, std_locale.h, std_stack.h,
- std_bitset.h, std_ios.h, std_map.h, std_stdexcept.h,
- std_complex.h, std_iostream.h, std_memory.h, std_streambuf.h,
- std_deque.h, std_istream.h, std_numeric.h, std_string.h,
- std_fstream.h, std_ostream.h, std_utility.h, std_iterator.h,
- std_queue.h, std_valarray.h, std_functional.h, std_limits.h,
- std_set.h, std_vector.h, std_iomanip.h, std_list.h, std_sstream.h:
- Same.
-
- * include/c_std/bits/std_cassert.h: Move to...
- * include/c_std/cassert: Here.
- * include/c_std/std_cctype.h, std_cerrno.h, std_cfloat.h,
- std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
- std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
- std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
- std_cwctype.h: Same.
- * include/c_std/cmath: Adjust cmath.tcc include.
- * include/c_std/cstdlib: Adjust includes.
- * include/c_std/cwchar: Same.
- * include/c_std/ctime: Same.
- * include/c_std/cstring: Same.
- * include/c_std/cstdio: Same.
- * include/c_std/bits: Remove directory.
-
- * include/c/bits/std_cassert.h: Move to...
- * include/c/cassert: Here.
- * include/c/std_cctype.h, std_cerrno.h, std_cfloat.h,
- std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
- std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
- std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
- std_cwctype.h: Same.
- * include/c/bits: Remove directory.
-
- * include/std/cwctype: Remove.
- * include/std/cwchar: Remove.
- * include/std/ctime: Remove.
- * include/std/cstring: Remove.
- * include/std/cstdlib: Remove.
- * include/std/cstdio: Remove.
- * include/std/cstddef: Remove.
- * include/std/cstdarg: Remove.
- * include/std/csignal: Remove.
- * include/std/csetjmp: Remove.
- * include/std/cmath: Remove.
- * include/std/clocale: Remove.
- * include/std/climits: Remove.
- * include/std/ciso646: Remove.
- * include/std/cfloat: Remove.
- * include/std/cerrno: Remove.
- * include/std/cctype: Remove.
- * include/std/cassert: Remove.
-
- * include/bits/fpos.h: Adjust includes, removing <bits/std_xxx.h>
- files and subsituting <xxx>.
- * include/bits/valarray_array.h: Same.
- * include/bits/stl_uninitialized.h: Same.
- * include/bits/stl_alloc.h: Same.
- * include/bits/stl_algobase.h: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/pthread_allocimpl.h: Same.
- * include/bits/ostream.tcc: Same.
- * include/bits/localefwd.h: Same.
- * include/bits/locale_facets.tcc: Same.
- * include/bits/locale_facets.h: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/char_traits.h: Same.
- * include/bits/boost_concept_check.h: Same.
- * include/bits/basic_file.h: Same.
- * include/std/bitset: Same.
- * include/std/complex: Same.
- * include/std/fstream: Same.
- * include/std/functional: Same.
- * include/std/ios: Same.
- * include/std/iostream: Same.
- * include/std/ostream: Same.
- * include/std/sstream: Same.
- * include/std/streambuf: Same.
- * include/std/string: Same.
- * include/std/iterator: Same.
- * include/std/valarray: Same.
-
- * src/ios.cc: Adjust includes.
- * src/valarray-inst.cc: Same.
- * src/string-inst.cc: Same.
- * src/stl-inst.cc: Same.
- * src/stdexcept.cc: Same.
- * src/misc-inst.cc: Same.
- * src/localename.cc: Same.
- * src/locale-inst.cc: Same.
- * src/locale.cc: Same.
- * src/limits.cc: Same.
- * src/concept-inst.cc: Same.
- * src/complex_io.cc: Same.
- * src/codecvt.cc: Same.
- * src/bitset.cc: Same.
- * src/cmath.cc: Same.
-
-2002-01-04 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_tree.h (rb_tree): Move to...
- * include/ext/rb_tree: ...here, new file.
- * include/Makefile.am (ext_headers): Add new file.
- * include/Makefile.in: Regenerate.
- * include/bits/stl_tempbuf.h (get_temporary_buffer + helper,
- return_temporary_buffer, struct temporary_buffer): Move to...
- * include/ext/memory: ...here.
- * testsuite/ext/headers.cc: Include <ext/rb_tree>.
- * include/backward/tempbuf.h: Include <ext/memory>, tweak.
- * include/backward/tree.h: Include <ext/rb_tree), tweak.
-
-2002-01-03 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_numeric.h (power + helpers, iota): Move to...
- * include/ext/numeric: ...here, new file.
- * include/bits/stl_function.h (identity_element, unary_compose,
- binary_compose, compose1, compose2, identity, select1st,
- select2nd, project1st + helper, project2nd + helper,
- constant_void_fun + helper, constant_unary_fun + helper,
- costant_binary_fun + helper, constant0, constant1, constant2,
- subtractive_rng, mem_fun1, mem_fun1_ref): Move to...
- * include/ext/functional: ...here, new file.
- * include/Makefile.am (ext_headers): Add new files.
- * include/Makefile.in: Regenerate.
- * testsuite/ext/headers.cc: Include <ext/numeric> and
- <ext/functional>.
- * include/backward/algo.h: Include <ext/numeric>, tweak.
- * include/backward/function.h: Include <ext/functional>, tweak.
- * include/ext/ropeimpl.h: Include <ext/numeric>.
-
-2002-01-03 Jeffrey A Law <law@redhat.com>
-
- * config/os/hpux/bits/os_defines.h: Prefix __strtoll and
- __strtoull declarations with __extension__.
-
-2002-01-03 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * testsuite/lib/prune.exp: Correct regular expression for
- -ffunction-sections
-
-2002-01-02 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/stl_algo.h (upper_bound, equal_range, binary_search):
- Change concept checks, as with lower_bound and PR 2054.
- * testsuite/ext/concept_checks.cc: Expand test to include those.
-
-2002-01-02 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/boost_concept_check.h: Import some changes from
- upsteam (Boost) version.
-
-2002-01-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_algobase.h (copy_n + helpers,
- lexicographical_compare_3way + helpers): Move to...
- * include/ext/algorithm: ...here.
- * include/bits/stl_uninitialized.h (uninitialized_copy_n +
- helpers): Move to...
- * include/ext/memory: ...here, new file.
- * include/Makefile.am (ext_headers): Add new file.
- * include/Makefile.in: Regenerate.
- * testsuite/ext/headers.cc: Include <ext/memory>.
- * include/backward/algobase.h: Include <ext/memory> and
- <ext/algorithm>, tweak.
- * include/ext/ropeimpl.h: Include <ext/memory>, tweak.
- * include/ext/stl_rope.h: Include <ext/memory>, tweak.
-
-2002-01-01 Roger Sayle <roger@eyesopen.com>
-
- * libmath/stubs.c (sinf,cosf): Implement stubs to enable the
- equivalent ___builtin__ versions.
-
- * include/c_shadow/bits/std_cmath.h: All __builtin math functions
- are available in libstdc++ as the necessary stub implementations
- are provided by libmath/stubs.c.
-
-2002-01-01 Jason Thorpe <thorpej@wasabisystems.com>
-
- * configure.in: Add support for NetBSD cross compiles.
- * configure: Regenerate.
diff --git a/contrib/libstdc++/ChangeLog-2003 b/contrib/libstdc++/ChangeLog-2003
deleted file mode 100644
index 4a976be6ccb8..000000000000
--- a/contrib/libstdc++/ChangeLog-2003
+++ /dev/null
@@ -1,8619 +0,0 @@
-2003-12-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_int,
- num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
- _first_ look for thousands_sep, then for decimal_point and
- finally for digits.
- (num_get::_M_extract_float): After the decimal_point or
- 'e'/'E', decimal_point and thousands_sep just break out the
- parsing loop.
- * testsuite/22_locale/num_get/get/char/11.cc: Add tests.
- * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
-
-2003-12-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13369
- * include/bits/locale_facets.tcc (__verify_grouping):
- Fix to deal properly with __grouping_tmp.size() >
- __grouping.size().
- * testsuite/22_locale/num_get/get/char/13.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
-
-2003-12-29 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
-
-2003-12-29 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
- to CXXFLAGS.
- * aclocal.m4: Regenerate.
- * configure: Likewise.
-
-2003-12-29 Mark Mitchell <mark@codesourcery.com>
-
- * acconfig.h: Add _GLIBCXX_USE_C99_MATH.
- * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
- * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
- targeting newlib.
- * aclocal.m4: Regenerated.
- * config.h.in: Likewise.
- * configure: Likewise.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
- (_GLIBCXX_USE_C99_MATH): ... this.
-
- * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
- arm-none-elf.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
- * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
- * testsuite/27_io/objects/char/9.cc: Likewise.
- * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
-
-2003-12-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/pool_allocator.h (class __pool_alloc): Use
- operator new and operator delete.
-
-2003-12-24 Andrew Pinski <pinskia@physics.uc.edu>
-
- * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
- constraint.
-
- PR libstdc++/13480
- * config/cpu/i386/atomicity.h: Split up read-write memory operand.
-
-2003-12-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/new_allocator.h (new_allocator): Proper allocator class.
- (__new_alloc): Delete.
- * include/ext/malloc_allocator.h (malloc_allocator): Same.
- (__malloc_alloc): Delete.
- * include/ext/mt_allocator.h: Same, but weakly.
- * include/ext/debug_allocator.h: Convert to the new style.
- * include/ext/pool_allocator.h: Use global new and delete directly.
- * include/backward/alloc.h: Don't inject malloc_allocator, or
- debug_allocator.
- * testsuite/ext/allocators.cc: Minimal fixups for usage of new
- classes. Comment out tests with __pool_alloc for now.
- * testsuite/performance/allocator.cc: Same.
-
-2003-12-22 Matt Austern <austern@apple.com>
-
- * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
- (_Bvector_base): Inherit directly from word allocator.
- * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
- (_Rb_tree_base): Eliminate.
- (_Rb_tree): Inherit directly from node allocator.
- * include/ext/slist (_Alist_alloc_base): Eliminate.
- (_Slist_base): Inherit direcly from node allocator.
-
-2003-12-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
- dg-options in testcases that use VERIFY.
- * testsuite/23_containers/vector/invalidation/1.cc: Same.
- * testsuite/23_containers/vector/invalidation/2.cc: Same.
- * testsuite/23_containers/vector/invalidation/3.cc: Same.
- * testsuite/23_containers/vector/invalidation/4.cc: Same.
- * testsuite/23_containers/vector/resize/1.cc: Same.
- * testsuite/26_numerics/complex_value.cc: Same.
- * testsuite/27_io/ios_base/storage/1.cc: Same.
- * testsuite/27_io/ios_base/storage/2.cc: Same.
- * testsuite/27_io/ios_base/storage/3.cc: Same.
- * testsuite/27_io/manipulators/standard/char/2.cc: Same.
- * testsuite/backward/11460.cc: Same.
- * testsuite/backward/strstream_members.cc: Same.
-
- * include/ext/hash_set (class hash_multiset): Fix typo.
-
-2003-12-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
- * testsuite/27_io/objects/wchar_t/5.cc: Same.
- * docs/html/test.html: Add docs for constructing test files that
- don't use stdc++.h.gch.
- * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
- * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
- differently.
-
- * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
- * src/ios_init.cc: Same.
- * config/linker-map.gnu: Same.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
-
-2003-12-22 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR libstdc++/13462
- * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
- as allocator's pointer, likewise for reference, const_pointer, and
- const_reference.
- * include/bits/stl_set.h (__gnu_norm::set): Likewise.
- * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
- (__gnu_ext::hash_multiset): Likewise.
-
-2003-12-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_int,
- num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
- first look for decimal_point and thousands_sep, when parsing
- sign, leading zeros (and 0, Ox, 0X for integer types) too.
- * testsuite/22_locale/num_get/get/char/12.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
-
- * testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
- * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
-
-2003-12-20 Jason Merrill <jason@redhat.com>
-
- * config/cpu/powerpc/atomicity.h: Fix oversight in previous
- change.
-
-2003-12-20 Jerry Quinn <jlquinn@optonline.net>
-
- * docs/doxygen/TODO: Update.
- * include/bits/locale_classes.h (locale, facet, id): Document.
- * include/bits/locale_facets.tcc (has_facet, use_facet): Document.
-
-2003-12-19 Jason Merrill <jason@redhat.com>
-
- * config/cpu/cris/atomicity.h: Remove memory clobbers.
- * config/cpu/mips/atomicity.h: Likewise.
- * config/cpu/i486/atomicity.h: Remove memory clobbers.
- Split up read-write memory operand.
- * config/cpu/m68k/atomicity.h: Likewise.
- * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
- * config/cpu/s390/atomicity.h: Likewise.
- * config/cpu/sparc/atomicity.h: Likewise.
-
-2003-12-20 Carlo Wood <carlo@alinoe.com>
-
- * bits/demangle.h
- namespace __gnu_cxx::demangler
- (session<Allocator>::decode_encoding): Put the postfix
- of the return type of (member) functions after the function
- instead of after the return type.
-
-2003-12-19 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/locale_facet.h
- (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
- Document.
-
-2003-12-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_int,
- num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
- first look for decimal_point and thousands_sep.
- * testsuite/22_locale/num_get/get/char/11.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
-
-2003-12-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_float):
- When __found_sci becomes true stop eating thousands separators
- and the decimal radix separator.
- * testsuite/22_locale/num_get/get/char/9.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
-
- * config/locale/generic/c_locale.cc (__convert_to_v): Don't
- check that *__sanity == '\0': parsing may stop earlier, still
- be successful.
- * config/locale/gnu/c_locale.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/10.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
- Tweak in one place accordingly.
-
- * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
- * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
-
-2003-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_list.h: Formatting tweaks.
- * include/bits/list.tcc: Same.
-
-2003-12-18 Matt Austern <austern@apple.com>
-
- * include/bits/demangle.h: Fix allocator type correctness,
- i.e. make sure that when we instantiate a container with a value
- type and an allocator, the allocator's value type matches the
- container's.
- * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
- (_Deque_base): inherit directly from the deque's allocator. Use
- rebinding instead of _Alloc_traits. Pick up data members from
- _Deque_alloc_base.
- * include/bits/stl_list.h (_List_alloc_base): Eliminate.
- (_List_base): Inherit directly from the list's allocator. Use
- rebinding instead of _Alloc_traits. Pick up data members from
- _List_alloc_base.
- * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
- (_Vector_base): Inherit directly from the vector's allocator. Use
- rebinding instead of _Alloc_traits. Pick up data members from
- _Vector_alloc_base.
- * include/ext/hashtable.h: Fix allocator type correctness (the
- vector of buckets must be passed an allocator for objects of
- type _Node*). Use rebinding instead of _Alloc_traits.
-
-2003-12-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
- Use narrow to get from __format[__i] a char __c representing a
- formatting code, don't use it to compare *__beg to __format[__i].
- * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
-
-2003-12-17 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/container_benchmark.cc: Tweak outputs.
-
- * testsuite/performance/list_create_fill_sort.cc: Shrink a
- bit some outputs.
-
- * testsuite/testsuite_performance.h: Widen a few output fields.
-
- * testsuite/performance/ifstream_extract_int.cc: New.
-
-2003-12-16 Phil Edwards <phil@codesourcery.com>
-
- * configure.ac (AM_INIT_AUTOMAKE): Don't warn about GNU Make.
- * configure: Regenerated.
- * Makefile.am (check-%): New catch-all forwarding target.
- * Makefile.in: Regenerated.
-
-2003-12-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/container_benchmark.cc: New, a
- benchmark developed by Bjarne Stroustrup and Alexander
- Stepanov and made available with no restrictions.
-
- * testsuite/testsuite_performance.h (report_header): New,
- useful to produce header lines in the reports.
-
-2003-12-16 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
- * docs/html/faq/index.html: Reducing vector's capacity() to size().
- * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
-
-2003-12-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/narrow_widen_char.cc: Tweak the
- number of iterations for each test.
- * testsuite/performance/narrow_widen_wchar_t.cc: Add a
- missing clear_counters.
-
-2003-12-16 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11723
- * include/bits/locale_facets.h: Add _M_bit and _M_wmask,
- used to speed up the computation of ctype::do_is.
- * config/locale/generic/ctype_members.cc
- (_M_initialize_ctype): Fill _M_bit and _M_wmask.
- (ctype::do_is): Use _M_bit and _M_wmask.
- * config/locale/gnu/ctype_members.cc: Likewise.
- * testsuite/performance/is_wchar_t.cc: New.
-
- * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
- string literal (incorrect citation ;)
-
- * include/bits/locale_facets.h: Minor tweaks, const
- correctness, unsigned -> size_t.
-
-2003-12-16 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/locale_facets.h (widen, narrow): Uncomment the
- intended code.
-
-2003-12-15 Jerry Quinn <jlquinn@optonline.net>
-
- * config/os/aix/ctype_noninline.h,
- config/os/bsd/freebsd/ctype_noninline.h,
- config/os/bsd/netbsd/ctype_noninline.h,
- config/os/djgpp/ctype_noninline.h,
- config/os/generic/ctype_noninline.h,
- config/os/gnu-linux/ctype_noninline.h,
- config/os/hpux/ctype_noninline.h,
- config/os/irix/irix5.2/ctype_noninline.h,
- config/os/irix/irix6.5/ctype_noninline.h,
- config/os/mingw32/ctype_noninline.h,
- config/os/newlib/ctype_noninline.h,
- config/os/qnx/qnx6.1/ctype_noninline.h,
- config/os/solaris/solaris2.5/ctype_noninline.h,
- config/os/solaris/solaris2.6/ctype_noninline.h,
- config/os/solaris/solaris2.7/ctype_noninline.h,
- config/os/vxworks/ctype_noninline.h,
- config/os/windiss/ctype_noninline.h (ctype): Initialize
- _M_narrow, _M_widen.
- * include/bits/locale_facets.h (_M_widen, _M_widen_ok,
- _M_narrow, _M_narrow_ok): New.
- (widen, narrow): Use tables to bypass virtual functions.
- (_M_widen_init, _M_narrow_init): New.
-
-2003-12-15 Carlo Wood <carlo@alinoe.com>
-
- * include/bits/ios_base.h (Init::_S_initialized): Change into
- declaration.
- * src/ios_init.cc (Init::_S_initialized): Add definition.
-
-2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/12658
- * include/Makefile.am (bits_headers): Add concurrence.h.
- * include/Makefile.in: Regenerated.
- * include/bits/concurrence.h: New.
- * src/locale_init.cc: Use it.
- (locale::locale): Lock critical regions.
- (locale::global): Same.
-
-2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_string.h: Change _*_references to _*_refcount.
- * include/bits/locale_classes.h: Same.
- * src/locale.cc: Same.
- * src/locale_name.cc: Same.
- * src/locale_init.cc: Same.
-
-2003-12-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/12855
- * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
- _S_refcount, make atomic.
- * src/ios.cc: Adjust definition.
- * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
- and __atomic_add.
- (ios_base::Init::~Init): Same.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
-
-2003-12-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::do_get(bool&)):
- Fail as soon as the begins of both truename and falsename
- stop to match; always leave __beg one position beyond the
- last char successfully matched.
- * testsuite/22_locale/num_get/get/char/8.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
-
-2003-12-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h (_M_widen): Reserve space
- for all the possible widened chars.
- * config/locale/generic/ctype_members.cc (_M_initialize_ctype):
- Compute at construction time all the possible widened chars.
- (do_widen): Tweak, simplify.
- * config/locale/gnu/ctype_members.cc: Likewise.
- * testsuite/performance/narrow_widen_wchar_t.cc: Add tests
- for the array versions.
-
-2003-12-12 Paolo Carlini <pcarlini@suse.de>
- Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/13341
- * include/bits/locale_facets.h (ctype<wchar_t>): Declare
- _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
- * src/ctype.cc (ctype<wchar_t>::ctype(size_t),
- ctype<wchar_t>::ctype(__c_locale, size_t)): Use
- _M_initialize_ctype to fill _M_narrow and _M_widen.
- (ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
- Likewise.
- * config/locale/generic/ctype_members.cc (do_narrow, do_widen)
- Use _M_narrow and _M_widen when possible, instead of calling
- wctob and btowc, respectively.
- (_M_initialize_ctype): Define, it fills at construction time
- _M_narrow and _M_widen.
- * config/locale/gnu/ctype_members.cc: Likewise.
- * testsuite/performance/narrow_widen_wchar_t.cc: New.
-
-2003-12-12 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/faq/index.txt: Regenerate after adding <link> tags.
-
-2003-12-11 Neil Ferguson <nferguso@eso.org>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
- * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
- * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
- * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
-
-2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/6243
- * testsuite/lib/libstdc++.exp (v3-init): Add
- original_ld_library_path, calculate ld_library path, set
- LD_LIBRARY_PATH to both. Based on libjava.exp.
-
-2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
- Alexandre Oliva <aoliva@redhat.com>
-
- PR libstdc++/11612
- * testsuite/Makefile.am (GLIBCXX_DIR): New.
- (GLIBGCC_DIR): New.
- (CXXLINK): Use both with -R so libtool links the correct libs.
-
-2003-12-10 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13217
- * include/bits/fstream.tcc (underflow): Deal gracefully with
- read errors: throw ios_base::failure.
-
-2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/10063
- * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
- * testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
- * testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
-
-2003-12-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_put::do_put(void*)):
- Remove the try/catch, not necessary.
-
-2003-12-10 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
- limit and iterations to avoid spurious failures on some
- 64 bit machines.
-
-2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Remove private ios_base members from
- export list.
-
- * config/cpu/alpha/atomicity.h: Consistently format.
- * config/cpu/cris/atomicity.h: Same.
- * config/cpu/generic/atomicity.h: Same.
- * config/cpu/hppa/atomicity.h: Same.
- * config/cpu/i386/atomicity.h: Same.
- * config/cpu/i486/atomicity.h: Same.
- * config/cpu/ia64/atomicity.h: Same.
- * config/cpu/m68k/atomicity.h: Same.
- * config/cpu/mips/atomicity.h: Same.
- * config/cpu/powerpc/atomicity.h: Same.
- * config/cpu/s390/atomicity.h: Same.
- * config/cpu/sparc/atomicity.h: Same.
-
-2003-12-09 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/13296
- * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
- * aclocal.m4: Regenerate.
- * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
- * conigure: Regenerate.
- * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
- * src/Makefile.in: Regenerate.
- * docs/html/17_intro/configury.html: Modify.
-
-2003-12-09 Paolo Carlini <pcaelini@suse.de>
-
- * include/bits/demangle.h (struct implementation_details):
- Keep in comments the names of the unused parameters.
-
-2003-12-09 Paolo Carlini <pcaelini@suse.de>
-
- * include/bits/demangle.h (struct implementation_details):
- Fix unused parameters warning.
-
-2003-12-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_int):
- Slightly streamline the code dealing with overflows and the
- parsing of the sign.
-
-2003-12-09 Bernardo Innocenti <bernie@develer.com>
-
- * include/ext/algorithm, include/ext/debug_allocator.h,
- include/ext/enc_filebuf.h, include/ext/functional,
- include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
- include/ext/hashtable.h, include/ext/iterator,
- include/ext/malloc_allocator.h, include/ext/memory,
- include/ext/mt_allocator.h, include/ext/numeric,
- include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
- include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
- include/ext/slist, include/ext/stdio_filebuf.h,
- include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
-
-2003-12-09 Bernardo Innocenti <bernie@develer.com>
-
- * include/debug/bitset, include/debug/debug.h, include/debug/deque,
- include/debug/formatter.h, include/debug/hash_map.h,
- include/debug/hash_multimap.h, include/debug/hash_multiset.h,
- include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
- include/debug/map.h, include/debug/multimap.h,
- include/debug/multiset.h, include/debug/safe_base.h,
- include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
- include/debug/safe_sequence.h, include/debug/set.h,
- include/debug/string, include/debug/vector: Remove trailing whitespace.
-
-2003-12-09 Bernardo Innocenti <bernie@develer.com>
-
- * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
- include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
- include/c_compatibility/string.h, include/c_compatibility/time.h,
- include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
- Remove trailing whitespace.
-
-2003-12-09 Bernardo Innocenti <bernie@develer.com>
-
- * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
- include/c_std/std_cctype.h, include/c_std/std_cmath.h,
- include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
- include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
- include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
- Remove trailing whitespace.
-
-2003-12-09 Bernardo Innocenti <bernie@develer.com>
-
- * include/c/std_cctype.h, include/c/std_cmath.h,
- include/c/std_cstdlib.h include/c/std_cwchar.h,
- include/c/std_cwctype.h: Remove trailing whitespace.
-
-2003-12-09 Bernardo Innocenti <bernie@develer.com>
-
- * include/backward/algo.h, include/backward/algobase.h,
- include/backward/alloc.h, include/backward/complex.h,
- include/backward/defalloc.h, include/backward/function.h,
- include/backward/iterator.h, include/backward/new.h,
- include/backward/ostream.h, include/backward/queue.h,
- include/backward/rope.h, include/backward/stream.h,
- include/backward/streambuf.h, include/backward/strstream,
- include/backward/tempbuf.h, include/backward/tree.h,
- include/backward/vector.h: Remove trailing whitespace.
-
-2003-12-08 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/c_locale.cc (__convert_to_v(long&),
- __convert_to_v(unsigned long&), __convert_to_v(long long&),
- __convert_to_v(unsigned long long&): Remove.
- (__convert_to_v(float&), __convert_to_v(double&),
- __convert_to_v(long double&)): Remove last unused parameter.
- * config/locale/gnu/c_locale.cc: Likewise.
- * include/bits/locale_facets.h: Likewise.
- (num_get::_M_extract_int): Update declaration.
- (class __num_base): Tweak _S_ie and _S_iE according to the
- _S_atoms_in changes.
- * include/bits/locale_facets.tcc (num_get::_M_extract_int):
- Provide directly the final _ValueT, not a string: accumulate
- the result checking for overflow at each digit.
- (num_get::do_get(bool&), num_get::do_get(long&),
- num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
- num_get::do_get(unsigned long&), num_get::do_get(long long&),
- num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
- Use the new _M_extract_int, simplify.
- * src/locale-inst.cc (num_get::_M_extract_int(long&),
- num_get::_M_extract_int(unsigned short&),
- num_get::_M_extract_int(unsigned int&),
- num_get::_M_extract_int(unsigned long&),
- num_get::_M_extract_int(long long&),
- num_get::_M_extract_int(unsigned long long&): Instantiate.
- * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
- the chars in the natural order: abcdefABCDEF.
-
-2003-12-08 David S. Miller <davem@redhat.com>
-
- PR libstdc++/12496
- * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
- Extend increment to _Atomic_word before giving to assembler.
-
-2003-12-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
- * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
-
-2003-12-06 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/11691
- * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
- Remove __del argument to file descriptor constructor.
- * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
- bool argument.
- * config/io/basic_file_stdio.cc: Same.
-
-2003-12-05 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/13189
- * include/ext/enc_filebuf.h: Fix.
- * include/bits/fstream.tcc: Tweak formatting.
- * include/bits/postypes.h: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/streambuf.tcc: Same.
- * testsuite/ext/stdio_filebuf.cc: Split.
- * testsuite/ext/stdio_filebuf_2.cc: Split.
- * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
- * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
- * testsuite/ext/enc_filebuf/char/13189.cc: New.
- * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
- * testsuite/ext/stdio_filebuf/char/1.cc: New.
- * testsuite/ext/stdio_filebuf/char/2.cc: New.
- * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
- * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
- * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
- * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
- * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
-
-2003-12-05 Carlo Wood <carlo@alinoe.com>
-
- PR libstdc++/13045
- * bits/demangle.h
- namespace __gnu_cxx::demangler
- (enum substitution_nt): Removed trailing comma.
- (implementation_details): Added.
- (session<Allocator>::M_implementation_details): Added.
- (session<Allocator>::session): Pass implementation_details.
- (session<Allocator>::decode_encoding): Same.
- (session<Allocator>::decode_real): Added.
- (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
- _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
- _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
- _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
- implementation_details equivalent.
- (session<Allocator>::decode_expression):
- Use M_implementation_details instead of macros. Add extra parentheses
- around 'larger than' operator in expressions in template arguments.
- (session<Allocator>::decode_bare_function_type): Idem.
- (session<Allocator>::decode_literal):
- Idem, and call decode_real for floating literals.
- (session<Allocator>::decode_type_with_postfix): Put the postfix
- of the return type of (member) functions after the function
- instead of after the return type. Also, put a space after the
- prefix of qualified function pointers: "int (* const<space>".
- * src/demangle.cc: include most dependent header file first.
- * testsuite/demangle/regression/cw-16.cc: Updated two
- and added three tests.
-
-2003-12-04 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/13284
- * include/bits/stl_algo.h (__random_number): Remove.
- (random_shuffle): Use rand, as permitted by DR 395.
- * include/ext/algorithm: Same.
- * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
- * acconfig.h: Same.
- * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
- * config.h.in: Regenerated.
- * configure: Same.
- * aclocal.m4: Same.
-
-2003-12-04 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12653
- * include/std/std_bitset.h (operator>>): Implement resolution
- of DR 303 [WP]: use widen('0') and widen('1').
- * docs/html/ext/howto.html: Add an entry for DR 303.
-
- * include/std/std_bitset.h (operator>>): Implement the common
- requirements of formatted input functions (27.6.1.2.1).
-
- * include/std/std_bitset.h (operator>>): Set the failbit when
- nothing was extracted and _Nb != 0.
- * testsuite/23_containers/bitset/input/1.cc: New.
-
-2003-12-03 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12791
- * include/bits/locale_facets.tcc (time_get::_M_extract_num):
- Rewrite, stop the parsing as soon as a digit cannot possibly
- lead to a final number within the bounds; otherwise, simplify,
- avoiding __ctype.is() and atoi().
- * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
- * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
-
- * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
- Minor tweak: a 4-digit integer cannot be bigger than 9999.
-
- * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
- type-correct wchar_t string literals.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
-
-2003-12-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get::do_get_year):
- Avoid using a basic_string and calling a full blown strtol
- (via __convert_to_v) for simple 2 or 4 digits, base 10,
- positive integers; simplify.
-
-2003-12-02 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/monetary_members.cc
- (money_base::_S_construct_pattern): For case 3: and 4:
- exchanging 'if (__precedes)' and 'if (__space)' allows
- to factor out a few more assignments.
-
-2003-12-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_ios.h (basic_ios::setstate): Revert.
- * include/bits/istream.tcc: Only call setstate if __err != goodbit.
- * include/bits/ostream.tcc: Same.
- * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
-
- * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
- internal buffer non-static.
-
-2003-12-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/C++STYLE: Add exception bits.
- * include/bits/fstream.tcc: Add location info to exception strings.
-
- * include/bits/stl_construct.h: Formatting tweaks.
-
-2003-12-01 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/10378
- * include/bits/allocator.h (allocator::construct): Implement
- resolution of DR 402 [Ready] (in Revision 28).
- * include/bits/allocator_traits.h (__allocator::construct):
- Likewise.
- * include/bits/stl_construct.h (_Construct): Likewise.
- * testsuite/20_util/allocator_members.cc: Move to...
- * testsuite/20_util/allocator/1.cc: ... here.
- * testsuite/20_util/allocator/10378.cc: New.
- * docs/html/ext/howto.html: Add an entry for DR 402.
-
-2003-11-30 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
- codecvt::do_length): More minor tweaks.
-
-2003-11-30 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
- Minor stylistic tweak.
-
-2003-11-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
- Minor tweaks, consistent with the style used in other facets.
-
-2003-11-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/fstream.tcc (underflow): Minor tweaks in
- preparation for libstdc++/13217.
-
-2003-11-29 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
- Tweak for a few small problems (fix timings, use VERIFY..)
-
-2003-11-28 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
- the original third testcase for libstdc++/13171 belong here.
-
-2003-11-28 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
- Remove extraneous wchar_t lines.
-
-2003-11-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11544
- PR libstdc++/11603
- * include/bits/fstream.tcc (underflow): Throw ios_base::failure
- upon incomplete or invalid byte sequences in the file.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
-
-2003-11-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_streambuf.h (__copy_streambufs): Remove
- the first, unused, basic_ios<> parameter.
- * src/streambuf-inst.cc: Likewise.
- * include/bits/streambuf.tcc: Likewise.
- * include/bits/istream.tcc (operator>>(__streambuf_type*)):
- Tweak accordingly the call.
- * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
- Likewise.
-
- * include/bits/streambuf.tcc (__copy_streambufs): Remove
- redundant try/catch.
-
-2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/9371
- PR libstdc++/9546
- PR libstdc++/10093
- PR libstdc++/10095
- * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
- (basic_ios::_M_setstate): Consolidate common error handling code.
- * include/bits/basic_ios.tcc: Tweak.
- * include/bits/fstream.tcc: Tweak.
- * include/bits/istream.tcc: Use _M_setstate for common exception
- handling. Move setstate calls after catch.
- (basic_istream::tellg): Check for exceptions thrown by streambuf
- virtual functions.
- (basic_istream::seekg): Same.
- * include/bits/ostream.tcc: Same, but for ostream.
- (basic_ostream::flush): Check for exceptions thrown by streambuf
- virtual functions.
- (basic_istream::tellp): Same.
- (basic_istream::seekp): Same.
- * include/bits/locale_facets.tcc: Tweak.
- * include/bits/streambuf.tcc: Tweak.
- (__copy_streambufs): Propagate exceptions.
- * testsuite/testsuite_io.h (fail_streambuf): New.
- (fail_num_get): New.
- (fail_num_put): New.
- (facet_error): New.
- (underflow_error): New.
- (overflow_error): New.
- (positioning_error): New.
- * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/
- exceptions_badbit_throw.cc, exceptions_failbit.cc,
- exceptions_failbit_throw.cc: New.
- * testsuite/27_io/basic_istream/extractors_other/char/
- error_failbit.cc, exceptions_badbit_throw.cc,
- exceptions_failbit_throw.cc, exceptions_null.cc: New.
- * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
- New.
- * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
- New.
- * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
- New.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
- exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- error_failbit.cc, exceptions_badbit_throw.cc,
- exceptions_failbit_throw.cc, exceptions_null.cc: New.
- * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
- New.
- * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
- New.
-
-2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/12297
- * include/bits/istream.tcc
- (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
- * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
-
-2003-11-26 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/13171
- * include/bits/fstream.tcc (imbue): Relax the conditions under
- which the function succeeds: allow for two consecutive calls with
- the same name; state dependent encodings are ok even after open
- if at the beginning of the file; don't check seekoff return value
- (pipes, cin, cout, etc...)
- * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
- * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
-
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
- correctly use the UTF-8 locale appearing in the PR.
-
-2003-11-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h
- (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
- _M_truename and _M_falsename: the constructor always does
- it immediately before the _M_cache call.
-
-2003-11-25 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
- Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
- former is very fast, but stops if encounters a NUL.
- (codecvt::do_out): Tweaks.
- (codecvt::do_in): Tweaks, improve the code dealing with errors.
- * testsuite/performance/wchar_t_length.cc: New.
-
-2003-11-24 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
- Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
- former is very fast, but stops if encounters a NUL.
- (codecvt::do_out): Tweak.
- * testsuite/performance/wchar_t_in.cc: New.
-
-2003-11-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h
- (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
- in order to avoid memory leaks; simplify a bit.
-
-2003-11-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
- non-standard throw specs.
- * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
- * testsuite/24_iterators/istreambuf_iterator/1.cc
- * testsuite/24_iterators/istreambuf_iterator/2.cc
- * testsuite/24_iterators/istreambuf_iterator/2627.cc
- * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
- * testsuite/24_iterators/ostreambuf_iterator/1.cc
- * testsuite/24_iterators/ostreambuf_iterator/2.cc
-
- * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
- don't link.
-
- * include/bits/allocator.h: Formatting tweak.
-
-2003-11-24 Paolo Carlini <pcarlini@suse.de>
-
- * src/locale_init.cc: Cosmetic reformatting.
-
-2003-11-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (__add_grouping):
- Cosmetic reformatting.
-
-2003-11-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (_M_extract_float,
- _M_extract_int): Remove a wrong comment and simplify
- the corresponding code using char_traits::find().
-
-2003-11-22 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/monetary_members.cc
- (money_base::_S_construct_pattern): Factor out two assignments.
-
-2003-11-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (getline(basic_string<>&)):
- Fix error in comment of the previous commit.
-
-2003-11-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12593
- * include/bits/istream.tcc (operator>>(basic_string<>&),
- getline(basic_string<>&)): Implement resolution of DR 91 [WP];
- fix some minor issues with the exit conditions.
- * docs/html/ext/howto.html: Add an entry for DR 91.
-
-2003-11-21 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/monetary_members.cc
- (money_base::_S_construct_pattern): Factor out an assignment.
-
-2003-11-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12882 (partial)
- * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
- and ftello64 too.
- * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
- and ftello64 if available.
- * aclocal.m4: Regenerate.
- * configure: Ditto.
-
-2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/debug/formatter.h: Use _Tp as template argument.
- * src/debug.cc: Same, instantiate std::size_t.
-
-2003-11-20 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/13109
- * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
- * src/debug.cc (__gnu_debug): Format.
- (_Error_formatter::_M_format_word): Define, use, instantiate.
-
-2003-11-20 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11602
- * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
- Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
- former is very fast, but stops if encounters a NUL.
- * testsuite/performance/wchar_t_out.cc: New, from the PR.
-
-2003-11-19 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/codecvt_members.cc (do_out): If
- we can upper bound the total number of external chars
- to something smaller than __to_end - __to, avoid the
- temporary buffer, the memcopy and simplify the loop.
- * config/locale/generic/codecvt_members.cc (do_out):
- Likewise.
-
-2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
- * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
- flag.
-
-2003-11-18 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/configopts.html, docs/html/debug.html,
- docs/html/documentation.html, docs/html/explanations.html,
- docs/html/install.html, docs/html/17_intro/contribute.html,
- docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
- docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
- docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
- docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
- docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
- docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
- docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
- docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
- docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
-
-2003-11-18 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12868
- * include/bits/fstream.tcc (imbue): For encodings != -1 it's
- always ok to imbue a new locale, provided seekoff(0, cur, ...)
- doesn't fail, of course.
- (underflow): In order for the above to work, deal gracefully
- with _M_codecvt->in returning codecvt_base::error while
- (__ilen = __iend - this->eback()) > 0: it just means __ilen
- correctly converted internal characters before an error.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
-
-2003-11-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc: Fix typo in comment.
-
-2003-11-17 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/num_put/put/char/8.cc: New test,
- summarizing the discussion ensuing libstdc++/12988.
- * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
-
-2003-11-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_fstream.h: Tweak a comment.
-
-2003-11-15 Roger Sayle <roger@eyesopen.com>
-
- * include/c_std/std_cmath.h: Don't import C99's float transcendentals
- into the __gnu_cxx::__c99_binding namespace.
- (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
- ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
- GCC's math builtins, i.e. __builtin_foo.
- * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
- ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
- ldexpf, ldexpl, modff, modfl): Provide stub implementations.
-
-2003-11-14 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/locale/cons/12352.cc: Use
- __gnu_test::try_named_locale.
-
-2003-11-14 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/howto.html: Add entries for DR 63, 75
- and 305; tweak entries for DR 60 and 328.
-
-2003-11-13 Douglas Gregor <gregod@cs.rpi.edu>
-
- * docs/html/debug.html: Users are allowed to specialize in
- namespace __gnu_debug, unlike in the Apple version of the debug
- mode. Clear up a confusing double-negative. Note that
- std::basic_string does provide extra debugging capabilities, but
- not safe iterators.
- * include/bits/basic_string.tcc: Make sure there's never an
- ambiguity when calling __is_null_pointer.
- * include/debug/deque: (deque::erase) Properly handle invalidation
- when erasing at the end of the deque.
- * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
- (vector::clear): Set the guaranteed capacity to 0.
- * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
- iterator invalidation when erasing at the end of the deque.
-
-2003-11-13 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/13007
- * include/bits/fstream.tcc (imbue): Don't touch the stored
- locale.
- * include/std/std_streambuf.h (imbue): According to the
- standard, base class version does nothing.
- (pubimbue): Store the locale.
- * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
- * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
-
-2003-11-13 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/12594
- * include/bits/ostream.tcc
- (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
- basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
- basic_ostream::operator<<(ios_base& (*)(ios_base&))):
- Implement the resolution of DR 60 (TC): These are not formatted
- output functions so don't construct sentry objects and don't
- catch exceptions.
- (basic_ostream::put, basic_ostream::write): Implement the
- resolution of DR 63 (TC) by catching exceptions and setting
- badbit.
- (basic_ostream::flush): Implement the resolution of DR 60 (TC):
- This is not an unformatted output function so don't construct
- a sentry object.
- * testsuite/testsuite_io.h (sync_streambuf): Define.
- * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
- * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
- * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
- * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
-
-2003-11-13 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
- Fix, closely following the testcase included in the PR.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
-
-2003-11-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/17_intro/configury.html: XHTML tweak.
-
-2003-11-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/debug_mode.html: XHTML fixes.
-
-2003-11-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/debug_mode.html: Update.
- * docs/html/17_intro/TODO: Update.
-
-2003-11-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config: Move using directive...
- * include/debug/formatter.h: ...here.
-
-2003-11-12 Carlo Wood <carlo@alinoe.com>
-
- PR libstdc++/12947
- * bits/demangle.h
- (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
- (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
- (session<Allocator>::next_peek() const): Added.
- (decode_non_negative_decimal_integer(string_type&)):
- Renamed from decode_decimal_integer(string_type&).
- (session<Allocator>::decode_nested_name):
- Decode <template_param> as well.
- (session<Allocator>::add_substitution):
- Handle <template-param> for <nested-name>'s.
- (enum xary_nt): Added.
- (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
- (symbol_name_table_c): Updated for `entry_st::type' and additional
- operators (unary `operator+' and `sizeof(type)').
- (offset_table_c): Updated for new operators (causing a new hash map).
- (decode_operator_name): Match the updated hash map.
- (session<Allocator>::decode_expression):
- Support for `sizeof ([typename] type)' (st),
- dependent names (sr) and casting operator (cv). Handle
- `entry_st::type'. Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
- and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
- (session<Allocator>::decode_type_with_postfix):
- Support `extern "C"' function types (FY).
- * testsuite/demangle/regression/cw-16.cc: Added tests for the
- added functionality.
- * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
- appended.
-
-2003-11-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12875
- * include/bits/fstream.tcc (setbuf): Don't do anything
- after open(), in particular don't discard data.
- (_M_allocate_internal_buffer): Tweak to not allocate memory
- in case the buffer is provided by the user via setbuf.
- * include/ext/stdio_filebuf.h: Tweak comment.
- * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
- * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
- setbuf does nothing after open().
- * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
-
-2003-11-11 Doug Gregor <gregod@cs.rpi.edu>
-
- * docs/html/debug.html: Document libstdc++ debug mode.
- * docs/html/debug_mode.html: Document libstdc++ debug mode design.
- * docs/html/test.html: Document how to test under debug mode.
- * docs/html/17_intro/howto.html: Document debug-mode macros.
- * include/Makefile.am: Install debug-mode headers.
- * src/Makefile.am: Include debug.cc.
- * include/bits/basic_string.tcc:
- (basic_string::_S_construct): Fix NULL pointer check.
- (__is_null_pointer): New.
- Add precondition annotations.
- * include/bits/stream_iterator.h (istream_iterator,
- ostream_iterator): Added precondition annotations.
- * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
- * include/bits/stl_queue.h (queue, priority_queue): Ditto.
- * include/bits/stl_stack.h (stack): Ditto.
- * include/bits/basic_string.h (basic_string): Ditto.
- * include/bits/basic_string.tcc (basic_string): Ditto.
- * include/std/std_memory.h (auto_ptr): Ditto.
- * include/std/std_valarray.h (valarray): Ditto.
- * include/bits/stl_algo.h: Added algorithm precondition
- annotations.
- * include/bits/stl_algobase.h: Added algorithm precondition
- annotations.
- * include/bits/stl_numeric.h: Ditto.
- * include/ext/algorithm: Added algorithm precondition
- annotations.
- (__is_heap): Moved away from here.
- * include/bits/stl_heap.h: Added algorithm precondition
- annotations.
- (__is_heap): Moved to the top of this file.
- (__is_heap): Added iterator range overloads.
- * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
- with changes in std_memory.h.
- * testsuite/23_containers/list/operators/4.cc: Don't verify
- performance guarantees when in debug mode.
- * testsuite/23_containers/bitset/invalidation/1.cc: New.
- * testsuite/23_containers/deque/invalidation/1.cc: New.
- * testsuite/23_containers/deque/invalidation/2.cc: New.
- * testsuite/23_containers/deque/invalidation/3.cc: New.
- * testsuite/23_containers/deque/invalidation/4.cc: New.
- * testsuite/23_containers/list/invalidation/1.cc: New.
- * testsuite/23_containers/list/invalidation/2.cc: New.
- * testsuite/23_containers/list/invalidation/3.cc: New.
- * testsuite/23_containers/list/invalidation/4.cc: New.
- * testsuite/23_containers/map/invalidation/1.cc: New.
- * testsuite/23_containers/map/invalidation/2.cc: New.
- * testsuite/23_containers/multimap/invalidation/1.cc: New.
- * testsuite/23_containers/multimap/invalidation/2.cc: New.
- * testsuite/23_containers/multiset/invalidation/1.cc: New.
- * testsuite/23_containers/multiset/invalidation/2.cc: New.
- * testsuite/23_containers/set/invalidation/1.cc: New.
- * testsuite/23_containers/set/invalidation/2.cc: New.
- * testsuite/23_containers/vector/invalidation/1.cc: New.
- * testsuite/23_containers/vector/invalidation/2.cc: New.
- * testsuite/23_containers/vector/invalidation/3.cc: New.
- * testsuite/23_containers/vector/invalidation/4.cc: New.
- * testsuite/25_algorithms/heap.cc: Don't verify
- performance guarantees when in debug mode.
- * include/debug/bitset: New.
- * include/debug/debug.h: New.
- * include/debug/deque: New.
- * include/debug/formatter.h: New.
- * include/debug/hash_map: New.
- * include/debug/hash_map.h: New.
- * include/debug/hash_multimap.h: New.
- * include/debug/hash_set: New.
- * include/debug/hash_set.h: New.
- * include/debug/hash_multiset.h: New.
- * include/debug/list: New.
- * include/debug/map: New.
- * include/debug/map.h: New.
- * include/debug/multimap.h: New.
- * include/debug/multiset.h: New.
- * include/debug/safe_base.h: New.
- * include/debug/safe_iterator.h: New.
- * include/debug/safe_iterator.tcc: New.
- * include/debug/safe_sequence.h: New.
- * include/debug/set: New.
- * include/debug/set.h: New.
- * include/debug/string: New.
- * include/debug/vector: New.
- * src/debug.cc: New.
- * config/linker-map.gnu: Add debug mode symbols.
-
-2003-11-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/string-inst.cc: Tweak namespaces.
- * src/misc-inst.cc: Same.
- * docs/html/debug.html: Edits.
- * config/link-map.gnu: Remove cruft.
-
- * include/bits/c++config: Add in namespace associations.
- * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
- comment tweaks.
- * include/bits/deque.tcc: Same.
- * include/bits/list.tcc: Same.
- * include/bits/stl_bvector.h: Same.
- * include/bits/stl_deque.h: Same.
- * include/bits/stl_list.h: Same.
- * include/bits/stl_map.h: Same.
- * include/bits/stl_multimap.h: Same.
- * include/bits/stl_multiset.h: Same.
- * include/bits/stl_set.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/bits/vector.tcc: Same.
-
- * include/std/std_algorithm.h: Remove markup comments.
- * include/std/std_functional.h: Same.
- * include/std/std_iterator.h: Same.
- * include/std/std_numeric.h: Same.
- * include/std/std_utility.h: Same.
- * include/bits/stl_queue.h: Formatting tweaks.
- * include/bits/stl_stack.h: Same.
- * include/std/std_deque.h: Include debugging version in debug mode.
- * include/std/std_list.h: Same.
- * include/std/std_map.h: Same.
- * include/std/std_set.h: Same.
- * include/std/std_vector.h: Same.
- * include/std/std_queue.h: Use deque, vector.
- * include/std/std_stack.h: Same.
-
-2003-11-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (_M_insert_int,
- _M_insert_float): Move a couple of vars inside an if block.
-
-2003-11-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12971
- * include/bits/locale_facets.tcc
- (money_put::do_put(..., long double)): Fix conversion
- specification as per DR 328 [WP].
- * testsuite/22_locale/money_put/put/char/12971.cc: Add.
- * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
- * docs/html/ext/howto.html: Add entry for DR 328.
-
-2003-11-08 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12967
- * include/bits/list.tcc (merge): Implement resolution of
- DR 300 [WP].
- * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
- for DR 231.
-
- * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
- Import R27.
-
-2003-11-07 Jonathan Wakely <redi@gcc.gnu.org>
-
- * libsupc++/vec.cc: Conform to C++STYLE.
-
-2003-11-07 Carlo Wood <carlo@alinoe.com>
-
- PR libstdc++/12736
- * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
- (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
- K, V, r and A qualifiers before processing them as a group.
- * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
- * testsuite/demangle/regression/cw-16.cc: New.
-
-2003-11-07 Robert Millan <robertmh@gnu.org>
-
- * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
- * crossconfig.m4: Likewise.
- * configure: Regenerate.
-
-2003-11-07 Carlo Wood <carlo@alinoe.com>
-
- * include/bits/demangle.h
- (qualifier_list<Allocator>::decode_qualifiers(string_type&,
- string_type&, bool member_function_pointer_qualifiers):
- Always separate the '[' of an array type with a space from
- what is left of it, except when that is the closing bracket
- of another array dimension.
-
-2003-11-07 Carlo Wood <carlo@alinoe.com>
-
- * include/bits/demangle.h
- (qualifier_list<Allocator>::decode_qualifiers(string_type&,
- string_type&, bool) const): Made const.
- (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
- (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
- std::ostream& operator<<(std::ostream&, qualifier const&),
- std::ostream& operator<<(std::ostream&, qualifier_list const&),
- qualifier_list<Allocator>::decode_qualifiers(string_type&,
- string_type&, bool) const,
- session<Allocator>::decode_type_with_postfix(string_type&,
- string_type&, qualifier_list<Allocator>*))
- Added and/or changed debug-only hooks and code.
-
-2003-11-04 Jeffrey D. Oldham <oldham@codesourcery.com>
-
- * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
- immediately return. This reflects a C++ ABI change 2003 Nov 03.
- (__cxa_vec_delete3): Likewise.
-
-2003-11-03 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/12790
- * include/bits/fstream.tcc: Delete _M_last_overflowed.
- (basic_filebuf::basic_filebuf): Initialize _M_state_last.
- (basic_filebuf::open, basic_filebuf::close): Assign
- _M_state_beg to _M_state_cur and _M_state_last.
- (basic_filebuf::close): Call _M_terminate_output to handle
- unshift and flushing.
- (basic_filebuf::underflow): Assign _M_state_last, throw
- exception instead of calling abort when codecvt::max_length()
- is bad.
- (basic_filebuf::seekoff): Use _M_state_last when calling
- codecvt::length(), pass correct state to _M_seek.
- (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
- (basic_filebuf::_M_seek): Add __state_type parameter,
- set _M_state_cur correctly, store the resulting state in
- the return value and use _M_terminate_output to handle
- flushing and unshift.
- (basic_filebuf::_M_terminate_output): Flush contents of
- output buffer, if any, then call codecvt::unshift as
- needed and output the result.
- (basic_filebuf::sync): Move here, don't modify _M_writing
- or _M_reading.
-
- * include/std/std_fstream.h
- (basic_filebuf::_M_state_last): Declare it.
- (basic_filebuf::_M_last_overflowed): Delete.
- (basic_filebuf::_M_seek): Add __state_type parameter.
- (basic_filebuf::sync): Declare only.
- (basic_filebuf::_M_output_unshift): Delete.
- (basic_filebuf::_M_terminate_output): Declare it.
-
- * testsuite/testsuite_character.h:
- Define character class and state class plus char_traits and
- codecvt specializations for same for testing support for
- stateful encodings.
-
- * testsuite/27_io/basic_filebuf/close/12790-1.cc,
- * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
- * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
- * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
- * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
- * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
- * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
- * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
- * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
- * testsuite/27_io/basic_filebuf/open/12790-1.cc,
- * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
- * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
- * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
- * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
- * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
- * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
- * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
- * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
- * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
- * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
- * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
- * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
- * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
- * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
- * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
- * testsuite/27_io/basic_filebuf/sync/char/1.cc,
- * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
- New tests.
-
- * testsuite/27_io/basic_filebuf/3.cc,
- * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
- * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
- * testsuite/27_io/basic_fstream/3.cc,
- * testsuite/27_io/basic_ifstream/3.cc,
- * testsuite/27_io/basic_ofstream/3.cc:
- Use streamoff as off_type and fpos<state_type> as pos_type.
-
- * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
- * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
- Check that sync does *not* set _M_writing to false.
-
-2003-11-03 Anthony Green <green@redhat.com>
-
- * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
- they're used.
-
-2003-11-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (time_get::_M_extract_name): Add
- ctype argument.
- * include/bits/locale_facets.tcc: Same, use it to allow
- capitalized names.
-
- * include/bits/fstream.tcc: Spacing tweak.
- * include/bits/istream.tcc: Same.
- * include/bits/ostream.tcc: Same.
-
-2003-10-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
- __mod is only assigned, never used its value, remove it.
-
-2003-10-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get::do_get_year):
- Absolutely avoid dereferencing end iterators.
- (time_put::put): Minor clean up.
-
- * include/bits/locale_facets.tcc: Cosmetic reformattings.
-
-2003-10-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_float):
- Revert the last commit, is not correct, sorry.
-
-2003-10-29 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/c_locale.cc: Add back <cmath> and
- <cstdlib>.
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_float):
- Clean up.
-
-2003-10-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_put::put): Absolutely
- avoid dereferencing end iterators; clean up.
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_float,
- num_get::_M_extract_int): Minor tweak.
-
-2003-10-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc: Remove some unnecessary
- includes.
- * config/locale/generic/c_locale.cc: Include <cerrno> here.
- * config/locale/gnu/c_locale.cc: Likewise.
-
-2003-10-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc
- (money_get<>::do_get(..., string_type&)): Absolutely avoid
- dereferencing end iterators; general clean up.
-
-2003-10-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get::_M_extract_num):
- Absolutely avoid dereferencing end iterators.
- (time_get::_M_extract_name): Likewise.
-
- * include/bits/locale_facets.tcc
- (time_get::_M_extract_via_format, case 'e'): Don't try to
- be smart wrt returning the right __beg in case of parse
- error, time_get::_M_extract_num must be fixed instead.
-
-2003-10-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12778
- * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2003-10-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/TODO: Add links.
- * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
- Uncomment.
-
-2003-10-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12750
- * include/bits/locale_facets.tcc
- (time_get::_M_extract_via_format): Deal with code 'e'.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
-
- * include/bits/locale_facets.tcc
- (time_get::_M_extract_via_format): Tweak to absolutely avoid
- dereferencing end iterators.
-
- * include/bits/locale_facets.h (__verify_grouping):
- Const-ify second parameter.
- * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
- * src/locale-inst.cc (__verify_grouping): Ditto.
-
-2003-10-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_float):
- Various things: 1- Avoid absolutely end iterator dereferences;
- 2- Improve performance-wise the code skipping leading zeros;
- 3- Fix two bugs wrt early bail out in case of parsing errors
- (see testcases); 4- General clean up.
- (num_get::_M_extract_int): Likewise, except 3-. Additionally,
- use __builtin_expect to favor base 10 inputs.
- * testsuite/22_locale/num_get/get/char/7.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
-
-2003-10-26 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
- * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
-
-2003-10-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_int):
- __pos in only incremented, never used its value, remove it.
-
-2003-10-24 Robert Millan <robertmh@gnu.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
- and knetbsd*-gnu.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
-2003-10-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get::do_get(...,
- long double&): Properly size the temporary buffer.
- * testsuite/22_locale/money_get/get/char/11.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
-
- * include/bits/locale_facets.tcc (num_put::_M_group_int,
- num_put::_M_group_float, money_put::do_put(..., const
- string_type&), collate::do_compare, collate::do_transform):
- Prefer basic_string::data() to c_str() when the '\0'
- terminator is not really needed.
-
-2003-10-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (__verify_grouping):
- Prefer '=' to an unnecessary '&='.
-
-2003-10-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
- Tweak my fix for libstdc++/12657.
-
-2003-10-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get::do_get(...,
- string_type&): Minor tweak to the previous commit.
-
-2003-10-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get::do_get(...,
- string_type&): Disregard the previous commit: doesn't hurt but
- doesn't accomplish anything useful either. This is the right
- one, speeding up greatly the function in case of early fail.
-
-2003-10-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get::do_get(...,
- string_type&): Move an if block, thus minimizing the amount
- of code processed anyway when __tmp_units.size() == 0.
-
-2003-10-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc
- (time_get<>::_M_extract_via_format): Deal with case 'C' too,
- equivalent to 'y'.
-
-2003-10-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/documentation.html: Add a pointer to the doxygen style
- guide.
- * docs/html/17_intro/TODO: Update.
- * docs/html/test.html: Add instructions for running a subset of
- tests, update.
-
-2003-10-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::do_get(...,
- string_type&)): Use find_first_not_of to strip leading
- zeros; if __tmp_units == "0" never prefix it with '-';
- always fail if __tmp_units is empty.
- * testsuite/22_locale/money_get/get/char/10.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
-
-2003-10-23 Phil Edwards <phil@codesourcery.com>
-
- * config/os/vxworks/ctype_noninline.h: Adjust ctor to match
- 2003-10-21 change.
-
-2003-10-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (__int_to_char): Remove
- the const int parameter.
- (_M_insert_int): Update caller.
- * src/locale-inst.cc (__int_to_char): Update instantiations.
-
-2003-10-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h: Correct byname facets for "C"
- locale.
- * config/locale/generic/ctype_members.cc: Same.
- * config/locale/generic/messages_members.h: Same.
- * config/locale/gnu/ctype_members.cc: Same.
- * config/locale/gnu/messages_members.h: Same.
- * include/bits/codecvt.h: Same.
- * src/ctype.cc: Same.
- * testsuite/22_locale/codecvt_byname/1.cc: New.
- * testsuite/22_locale/collate/1.cc: Edit.
- * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
- * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
- * testsuite/22_locale/ctype/1.cc: Derivation tests.
- * testsuite/22_locale/ctype/11844.cc: Move...
- * testsuite/22_locale/ctype_base/11844.cc: ...here.
- * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
- * testsuite/22_locale/ctype_byname/1.cc: Name.
- * testsuite/22_locale/messages_byname/1.cc: New.
- * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
- * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
- * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
- * testsuite/22_locale/numpunct/1.cc: Edit.
- * testsuite/22_locale/numpunct_byname/2.cc: Move...
- * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
- * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
- * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
-
-2003-10-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/8610
- * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
- checking for the availability of int64_t.
- (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
- * configure.ac: Call here.
- * acconfig.h: Add undef for the corresponding symbols.
- * config/io/basic_file_stdio.cc (__basic_file<char>::open):
- Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
- (__basic_file<char>::seekoff): Likewise, call lseek64 when
- available, otherwise lseek, checking the __off parameter.
- * include/bits/postypes.h: Typedef __streamoff_base_type
- to int64_t if available, otherwise long long.
- * aclocal.m4: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
- * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
- Use AC_TRY_LINK instead of AC_TRY_COMPILE.
-
-2003-10-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12657
- * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
- Implement resolution of DR 292 (WP).
- * docs/html/ext/howto.html: Add entry for DR 292.
-
-2003-10-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/mt_allocator.h: Change include to gthr.h.
- * include/ext/rope: Same. Add _Refcount_base definitions.
- * include/ext/pool_allocator.h: Adjust namespaces.
- * include/bits/stl_threads.h (_Refcount_base): Move.
- Put remaining into namespace __gnu_cxx.
-
-2003-10-21 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/9858
- * include/bits/locale_facets.h (ctype<char>): Remove
- __ctype_abstract_base.
- (ctype<char>::do_is): Remove.
- (ctype<char>::do_scan_is): Remove.
- * src/ctype.cc: Same. Inline the rest.
- * testsuite/22_locale/ctype/is/char/9858.cc: New.
- * config/os/aix/ctype_noninline.h: Adjust ctor.
- * config/os/bsd/freebsd/ctype_noninline.h: Same.
- * config/os/bsd/netbsd/ctype_noninline.h: Same.
- * config/os/djgpp/ctype_noninline.h: Same.
- * config/os/generic/ctype_noninline.h: Same.
- * config/os/gnu-linux/ctype_noninline.h: Same.
- * config/os/hpux/ctype_noninline.h: Same.
- * config/os/irix/irix5.2/ctype_noninline.h: Same.
- * config/os/irix/irix6.5/ctype_noninline.h: Same.
- * config/os/mingw32/ctype_noninline.h: Same.
- * config/os/newlib/ctype_noninline.h: Same.
- * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
- * config/os/windiss/ctype_noninline.h: Same.
-
-2003-10-21 Paolo Carlini <pcarlini@suse.de>
-
- * src/locale.cc: Tweak a comment.
- * src/localename.cc: Move a comment.
-
-2003-10-20 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/10081
- * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
- * testsuite_hooks.cc: Same.
- * 22_locale/numpunct/members/pod/1.cc: Edit.
- * 22_locale/numpunct/members/pod/2.cc: Same.
- * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
- * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
- * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
- * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
- * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
- * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
- * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
- * 27_io/basic_istream/sentry/pod/1.cc: New.
- * 27_io/basic_ostream/sentry/pod/1.cc: New.
- * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
- * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
-
-2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
- of external _MIPS_SIM_ABI32.
-
-2003-10-20 Phil Edwards <phil@codesourcery.com>
-
- * configure.ac: Fix comment typo.
- * configure.host: Add vxworks to host_os switch.
- * crossconfig.m4: Remove old commented os_include_dir variables
- left over from autotools transition.
- (*-vxworks): New stanza.
- (*-windiss): Add missing symbols.
- * configure: Regenerate.
- * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
- config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
- New files.
- * config/os/windiss/os_defines.h: Define __C9X__.
-
-2003-10-19 David Edelsohn <edelsohn@gnu.org>
-
- PR other/12506
- * configure.host (aix4,aix*): Define os_include_dir to os/generic.
-
-2003-10-18 Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/locale.cc (locale::_S_initialize): Re-apply workaround a
- confusion of the use of the gthr API when __gthread_active_p()
- returns true.
-
-2003-10-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am: Add new files.
- * src/Makefile.in: Regenerate.
- * src/globals.cc: Split into..
- * src/globals_io.cc: New.
- * src/globals_locale.cc: New.
- * src/ios.cc: Split into...
- * src/ios_init.cc: New.
- * src/ios_locale.cc: New.
- * src/locale-inst.cc: Split into..
- * src/wlocale-inst.cc: New.
- * src/locale-misc-inst.cc: New.
- * src/locale.cc, src/localename: Split into...
- * src/locale_facets.cc: New.
- * src/locale_init.cc: New.
- * src/wstring-inst.cc: Add copyright info.
-
-2003-10-16 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/11450
- PR libstdc++/11543
- PR libstdc++/12065
- * config/io/basic_file_stdio.cc (__basic_file::seekoff):
- Change return value from streampos to streamoff.
- (__basic_file::seekpos): Delete.
- * config/io/basic_file_stdio.h: Same.
- * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
- * include/Makefile.am (bits_headers): Add bits/postypes.h.
- * include/bits/char_traits.h: Include bits/postypes.h instead of
- bits/fpos.h.
- * include/bits/fstream.tcc (basic_filebuf::open,
- basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
- values, use == and != instead.
- (basic_filebuf::_M_seek): Use explicit conversion from streamoff
- to pos_type.
- (basic_filebuf::imbue): Don't use ! on pos_type values, use
- == instead. Don't use __check_facet(_M_codecvt) unless is_open().
- * include/bits/postypes.h: New file.
- Add __streamoff_base_type typedef, streamsize.
- (streamoff, streampos, wstreampos): Define typedefs, with
- streamoff defined as...
- (streamoff): New class. Document implementation defined
- aspects.
- (fpos): New implementation. Document implementation defined
- aspects.
- * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
- explicit conversion from pos_type to off_type.
- * include/std/std_iosfwd.h: Include bits/postypes.h instead
- of bits/fpos.h.
- * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
- * testsuite/27_io/fpos/11450.cc: New test.
- * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
- * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
- * testsuite/27_io/types/3.cc: New test.
-
-2003-10-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.host: Remove fpos_include_dir.
- * configure.ac: Remove FPOS_INC_SRCDIR.
- * configure: Regenerate.
- * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
- * aclocal.m4: Regenerate.
- * include/Makefile.am (host_headers): Remove fpos.h.
- (bits_headers): Add postypes.h.
- * include/Makefile.in: Regenerate.
- * config/os/gnu-linux/fposh: Remove.
- * config/os/generic/fpos.h: Remove.
-
- * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
- * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
- * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
- * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
- * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
- * testsuite/27_io/objects/char/10.cc: Same.
-
-2003-10-16 Paolo Carlini <pcarlini@suse.de>
-
- * src/locale.cc (locale::locale(const char*)): ... one
- more comparison missed in the previous commit.
-
-2003-10-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * acconfig.h: Add HAVE_DRAND48.
- * crossconfig.m4: Remove ISATTY.
- * aclocal.m4: Regenerated.
- * config.h.in: Regenerated.
- * configure: Regenerated.
-
-2003-10-16 Bernardo Innocenti <bernie@develer.com>
-
- * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
- __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
- Document SMP safeness of asm macros.
-
-2003-10-16 Paolo Carlini <pcarlini@suse.de>
-
- * src/locale.cc (locale::locale(const char*)): Tweak
- a couple of comparisons to use basic_string operators.
-
-2003-10-16 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12540
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
- Don't leak memory if new throws.
- * src/locale.cc (locale::locale(const char*)): In order not
- to leak memory in case new throws, use a basic_string type
- for __res too and avoid strdup.
-
-2003-10-14 Jeff Bailey <jbailey@nisa.net>
-
- PR libstdc++/12562
- * crossconfig.m4: Share the config between *-linux* and *-gnu*.
- * configure: Regenerate.
-
-2003-10-14 Carlo Wood <carlo@alinoe.com>
-
- PR libstdc++/12600
- * include/bits/demangle.h (session<Allocator>::
- decode_unqualified_name(string_type& output)): Fail on a
- <operator-name> when decoding <template-argument>.
- * testsuite/demangle/regression/cw-15.cc: New.
-
-2003-10-14 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11480
- * include/bits/stl_algo.h (unique): Fix.
- * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
- * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
- * testsuite/25_algorithms/unique/2.cc: New.
-
-2003-10-14 Paolo Carlini <pcarlini@unitus.it>
-
- * src/localename.cc (_M_replace_categories, M_replace_facet):
- Const-ify a couple of variables.
-
-2003-10-14 Petur Runolfsson <peturr02@ru.is>
- Andreas Tobler <a.tobler@schweiz.ch>
-
- * src/locale.cc (locale::_S_initialize): Workaround a confusion
- of the use of the gthr API when __gthread_active_p() returns true.
-
-2003-10-12 Petur Runolfsson <peturr02@ru.is>
- Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11460
- * src/strstream.cc (pbackfail): Fix to use to_int_type.
- * testsuite/backward/11460.cc: New, from the PR.
-
-2003-10-12 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
- Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
- * include/bits/basic_string.tcc: Likewise.
- * include/bits/ios_base.h: Likewise.
- * include/bits/istream.tcc: Likewise.
- * include/bits/locale_facets.tcc: Likewise.
- * include/bits/ostream.tcc: Likewise.
- * include/bits/stl_function.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/streambuf_iterator.h
- * include/std/std_iosfwd.h: Likewise.
- * include/std/std_istream.h: Likewise.
- * include/std/std_sstream.h: Likewise.
- * include/std/std_streambuf.h: Likewise.
- * src/ios.cc: Likewise.
- * include/bits/c++config:
- Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
- dg-error directive due to removal of a blank line.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
-
-2003-10-12 Andreas Tobler <a.tobler@schweiz.ch>
- Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11844/11740 (cont)
- * config/os/generic/ctype_inline.h (ctype<char>::is):
- Generically, use a bitmasksize of 15 (instead of 10);
- Fix the logic to actually return (M & m) != 0 as per
- 22.2.1.1.2.
-
-2003-10-11 Bernardo Innocenti <bernie@develer.com>
-
- * crossconfig.m4 (*-uclinux*): New target.
- * configure: Regenerate.
-
-2003-10-10 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
- Avoid unnecessarily calling __builtin_alloca and dealing
- explicitly with width() smaller than zero.
- (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
- const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
- const char*), operator<<(basic_ostream<char, _Traits>&,
- const char*), operator<<(basic_ostream, const basic_string&)):
- Likewise.
-
-2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Make more *_type_info bits visible.
- Move new/delete bits back into GLIBCXX space.
-
- * include/bits/locale_classes.h: Move _M_id out of line, so that
- locale::id::_S_highwater can be removed from the export list.
- * src/locale.cc (locale::id::_M_id): Define.
-
-2003-10-09 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
- SPARC64.
-
-2003-10-09 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11844
- * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
- to conform to the requirements of 22.2.1.
- * config/os/bsd/freebsd/ctype_base.h: Likewise.
- * config/os/djgpp/ctype_base.h: Likewise.
- * config/os/generic/ctype_base.h: Likewise.
- * config/os/gnu-linux/ctype_base.h: Likewise.
- * config/os/hpux/ctype_base.h: Likewise.
- * config/os/irix/irix6.5/ctype_base.h: Likewise.
- * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
- * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
- * testsuite/22_locale/ctype/11844.cc: New.
-
- * config/locale/generic/ctype_members.cc (do_is):
- Generically, use a bitmasksize of 15 (instead of 10), since
- we don't know the numerical encoding of the various categories
- in the underlying /usr/include/ctype.h.
-
-2003-10-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/string-inst.cc: Prune.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
-
-2003-10-09 Petur Runolfsson <peturr02@ru.is>
-
- * src/io-inst.cc: Don't include iostream.
- * include/bits/ios_base.h (ios_base::failure): Use string.
- * src/Makefile.am: Add ios_failure.cc.
- * src/Makefile.in: Regenerate.
- * src/ios.cc: Move ios_base::failure definitions to...
- * src/ios_failure.cc: ...here. New.
-
-2003-10-09 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9874
- * include/bits/fstream.tcc (basic_filebuf::seekoff):
- Move code needed for both seekoff and seekpos...
- (basic_filebuf::_M_seek): ...here. New function.
- (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
- * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
-
- * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
-
-2003-10-08 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc: More minor cosmetic
- changes and const-ifications of some variables.
-
-2003-10-07 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc: Minor cosmetic changes
- and const-ifications of some variables.
-
- * include/bits/locale_facets.tcc
- (money_get::do_get(..., string_type&)): Simplify an if-else.
-
-2003-10-06 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11740
- * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
- Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
- * config/locale/generic/ctype_members.cc: Same.
- * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
-
-2003-10-06 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (__pad<>::_S_pad):
- Improve performance-wise: avoid one traits::copy, avoid
- the __builtin_alloca, streamline.
-
-2003-10-05 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc
- (num_put::do_put(..., bool)): Prefer ?: to if-else.
- (time_get::_M_extract_name): Qualify min with std::.
- (__pad<>::_S_pad): Constify two variables; simplify an
- if-else statement factoring out some code.
-
- * include/bits/locale_facets.tcc: Minor cosmetic changes.
-
-2003-10-04 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_float):
- Constify a couple of variables.
- (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
- ++__beg to *__beg++.
-
-2003-10-04 Paolo Carlini <pcarlini@unitus.it>
- Petur Runolfsson <peturr02@ru.is>
-
- * include/ext/stdio_sync_filebuf.h: Don't include the whole
- <fstream>, only <streambuf> and <cstdio>.
-
-2003-10-04 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/12206
- * include/bits/fstream.tcc (imbue): In case a codecvt facet
- is not available, set _M_codecvt = 0.
- * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
-
-2003-10-02 Harald Boehme <boehme@informatik.hu-berlin.de>
-
- PR libstdc++/12451
- * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
-
-2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
- * src/locale.cc: Define.
- * src/localename.cc: Use it.
- * config/locale/generic/time_members.h: Same.
- * config/locale/gnu/messages_members.h: Same.
- * config/locale/gnu/time_members.h: Same.
-
-2003-10-02 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/12232
- * include/bits/fstream.tcc (seekoff): Ignore the openmode
- argument; simplify.
- * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
- seekpos): Remove the openmode argument.
- * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
- seekpos): Remove redundant placeholder for the openmode argument.
- * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
- * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
- * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
-
-2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
- (locale::facet::_S_get_c_locale): Same.
-
-2003-10-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Export _S_get_c_locale instead of
- _S_c_locale object.
-
-2003-10-02 Petur Runolfsson <peturr02@ru.is>
-
- * config/locale/generic/c_locale.cc
- (category_names, locale::_S_categories): Const qualify.
- * config/locale/gnu/c_locale.cc: Same.
- * config/locale/generic/time_members.h (__timepunct::__timepunct):
- Copy string contents before assigning to _M_name_timepunct,
- qualify strcpy and strlen with std::.
- * config/locale/gnu/time_members.h: Same.
- * config/locale/gnu/messages_members.h (messages::messages):
- Copy string contents before assigning to _M_name_messages,
- qualify strcpy and strlen with std::.
- * config/os/gnu-linux/ctype_noninline.h
- (ctype<char>::classic_table()): Don't call locale::classic().
- * include/bits/locale_classes.h
- (locale::_S_categories): Const qualify.
- (locale::_S_once, locale::_S_initialize_once,
- locale::facet::_S_once, locale::facet::_S_initialize_once,
- locale::facet::_S_get_c_locale): Declare.
- (locale::_S_initialize): Don't define.
- (locale::facet::_S_c_locale): Make private.
- (locale::facet::_S_c_name): Same, const qualify.
- (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
- parameters, add throw() specifier.
- * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
- messages::_M_name_messages): Const qualify.
- * src/locale.cc
- (locale::_S_once, locale::facet::_S_once): Define.
- (locale::classic): Move initialization code...
- (locale::_S_initialize_once): ...here.
- (locale::_S_initialize): Call _S_initialize_once through
- __gthread_once.
- (locale::facet::_S_initialize_once): Initialize _S_c_locale.
- (locale::facet::_S_get_c_locale): Call _S_initialize_once through
- __gthread_once before returning _S_c_locale.
- * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
- Drop unused parameters, add throw() specifier, don't initialize
- locale::facet::_S_c_locale and _S_c_name.
-
- * config/locale/generic/messages_members.h:
- Replace _S_c_locale with _S_get_c_locale().
- * config/locale/gnu/c_locale.cc: Same.
- * config/locale/gnu/messages_members.h: Same.
- * config/locale/gnu/numeric_members.cc: Same.
- * config/locale/gnu/time_members.cc: Same.
- * config/os/gnu-linux/ctype_noninline.h: Same.
- * include/bits/locale_facets.h: Same.
- * include/bits/locale_facets.tcc: Same.
- * src/codecvt.cc: Same.
- * src/ctype.cc: Same.
-
-2003-10-02 Carlo Wood <carlo@alinoe.com>
-
- * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
- Decode symbols that start with _GLOBAL_[ID]_ differently: the
- trailing part ends with a terminating zero and is not necessarily an
- encoding.
- * src/demangle.cc (): Same.
- * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
-
-2003-10-02 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/locale/cons/12438.cc: Use
- __gnu_test::try_named_locale("").
-
-2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
- (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
- instead of drand48.
- * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
- * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
- HAVE_DRAND48.
- * config.h.in, configure: Regenerate.
- * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
- lrand48 use.
-
-2003-10-01 Nathan Myers <ncm@cantrip.org>
-
- * include/bits/locale_facets.tcc (time_put::put): Avoid
- expensive *__s++, in favor of *__s, ++__s.
-
-2003-10-01 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_facets.tcc (time_put::put): Minor
- tweak to the previous commit.
-
-2003-10-01 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/12439
- * include/bits/locale_facets.tcc (time_put::put): Deal
- with the three issues pointed out by the PR.
- * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
- * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
- * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
- * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
- * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
-
-2003-09-30 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_algo.h: Minor cosmetic reformattings.
-
-2003-09-30 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_algo.h (search_n): Tweak, to spare the
- first --__n.
-
-2003-09-30 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/locale/cons/12352.cc: Explicitly
- qualify exception name.
-
-2003-09-30 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/12438
- * include/bits/locale_facets.tcc (locale::combine): Don't
- leak memory if _M_replace_facet throws.
- * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
-
- * include/bits/locale_classes.h (locale::locale(const locale&,
- _Facet*)): Tweak, use consistently _M_remove_reference.
-
-2003-09-30 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/12352 (cont)
- * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
- Don't leak __cloc; don't leak if any of the _M_init_facet(...)
- calls fail.
- (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
- (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
- !_M_caches, !_M_names.
-
-2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * configure.host: Handle Solaris 2.5 micro releases explicitly.
- Remove wildcards from Solaris 2.6, 7-9: there were no
- micro releases.
- Treat Solaris 10 and up like 7-9.
-
-2003-09-29 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_algo.h (search_n): Improve the previous
- fix as suggested by Martin.
-
-2003-09-29 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/12296
- * include/bits/istream.tcc (peek): Set eofbit if sgetc
- returns eof.
- * testsuite/27_io/basic_istream/peek/char/12296.cc:
- New, from the PR.
-
-2003-09-29 Nathan Myers <ncm@cantrip.org>
- Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11400
- * include/bits/stl_algo.h (search_n):
- Use iterator_traits<>::difference_type for __n.
- * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
-
-2003-09-29 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/locale/cons/12352.cc:
- Use __attribute__((unused)) for test.
-
-2003-09-26 Ulrich Weigand <uweigand@de.ibm.com>
-
- * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
- "Son" or "So" as abbreviated name for Sunday in de_DE locale.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
-
-2003-09-26 Brad Spencer <spencer@infointeractive.com>
-
- * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
- Explicitly qualify exceptions.
- * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
- * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
- * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
- * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
-
-2003-09-25 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/12352
- * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
- size_t)): Don't leak if memory allocations for _M_facets,
- _M_caches, and _M_names fail.
- (locale::_Impl::_Impl(const char*, size_t)): Ditto.
- (locale::_Impl::_M_replace_categories(const _Impl*,
- category)): Ditto.
- (locale::_Impl::_M_install_facet(const locale::id*,
- const facet*)): Ditto.
- * include/bits/locale_classes.h (locale::locale(const locale&,
- _Facet*)): Don't leak memory.
- * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
-
- * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
- bool)): Qualify with std:: strcpy, tweak.
- * include/bits/locale_classes.h
- (locale::_Impl::_M_check_same_name): Qualify strcmp.
-
-2003-09-25 Brad Spencer <spencer@infointeractive.com>
-
- PR libstdc++/6072
- * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
- wcstof, iswblank.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * crossconfig.m4: Add in wchar_t bits for solaris crosses.
- * config/io/basic_file_stdio.cc: Guard unistd.h.
- * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
- * include/c_std/std_cwchar.h: Same.
- * include/c_std/std_cwctype.h: Same.
-
-2003-09-25 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/11065
- * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
- * config/locale/generic/ctype_members.cc: Same.
- * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
- * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
-
- * config/os/generic/ctype_inline.h: Update.
-
-2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
-
- * src/Makefile.am (version_dep): New variable.
- (libstdc___la_DEPENDENCIES): Use it to add dependency on
- libstdc++-symbol.ver only when using symbol versioning.
- * src/Makefile.in: Regenerate.
-
-2003-09-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc: Tweak to avoid warnings.
- * testsuite/testsuite_hooks.h: Same.
- * testsuite/*/*.cc: Same.
-
-2003-09-22 Petur Runolfsson <peturr02@ru.is>
-
- * include/bits/istream.tcc (basic_istream::read,
- basic_istream::readsome, basic_istream::putback,
- basic_istream::unget, operator>>(basic_istream, CharT)):
- Avoid redundant setstate(failbit) calls when sentry::operator bool()
- returns false.
-
-2003-09-22 Carlo Wood <carlo@alinoe.com>
-
- PR libstdc++/12365
- * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
- char const*, int, int)): Remove unused identifier
- cv_qualifier for overloaded constructor.
-
-2003-09-18 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/11504
- * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
- WARN_FLAGS, remove -Wno-format.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2003-09-18 Petur Runolfsson <peturr02@ru.is>
-
- * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
- * config/io/basic_file_stdio.h: Same.
- * include/std/std_fstream.h (__ctype_type): Delete.
- * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
-
-2003-09-17 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/12239
- * configure.host (abi_baseline_pair): Error out on solaris2
- configurations without a minor version number.
-
-2003-09-13 Phil Edwards <phil@codesourcery.com>
-
- * docs/doxygen/run_doxygen: Clear GENERATE_TAGFILE entirely
- if man pages are on.
- * docs/doxygen/user.cfg.in: And here.
-
-2003-09-10 Daniel Jacobowitz <drow@mvista.com>
- Andreas Jaeger <aj@suse.de>
-
- PR libstdc++/12189
- * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
- abi_check if cross compiling.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
-2003-09-10 Jeffrey D. Oldham <oldham@codesourcery.com>
-
- * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
- NULL, return NULL. This reflects a C++ ABI change 2003 Sep 05.
- (__cxa_vec_new3): Likewise.
-
-2003-09-10 Petur Runolfsson <peturr02@ru.is>
-
- * include/bits/fstream.tcc (basic_filebuf::seekoff):
- Use codecvt::length to handle variable-width stateless encodings
- correctly.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
-
-2003-09-10 Alan Modra <amodra@bigpond.net.au>
-
- * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
- rather than or'ing.
-
-2003-09-09 Alan Modra <amodra@bigpond.net.au>
-
- * configure: Regenerate.
-
-2003-09-09 David Edelsohn <edelsohn@gnu.org>
-
- * src/ios.cc (ios_base::Init::Init): Remove unnecessary
- qualifier from _S_synced_with_stdio.
-
-2003-09-09 Bernardo Innocenti <bernie@develer.com>
-
- * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
-
-2003-09-04 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9028
- * include/bits/fstream.tcc
- (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
- (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
- _M_ext_buf_size, _M_ext_next and _M_ext_end.
- (basic_filebuf::underflow): Handle variable-width stateless
- encodings (codecvt::encoding() == 0), including UTF-8.
- * include/std/std_fstream.h (basic_filebuf):
- Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
- * testsuite/27_io/objects/wchar_t/12.cc: New test.
- * testsuite/27_io/objects/wchar_t/13.cc: New test.
-
-2003-09-04 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/faq/index.html: Note that a namespace alias can't be
- used when specialising templates in extension namespace.
- * docs/html/faq/index.txt: Regenerate.
-
-2003-09-03 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/12048
- * include/ext/stdio_sync_filebuf.h
- (stdio_sync_filebuf::_M_unget_buf): Declare it.
- (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
- (stdio_sync_filebuf::uflow): Store the returned character in
- _M_unget_buf.
- (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
- _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
- (stdio_sync_filebuf<char>::xsgetn): Store last read character in
- _M_unget_buf, if any, else eof().
- (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
- _M_unget_buf, if any, else eof().
- * testsuite/27_io/objects/char/12048.cc: Rename to...
- * testsuite/27_io/objects/char/12048-1.cc: ...this.
- * testsuite/27_io/objects/char/12048-2.cc: New test.
- * testsuite/27_io/objects/char/12048-3.cc: New test.
- * testsuite/27_io/objects/char/12048-4.cc: New test.
- * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
- * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
- * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
- * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
- * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
- * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
- * testsuite/ext/stdio_sync_filebuf_char.cc
- (test02, test03, test04, test05): New tests.
- * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
- (test02, test03, test04, test05): New tests.
-
-2003-09-03 Petur Runolfsson <peturr02@ru.is>
-
- * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
- stringbuf or strstreambuf. Fix typos.
-
-2003-09-02 Phil Edwards <phil@codesourcery.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED
- appropriately.
- * config.h.in: Add _GLIBCXX_HOSTED.
- * libsupc++/eh_term_handler.cc: Test it here; initialize
- __terminate_handler to std::abort if freestanding.
- * aclocal.m4, configure: Regenerated.
- * docs/html/configopts.html: Document --disable-hosted-libstdcxx.
-
-2003-08-29 Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/11990
- * include/bits/locale_facets.tcc (__pad): delete dead code.
-
-2003-08-28 Alan Modra <amodra@bigpond.net.au>
-
- * configure.ac: Test $with_cross_host against $build_alias, not $build.
- * configure: Regenerate.
-
-2003-08-27 Petur Runolfsson <peturr02@ru.is>
-
- * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
- * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
-
-2003-08-27 Phil Edwards <pme@gcc.gnu.org>
-
- * Makefile.am: Remove trailing whitespace. Remove needless
- "foo = @foo@" assignments. Replace direct uses of @foo@ with $(foo).
- * include/Makefile.am: Likewise.
- * libmath/Makefile.am: Likewise.
- * libsupc++/Makefile.am: Likewise.
- * po/Makefile.am: Likewise.
- * src/Makefile.am: Likewise.
- * testsuite/Makefile.am: Likewise.
-
- * Makefile.in, include/Makefile.in, libmath/Makefile.in,
- libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
- testsuite/Makefile.in: Regenerated.
-
-2003-08-27 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Change quoting of
- includedir.
- * aclocal.m4, configure: Regenerate.
-
-2003-08-27 Daniel Jacobowitz <drow@mvista.com>
-
- * acinclude.m4: Include no-executables.m4.
- * configure.ac: Uncomment GCC_NO_EXECUTABLES.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
-2003-08-27 Daniel Jacobowitz <drow@mvista.com>
-
- * acinclude.m4: Don't call AC_ISC_POSIX.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
-2003-08-27 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_CONDITIONAL): New macro. Wrap
- AM_CONDITIONAL. Replace all calls to AM_CONDITIONAL with this one.
- (GLIBCXX_ENABLE_HOSTED): New macro, sets new variable is_hosted,
- used elsewhere in this file.
- (GLIBCXX_EVALUATE_CONDITIONALS): New macro...
- * configure.ac: ...called here to expand all conditionals.
- * Makefile.am: Conditionalize SUBDIRS on GLIBCXX_HOSTED.
- * include/Makefile.am: Remove redundant gxx_include_dir assignment.
- (install-freestanding-headers): New target, a subset of
- install-headers. Conditionalize install-data-local on GLIBCXX_HOSTED.
-
- * aclocal.m4, configure, Makefile.in, include/Makefile.in,
- libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
- src/Makefile.in, testsuite/Makefile.in: Regenerated.
-
-2003-08-26 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/run_doxygen: Shell fixes. Remove hardcoded local
- pathnames from generated tag file.
-
-2003-08-26 Phil Edwards <pme@gcc.gnu.org>
-
- * Makefile.am: Add comment.
- * acinclude.m4 (GLIBCXX_CONFIGURE): Set new glibcxx_SUBDIRS and
- SUBDIRS variables.
- * configure.ac: Use them both here, instead of hardcoded lists.
-
- * fragment.am: Add STAMP varaible.
- * include/Makefile.am: Cosmetic whitespace cleanup. Use $(LN_S)
- instead of @LN_S@.
- (stamp-*): Move file creation rule outside of 'if' branches to
- ensure the stamp-* files are actually updated. Use $(STAMP).
- * src/Makefile.am: Remove now-nonexistant variable.
- * libsupc++/Makefile.am: Likewise. Snap the assignment chain
- for -prefer-pic.
- * po/Makefile.am: Include same fragment as all the others.
-
- * aclocal.m4, configure, Makefile.in, include/Makefile.in,
- libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in: Regenerated.
-
-2003-08-26 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/data/cin_unget-1.txt: New.
- * testsuite/27_io/objects/char/12048.cc: New.
-
-2003-08-25 Zack Weinberg <zack@codesourcery.com>
-
- * config/os/hpux/os_defines.h: Unconditionally define
- _GLIBCXX_GTHREAD_USE_WEAK to 0.
-
-2003-08-19 Geoffrey Keating <geoffk@apple.com>
-
- * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
- crosses to Darwin targets.
- * configure: Regenerate.
-
-2003-08-19 Petur Runolfsson <peturr02@ru.is>
-
- * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
-
-2003-08-17 Phil Edwards <pme@gcc.gnu.org>
-
- * configure.ac: GCC_NO_EXECUTABLES was supposed to be commented
- in the patch from 3 minutes ago. Boy, is my face red.
- * configure: At least I remembered to regenerate this.
-
-2003-08-17 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES
- and LIBSUPCXX_INCLUDES. Re-purpose TOPLEVEL_INCLUDES to refer to
- things from the top level.
- * configure.ac (GLIBCXX_IS_NATIVE): Determine earlier and re-order.
- Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
- (currently unused). Strip the fake-VPATH shell fragment from
- automake-generated rules, if present.
- * linkage.m4: Add comment.
-
- * fragment.am: New file, containing factored-out common settings.
- (AM_CPPFLAGS): Absorb the deprecated INCLUDES variable contents.
- * Makefile.am: Include fragment.am. Remove common variables.
- * include/Makefile.am: Likewise.
- * libmath/Makefile.am: Likewise.
- * libsupc++/Makefile.am: Likewise.
- * po/Makefile.am: Likewise. Print rules during check.
- * src/Makefile.am: Likewise.
- * testsuite/Makefile.am: Likewise.
-
- * aclocal.m4, configure, Makefile.in, include/Makefile.in,
- libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
- src/Makefile.in, testsuite/Makefile.in: Regenerate.
-
-2003-08-11 John Levon <levon@movementarian.org>
-
- * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
- remaining places for the name change from GLIBCPP_FORCE_NEW
- to GLIBCXX_FORCE_NEW
-
-2003-08-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
- typedefs to num_*.
- * include/bits/basic_ios.tcc: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/locale_facets.h: Same.
- * include/bits/ostream.tcc: Same.
- * include/std/std_istream.h: Same.
- * include/std/std_ostream.h: Same.
- * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
-
- * include/ext/rope: Remove build warning.
-
-2003-08-11 Andreas Jaeger <aj@suse.de>
-
- * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
- to make SMP-safe.
- * include/Makefile.in: Regenerated.
-
-2003-08-11 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_CONFIGURE): Unprecious CC and CFLAGS
- when calling AC_PROG_CC.
- * aclocal.m4, configure: Regenerate.
-
-2003-08-11 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4: Properly quote variable which will be expanded
- inside makefiles. Use CXX instead of CC to extract compiler info.
- * configure.ac (AC_INIT): Use the new 4-arg form to finally get the
- correct form in PACKAGE.
- * aclocal.m4, configure: Regenerate.
-
-2003-08-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
- (check-abi-verbose): Same.
- * testsuite/testsuite_performance.h (report_performance): Same.
-
-2003-08-08 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
-
-2003-08-07 Doug Gregor <dgregor@apple.com>
-
- * include/bits/char_traits.h (char_traits::not_eof): Match operand
- types in ? :.
-
-2003-08-07 Bernardo Innocenti <bernie@develer.com>
-
- PR libstdc++/11784
- * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
- Replace variants with new BSET-based version.
-
-2003-08-07 Carlo Wood <carlo@alinoe.com>
-
- * include/bits/demangle.h: Do not use cctype functions that depend
- on locale.
-
-2003-08-05 Phil Edwards <pme@gcc.gnu.org>
-
- * configure.in: Rename...
- * configure.ac: ...to this.
- * docs/html/17_intro/porting.texi: Update name.
-
- * docs/html/17_intro/porting.html: Regenerate.
- * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
- libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
- testsuite/Makefile.in: Regenerate (picks up new dependancy).
-
-2003-08-05 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Put down the crack
- pipe, open the window to let out the fumes, redo the option-handling
- logic to properly execute the detection test.
- * aclocal.m4, configure: Regenerate.
-
-2003-08-04 Phil Edwards <pme@gcc.gnu.org>
-
- Convert to new autotools.
- * acconfig.h: Update with correct names.
- * configure.host (ATOMICITYH): Rename to atomicity_include_dir.
- (qnx6.[12]*): 'q' comes before 's', not after 'w'.
- * configure.in: Update. Split hardcoded cross-configury settings
- out to...
- * crossconfig.m4: ...here. New file. Contents untouched.
- * acinclude.m4: Reorganize and rewrite as needed. Split large
- chunks out to...
- * linkage.m4: ...here. New file. Math and stdlib linkage tests.
- Contents untouched.
- * scripts/testsuite_flags.in: Update.
-
- * Makefile.am: Remove unneeded AUTOMAKE_OPTIONS settings and other
- variables (already generated by automake).
- * include/Makefile.am: Ditto.
- * libmath/Makefile.am: Ditto.
- * libsupc++/Makefile.am: Ditto.
- * po/Makefile.am: Ditto.
- * src/Makefile.am: Ditto.
-
- * aclocal.m4: Regenerate using new versions.
- * config.h.in: Ditto.
- * configure: Ditto.
- * Makefile.in: Ditto.
- * include/Makefile.in: Ditto.
- * libmath/Makefile.in: Ditto.
- * libsupc++/Makefile.in: Ditto.
- * po/Makefile.in: Ditto.
- * src/Makefile.in: Ditto.
- * testsuite/Makefile.in: Ditto.
-
-2003-08-04 Phil Edwards <pme@gcc.gnu.org>
-
- * po/libstdc++.pot: Re-extract/regenerate.
-
-2003-08-04 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
- Remove unneeded variable assignments. Leave them for automake.
- * testsuite/lib/libstdc++-v3.exp: Rename...
- * testsuite/lib/libstdc++.exp: ...to this. Adjust function names
- accordingly.
- * testsuite/libstdc++-v3.dg/dg.exp: Rename...
- * testsuite/libstdc++-dg/normal.exp: ...to this. Adjust function
- names accordingly.
-
-2003-08-04 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/guide.html: run_doxygen uses bash.
- * docs/doxygen/mainpage.html: We'll be shipping tag files.
- * docs/doxygen/run_doxygen: Tweaks and improvements.
- * docs/doxygen/user.cfg.in: Set GENERATE_TAGFILE.
- * docs/html/install.html: Update autoconf/automake requirements.
- * docs/html/test.html: Add section describing DejaGNU support.
- * docs/html/17_intro/confdeps.dot: New file, generates...
- * docs/html/17_intro/confdeps.png: ...this new file.
- * docs/html/Makefile: Generated here.
- * docs/html/17_intro/configury.html: New file.
-
-2003-07-31 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/lib/libstdc++-v3-dg.exp: Rename...
- * testsuite/lib/libstdc++-v3.exp: ...to this.
- * testsuite/libstdc++-v3.dg/dg.exp: No special case needed now.
-
-2003-07-31 Doug Gregor <dgregor@apple.com>
-
- Add user specialization tests.
- * testsuite/23_containers/deque/1.cc: New.
- * testsuite/23_containers/list/1.cc: New.
- * testsuite/23_containers/map/1.cc: New.
- * testsuite/23_containers/multimap/1.cc: New.
- * testsuite/23_containers/multiset/1.cc: New.
- * testsuite/23_containers/set/1.cc: New.
- * testsuite/23_containers/vector/1.cc: New.
-
-2003-07-31 Benjamin Kosnik <bkoz@redhat.com>
-
- Reshuffle 23_containers testsuite.
- * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
- bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
- list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
- map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
- set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
- vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
- vector_resize.cc: Split into...
- * 23_containers/bitset/cons/1.cc: New.
- * 23_containers/bitset/cons/6282.cc: New.
- * 23_containers/bitset/count/6124.cc: New.
- * 23_containers/bitset/operations/1.cc: New.
- * 23_containers/bitset/operations/2.cc: New.
- * 23_containers/bitset/test/1.cc: New.
- * 23_containers/bitset/to_ulong/1.cc: New.
- * 23_containers/deque/cons/1.cc: New.
- * 23_containers/deque/cons/2.cc: New.
- * 23_containers/deque/operators/1.cc: New.
- * 23_containers/list/capacity/1.cc: New.
- * 23_containers/list/cons/1.cc: New.
- * 23_containers/list/cons/2.cc: New.
- * 23_containers/list/cons/3.cc: New.
- * 23_containers/list/cons/4.cc: New.
- * 23_containers/list/cons/5.cc: New.
- * 23_containers/list/cons/6.cc: New.
- * 23_containers/list/cons/7.cc: New.
- * 23_containers/list/cons/8.cc: New.
- * 23_containers/list/cons/9.cc: New.
- * 23_containers/list/modifiers/1.cc: New.
- * 23_containers/list/modifiers/2.cc: New.
- * 23_containers/list/modifiers/3.cc: New.
- * 23_containers/list/operators/1.cc: New.
- * 23_containers/list/operators/2.cc: New.
- * 23_containers/list/operators/3.cc: New.
- * 23_containers/list/operators/4.cc: New.
- * 23_containers/map/insert/1.cc: New.
- * 23_containers/map/operators/1.cc: New.
- * 23_containers/map/operators/1_neg.cc: New.
- * 23_containers/multiset/insert/1.cc: New.
- * 23_containers/priority_queue/members/7161.cc: New.
- * 23_containers/queue/members/7157.cc: New.
- * 23_containers/set/operators/1_neg.cc: New.
- * 23_containers/stack/members/7158.cc: New.
- * 23_containers/vector/bool/1.cc: New.
- * 23_containers/vector/bool/6886.cc: New.
- * 23_containers/vector/capacity/1.cc: New.
- * 23_containers/vector/capacity/2.cc: New.
- * 23_containers/vector/capacity/8230.cc: New.
- * 23_containers/vector/cons/1.cc: New.
- * 23_containers/vector/cons/2.cc: New.
- * 23_containers/vector/cons/3.cc: New.
- * 23_containers/vector/cons/4.cc: New.
- * 23_containers/vector/cons/6513.cc: New.
- * 23_containers/vector/element_access/1.cc: New.
- * 23_containers/vector/modifiers/1.cc: New.
- * 23_containers/vector/modifiers/2.cc: New.
- * 23_containers/vector/resize/1.cc: New.
-
-2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
- dg-options.
- * testsuite/thread/pthread2.cc: Likewise.
- * testsuite/thread/pthread3.cc: Likewise.
- * testsuite/thread/pthread4.cc: Likewise.
- * testsuite/thread/pthread5.cc: Likewise.
- * testsuite/thread/pthread6.cc: Likewise.
- * testsuite/thread/pthread7-rope.cc: Likewise.
-
-2003-07-30 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/c++config: Partial reversion (comment placement) of
- previous patch.
-
-2003-07-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
- (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
- (_GLIBCXX_AT_AT): Remove.
- (__USE_MALLOC): Remove.
- * include/std/std_fstream.h: Modify.
- * include/bits/basic_ios.h: Same.
- * include/bits/valarray_array.h: Same.
- * include/c_std/std_cmath.h: Same.
- * include/c_std/cmath.tcc: Same.
- * include/std/std_vector.h: Same.
- * include/std/std_string.h: Same.
- * include/std/std_stack.h: Same.
- * include/std/std_queue.h: Same.
- * include/std/std_list.h: Same.
- * include/std/std_deque.h: Same.
- * include/std/std_streambuf.h: Same.
- * include/std/std_sstream.h: Same.
- * include/std/std_ostream.h: Same.
- * include/std/std_istream.h: Same.
- * include/bits/valarray_array.tcc: Same, format.
-
- * include/c/std_cctype.h: Fix include guards.
- * include/c/std_cerrno.h: Same.
- * include/c/std_cfloat.h: Same.
- * include/c/std_climits.h: Same.
- * include/c/std_clocale.h: Same.
- * include/c/std_cmath.h: Same.
- * include/c/std_csetjmp.h: Same.
- * include/c/std_csignal.h: Same.
- * include/c/std_cstdarg.h: Same.
- * include/c/std_cstddef.h: Same.
- * include/c/std_cstdio.h: Same.
- * include/c/std_cstdlib.h: Same.
- * include/c/std_cstring.h: Same.
- * include/c/std_ctime.h: Same.
- * include/c/std_cwchar.h: Same.
- * include/c/std_cwctype.h: Same.
- * include/c_std/cmath.tcc: Same.
- * include/c_std/std_cmath.h: Same.
-
-2003-07-30 Gawain Bolton <gp.bolton@computer.org>
-
- PR libstdc++/11504.
- * include/bits/stl_tree.h: Replace C-style casts with C++-style
- casts. Changes to avoid casting away constness. Eliminate
- _Rb_tree_base_iterator class. Change _Rb_tree_iterator to use
- initialization lists. Move out implementation of __black_count()
- to...
- * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
- Rename_Rb_tree_base_iterator::_M_increment() to
- _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
- _Rb_tree_decrement.
- * config/linker-map.gnu: Add and change symbols here.
-
-2003-07-30 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/22_locale/howto.html: Use locale::classic() instead
- of locale("C").
-
-2003-07-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_hooks.h: Remove list include.
- (func_callback): Define as unique type, not std::list.
- Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
- * testsuite/libstdc++-v3.dg/dg.exp: Same.
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
- * testsuite/23_containers/bitset_ctor.cc:
- * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
- * testsuite/18_support/numeric_limits.cc: Same.
- * testsuite/21_strings/basic_string/append/char/1.cc: Same.
- * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
- * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
- * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
- * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
- * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
- * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
- * testsuite/21_strings/basic_string/find/char/1.cc: Same.
- * testsuite/21_strings/basic_string/find/char/2.cc: Same.
- * testsuite/21_strings/basic_string/find/char/3.cc: Same.
- * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
- * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
- * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
- * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
- * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
- * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
- * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
- * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
- * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
- * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
- * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
- * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
- * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
- * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
- * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
- * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
- * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
- * testsuite/23_containers/bitset_ctor.cc: Same.
- * testsuite/23_containers/bitset_shift.cc: Same.
- * testsuite/23_containers/vector_ctor.cc: Same.
- * testsuite/23_containers/vector_element_access.cc: Same.
- * testsuite/24_iterators/istreambuf_iterator.cc: Same.
- * testsuite/24_iterators/iterator.cc: Same.
- * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
- * testsuite/25_algorithms/lower_bound.cc: Same.
- * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
- Same.
-
-2003-07-28 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
- docs/html/test.html, docs/html/17_intro/headers_cc.txt,
- docs/html/17_intro/howto.html, docs/html/ext/howto.html: Change
- GLIBCPP to GLIBCXX (and explain as needed).
-
-2003-07-28 Phil Edwards <pme@gcc.gnu.org>
-
- * README: Update.
-
-2003-07-28 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/22_locale/messages/members/char/1.cc,
- testsuite/22_locale/messages/members/char/2.cc,
- testsuite/22_locale/messages/members/char/3.cc,
- testsuite/22_locale/messages_byname/1.cc: Update comment regarding
- the origin of LOCALEDIR.
- * testsuite/lib/libstdc++-v3.exp: New file.
-
-2003-07-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/char_traits.h: Update copyright, tweak.
- * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
- std types.
-
-2003-07-24 Matt Austern <austern@apple.com>
-
- * /include/bits/char_traits.h (class char_traits): Put all the
- real work into the new class template __gnu_cxx::char_traits.
- Gave generic definitions for member functions. Types are taken
- from the new class template __gnu_cxx::_Char_types.
- * testsuite/21_strings/char_traits/requirements/short/1.cc: New
- file. Test of std::char_traits<short>, which serves as a test of
- the char_traits primary template.
-
-2003-07-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/*: Change __gnu_cxx_test to __gnu_test.
-
-2003-07-24 Nathan Myers <ncm-nospam@cantrip.org>
-
- * testsuite/23_containers/map_operators.cc: Conform to
- container requirement as value must be Assignable.
-
-2003-07-23 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
- tests not only generation of pch files, but also their use.
- * aclocal.m4, configure: Rebuilt.
-
-2003-07-23 Steve Ellcey <sje@cup.hp.com>
-
- * config/cpu/hppa/atomicity.h: Change
- _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
- to match misc-inst.cc
-
-2003-07-23 Steve Ellcey <sje@cup.hp.com>
-
- * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
- * include/c_std/std_cctype.h: Ditto.
- * include/c_std/std_cerrno.h: Ditto.
- * include/c_std/std_cfloat.h: Ditto.
- * include/c_std/std_climits.h: Ditto.
- * include/c_std/std_clocale.h: Ditto.
- * include/c_std/std_cmath.h: Ditto.
- * include/c_std/std_csetjmp.h: Ditto.
- * include/c_std/std_csignal.h: Ditto.
- * include/c_std/std_cstdarg.h: Ditto.
- * include/c_std/std_cstddef.h: Ditto.
- * include/c_std/std_cstdio.h: Ditto.
- * include/c_std/std_cstdlib.h: Ditto.
- * include/c_std/std_cstring.h: Ditto.
- * include/c_std/std_ctime.h: Ditto.
- * include/c_std/std_cwchar.h: Ditto.
- * include/c_std/std_cwctype.h: Ditto.
- * include/std/std_algorithm.h: Ditto.
- * include/std/std_bitset.h: Ditto.
- * include/std/std_complex.h: Ditto.
- * include/std/std_deque.h: Ditto.
- * include/std/std_fstream.h: Ditto.
- * include/std/std_functional.h: Ditto.
- * include/std/std_iomanip.h: Ditto.
- * include/std/std_ios.h: Ditto.
- * include/std/std_iosfwd.h: Ditto.
- * include/std/std_iostream.h: Ditto.
- * include/std/std_istream.h: Ditto.
- * include/std/std_iterator.h: Ditto.
- * include/std/std_limits.h: Ditto.
- * include/std/std_list.h: Ditto.
- * include/std/std_locale.h: Ditto.
- * include/std/std_map.h: Ditto.
- * include/std/std_memory.h: Ditto.
- * include/std/std_numeric.h: Ditto.
- * include/std/std_ostream.h: Ditto.
- * include/std/std_queue.h: Ditto.
- * include/std/std_set.h: Ditto.
- * include/std/std_sstream.h: Ditto.
- * include/std/std_stack.h: Ditto.
- * include/std/std_stdexcept.h: Ditto.
- * include/std/std_streambuf.h: Ditto.
- * include/std/std_string.h: Ditto.
- * include/std/std_utility.h: Ditto.
- * include/std/std_valarray.h: Ditto.
- * include/std/std_vector.h: Ditto.
-
-2003-07-22 Doug Gregor <dgregor@apple.com>
-
- * include/bits/basic_string.h (basic_string::insert): Deprecate
- GNU extension.
-
-2003-07-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/testsuite_flags.in (--build-includes): Remove extraneous
- paths for libio.
- * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
- (test03): Include typeinfo for bad_cast.
- * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
- * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
- * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
-
-2003-07-21 Doug Gregor <dgregor@apple.com>
-
- * include/bits/boost_concept_check.h:
- (_EqualityComparableConcept::__constraints): Remove != from the
- list of constraints; it is not listed in Table 28 of the C++98
- standard.
-
-2003-07-18 Andreas Jaeger <aj@suse.de>
-
- * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
- * config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
- * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
- * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
-
-2003-07-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
- * config/locale/generic/messages_members.h: Tweaks.
- * config/locale/generic/monetary_members.cc
- (moneypunct::_M_initialize_moneypunct): Use cache.
- (moneypunct::~moneypunct): Delete cache.
- * config/locale/generic/time_members.cc:
- (__timepunct::_M_initialize_timepunct): Use cache.
- * config/locale/generic/time_members.h:
- (__timepunct::~__timepunct): Delete cache.
- (__timepunct::__timepunct): Set cache.
- * config/locale/gnu/messages_members.h: Tweaks.
- * config/locale/gnu/monetary_members.cc:
- (moneypunct::_M_initialize_moneypunct): Use cache.
- (moneypunct::~moneypunct): Delete cache.
- * config/locale/gnu/time_members.cc:
- (__timepunct::_M_initialize_timepunct): Use cache.
- * config/locale/gnu/time_members.h:
- (__timepunct::~__timepunct): Delete cache.
- (__timepunct::__timepunct): Set cache.
- * include/bits/locale_facets.h (__timepunct_cache): New.
- (__moneypunct_cache): New.
- * include/bits/locale_facets.tcc: Tweak.
- * src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
- * src/locale-inst.cc: Instantiate caches.
- * src/globals.cc: Add "C" caches.
- * src/localename.cc: Use external "C" caches.
-
-2003-07-17 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/guide.html: Fix typo.
-
-2003-07-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pod_char_traits.h: Add state template argument.
-
-2003-07-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
- (num_get::_M_convert_int): To _M_insert_int.
- (num_get::_M_convert_float): To _M_insert_float.
- * include/bits/locale_facets.tcc (num_get::_M_extract_float):
- Use caches for ctype, num_get.
- (num_get::_M_extract_int): Same.
- (num_get::get(bool)): Same.
- (__verify_grouping): Use size_t.
- * src/locale-inst.cc: Update.
- * src/locale.cc: Adjust _S_atoms_in.
-
-2003-07-16 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/mainpage.html: Move building/writing instructions...
- * docs/doxygen/guide.html: ...to here. New file.
-
-2003-07-16 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/ext/howto.html: Update URL for SGI STL docs.
- * docs/html/faq/index.html: Same.
- * docs/html/faq/index.txt: Regenerate.
-
-2003-07-16 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11528
- * include/bits/locale_facets.tcc (money_get::do_get):
- Strip only _leading_ zeros.
- * testsuite/22_locale/money_get/get/char/11528.cc: Add.
- * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
-
-2003-07-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * include/ext/hash_map (class hash_multimap): Remove extra
- semicolons from __glibcxx_class_requires3 entries.
- * include/ext/hash_set (class hash_set): Ditto.
- (class hash_multiset): Ditto.
-
-2003-07-15 Petur Runolfsson <peturr02@ru.is>
-
- * include/bits/char_traits.h (char_traits<wchar_t>::move):
- Change last parameter from int_type to size_t.
-
-2003-07-15 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/stl_algo.h (includes, set_union, set_intersection,
- set_difference, set_symmetric_difference, max_element, min_element,
- next_permutation, prev_permutation, find_first_of, find_end):
- Document.
- * include/bits/stl_algobase.h (copy,copy_backward): Clarify overlap
- restrictions in docs.
- * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
- Document.
- * docs/doxygen/doxygroups.cc (setoperations): New group.
-
-2003-07-15 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/basic_string.h: Document public functions.
- * docs/doxygen/TODO: Update c21 todo.
-
-2003-07-15 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/stl_list.h: Document more functions.
- * docs/doxygen/TODO: Update c23 todo.
-
-2003-07-14 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/gnu/c_locale.h (__convert_from_v): One more
- qualification.
-
-2003-07-14 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_tempbuf.h: Qualify free with std::.
- * src/locale.cc: Include <cstdlib>, qualify getenv.
-
-2003-07-14 Paolo Carlini <pcarlini@unitus.it>
-
- * config/locale/gnu/c_locale.h (__convert_from_v): Include
- <cstdio>. Qualify names.
- * config/locale/generic/c_locale.h (__convert_from_v): Ditto.
-
-2003-07-14 Paolo Carlini <pcarlini@unitus.it>
- Nathan C. Myers <ncm-nospam@cantrip.org>
-
- PR libstdc++/11378
- * include/std/std_fstream.h (xsputn): Declare only.
- * include/bits/fstream.tcc (xsputn): Define, optimize for the
- always_noconv() case: when __n is sufficiently large flush
- the buffer and issue a direct write, if possible combining the
- two with writev in __basic_file<>::xsputn_2.
- * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
- New, declare.
- * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
- Define.
- * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
- the availability of writev in <sys/uio.h>.
- * configure.in: Call here.
- * acconfig.h: Add undef for the corresponding symbol.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
-
- * include/std/std_fstream.h (sync): Constify a variable.
-
-2003-07-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
-
-2003-07-14 Gabriel Dos Reis <gcc@integrable-solutions.net>
-
- * config/locale/gnu/c_locale.h (__convert_from_v): Include
- <cstring> and <cstdlib>. Qualify names.
-
-2003-07-13 Mark Mitchell <mark@codesourcery.com>
-
- * config/locale/generic/c_locale.h: Include <cstdlib> and
- <cstring>.
- * include/bits/boost_concept_check.h: Add this-> to unqualified
- method calls.
- * include/bits/deque.tcc: Likewise.
- * include/bits/locale_facets.h : Likewise.
- * include/bits/ostream.tcc: Likewise.
- * include/bits/stl_algo.h: Likewise.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/vector.tcc: Likewise.
- * include/ext/rope: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/stdio_filebuf.h: Likewise.
-
-2003-07-11 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/basic_ios.h (copyfmt): Document.
- * include/bits/ios_base.h (event, event_callback, register_callback,
- xalloc, iword, pword): Document.
- (imbue, ~ios_base): Update docs on callbacks.
-
-2003-07-11 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments. Add
- warning messages if the environment cannot support symbol versioning.
- (port_specific_symbol_file): It's plural, add an 's' on the end.
- * configure.host: Likewise.
- * src/Makefile.am: Likewise.
- * config/linker-map.gnu: Remove one semicolon, heh.
- * scripts/extract_symvers: Don't assume useful 'export' syntax.
- Set LANG as well as LC_ALL for possibly-broken sort(1)s.
- * aclocal.m4, configure, src/Makefile.in: Regenerated.
-
-2003-07-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc: Use function object for
- __use_cache instead of template function. Partially specialize for
- __numpunct<_CharT>.
- * include/bits/locale_classes.h: Update friend declaration for
- __use_cache.
- (_M_install_cache): No throw exception specs.
- * src/locale.cc: Remove __use_cache specializations.
- * include/ext/pod_char_traits.h (length): Tweak.
- * include/bits/locale_facets.h (__numpunct_cache): Remove
- char_type typedef.
- * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
- (pod_long): Remove.
- * testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
- * testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
- * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
- * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
- * testsuite/22_locale/numpunct/members/pod/1.cc: New.
- * testsuite/22_locale/numpunct/members/pod/2.cc: New.
-
-2003-07-09 Jerry Quinn <jlquinn@optonline.net>
-
- * src/ios.cc (_M_grow_words): Fix spelling.
-
-2003-07-09 Gawain Bolton <gp.bolton@computer.org>
-
- * include/bits/stl_tree.h: Move larger member functions in
- _Rb_tree_base_iterator and _Rb_tree_node to...
- * src/stl_tree.cc: Here.
- * src/Makefile.in: Add stl_tree.cc.
- * src/Makefile.in: Regenerated.
- * config/linker-map.gnu: Add symbols here.
-
-2003-07-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/pod_char_traits.cc: New.
- * include/ext/pod_char_traits.h: New.
- * include/Makefile.am (ext_headers): Add pod_char_traits.h.
- * include/Makefile.in: Regenerate.
- * docs/html/21_strings/howto.html: Update.
-
-2003-07-08 Gawain Bolton <gp.bolton@computer.org>
-
- * testsuite/performance/list_create_fill_sort.cc: New.
-
-2003-07-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/generic/numeric_members.cc: Correct type info.
- * config/locale/gnu/numeric_members.cc: Same.
- * include/bits/locale_facets.h: Same.
-
- * include/bits/char_traits.h: Correct spacing.
-
- * src/locale.cc: Wrap to 80 col.
-
-2003-07-07 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_complex.h: Partially revert last
- changes: cmath functions must not be qualified.
-
-2003-07-06 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Do not test for binutils
- 2.11 with globbing backport fix.
- * aclocal.m4, configure: Regenerated.
-
-2003-07-06 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
- if output is at all possible (!_M_reading), cannot be active.
-
- * include/std/std_fstream.h: Tweak comments to doxygen style.
-
-2003-07-06 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/locale_classes.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
- * include/bits/locale_facets.tcc: Likewise.
- * src/locale.cc: Likewise.
- * src/localename.cc: Likewise.
-
-2003-07-06 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/allocator_traits.h: Fix doxygen markup.
- * include/ext/mt_allocator.h: Likewise.
-
-2003-07-06 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/testsuite_hooks.h: Guard against a missing unlink().
-
-2003-07-05 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version
- requirement. Add port_specific_symbol_file variable.
- * configure.host: Add docs for port_specific_symbol_file.
- Clean up try_cpu block for x86.
- * config/linker-map.gnu: No more "last symbol can't have a
- semicolon" kaka. Add hook for port-specific symbols.
- * src/Makefile.am: Remove trailing whitespace.
- (libstdc++-symbol.ver): Detect the presence of port-specific
- symbols, and add them accordingly.
-
- * docs/html/17_intro/porting.texi: Bring up to date.
-
- * src/Makefile.in, aclocal.m4, configure,
- docs/html/17_intro/porting.html: Regenerated.
-
-2003-07-05 Phil Edwards <pme@gcc.gnu.org>
-
- * scripts/create_testsuite_files: New file.
- * testsuite/Makefile.am (all-local, check-performance): Use it.
- * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests): Remove.
- * testsuite/Makefile.in: Regenerated.
-
- * testsuite/performance/filebuf_sputc.cc: Remove the temporary
- files at the end.
- * testsuite/performance/fstream_seek_write.cc: Likewise.
- * testsuite/performance/ofstream_insert_float.cc: Likewise.
- * testsuite/performance/ofstream_insert_int.cc: Likewise.
- * testsuite/abi_check.cc (main): Nicer spacing in usage output.
-
-2003-07-05 Gawain Bolton <gp.bolton@computer.org>
-
- * include/bits/stl_list.h: Performance and memory usage
- improvements. In particular, the behaviour of the constructor and
- destructor as the list header node is no longer dynamically
- allocated/de-allocated.
- * include/bits/list.tcc: Likewise.
-
-2003-07-05 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_complex.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
- * include/std/std_memory.h: Likewise.
- * include/std/std_valarray.h: Likewise.
-
-2003-07-05 Gawain Bolton <gp.bolton@computer.org>
-
- * include/bits/stl_tree.h: _Rb_tree_rebalance(): Add local
- variable for grandparent and use const
-
-2003-07-05 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
- * testsuite/27_io/objects/char/7.cc: Ditto
- * testsuite/27_io/objects/char/9661-1.cc: Ditto
-
-2003-07-05 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_bitset.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
-
- * include/std/std_fstream.h: Change comment to doxygen style.
-
-2003-07-05 Phil Edwards <pme@gcc.gnu.org>
-
- * include/std/std_limits.h: More CPP->CXX changes.
- * scripts/check_survey.in: Likewise.
-
-2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
-
- Move from CPP to CXX.
- * include/bits/c++config: Move to GLIBCXX from GLIBCPP.
- * testsuite/Makefile.am: Same.
- * testsuite/Makefile.in: Regenerate.
- * po/Makefile.am: Same.
- * po/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Same.
- * libsupc++/Makefile.in: Regenerate.
- * libmath/Makefile.am: Same.
- * libmath/Makefile.in: Regenerate.
- * include/Makefile.am: Same.
- * include/Makefile.in: Regenerate.
- * src/Makefile.am: Same.
- * src/Makefile.in: Regenerate.
- * acconfig.h: Same.
- * configure.host: Same.
- * configure.in: Same.
- * configure: Regenerate.
- * acinclude.m4: Same.
- * aclocal.m4: Same.
- * src: Change all files in this directory.
- * testsuite: Same.
- * include: Same, standardize include guards.
- * config: Same.
- * libsupc++: Same.
-
-2003-07-04 Zack Weinberg <zack@codesourcery.com>
-
- * testsuite/22_locale/collate/compare/wchar_t/2.cc
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
- * testsuite/22_locale/collate/hash/wchar_t/2.cc
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
- * testsuite/22_locale/collate/transform/wchar_t/2.cc
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
- XFAIL on all targets.
-
-2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2003-07-04 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/locale_facets.tcc (__int_to_char): Move common case
- to the top.
-
-2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
- Petur Runolfsson <peturr02@ru.is>
-
- * config/io/basic_file_stdio.cc: Revert.
-
-2003-07-04 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/deque.tcc: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
- * include/bits/gslice_array.h: Likewise.
- * include/bits/indirect_array.h: Likewise.
- * include/bits/list.tcc: Likewise.
- * include/bits/mask_array.h: Likewise.
- * include/bits/slice_array.h: Likewise.
-
-2003-07-04 Gawain Bolton <gbolton@free.fr>
-
- * include/bits/stl_tree.h: Performance and memory usage
- improvements.
-
-2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.am: Replace PWD with PWD_COMMAND.
- * Makefile.in: Regenerated.
- * docs/html/Makefile: Likewise.
-
-2003-07-04 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/valarray_array.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
- * include/bits/vector.tcc: Likewise.
-
-2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am: Update target_ to host_.
- * include/Makefile.in: Regenerate.
- * src/Makefile.am: Same.
- * src/Makefile.in: Regenerate.
-
- * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
-
-2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
- --enable-libstdcxx-debug-flags.
- (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
- (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
- * aclocal.m4: Regenerate.
- * configure: Same.
- * docs/html/configopts.html: Update.
-
-2003-07-04 Paolo Carlini <pcarlini@unitus.it>
-
- Revert the fix for libstdc++/11378.
-
-2003-07-04 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11378
- * include/std/std_fstream.h (xsputn): In the unbuffered case,
- provided always_noconv(), issue directly _M_file.xsputn.
- * testsuite/performance/filebuf_unbuf_sputn.cc: New.
-
-2003-07-04 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_list.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_raw_storage_iter.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/ext/rope: Change includes order.
-
-2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.host (fpos_include_dir): Fix.
-
-2003-07-04 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_heap.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
-
- * include/bits/stl_algo.h: Qualify __iterator_category too.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_bvector.h: Likewise.
-
- * include/bits/stl_algo.h: Don't qualify the pair type.
-
-2003-07-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (target_headers): Add fpos.h
- (bits_headers): Remove.
- * include/Makefile.in: Regenerate.
- * configure.in: Add FPOS_INC_SRCDIR, substitute it.
- * configure: Regenerate.
- * configure.host: Add fpos_include_dir.
- * config/os/gnu-linux/fpos.h: New.
- * config/os/generic/fpos.h: Add.
- * include/bits/fpos.h: Remove.
-
- * config/io/c_io_stdio.h: Remove fpos_t typedef.
-
- * include/bits/fstream.tcc: Tweaks.
- * include/std/std_fstream.h: Same.
-
- * testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
- * testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
- * testsuite/27_io/fpos/mbstate_t/2.cc: Same.
- * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
- * testsuite/27_io/fpos/1.cc: New.
-
-2003-07-03 Benjamin Kosnik <bkoz@redhat.com>
- Petur Runolfsson <peturr02@ru.is>
-
- * include/std/std_streambuf.h: Remove _M_pos.
- * config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
- * config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
- use fread/fwrite instead of read/write.
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
- * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
- before reading again.
- * testsuite/27_io/objects/char/6.cc: Tweak.
-
-2003-07-03 David Edelsohn <edelsohn@gnu.org>
-
- * testsuite/22_locale/num_put/put/char/7.cc: Guard with
- _GLIBCPP_USE_WCHAR_T.
-
-2003-07-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.tcc (_M_replace_aux): Constify
- __n1 and __off1.
-
-2003-07-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_bvector.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
- * include/bits/stl_construct.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
-
-2003-07-02 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/22_locale/num_put/put/char/7.cc: Include
- <testsuite_hooks.h>, tweak.
- * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
-
-2003-07-01 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/Makefile.am (AM_MAKEFLAGS): Set to -j1 (affects
- check* targets, but not libs/programs).
- * testsuite/Makefile.in: Regenerate.
-
-2003-07-01 Roger Sayle <roger@eyesopen.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
- (GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2003-07-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
-2003-07-01 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11389
- * include/bits/fstream.tcc (underflow): For encoding() == 0
- don't read more than __buflen chars.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
-
-2003-07-01 Jerry Quinn <jlquinn@optonline.net>
-
- * 22_locale/num_put/put/char/7.cc: New.
- * 22_locale/num_put/put/wchar_t/7.cc: New.
-
-2003-06-30 Jerry Quinn <jlquinn@optonline.net>
-
- * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
- * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
-
-2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
- * 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
- * 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
- * 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
- * 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
- * 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
- * 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
- * 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
- * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
- * 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
- * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
- * 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
- * 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
- * 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
- * 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
- * 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
- * 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
- * 27_io/basic_filebuf/seekpos/char/2.cc: Change.
- * 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
- * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
- * 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
- * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
- * data/seekoff-1.tst: Remove.
- * data/seekoff-1io.tst: New.
- * data/seekoff-1out.tst: New.
- * data/seekoff-2.tst: Remove.
- * data/seekoff-2io.tst: New.
- * data/seekoff-2out.tst: New.
- * data/seekoff.txt
- * data/seekpos-1.tst: Remove.
- * data/seekpos-1io.tst: New.
- * data/seekpos-1out.tst: New.
- * data/seekpos-2.tst: Remove.
- * data/seekpos-2io.tst: New.
- * data/seekpos-2out.tst: New.
- * data/seekpos.txt: New.
-
-2003-06-30 Jerry Quinn <jlquinn@optonline.net>
-
- * src/locale.cc (__use_cache<numpunct>): Move from here ...
- * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
- here.
-
-2003-06-30 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_algobase.h: Fully qualify standard
- functions with std::, thus avoiding Koenig lookup.
-
-2003-06-30 Doug Gregor <dgregor@apple.com>
-
- * include/bits/locale_facets.tcc (money_get::do_get): Avoid
- subscripting empty string.
-
-2003-06-30 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/Makefile.am (check-am): Do not override.
- (baseline_symbols): Declare as PHONY, so no need to 'touch' it.
- * testsuite/Makefile.in: Regenerate.
-
-2003-06-30 Doug Gregor <dgregor@apple.com>
-
- * testsuite/24_iterators/insert_iterator.cc (test01, test02):
- Don't initialize an insert_iterator with a singular iterator.
-
-2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
- * aclocal.m4: Regenerate.
- * configure.in (GLIBCPP_CHECK_PCH): Move, change to
- GLIBCPP_ENABLE_PCH, default to yes.
- * configure: Regenerate.
- * docs/html/configopts.html: Add --enable-pch.
-
-2003-06-30 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/lib/libstdc++-v3-dg.exp: Add comments.
- (libstdc++-v3-init): Also set LD_RUN_PATH.
-
-2003-06-30 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
- from here to filebuf and stringbuf.
- (~basic_streambuf()): Don't set _M_mode.
- (basic_streambuf()): Don't set _M_mode.
- * include/std/std_fstream.h (_M_mode): Move here, from streambuf.
- (~basic_filebuf()): Clean up.
- * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
- * include/std/std_sstream.h (_M_mode): Move here, from streambuf.
- * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
- * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
-
-2003-06-30 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_fstream.h (_M_underflow): Remove.
- (uflow): Remove, inherited from streambuf.
- (underflow): Only declare.
- * include/bits/fstream.tcc (_M_underflow): Rename to
- underflow, to which is equivalent for __bump == false,
- simplify.
- * include/std/std_sstream.h (_M_underflow): Remove.
- (uflow): Remove, inherited from streambuf.
- (underflow): Only declare.
- * include/bits/sstream.tcc (_M_underflow): Rename to
- underflow, to which is equivalent for __bump == false,
- simplify.
-
-2003-06-29 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_algo.h: Fully qualify standard functions
- with std::, thus avoiding Koenig lookup.
-
-2003-06-29 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
- Improve type correctness-wise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
- Likewise.
-
-2003-06-29 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (uflow): According to
- 27.5.2.4.3,p16, don't check gptr() < egptr().
-
-2003-06-28 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9875
- * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
- (seekpos): Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
- New test.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
- New test.
-
-2003-06-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_performance.h (__gnu_cxx_test): Change
- output name to libstdc++-v3-performance.sum.
- * testsuite/Makefile.am (CLEANFILES): Remove .performance.
- * testsuite/Makefile.in: Regenerate.
-
-2003-06-27 Matthias Klose <doko@debian.org>
-
- * testsuite/Makefile.am (check-abi, check-abi-verbose): Save
- output of abi-check in libstdc++-v3-abi.sum.
- * testsuite/Makefile.in: Regenerate.
-
-2003-06-27 Krister Walfridsson <cato@df.lth.se>
-
- * config/os/bsd/netbsd/ctype_noninline.h
- (_C_ctype_): Declare.
- (ctype<char>::classic_table): Return _C_ctype_ + 1.
- (ctype<char>::ctype): Use classic_table.
-
-2003-06-27 Paolo Carlini <pcarlini@unitus.it>
- Nathan C. Myers <ncm-nospam@cantrip.org>
-
- PR libstdc++/9178
- * include/bits/fstream.tcc (_M_underflow): Properly estimate
- the worst-case number of external bytes for a given get area.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
-
-2003-06-27 Paolo Carlini <pcarlini@unitus.it>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/11305
- * include/bits/fstream.tcc (overflow): Properly estimate the
- worst-case number of external bytes for a given put area
- (by using codecvt::max_length()).
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
-
-2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/linker-map.gnu: Remove ; after __numpunct_cache.
-
-2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/ios_base.h (ios_base::_M_getloc): Return reference
- to the imbued locale.
- * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
- _M_getloc.
- (num_put::_M_convert_float): Use.
-
-2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
- Jerry Quinn <jlquinn@optonline.net>
-
- * config/linker-map.gnu: Add __numpunct_cache.
- * config/locale/gnu/numeric_members.cc
- (numpunct::_M_initialize_numpunct): Account for _M_data, fill in
- all elements for "C" locale.
- (numpunct::~numpunct): Delete _M_data.
- * config/locale/generic/numeric_members.cc: Same.
- * include/bits/basic_ios.tcc
- (basic_ios::init): Remove __locale_cache bits.
- (basic_ios::_M_cache_locale): Same.
- * include/bits/ios_base.h: Same. Tweaks.
- * include/bits/locale_classes.h: Tweaks. Reorder classes.
- (__use_cache): Make friends with _Impl, locale.
- (_Impl::_M_caches): Add.
- (_Impl::_M_install_cache): Add.
- * include/bits/locale_facets.h (__numpunct_cache): New.
- (numpunct): Encapsulate data members in __numpunct_cache member,
- _M_data. Adjust virtuals.
- (numpunct::numpunct): New ctor for the same.
- (__locale_cache_base): Remove.
- (__locale_cache): Remove.
- * include/bits/locale_facets.tcc (__use_cache): New function,
- specializations.
- (num_put::_M_convert_int, _M_convert_float, do_put): Use it.
- * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
- * src/ios.cc (ios_base::ios_base): Remove __locale_cache.
- * src/locale-inst.cc: Same. Add __numpunct_cache.
- * src/locale.cc: Tweak inlines.
- (__use_cache): Define specializations.
- * src/localename.cc: Use global bits.
- (_Impl::~Impl): Deal with __numpunct_cache destruction.
- (_Impl::_Impl): Same. Pre-cache standard numpunct facets.
- (_Impl::_M_init_facet): Take into account __numpunct_cache.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
-
-2003-06-26 Nathan C. Myers <ncm-nospam@cantrip.org>
- Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/performance/filebuf_copy.cc: New, testing char
- by char file copy.
-
-2003-06-26 Paolo Carlini <pcarlini@unitus.it>
- Nathan C. Myers <ncm-nospam@cantrip.org>
-
- * include/bits/fstream.tcc (_M_underflow): When the actual
- end of file is reached, set 'uncommitted' mode to allow a
- next write without an intervening seek (see C++98 27.8.1.1,2
- and C89 7.9.5.3).
- * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
-
-2003-06-25 Nathan C. Myers <ncm-nospam@cantrip.org>
-
- * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
- sputc): Move inline, from here...
- * include/std/std_streambuf.h: ... to here.
-
- * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
- sputbackc, sungetc, sputc): Use __builtin_expect.
-
-2003-06-24 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/mainpage.html: Use a useful title.
-
-2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/documentation.html: Remove assignment info.
- * docs/html/17_intro/contribute.html: Edits.
- * docs/html/17_intro/libstdc++-assign.tx: Remove.
-
- * docs/html/test.html: Update.
-
- * README: Update.
-
-2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
- Ulrich Drepper <drepper@redhat.com>
-
- * testsuite/testsuite_performance.h: Tweak mallinfo.
-
-2003-06-24 Paolo Carlini <pcarlini@unitus.it>
- Nathan C. Myers <ncm-nospam@cantrip.org>
-
- * include/std/std_fstream.h (_M_filepos): Remove.
- (_M_reading, _M_writing): New, encode the various I/O modes:
- 'read', 'write' and 'uncommitted'.
- (sync): If there is something to flush, do it, then go to
- 'uncommitted' mode.
- * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
- with three different cases: __off > 0 (upon underflow),
- __off == 0 (upon overflow), __off == -1 (upon open, setbuf,
- seekoff/pos).
- (_M_underflow): Don't call overflow, set _M_reading to true
- on success, tweak.
- (pbackfail): Set _M_reading to true on pback creation, tweak.
- (overflow): Don't seek, deal with overflow in 'uncommitted' mode,
- set _M_writing to true on success, tweak.
- (seekoff): Simplify, set _M_reading, _M_writing to false, call
- _M_set_buffer(-1) ('uncommitted').
- (open, close, setbuf): Set _M_reading, _M_writing to false and
- call _M_set_buffer(-1), tweak.
- (basic_filebuf): Don't set _M_buf_unified.
- (_M_destroy_internal_buffer): Don't call setg and setp.
- * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
- _M_writing and _M_set_buffer(-1).
- * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
- _M_out_lim, _M_buf_unified): Remove.
- (basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
- (setp): Don't set _M_out_lim.
- * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
- the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
- upon open the mode is 'uncommitted' and therefore the put area
- pointers are null.
- * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
- * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
- * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
-
- * include/bits/fstream.tcc (showmanyc): Use only the
- documented derivation interface to basic_streambuf (gptr(),
- setg(), etc.) to work right with user specializations.
- * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
- sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
- * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
- Likewise.
- * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
- xsgetn): Likewise.
-
-2003-06-23 Loren J. Rittle <ljrittle@acm.org>
-
- * configure.host (freebsd*): Set abi_baseline_pair.
- * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
- (at or near first release) to 3.3.
- * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
- * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
- * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
-
- * include/ext/mt_allocator.h: Portability.
- * testsuite/testsuite_performance.h: Likewise.
-
-2003-06-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/libstdc++-assign.txt: Update address.
-
- * testsuite/performance/ifstream_getline.cc: Fix.
-
-2003-06-23 Doug Gregor <dgregor@apple.com>
-
- * include/bits/boost_concept_check.h: Don't use _D or _R for type
- names.
-
-2003-06-22 Paolo Carlini <pcarlini@unitus.it>
- Nathan C. Myers <ncm-nospam@cantrip.org>
-
- * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
- is now used only for filebuf, when _M_buf_unified is true.
- epgtr() plays the role of _M_out_lim but it's only updated
- upon overflow, underflow, uflow, seekoff/pos.
- * include/bits/sstream.tcc (_M_underflow): New, implements
- stringbuf::underflow and uflow.
- (seekoff, seekpos): Tweak, use _M_update_egptr.
- * include/std/std_sstream.h (str): Rewrote, deal correctly
- with the new logic, in particular, when pptr() > egptr().
- (_M_sync): When __testout && !__testin set all the get area
- pointers to the current string end.
- (_M_update_egptr): New, internal function updating egptr()
- to the actual string end.
- (_M_underflow): New, declare.
- (underflow): Dispatch to _M_underflow(false).
- (uflow): Dispatch to _M_underflow(true).
-
- * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
- seekpos): Use only the documented derivation interface to
- basic_streambuf (gptr(), setg(), etc.) to work right with
- user specializations.
- * include/std/std_sstream.h (str, _M_sync): Likewise.
-
-2003-06-20 Doug Gregor <dgregor@apple.com>
-
- * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
- * testsuite/21_strings/basic_string/replace/char/4.cc: Don't
- dereference end iterator.
- * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
- * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
- index equal to the length of a string.
- * testsuite/22_locale/ctype/narrow/char/2.cc: Same.
- * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
- * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
- * testsuite/22_locale/ctype/widen/char/1.cc: Same.
- * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
- * testsuite/23_containers/list_modifiers.cc: Don't dereference
- singular reverse iterator.
- * testsuite/23_containers/vector_bool.cc: Don't increment singular
- iterator.
- * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
-
-2003-06-20 Doug Gregor <dgregor@apple.com>
-
- * include/bits/basic_string.h (basic_string::replace): Dispatch
- _InputIterator version based on _Is_integer.
- * include/bits/basic_string.tcc (basic_string::replace):
- Renamed replace(iterator, iterator, size_type, _CharT) to
- _M_replace_aux.
- * testsuite/21_strings/basic_string/assign/char/1.cc (test01):
- Test basic_string::assign(_InputIterator, _InputIterator),
- which calls basic_string::replace(iterator, iterator,
- _Input_iterator, _InputIterator).
-
-2003-06-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_performance.h (resource_counter): Don't use
- mallinfo at the moment.
-
-2003-06-20 Matthias Klose <doko@debian.org>
-
- * configure.host: Set try_cpu to target_cpu for existing
- baseline files.
-
-2003-06-19 Andreas Jaeger <aj@suse.de>
-
- * testsuite/Makefile.am (extract_symvers): Revert accidental
- change.
- * testsuite/Makefile.in: Regenerate.
-
- * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
- * configure: Regenerated.
-
-2003-06-19 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_sstream.h (_M_sync): Make non virtual.
-
-2003-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_performance.h (time_counter): New.
- (resource_counter): New.
- (report_performance): New.
- (start_counters): New.
- (stop_counters): New.
- (clear_counters): New.
- * testsuite/performance/allocator.cc: Instrument.
- * testsuite/performance/cout_insert_int.cc: Same.
- * testsuite/performance/complex_norm.cc: Same.
- * testsuite/performance/filebuf_sputc.cc: New.
- * testsuite/performance/fstream_seek_write.cc: Same.
- * testsuite/performance/ifstream_getline.cc: Same.
- * testsuite/performance/map_create_fill.cc: Same.
- * testsuite/performance/ofstream_insert_float.cc: Same.
- * testsuite/performance/ofstream_insert_int.cc: Same.
- * testsuite/performance/string_append.cc: Convert.
- * scripts/check_performance: New.
- * testsuite/Makefile.am (check-performance): New.
- (CLEANFILES): Add.
-
-2003-06-18 Paolo Carlini <pcarlini@unitus.it>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_sstream.h (setbuf): Check __n >= 0.
- * include/bits/fstream.tcc (setbuf): Tweak.
-
-2003-06-18 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (seekoff): We can't seek beyond
- _M_out_lim, therefore _M_move_out_cur boils down to simply
- updating _M_out_cur.
- (seekpos): Likewise, clean up.
-
-2003-06-18 Nathan C. Myers <ncm-nospam@cantrip.org>
- Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
- simply equivalent to the unbuffered case (0, 0) as far as
- _M_buf_size is concerned.
-
-2003-06-18 Andreas Jaeger <aj@suse.de>
-
- * testsuite/Makefile.am (new-abi-baseline): Create baseline
- directory.
- (baseline_file): Use baseline_dir.
- (baseline_dir): New.
- (mkinstalldirs): New.
-
- * acinclude.m4: Rename baseline_file to baseline_dir, strip
- filename from baseline_dir.
-
- * testsuite/Makefile.in: Regenerated.
- * Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
-2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Missed check_survey bit.
- * configure: Regenerated.
-
-2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts: New.
- * config/abi/extract_symvers: Move to...
- * scripts/extract_symvers: ...here.
- * mkcheck.in: Move to..
- * scripts/check_survey.in: ...here.
- * testsuite_flags.in: Move to..
- * scripts/testsuite_flags.in: ...here.
- * configure.in: Change check and testsuite_flags locations.
- * configure: Regenerate.
- * testsuite/Makefile.am (current_symbols.txt): Change location.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
- location of testsuite_flags.
- * Makefile.am (check-script): Move..
- (check-script-install): Move...
- * testsuite/Makefile.am: ... here.
- * testsuite/Makefile.in: Regenerate.
- * Makefile.in: Regenerate.
-
-2003-06-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
-
-2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * Makefile.am (check-abi): Move...
- (new-abi-baseline): Move...
- * testsuite/Makefile.am: ...here.
- (new-abi-baseline): Conditionalize.
- (check-abi): Conditionalize.
- (check-abi-verbose): New.
- * Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
- * configure.in: Consolidate testsuite configure bits.
- * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
- * configure: Regenerate.
- * aclocal.m4: Regenerate.
- * testsuite/abi_check.cc: Add --check-verbose.
- Only output detailed information if --check-verbose.
-
-2003-06-16 Andreas Jaeger <aj@suse.de>
-
- * testsuite/abi_check.cc: Create summary report.
-
-2003-06-16 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
- for systems with BUFSIZ != 8192.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
- Minor tweaks.
-
-2003-06-16 Andreas Jaeger <aj@suse.de>
-
- * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
- check-abi multilib aware.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2003-06-16 Benjamin Kosnik <bkoz@redhat.com>
- Andreas Jaeger <aj@suse.de>
-
- * configure.host: Set x86_64 abi_baseline pair correctly.
-
-2003-06-16 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
- fix for missing seeks between gets and puts into...
- * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.
-
-2003-06-15 Richard Henderson <rth@redhat.com>
-
- * config/linker-map.gnu: Export virtual function thunks for
- 64-bit systems too.
-
-2003-06-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/i686-pc-linux-gnu: To..
- * config/abi/i486-linux-gnu: ...this.
- * config/abi/alphaev67-unknown-linux-gnu: To..
- * config/abi/alpha-linux-gnu: ...this.
- * config/abi/ia64-unknown-linux-gnu: To...
- * config/abi/ia64-linux-gnu: ...this.
- * config/abi/x86_64-unknown-linux-gnu: To...
- * config/abi/x86_64-linux-gnu: ...this.
- * config/abi/i386-unknown-freebsd4: To...
- * config/abi/i386-freebsd4: ...this.
- * config/linker-map.gnu: Cleanups, move libsupc++ bits into
- CXXABI.
- * configure.host: abi_baseline_triplet to abi_baseline_pair.
- Simplify cpu bits so that abi_baseline_pair can use the same
- cpu configuration.
- * acinclude.m4: Same.
- * aclocal.m4: Regenerate.
- * configure.in: Can't get enable_abi_check to yes unless native.
- * configure: Regenerate.
-
-2003-06-13 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
- fix for missing seeks between gets and puts into...
- * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
- * testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
- * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
- * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
- * testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
- for missing seeks between gets and puts.
- * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
- * testsuite/data/seekoff-1.tst: New.
- * testsuite/data/seekoff-2.tst: New.
- * testsuite/data/seekpos-1.tst: New.
- * testsuite/data/seekpos-2.tst: New.
-
-2003-06-13 Nathan C. Myers <ncm-nospam@cantrip.org>
-
- Avoid multi-processor bus contention on increment/decrement-and-
- test of the reference count in the empty-string object, by comparing
- addresses first, and never touching the reference count of the empty-
- string object.
- * include/bits/basic_string.h:
- (_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
- members.
- (_Rep::_S_empty_rep()): New accessor.
- (_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
- a base class _Rep_base.
- (_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
- (basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
- since no longer must increment its refcount.
- * include/bits/basic_string.tcc:
- (_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
- return immediately. The former might be unnecessary. The latter
- prevents begin() and end() from cloning it unnecessarily.
- (_S_construct(_InIterator, _InIterator, const _Alloc&,
- input_iterator_tag), _S_construct(_InIterator, _InIterator,
- const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
- const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
- (_M_mutate): Check for the empty string and treat it as shared.
- This is necessary here because _M_mutate is sometimes called with
- all-zero arguments; in all other uses of _M_is_shared, the test comes
- out right anyhow.
-
-2003-06-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/allocator-inst.cc: Explicitly instantiate.
- * include/ext/pool_allocator.h: Inhibit implicit instantiations.
- Tweaks.
- * config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
-
-2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
- * aclocal.m4: Regenerate.
- * Makefile.am (SUBDIRS): Remove libio.
- * Makefile.in: Regenerate.
- * configure.in: Same.
- * configure: Regenerate.
- * config/io/basic_file_libio.cc: Remove.
- * config/io/basic_file_libio.h: Remove.
- * config/io/c_io_libio_codecvt.c: Remove.
- * config/io/c_io_libio.h: Remove.
- * libio/*: Remove.
- * src/Makefile.am: Same.
- * src/Makefile.in: Regenerate.
- * docs/html/configopts.html: Edits.
- * docs/html/explanations.html: Edits.
-
-2003-06-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_alloc.h (__debug_alloc): Move out.
- (__malloc_alloc): Same.
- (__pool_alloc): Same.
- (__new_alloc): Same.
- Rename to..
- * include/bits/allocator.h: ...this.
- * include/bits/stl_deque.h: Modify comment.
- * include/bits/stl_tree.h: Modify include.
- * include/std/std_memory.h: Same.
- * include/ext/rope: Same.
- * include/ext/slist: Same.
- * include/std/std_vector.h: Same.
- * include/std/std_stack.h: Same.
- * include/std/std_queue.h: Same.
- * include/std/std_list.h: Same.
- * include/std/std_deque.h: Same.
- * include/backward/alloc.h: Same.
- * include/ext/debug_allocator.h: New.
- * include/ext/malloc_allocator.h: New.
- * include/ext/pool_allocator.h: New.
- * include/ext/new_allocator.h: New.
- * include/bits/pthread_allocimpl.h: Remove.
- * include/bits/stl_pthread_alloc.h: Remove.
- * include/Makefile.am (ext_headers): Add.
- * include/Makefile.in: Regenerate.
- * src/stl-inst.cc: Use __gnu_cxx namespace.
- * src/stl-inst.cc: Move to...
- * src/allocator-inst.cc: Here.
- * src/Makefile.am (sources): Update.
- * src/Makefile.in: Regenerate.
- * config/linker-map.gnu: Remove __pool_alloc bits.
- * testsuite/ext/headers.cc: Add.
- * testsuite/ext/allocators.cc: Fixup.
-
-2003-06-11 Stefan Olsson <stefan@snon.net>
- Ola Rönnerup <fnolis@home.se>
-
- * include/Makefile.am (ext_headers): Add.
- * include/Makefile.in: Regenerate.
- * include/ext/mt_allocator.h: New file.
-
-2003-06-10 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (close): Clean up a bit.
-
- * include/bits/streambuf.tcc (sbumpc): Clean up a bit.
-
- * include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
- - the saved _M_in_cur, that is - cannot be null.
- (sync): Constify a variable.
-
- * include/std/std_streambuf.h: Tweak a comment.
- (in_avail): Constify a variable.
-
-2003-06-10 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/17_intro/BUGS: Update from 2.90.8 snapshot.
- * docs/html/17_intro/CHECKLIST: Bring up to date with respect to
- correctness of container::iterator typedefs. Fix whitespace.
- * docs/html/20_util/howto.html, docs/html/ext/howto.html: Add links
- to allocator docs.
- * docs/html/documentation.html: Regenerate.
-
- * include/bits/basic_string.h, include/bits/basic_string.tcc,
- include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
- include/bits/stl_algobase.h, include/bits/stl_bvector.h,
- include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
- include/bits/stl_list.h, include/bits/stl_uninitialized.h,
- include/bits/stl_vector.h, include/bits/vector.tcc,
- include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
- Change _Iter names to _Iterator, and __pos to __position.
-
- * include/bits/stl_relops.h, include/bits/stl_numeric.h,
- include/bits/stl_multiset.h, include/bits/stl_set.h:
- Remove emacs markers.
-
- * include/bits/stl_threads.h (_STL_auto_lock): Add __unused__.
-
-2003-06-10 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (overflow): According to
- 27.5.2.4.5, overflow() returns not_eof(eof()).
- * testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
- * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.
-
-2003-06-10 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (_M_underflow): Check overflow return
- value; tweak slightly.
-
-2003-06-09 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (_M_underflow): Do not special
- case the unbuffered case, which really means simply a one char
- get area.
- (basic_filebuf): Initialize _M_buf_size.
- (setbuf): Unbuffered means _M_buf_size == 1, since only
- _M_buf_size - 1 == 0 chars are going to be used for the
- put area and 1 for the get area.
- * include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
- (~basic_streambuf): Tweak.
- (basic_streambuf): Do not initialize _M_buf_size.
- * include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
- (~basic_filebuf): Tweak.
- (_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
- unbuffered situation (i.e., put area pointers NULL).
- * include/bits/streambuf.tcc (sbumpc): Clean up.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
- * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
-
-2003-06-09 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4: Move all AM_CONDITIONAL calls out.
- (GLIBCPP_CONFIGURE): Set defaults for variables used in AM_CONDITIONAL
- statements.
- * configure.in: Centralize AM_CONDITIONALs so that they are always
- run. Make use of GLIBCPP_IS_CROSS_COMPILING.
- * aclocal.m4, configure: Regenerated.
-
-2003-06-09 Paolo Carlini <pcarlini@unitus.it>
-
- * docs/html/ext/howto.html ('LWG Issues'): Add issue 235.
-
-2003-06-06 Nathan Myers <ncm-nospam@cantrip.org>
-
- * include/bits/stl_iterator.h
- (reverse_iterator::reverse_iterator()): Apply DR235: default
- constructor default-initializes data member. Instantiated on a
- pointer type, the member has to end up equal to zero.
-
-2003-06-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_alloc.h: Cleanups.
- * include/ext/functional: Same.
- * include/ext/hash_map: Same.
- * include/ext/hash_set: Same.
- * include/ext/iterator: Same.
- * include/ext/memory: Same.
- * include/ext/numeric: Same.
- * include/ext/rb_tree: Same.
- * include/ext/ropeimpl.h: Same.
- * include/ext/slist: Same.
- * include/ext/stdio_filebuf.h: Same.
- * include/ext/stdio_sync_filebuf.h: Same.
- * include/ext/stl_rope.h: Move to...
- * include/ext/rope: ...here.
- * include/ext/stl_hash_fun.h: Move to...
- * include/ext/hash_fun.h: ...here.
- * include/ext/stl_hashtable.h: Move to...
- * include/ext/hashtable.h: ...here.
- * include/backward/hashtable.h: Reflect new names.
- * include/Makefile.am: Same.
- * include/Makefile.in: Regenerated.
-
-2003-06-05 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/9024
- * include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
- * include/bits/stl_algobase.h: Tweak.
- * include/std/std_fstream.h: Move _M_buf_size to...
- * include/std/std_streambuf.h: ...here. Modify.
- * include/bits/streambuf.tcc: Same.
- * testsuite/testsuite_hooks.h: Tweak.
- * testsuite/testsuite_io.h (constraint_filebuf): New.
- * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
- * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
- * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
- * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
- * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
- * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
- * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
- * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
- * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
- * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
- * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
- * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
- * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
- * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
- * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
- * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
- * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
- * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
- * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
- * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
- * testsuite/data/sgetc.txt: New.
- * testsuite/data/sgetn.txt: New.
-
-2003-06-05 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/11095
- * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
- Deal with width() smaller than zero.
- * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
- operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
- _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
- char*), operator<<(basic_ostream<char, _Traits>&, const char*),
- operator<<(basic_ostream, const basic_string&)): Likewise.
-
- * testsuite/27_io/basic_istream/extractors_character/char/
- (11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
- * testsuite/27_io/basic_ostream/inserters_character/char/
- (11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
- * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
- (11095-od.cc, 11095-oe.cc, 11095-of.cc): New.
-
-2003-06-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
- .gch compilation works.
- * aclocal.m4, configure: Regenerate.
- * testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
- initialize PCHFLAGS.
-
-2003-06-04 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
- erase(iterator), erase(iterator, iterator), c_str,
- compare(const basic_string&)): Constify various variables.
- * include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
- const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
- _S_create, resize, _M_replace, _M_replace_safe,
- append(const basic_string&), append(const basic_string&, size_type,
- size_type), append(const _CharT*, size_type), append(size_type,
- _CharT), operator+(const _CharT*, const basic_string&),
- operator+(_CharT, const basic_string&), replace(iterator, iterator,
- size_type, _CharT), find(const _CharT*, size_type, size_type),
- find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
- rfind(_CharT, size_type), compare(size_type, size_type,
- const basic_string&), compare(size_type, size_type,
- const basic_string&, size_type, size_type), compare(const _CharT*),
- compare(size_type, size_type, const _CharT*), compare(size_type,
- size_type, const _CharT*, size_type)): Likewise.
-
-2003-06-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fstream.tcc (pbackfail): Make a rarely taken
- 'if' branch less obscure.
-
-2003-06-02 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR libstdc++/9815
- * config/cpu/i386/atomicity.h (__exchange_and_add): add intel
- asm case to asm.
- * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
- (__atomic_add): likewise.
-
-2003-06-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (pbackfail): Minor clean up and
- reformatting, consistent with basic_filebuf::pbackfail.
-
-2003-06-02 Richard Kreckel <Richard.Kreckel@GiNaC.DE>
-
- PR libstdc++/11062
- * config/cpu/mips/atomicity.h: Change __attribute__ ((unused)) to
- __attribute__ ((__unused__)).
- * config/os/aix/atomicity.h: Likewise.
-
-2003-06-02 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9761
- * include/bits/fstream.tcc (pbackfail): If the pback buffer
- is already active don't try to store in it a second char.
- * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.
-
- * include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
-
-2003-06-02 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
- line spacing.
-
-2003-06-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
- instead of unnecessarily taking the address of _M_pback.
- (xsgetn): Simplify slightly for a single char pback buffer.
-
-2003-06-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (seekoff): Remove four unnecessary
- variables and two 'if', clean up.
-
-2003-06-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (seekpos): Test against _M_out_lim
- not _M_out_end, since the former actually points to the string
- end (vs buffer end).
- * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.
-
-2003-05-30 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/filter: New file.
- * docs/doxygen/filter.sed: New file.
- * docs/doxygen/run_doxygen: Add g flag to sed substitutions. Duh.
- * docs/doxygen/user.cfg.in (INPUT_FILTER): Point to new filter.
- * docs/html/documentation.html: Fix links to doxygen pages.
-
-2003-05-30 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (_M_convert_to_external): Don't
- check for __ilen > 0.
-
-2003-05-29 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
-
- PR libstdc++/10783
- * include/bits/stl_iterator.h (class __normal_iterator):
- Don't inherit from iterator, add missing typedefs.
-
-2003-05-29 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
- * testsuite/24_iterators/reverse_iterator/1.cc: New.
- * testsuite/24_iterators/reverse_iterator/2.cc: New.
- * testsuite/24_iterators/reverse_iterator/3.cc: New, from
- PR libstdc++/10783.
-
-2003-05-27 Steve Ellcey <sje@cup.hp.com>
-
- * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
- on IA64 HP-UX.
- * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
- _LIBUNWIND_STD_ABI is set.
-
-2003-05-26 Brendan Kehoe <brendan@zen.org>
-
- * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
- make sure the number of digits required after the decimal-point
- (if any) is exactly the value returned by frac_digits().
- * testsuite/22_locale/money_get/get/char/9.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/9.cc: New.
-
-2003-05-27 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/std/std_istream.h, include/std/std_ostream.h: Typo in
- comment.
-
-2003-05-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/9339
- * include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
- (_M_pback): No array necessary.
- * include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
- unbuffered case, coalesec into ...
- (basic_filebuf::overflow): ...this.
- * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
- * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
-
-2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
-
- * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
- libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
- libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
- libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
- libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
- libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
- libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
- libsupc++/eh_unex_handler.cc, libsupc++/exception,
- libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
- libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
- libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
- libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
- Replace "GNU CC" with "GCC".
-
- * include/backward/new.h: Replace "GNU CC" with "GCC".
-
-2003-05-22 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/3066.
- * configure.in: Switch target to host, don't assume newlib.
- (target_alias): Remove.
- * configure: Regenerate.
- * acinclude.m4: Same.
- * aclocal.m4: Regenerate.
- * configure.target: Same. Rename to...
- * configure.host: This.
-
-2003-05-22 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_fstream.h (_S_pback_size): Remove definition.
- (_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
- pback buffer.
- * include/bits/fstream.tcc (_S_pback_size): Remove declaration.
- * testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
- of _S_pback_size for systems with no COMDAT or weak support.
- * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
- * testsuite/27_io/basic_fstream/3.cc: Likewise.
- * testsuite/27_io/basic_ifstream/3.cc: Likewise.
- * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
- * testsuite/27_io/basic_ofstream/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
- * testsuite/27_io/basic_streambuf/3.cc: Likewise.
-
-2003-05-22 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (_M_underflow): Simplify:
- !__testout implies _M_filepos == _M_in_end, therefore
- the first _M_file.seekoff call is never issued.
-
-2003-05-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Sort cross table.
- * configure: Regenerate.
-
-2003-05-22 Brad Spencer <spencer@infointeractive.com>
-
- PR libstdc++/10106
- * configure.in: Add Solaris cross bits.
-
-2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * libstdc++-v3/config/os/mingw32/os_defines.h
- (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
- (NOMINMAX): Define. Update copyright year.
-
-2003-05-21 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_fstream.h (_M_set_buffer): Fix indentation.
-
-2003-05-21 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/faq/index.html: Fix typo.
- * docs/html/faq/index.txt: Regenerate.
-
-2003-05-21 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/test.html: Fix markup.
-
-2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
-
- * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
- zero.
- Update copyright year.
-
-2003-05-20 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
-
-2003-05-20 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
- further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
-
-2003-05-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
-
- * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
- Cast via void* to avoid -Wcast-align warnings.
- (__default_alloc_template::_S_refill): Likewise.
-
-2003-05-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/README: Move to...
- * docs/html/test.html: ...here. Add documentation.
- * docs/html/install.html: Move testing bits out..
- * docs/html/documentation.html: Add separate testing link.
- * testsuite/performance: Add.
- * testsuite/performance/allocator.cc: New.
- * testsuite/performance/complex_norm.cc: New.
- * testsuite/performance/cout_insert_int.cc: New.
- * testsuite/performance/fstream_seek_write.cc: New.
- * testsuite/performance/ifstream_getline.cc: New.
- * testsuite/performance/map_create_fill.cc: New.
- * testsuite/performance/ofstream_insert_float.cc: New.
- * testsuite/performance/ofstream_insert_int.cc: New.
- * testsuite/performance/string_append.cc: New.
- * testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
- performance tests.
-
-2003-05-20 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/10689
- * include/std/std_complex.h (pow): Tidy.
-
-2003-05-19 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
- that upon filebuf::close() 27.8.1.1,3 is enforced.
-
-2003-05-15 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
-
-2003-05-15 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- * include/bits/fstream.tcc (_M_overflow): Rewrote to call
- _M_convert_to_external only once (_M_buf_size is now the size of
- the put area + 1 for the overflow char of a full area); call
- _M_set_buffer instead of _M_set_indeterminate.
- (setbuf): Don't accept a buffer smaller than 2 chars.
- (_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
- instead of _M_set_determinate.
- (open): Call _M_set_buffer, instead of _M_set_indeterminate.
- (seekoff): Likewise.
- * include/ext/stdio_filebuf.h (stdio_filebuf(int,
- std::ios_base::openmode, bool, size_t),
- stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
- Likewise.
- * include/std/std_fstream.h (_M_set_indeterminate): Remove.
- (_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
- _M_buf_size - 1.
- * include/std/std_streambuf.h: Tweak _M_out_lim comment.
- * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
- into account that, for _M_buf_size == BUFSIZ == 8192, the size of
- the put area is now BUFSIZ - 1.
- * testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
- that now the smallest _M_buf_size is 2 (still fails, for the same
- reason, with 3.2.3)
-
-2003-05-14 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/thread/pthread4.cc: Tweak test.
-
-2003-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
- excess errors dg marker, use dg-errors instead.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
- * testsuite/20_util/auto_ptr_neg.cc: Same.
-
-2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
- cached member.
- * include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
- Initialize _M_codecvt.
- (basic_filebuf::imbue): Same.
- (basic_filebuf::showmanyc): Use it.
- (basic_filebuf::underflow): Use it.
- (basic_filebuf::_M_convert_to_external): Use it.
- (basic_filebuf::seekoff): Use it.
- (basic_filebuf::imbue): Use it, tweaks.
- * include/bits/localefwd.h (__check_facet): New.
- * include/bits/locale_classes.h: Tweaks.
- * include/bits/locale_facets.tcc: Tweaks.
- * include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
- _M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
- _M_num_get. Change _M_check_facet to __check_facet. Tweaks.
- * include/bits/basic_ios.tcc: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/ostream.tcc: Same.
- * include/std/std_streambuf.h: Same.
- * testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.
-
-2003-05-12 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
- unnecessary includes and unused string literals.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
-
-2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
-
-2003-05-12 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_fstream.h (_M_convert_to_external): Change
- to return bool, take two less streamsize parameters.
- * include/bits/fstream.tcc (_M_convert_to_external): Tweak
- consistently definition.
- (_M_overflow): Adjust call points.
-
-2003-05-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
-
-2003-05-11 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/Makefile.am: Properly quote /both/ LD_RUN_PATHs.
- * testsuite/Makefile.in: Regenerate.
-
-2003-05-11 Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite/Makefile.am: Properly quote LD_RUN_PATH.
- * testsuite/Makefile.in: Regenerate.
-
-2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/3181
- * include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
- (acos): Handle integer argument.
- (asin): Likewise.
- (atan): Likewise.
- (atan2): Likewise.
- (ceil): Likewise.
- (cos): Likewise.
- (cosh): Likewise.
- (exp): Likewise.
- (fabs): Likewise.
- (floor): Likewise.
- (frexp): Likewise.
- (ldexp): Likewise.
- (log): Likewise.
- (log10): Likewise.
- (sin): Likewise.
- (sinh): Likewise.
- (sqrt): Likewise.
- (tan): Likewise.
- (tanh): Likewise.
- * include/bits/cpp_type_traits.h (__are_same<>): New traits.
- (__enable_if): Likewise.
- * testsuite/26_numerics/cmath/overloads.C: New test.
-
-2003-05-10 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9027
- PR libstdc++/9520
- PR libstdc++/10096
- * include/bits/fstream.tcc (basic_file::_M_underflow): Add generic
- implementation, based on old wchar_t specialization, add support
- for codecvt::in() return value of codecvt_base::noconv, remove
- _M_file.sys_ungetc() call.
- * include/std/std_fstream.h (basic_file::underflow,
- basic_file::uflow, basic_file::_M_underflow): Remove
- specialization declarations, call _M_underflow from generic versions
- of underflow and uflow.
- * src/fstream.cc (basic_file::underflow, basic_file::uflow,
- basic_file::_M_underflow): Remove specializations.
- * src/Makefile.am (sources): Remove fstream.cc.
- * src/Makefile.in: Regenerated.
- * testsuite/27_io/basic_filebuf/underflow/10096.cc: New test.
- * testsuite/27_io/basic_filebuf/underflow/char/1.cc: New test.
- * testsuite/27_io/basic_filebuf/underflow/char/9027.cc: New test.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: New test.
-
-2003-05-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
- buffer.
- * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
- unbuffered bits.
- (__basic_file::xsputn): Same.
- (__basic_file::seekoff): Same.
- (__basic_file::seekpos): Same.
- (__basic_file::showmanyc): Same.
- * config/io/basic_file_stdio.cc: Same.
- * include/std/std_fstream.h: Same.
- * include/bits/fstream.tcc: Same.
- * src/fstream.cc: Same.
- * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.
-
-2003-05-10 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9520
- PR libstdc++/9661
- PR libstdc++/9662
- * include/ext/stdio_sync_filebuf.h: New file.
- (basic_stdiobuf): New.
- * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
- * include/Makefile.in: Regenerate.
- * include/bits/ios_base.h (Init::_S_create_buffers,
- Init::_S_destroy_buffers): Remove declarations.
- * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
- buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync): Define.
- * src/ios.cc (Init::_S_create_buffers,
- Init::_S_destroy_buffers): Remove.
- (Init::Init): Create and use syncronized buffers.
- (ios_base::sync_with_stdio): Destroy syncronized buffers,
- create and install unsyncronized buffers.
- * testsuite/27_io/objects/char/10.cc: New test.
- * testsuite/27_io/objects/char/9.cc: New test.
- * testsuite/27_io/objects/char/9661-1.cc: New test.
- * testsuite/27_io/objects/char/9661-2_xin.cc: New test.
- * testsuite/27_io/objects/char/9661-2_xin.in: New.
- * testsuite/27_io/objects/wchar_t/1.cc: New test.
- * testsuite/27_io/objects/wchar_t/10.cc: New test.
- * testsuite/27_io/objects/wchar_t/2.cc: New test.
- * testsuite/27_io/objects/wchar_t/2523-1_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/2523-1_xin.in: New.
- * testsuite/27_io/objects/wchar_t/2523-2_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/2523-2_xin.in: New.
- * testsuite/27_io/objects/wchar_t/3045.cc: New test.
- * testsuite/27_io/objects/wchar_t/3647.cc: New test.
- * testsuite/27_io/objects/wchar_t/3_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/3_xin.in: New.
- * testsuite/27_io/objects/wchar_t/4_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/4_xin.in: New.
- * testsuite/27_io/objects/wchar_t/5.cc: New test.
- * testsuite/27_io/objects/wchar_t/5268.cc: New test.
- * testsuite/27_io/objects/wchar_t/5280_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/5280_xin.in: New.
- * testsuite/27_io/objects/wchar_t/6.cc: New test.
- * testsuite/27_io/objects/wchar_t/6548_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/6548_xin.in: New.
- * testsuite/27_io/objects/wchar_t/6648-1_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/6648-1_xin.in: New.
- * testsuite/27_io/objects/wchar_t/6648-2_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/6648-2_xin.in: New.
- * testsuite/27_io/objects/wchar_t/7.cc: New test.
- * testsuite/27_io/objects/wchar_t/7744_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/7744_xin.in: New.
- * testsuite/27_io/objects/wchar_t/8.cc: New test.
- * testsuite/27_io/objects/wchar_t/9_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/9_xin.in: New.
- * testsuite/27_io/objects/wchar_t/9520.cc: New test.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: New test.
- * testsuite/27_io/objects/wchar_t/9661-2_xin.cc: New test.
- * testsuite/27_io/objects/wchar_t/9661-2_xin.in: New.
- * testsuite/27_io/objects/wchar_t/9662.cc: New test.
- * testsuite/ext/stdiobuf_char.cc: New test.
- * testsuite/ext/stdiobuf_wchar_t.cc: New test.
-
-2003-05-10 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
- unnecessary includes and unused string literals.
- * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
-
-2003-05-08 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
-
-2003-05-07 Richard Henderson <rth@redhat.com>
-
- PR c++/10570
- * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
- (__cxa_end_catch): Likewise.
- * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use
- _Unwind_Resume_or_Rethrow.
- * libsupc++/eh_personality.cc (empty_exception_spec): New.
- (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
- for _UA_FORCE_UNWIND. Honor empty filter spec for foreign
- exceptions. Don't push terminate/unexpected to cxa functions.
- (__cxa_call_unexpected): Remove foreign exception fixmes.
-
-2003-05-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ios_base/cons: New.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: New.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: New.
-
-2003-05-07 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_fstream.h (_M_is_indeterminate): Remove.
- * src/fstream.cc
- (basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
- there is no buffer or __testget == !__testinit.
-
- * src/fstream.cc
- (basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
- automatically sets, if appropriate, _M_out_cur == _M_in_cur.
-
- * include/std/std_fstream.h (_M_destroy_pback): Don't set
- unnecessarily _M_pback_cur_save and _M_pback_end_save.
-
- * include/std/std_fstream.h (_M_set_determinate): Minor tweak.
-
- * include/std/std_sstream.h (_M_sync): Minor tweak.
-
- * include/bits/fstream.tcc (close): No need to call
- _M_destroy_pback, setting _M_pback_init to false suffices
- to clean up.
-
-2003-05-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_algo.h: Enums as _S_.
- * include/bits/stl_tree.h: Same.
- * include/bits/stl_bvector.h: Same.
- * include/bits/ios_base.h: Same.
- * include/bits/stl_alloc.h: Same.
- * include/ext/stl_hashtable.h: Same.
- * src/ios.cc: And here.
-
- * include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
- * include/bits/sstream.tcc: Same.
-
- * include/bits/basic_ios.h: Correct spacing for '< ctype'.
-
- * include/bits/locale_facets.tcc: Replace __temp to __tmp.
-
- * include/bits/locale_facets.h (__num_base): Remove protected.
- Use _S_[io]* names for enumerations.
- (_S_format_int): Remove.
- * include/bits/locale_facets.tcc: Same.
- * src/locale.cc: Same.
-
- * include/std/std_sstream.h (stringbuf::str): Tweak formatting.
-
-2003-05-06 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html (3.10): Add note about mips atomicity.h.
- * docs/html/faq/index.txt: Regenerated.
-
-2003-05-06 Michael Ritzert <Ritzert@t-online.de>
- Matt Kraai <kraai@alumni.cmu.edu>
-
- * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
- And retweak.
-
-2003-05-06 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.target (mips*): Use the generic atomicity.h by default.
-
-2003-05-05 Loren J. Rittle <ljrittle@acm.org>
- (Inspired by an alternate patch from Danny Smith.)
-
- * include/bits/stl_threads.h (_Atomic_swap): Kill it...
- (_Swap_lock_struct<>): ...and the horse it rode in on.
- * src/globals.cc (_Swap_lock_struct<>): Likewise.
- * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
- member to support...
- * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
- visibility rules related to POSIX threads.
- * testsuite/thread/pthread7-rope.cc: New test.
-
-2003-05-04 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/21_strings/basic_string/find/char/3.cc: New
- file, testing basic_string<char>::find_first_not_of.
- * testsuite/21_strings/basic_string/find/wchar_t/3.cc:
- Likewise for basic_string<wchar_t>.
-
-2003-05-03 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
-
-2003-05-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (CLEANFILES): Remove PCH files in target
- directory.
- * include/Makefile.in: Regenerate.
-
-2003-05-02 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_sstream.h (str()): Tidy.
-
-2003-05-02 Nathan Myers <ncm@cantrip.org>
- Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
-
-2003-05-02 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/basic_string.h (swap): Remove redundant template
- parameters from declaration of non-template member function.
-
-2003-05-01 Phil Edwards <pme@gcc.gnu.org>
-
- * acconfig.h (_GLIBCPP_USE_NLS): New symbol.
- * configure.in: Move libintl.h header test...
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): ...to here. Gather all
- the NLS-related test results into one symbol.
- * src/functexcept.cc: Use it here.
- * aclocal.m4, config.h.in, configure: Regenerated.
-
-2003-05-01 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (overflow): Instead of calling
- str(), then _M_string.reserve, thus copying the contents
- of the current buffer two times, just copy the latter in
- a temporary, then use the 'swap trick'.
-
-2003-05-01 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_sstream.h (str()): Revert the best of the
- previous 'improvement', incorrect due to the COW nature of
- v3 basic_string; simplify.
-
-2003-05-01 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/streambuf.tcc (__copy_streambufs): Adjust the
- type of __avail to ptrdiff_t to avoid signed-unsigned warning.
-
-2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/abi_check.cc (check_version): Update known versions.
- Check added symbols for version_name != base version. Add missing
- symbols to incompatible list.
-
-2003-05-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
-2003-05-01 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/streambuf.tcc (basic_streambuf::xsgetn):
- Const-ify some variables.
- (basic_streambuf::xsputn): Likewise; change the type of some
- variables to size_t.
- (__copy_streambufs): Change some variables to size_t.
-
-2003-05-01 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_sstream.h (str()): Avoid constructing
- a basic_string temporary not only when it would turn out
- to be zero-sized but also when identical to the current
- _M_string buffer.
-
-2003-05-01 Paolo Carlini <pcarlini@unitus.it>
-
- * include/ext/stdio_filebuf.h
- (stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
- stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
- Shorten a bit (-10 lines) by factoring out some code.
-
-2003-04-30 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4: Add bit missing from previous patch.
- * aclocal.m4, configure: Regenerated.
-
-2003-04-29 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/mainpage.html: Bring up to date.
- * docs/doxygen/run_doxygen: Cosmetic tweaks. Work around a bug
- in Doxygen.
- * docs/doxygen/user.cfg.in: Scanning the precompiled headers
- breaks everything. Don't scan them.
- * docs/html/documentation.html: Point to "Write after approval"
- notes.
-
-2003-04-29 Phil Edwards <pme@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Search for gettext outside
- of libc if message translations are being used. Fix info text in
- xieee_1003.1-2001 case.
- * aclocal.m4, configure: Regenerate.
-
-2003-04-29 Joel Sherrill <joel.sherrill@OARcorp.com>
- Loren J. Rittle <ljrittle@acm.org>
- Martin v. Loewis <martin@v.loewis.de>
-
- * config/cpu/i386/atomicity.h: New file.
-
-2003-04-29 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (open): Change to single return.
-
-2003-04-29 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_sstream.h (underflow): Change to single return.
-
-2003-04-28 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (_M_buf): is currently
- used only for basic_filebuf, therefore move it there.
- (basic_streambuf(), ~basic_streambuf()): Adjust.
- * include/std/std_fstream.h (_M_buf): Moved here.
- * include/std/std_sstream.h (setbuf): Don't set _M_buf,
- is actually redundant for basic_stringbuf.
- (_M_really_sync): Likewise.
- * include/bits/fstream.tcc (basic_filebuf()): Adjust.
- * include/bits/sstream.tcc (seekoff): Adjust.
-
-2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/localename.cc: Standardize exception strings.
- * src/locale.cc: Same.
- * src/ios.cc: Same.
- * include/bits/basic_string.tcc: Same.
- * include/bits/basic_ios.tcc: Same.
- * include/std/std_bitset.h: Same.
- * include/ext/ropeimpl.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/bits/stl_deque.h: Same.
- * include/bits/stl_bvector.h: Same.
- * config/locale/generic/c_locale.cc: Same.
- * config/locale/gnu/c_locale.cc: Same.
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
-
- * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
-
-2003-04-28 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (_M_buf_size): is currently
- used only for basic_filebuf, therefore move it there.
- (basic_streambuf(), ~basic_streambuf()): Adjust.
- * include/std/std_fstream.h (_M_buf_size): Moved here.
- * include/bits/fstream.tcc (basic_filebuf()): Adjust.
-
-2003-04-28 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/streambuf.tcc (__copy_streambufs): Don't use
- _M_buf_size (synced input is now correctly dealt with
- elsewhere); when the output buffer is full don't fall back
- to a snextc-sputc loop, call overflow instead.
-
-2003-04-28 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
- the innermost 'if' by factoring out some code.
-
-2003-04-28 Phil Edwards <pme@gcc.gnu.org>
-
- * configure.in: Test for libintl.h.
- * include/bits/c++config: Define __N for everybody.
- * include/bits/basic_string.h, include/bits/stl_bvector.h,
- include/bits/stl_deque.h, include/bits/stl_vector.h,
- include/std/std_bitset.h: Wrap all __throw* text with __N.
- * po/Makefile.am (pot): New rule, mostly working.
- * src/functexcept.cc: Call gettext on all __throw* arguments when
- -fexceptions is in effect.
- * po/Makefile.in, config.h.in, configure: Regenerate.
-
-2003-04-28 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9523
- * include/bits/ios_base.h (Init::_S_ios_create,
- Init::_S_ios_destroy): Remove declarations.
- (Init::_S_create_buffers,
- Init::_S_destroy_buffers): Declare
- * src/ios.cc (Init::_S_ios_create): Remove
- (Init::_S_create_buffers): Create buffers and add to streams.
- (Init::_S_ios_destroy): Rename to...
- (Init::_S_destroy_buffers): this.
- (Init::Init): Only construct streams once.
- (Init::~Init): Flush streams, don't destroy them.
- (ios_base::sync_with_stdio): Don't destroy streams, only buffers.
- * testsuite/27_io/ios_base/sync_with_stdio/9523.cc: New test.
- * testsuite/27_io/objects/char/5.cc: New test.
- * testsuite/27_io/objects/char/5268.cc: Avoid undefined behavior.
- * testsuite/27_io/objects/char/6.cc: New test.
- * testsuite/27_io/objects/char/7.cc: New test.
-
-2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/objects/char/8.cc: New test.
-
-2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
- * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
-
-2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
- _M_destroy_pback. _M_pback_create to
- _M_create_pback. _M_underflow_common to
- _M_underflow. _M_really_overflow to _M_overflow.
- * include/bits/fstream.tcc: Same.
- * src/fstream.cc: Same.
- * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
- _M_move_in_cur. _M_out_cur_move to _M_move_out_cur.
- * include/bits/streambuf.tcc: Same.
- * include/bits/fstream.tcc: Same.
- * include/bits/sstream.tcc: Same.
-
-2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_classes.h (locale::_Impl): Change _M_names
- from fixed size array.
- (locale): Change _S_categories as well.
- Formatting tweaks.
- * include/bits/locale_facets.tcc: Tweak.
- * config/locale/gnu/c_locale.cc: Assign _S_categories.
- * config/locale/generic/c_locale.cc: Same.
- * src/locale.cc: Tweak.
- * src/globals.cc: Change facet_name to name_vec, add names_c.
- * src/localename.cc: Use them.
- (locale::_Impl::~_Impl): Destroy _M_names.
- (locale::_Impl::_Impl): Create _M_names.
-
-2003-04-27 Andreas Schwab <schwab@suse.de>
-
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h
- (__enc_traits): Use __ibom and __ebom instead of ignoring them.
-
-2003-04-27 Nathan Myers <ncm@cantrip.org>
-
- Move some basic_string members out of line because
- they are too big to reasonably be inline.
- * include/bits/basic_string.h
- (assign(const basic_string&, size_type, size_type),
- assign(const _CharT*, size_type),
- insert(size_type, const basic_string&, size_type, size_type),
- insert(size_type, const _CharT*, size_type),
- replace(size_type, size_type, const _CharT*, size_type)):
- Move from here to...
- * include/bits/basic_string.tcc: ...here.
-
-2003-04-26 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
- the innermost 'if' by factoring out some code.
-
-2003-04-26 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/streambuf.tcc (__copy_streambufs): Don't
- use in_avail(), simplify.
-
-2003-04-26 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
- in basic_stringbuf it's unused.
-
- * include/std/std_sstream.h (underflow): consistently use
- _M_in_cur, not gptr().
-
-2003-04-25 Ranjit Mathew <rmathew@hotmail.com>
- Phil Edwards <pme@gcc.gnu.org>
-
- * testsuite_flags.in: Guard against the possibility
- of having "xgcc" as a part of a folder name in the
- path to the GCC build folder.
- * testsuite/Makefile.am: Likewise.
- * testsuite/Makefile.in: Regenerated.
-
-2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/10132
- * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
- exception specifications.
- (basic_filebuf::close): Same.
- (basic_filebuf::_M_pback_destroy): Same.
- (basic_filebuf::_M_destroy_internal_buffer): Same.
- (basic_filebuf): Remove __res_type typedef.
- * src/fstream.cc: Same.
- * include/bits/fstream.tcc
- (basic_filebuf::_M_convert_to_external): Simplify.
- (basic_filebuf::seekoff): Use has_facet before use_facet.
- (basic_filebuf::close): Add exception specification of throw().
- * testsuite/27_io/basic_filebuf/cons: New.
- * testsuite/27_io/basic_filebuf/cons/wchar_t: New.
- * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
- * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
- * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
-
-2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_classes.h
- (locale::_S_extra_categories_size): Remove.
- * src/locale.cc: Remove _S_extra_categories_size.
- * src/localename.cc: Same.
- * config/locale/gnu/c_locale.cc: Same.
- * config/locale/generic/c_locale.cc: Same.
-
-2003-04-24 Richard Sandiford <rsandifo@redhat.com>
-
- * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
-
-2003-04-24 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/17_intro/howto.html: Update some links.
- * docs/html/18_support/howto.html: Link doxygen numeric_limits notes.
- * docs/html/27_io/howto.html: Link doxygen stdio_filebuf notes.
- * docs/html/ext/howto.html: Link to demangler notes and API.
- * docs/html/faq/index.html: Remove trailing whitespace.
- (1.4, 2.4, 3.8, 4.1): Bring up to date.
- (5.6): Change to a bulleted list.
-
- * docs/html/faq/index.txt, docs/html/documentation.html,
- docs/html/17_intro/porting.html: Regenerate.
-
-2003-04-23 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
- belongs to basic_filebuf.
- * testsuite/27_io/basic_fstream/3.cc: Likewise.
- * testsuite/27_io/basic_ifstream/3.cc: Likewise.
- * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
- instantiation (now belongs to basic_filebuf).
- * testsuite/27_io/basic_iostream/3.cc: Likewise.
- * testsuite/27_io/basic_istream/3.cc: Likewise.
- * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
- _S_pback_size now belongs to basic_filebuf.
- * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
- instantiation (now belongs to basic_filebuf).
- * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
- belongs to basic_filebuf.
- * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
- instantiation (now belongs to basic_filebuf).
- * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
- _S_pback_size now belongs to basic_filebuf.
- * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
- instantiation (now belongs to basic_filebuf).
- * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
- to basic_filebuf.
- * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
- instantiation (now belongs to basic_filebuf).
- * testsuite/27_io/basic_stringstream/3.cc: Likewise.
-
-2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
- * configure: Regenerated.
-
-2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/locale/generic/c_locale.h (__convert_from_v): Use
- attribute unused.
-
-2003-04-23 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/ext/howto.html ('LWG Issues'): Add issue 60, partial
- implementation only.
- * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
- Comment and change to comply with DR 60 and the effect on gcount().
- * include/std/std_istream.h: Update comments.
- * testsuite/27_io/basic_istream/putback/char/1.cc (test01): Add
- comments about reasons for tests. Test sync() against gcount().
- * testsuite/27_io/basic_istream/seekg/char/2.cc: New file, test
- for effect on gcount().
- * testsuite/27_io/basic_istream/tellg/char/2.cc: New file, test
- for effect on gcount().
-
-2003-04-22 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
- Adjust timing.
-
-2003-04-22 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (_S_pback_size, _M_pback,
- _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
- _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
- (basic_streambuf::basic_streambuf()): Adjust.
- * include/std/std_fstream.h (_S_pback_size, _M_pback,
- _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
- _M_pback_create(), _M_pback_destroy()): Moved here
- from basic_streambuf.
- * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
- Adjust.
- (basic_filebuf::_S_pback_size): Add declaration.
- * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
- Remove declaration.
-
-2003-04-21 Paolo Carlini <pcarlini@unitus.it>
-
- Consistently use _M_in_beg instead of eback(), _M_in_cur
- instead of gptr(), and so on.
- * include/bits/fstream.tcc (pbackfail, imbue): Here.
- * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
- * include/bits/streambuf.tcc (sbumpc, sputbackc,
- __copy_streambufs): Ditto.
- * include/std/std_streambuf.h (sgetc): Ditto.
-
-2003-04-21 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (pbackfail, overflow):
- Formatting fixes.
-
-2003-04-21 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (uflow()): It's used only by
- basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
- therefore do not consider the _M_buf_unified == true case.
-
- * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
-
-2003-04-20 Paolo Carlini <pcarlini@unitus.it>
-
- * docs/html/ext/howto.html ('LWG Issues'):
- Add issues 19, 90, 171, 231, 271.
-
-2003-04-20 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (pbackfail): Remove redundant
- NULL pointer check from test involving _M_in_*.
- (overflow, seekoff, seekpos): Const qualify bool variables.
- * include/std/std_sstream.h (underflow): Remove redundant
- NULL pointer check from test involving _M_in_*.
- (_M_really_sync): Const qualify bool variables.
- * src/fstream.cc (_M_underflow_common): Remove redundant
- NULL pointer check from test involving _M_in_*, const qualify
- bool variables.
-
- * include/std/std_streambuf.h (sgetc): Remove redundant
- variable.
-
-2003-04-18 Paolo Carlini <pcarlini@unitus.it>
-
- According to 5.9 para 2 (second bullet) for pointers p, q
- pointing to the same type, with p == 0 and q == 0, (p < q)
- is false.
- * include/bits/fstream.tcc (close, overflow, _M_really_overflow,
- seekoff): Remove redundant NULL pointer checks from tests
- involving _M_out_* and _M_in_*, const qualify bool variables.
- (showmanyc, pbackfail, _M_convert_to_external, imbue): Const
- qualify bool variables.
- * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
- Remove redundant NULL pointer checks from tests involving
- _M_out_* and _M_in_*, const qualify bool variables.
- * include/std/std_fstream.h (sync): Likewise.
- (_M_is_indeterminate): Const qualify bool variables.
- * include/std/std_streambuf.h (sgetc, uflow): Remove redundant
- NULL pointer checks from tests involving _M_out_* and _M_in_*,
- const qualify bool variables.
- (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
- variables.
-
-2003-04-18 Loren J. Rittle <ljrittle@acm.org>
-
- * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
- C99 FP macros, if actually captured.
-
- * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
- (_GLIBCPP_USE_C99_DYNAMIC): New macro.
- (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
- (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
- * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
- New macro.
- (_GLIBCPP_USE_C99_DYNAMIC): New macro.
- (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
- (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
- * include/c_std/std_cstdlib.h: Use new macros.
- * include/c_std/std_cstdio.h: Use new macros.
- * include/c_std/std_cwchar.h: Use new macros.
-
-2003-04-17 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/9555
- * include/bits/ostream.tcc: Catch all exceptions for formatted
- output, instead of std::exception and derivatives.
- * include/bits/istream.tcc: Same.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
- * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
- * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
- * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
- * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
- New.
-
-2003-04-17 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/c++config: Minor cosmetic tweaks.
-
-2003-04-17 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite_flags.in (PCHFLAGS): Find PCH in new home.
- * include/Makefile.am (pch_input): Find in ${target_builddir}.
- (pch_output): Rename to...
- (pch_output_builddir): ..this. Find in ${target_builddir}.
- (pch_source): Tweak.
- (pch_build): Key off a built file.
- (pch_output rule): Rename to...
- (pch_input rule): ...this. Produce ${pch_output_builddir}
- instead of ${pch_output}.
- (install-pch rule): Install ${pch_output_builddir}.
- * include/Makefile.in: Regenerated.
-
-2003-04-17 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (setp): _M_out_lim, being
- the end limit of used put area, is set equal to _M_out_beg.
-
-2003-04-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_PCH): New.
- * aclocal.m4: Regenerated.
- * configure.in: Remove old demangler bits.
- Call pch checks.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * include/Makefile.am (allstamps): Now allstamped.
- (allcreated): Define this.
- (all-local): Use 'em.
- Conditionally define pch_build, pch_install based on
- GLIBCPP_BUILD_PCH.
- (${pch_output}): New rule.
- (install-pch): New rule.
- (install-headers): New rule.
- (install-data-local): Install headers and conditionally pch.
- * include/Makefile.in: Regenerate.
- * testsuite_flags.in (--build-cxx): Use pch file.
-
-2003-04-16 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/ext/sgiexts.html: Fix path to stylesheet.
-
-2003-04-15 Benjamin Kosnik <bkoz at redhat dot com>
- Paolo Carlini <pcarlini at unitus dot it>
-
- PR libstdc++/9423
- * docs/html/27_io/howto.html
- ('The buffering is screwing up my program!'): Explain that
- opening counts as an I/O operation.
-
-2003-04-15 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/thread/pthread1.cc: Enable for darwin test.
- * testsuite/thread/pthread2.cc: Same.
- * testsuite/thread/pthread3.cc: Same.
- * testsuite/thread/pthread4.cc: Same.
- * testsuite/thread/pthread5.cc: Same.
- * testsuite/thread/pthread6.cc: Same.
-
-2003-04-15 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/7680
- * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
- Populate it with multiple legal ways to obtain the C99 float
- transcendentals. Use them instead of direct global reference.
- (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
- * docs/html/17_intro/porting.texi
- (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
- (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
- (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
- * config/os/bsd/freebsd/os_defines.h
- (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
- (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
- * testsuite/26_numerics/c_math_dynamic.cc: New file.
-
-2003-04-14 Andreas Tobler <toa@pop.agri.ch>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * config/os/generic/ctype_inline.h: Fix.
-
-2003-04-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_hooks.h
- (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
- Change to try_named_locale.
- * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
-
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
- try_named_locale.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
- * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
- * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
- * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
- * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
- * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
- * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
- * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
- * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
- * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
- * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
- * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
- * testsuite/22_locale/collate/compare/char/1.cc: Same.
- * testsuite/22_locale/collate/compare/char/2.cc: Same.
- * testsuite/22_locale/collate/compare/char/3.cc: Same.
- * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
- * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
- * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
- * testsuite/22_locale/collate/hash/char/2.cc: Same.
- * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
- * testsuite/22_locale/collate/transform/char/2.cc: Same.
- * testsuite/22_locale/collate/transform/char/3.cc: Same.
- * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
- * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
- * testsuite/22_locale/collate_byname/1.cc: Same.
- * testsuite/22_locale/ctype/is/char/2.cc: Same.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
- * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
- * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
- * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
- * testsuite/22_locale/facet/2.cc: Same.
- * testsuite/22_locale/locale/cons/2.cc: Same.
- * testsuite/22_locale/locale/cons/4.cc: Same.
- * testsuite/22_locale/locale/cons/5.cc: Same.
- * testsuite/22_locale/locale/cons/7.cc: Same.
- * testsuite/22_locale/locale/cons/7222-c.cc: Same.
- * testsuite/22_locale/locale/cons/7222-env.cc: Same.
- * testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
- * testsuite/22_locale/messages/members/char/1.cc: Same.
- * testsuite/22_locale/messages/members/char/2.cc: Same.
- * testsuite/22_locale/messages/members/char/3.cc: Same.
- * testsuite/22_locale/messages_byname/1.cc: Same.
- * testsuite/22_locale/money_get/get/char/1.cc: Same.
- * testsuite/22_locale/money_get/get/char/2.cc: Same.
- * testsuite/22_locale/money_get/get/char/3.cc: Same.
- * testsuite/22_locale/money_get/get/char/4.cc: Same.
- * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
- * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
- * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
- * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
- * testsuite/22_locale/money_put/put/char/1.cc: Same.
- * testsuite/22_locale/money_put/put/char/2.cc: Same.
- * testsuite/22_locale/money_put/put/char/3.cc: Same.
- * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
- * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
- * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
- * testsuite/22_locale/moneypunct/members/char/2.cc: Same.
- * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
- * testsuite/22_locale/moneypunct_byname/1.cc: Same.
- * testsuite/22_locale/num_get/get/char/1.cc: Same.
- * testsuite/22_locale/num_get/get/char/2.cc: Same.
- * testsuite/22_locale/num_get/get/char/3.cc: Same.
- * testsuite/22_locale/num_get/get/char/5.cc: Same.
- * testsuite/22_locale/num_get/get/char/6.cc: Same.
- * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
- * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
- * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
- * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
- * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
- * testsuite/22_locale/num_put/put/char/1.cc: Same.
- * testsuite/22_locale/num_put/put/char/2.cc: Same.
- * testsuite/22_locale/num_put/put/char/3.cc: Same.
- * testsuite/22_locale/num_put/put/char/5.cc: Same.
- * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
- * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
- * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
- * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
- * testsuite/22_locale/numpunct/members/char/1.cc: Same.
- * testsuite/22_locale/numpunct/members/char/2.cc: Same.
- * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
- * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
- * testsuite/22_locale/numpunct_byname/1.cc: Same.
- * testsuite/22_locale/numpunct_byname/2.cc: Same.
- * testsuite/22_locale/time_get/date_order/char/1.cc: Same.
- * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
- * testsuite/22_locale/time_get/get_date/char/1.cc: Same.
- * testsuite/22_locale/time_get/get_date/char/2.cc: Same.
- * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
- * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
- * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Same.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Same.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
- * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
- * testsuite/22_locale/time_get/get_year/char/1.cc: Same.
- * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
- * testsuite/22_locale/time_put/put/char/1.cc: Same.
- * testsuite/22_locale/time_put/put/char/2.cc: Same.
- * testsuite/22_locale/time_put/put/char/3.cc: Same.
- * testsuite/22_locale/time_put/put/char/4.cc: Same.
- * testsuite/22_locale/time_put/put/char/5.cc: Same.
- * testsuite/22_locale/time_put/put/char/6.cc: Same.
- * testsuite/22_locale/time_put/put/char/7.cc: Same.
- * testsuite/22_locale/time_put/put/char/8.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
- * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
- * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
- * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
- * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
- * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
-
-2003-04-14 Andreas Tobler <toa@pop.agri.ch>
-
- * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
- solaris includes, not generic.
-
-2003-04-14 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
-
- * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
- * include/bits/concept_check.h: Fix multi-line comment.
- * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
- when target is *-*-freebsd*.
-
-2003-04-14 Nathan Myers <ncm@cantrip.org>
- Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9701 (in_avail())
- * include/std/std_streambuf.h (in_avail): Simplify, in_avail
- doesn't care if there is anything in some putback cell.
- * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
-
- * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
- unused string literals.
-
-2003-04-14 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
- _M_out_end, _M_set_indeterminate() does it.
-
-2003-04-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * os/hpux/ctype_inline.h: Replace with gnu-linux version.
-
-2003-04-12 David Edelsohn <edelsohn@gnu.org>
-
- * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
- Change basic_streambuf instantiation to "unsigned char".
- * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
-
-2003-04-12 Paolo Carlini <pcarlini@unitus.it>
-
- Remove _M_buf_size_opt, use directly _M_buf_size instead.
- * include/bits/fstream.tcc
- (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
- references to _M_buf_size_opt.
- * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
- * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
- __bufsize to __in_avail and __size_opt to __buf_size.
- * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
- * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
- * include/std/std_streambuf.h (~basic_streambuf(),
- basic_streambuf()): Likewise, remove _M_buf_size_opt member.
- * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
- * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
-
-2003-04-12 Paolo Carlini <pcarlini at unitus dot it>
-
- * include/ext/stdio_filebuf.h
- (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
- stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
- _M_buf_size_opt == 0 only means "not to use an allocated buffer"
- since a stack-based buffer is used for small values of the size_t
- parameter.
- * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
- If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
- * testsuite/ext/stdio_filebuf_2.cc: New testfile.
-
-2003-04-12 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9533
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.
-
-2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/locale/cons/3.cc: Split.
- * testsuite/22_locale/locale/cons/7222-c.cc: New.
- * testsuite/22_locale/locale/cons/7222-env.cc: New.
- Check before trying to create a locale from the environment.
- * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
- Adjust includes.
-
-2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
- locale to construct this hybrid locale, not the global locale.
-
-2003-04-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
- instantiation for AIX.
- * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
- * testsuite/25_algorithms/min_max.cc: Same.
-
-2003-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
- twice. Always set _M_cfile to 0 when stream was open.
-
-2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
-
- Reshuffle 27_io testsuite.
- * testsuite/27_io/filebuf.cc,
- filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
- filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
- filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
- filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
- ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
- ifstream_members.cc, instantiations.cc, ios.cc,
- ios_base_callbacks.cc, ios_base_members_static-1.tst,
- ios_base_members_static.cc, ios_base_storage.cc,
- ios_base_types.cc, ios_ctor.cc, ios_init.cc,
- ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
- iostream.cc, iostream_members.cc, istream.cc,
- istream_exception.cc, istream_extractor_char.cc,
- istream_extractor_other-1.tst, istream_extractor_other-1.txt,
- istream_extractor_other-2.tst, istream_extractor_other.cc,
- istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
- istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
- istream_sentry.cc, istream_unformatted-1.tst,
- istream_unformatted-1.txt, istream_unformatted.cc,
- istringstream.cc, istringstream_members.cc,
- narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
- ofstream_members.cc, ostream.cc, ostream_exception.cc,
- ostream_fail.cc, ostream_inserter_arith.cc,
- ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
- ostream_inserter_char.cc, ostream_inserter_other-1.tst,
- ostream_inserter_other-2.tst, ostream_inserter_other.cc,
- ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
- ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
- ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
- streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
- stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
- wide_stream_objects.cc, istream_extractor_arith/01.cc,
- istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
- istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
- istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
- istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
- istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
- Split into...
- * 27_io/basic_filebuf/1.cc: New.
- * 27_io/basic_filebuf/2.cc: New.
- * 27_io/basic_filebuf/3.cc: New.
- * 27_io/basic_filebuf/4.cc: New.
- * 27_io/basic_filebuf/close/char/1.cc: New.
- * 27_io/basic_filebuf/close/char/2.cc: New.
- * 27_io/basic_filebuf/close/char/3.cc: New.
- * 27_io/basic_filebuf/close/char/4879.cc: New.
- * 27_io/basic_filebuf/close/char/9964.cc: New.
- * 27_io/basic_filebuf/imbue/char/1.cc: New.
- * 27_io/basic_filebuf/imbue/char/9322.cc: New.
- * 27_io/basic_filebuf/in_avail/char/1.cc: New.
- * 27_io/basic_filebuf/is_open/char/1.cc: New.
- * 27_io/basic_filebuf/open/char/1.cc: New.
- * 27_io/basic_filebuf/open/char/2.cc: New.
- * 27_io/basic_filebuf/open/char/3.cc: New.
- * 27_io/basic_filebuf/open/char/9507.cc: New.
- * 27_io/basic_filebuf/overflow/char/1.cc: New.
- * 27_io/basic_filebuf/overflow/char/3599.cc: New.
- * 27_io/basic_filebuf/overflow/char/9169.cc: New.
- * 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
- * 27_io/basic_filebuf/overflow/char/9988.cc: New.
- * 27_io/basic_filebuf/sbumpc/char/1.cc: New.
- * 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
- * 27_io/basic_filebuf/seekoff/char/1.cc: New.
- * 27_io/basic_filebuf/seekoff/char/2.cc: New.
- * 27_io/basic_filebuf/seekpos/char/1.cc: New.
- * 27_io/basic_filebuf/seekpos/char/2.cc: New.
- * 27_io/basic_filebuf/setbuf/char/1.cc: New.
- * 27_io/basic_filebuf/setbuf/char/2.cc: New.
- * 27_io/basic_filebuf/setbuf/char/3.cc: New.
- * 27_io/basic_filebuf/sgetc/char/1.cc: New.
- * 27_io/basic_filebuf/sgetn/char/1.cc: New.
- * 27_io/basic_filebuf/sgetn/char/2.cc: New.
- * 27_io/basic_filebuf/snextc/char/1.cc: New.
- * 27_io/basic_filebuf/sputbackc/char/1.cc: New.
- * 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
- * 27_io/basic_filebuf/sputc/char/1.cc: New.
- * 27_io/basic_filebuf/sputc/char/1057.cc: New.
- * 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
- * 27_io/basic_filebuf/sputn/char/1.cc: New.
- * 27_io/basic_filebuf/sputn/char/1057.cc: New.
- * 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
- * 27_io/basic_filebuf/sungetc/char/1.cc: New.
- * 27_io/basic_filebuf/sync/char/1057.cc: New.
- * 27_io/basic_filebuf/sync/char/9182-1.cc: New.
- * 27_io/basic_filebuf/underflow/char/10097.cc: New.
- * 27_io/basic_fstream/1.cc: New.
- * 27_io/basic_fstream/2.cc: New.
- * 27_io/basic_fstream/3.cc: New.
- * 27_io/basic_fstream/4.cc: New.
- * 27_io/basic_fstream/rdbuf/char/2832.cc: New.
- * 27_io/basic_ifstream/1.cc: New.
- * 27_io/basic_ifstream/2.cc: New.
- * 27_io/basic_ifstream/3.cc: New.
- * 27_io/basic_ifstream/4.cc: New.
- * 27_io/basic_ifstream/cons/char/1.cc: New.
- * 27_io/basic_ifstream/open/char/1.cc: New.
- * 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
- * 27_io/basic_ios/1.cc: New.
- * 27_io/basic_ios/2.cc: New.
- * 27_io/basic_ios/3.cc: New.
- * 27_io/basic_ios/4.cc: New.
- * 27_io/basic_ios/clear/char/1.cc: New.
- * 27_io/basic_ios/cons/char/1.cc: New.
- * 27_io/basic_ios/cons/char/2.cc: New.
- * 27_io/basic_ios/cons/char/3.cc: New.
- * 27_io/basic_ios/copyfmt/char/1.cc: New.
- * 27_io/basic_ios/copyfmt/char/2.cc: New.
- * 27_io/basic_ios/exceptions/char/1.cc: New.
- * 27_io/basic_ios/locales/char/1.cc: New.
- * 27_io/basic_iostream/1.cc: New.
- * 27_io/basic_iostream/2.cc: New.
- * 27_io/basic_iostream/3.cc: New.
- * 27_io/basic_iostream/4.cc: New.
- * 27_io/basic_istream/1.cc: New.
- * 27_io/basic_istream/2.cc: New.
- * 27_io/basic_istream/3.cc: New.
- * 27_io/basic_istream/4.cc: New.
- * 27_io/basic_istream/exceptions/char/9561.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
- * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
- * 27_io/basic_istream/extractors_character/char/1.cc: New.
- * 27_io/basic_istream/extractors_character/char/2.cc: New.
- * 27_io/basic_istream/extractors_character/char/3.cc: New.
- * 27_io/basic_istream/extractors_character/char/9826.cc: New.
- * 27_io/basic_istream/extractors_other/char/1.cc: New.
- * 27_io/basic_istream/extractors_other/char/2.cc: New.
- * 27_io/basic_istream/extractors_other/char/3.cc: New.
- * 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
- * 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
- * 27_io/basic_istream/get/char/1.cc: New.
- * 27_io/basic_istream/get/char/2.cc: New.
- * 27_io/basic_istream/getline/char/1.cc: New.
- * 27_io/basic_istream/getline/char/2.cc: New.
- * 27_io/basic_istream/getline/char/3.cc: New.
- * 27_io/basic_istream/ignore/char/1.cc: New.
- * 27_io/basic_istream/ignore/char/6360.cc: New.
- * 27_io/basic_istream/ignore/char/7220.cc: New.
- * 27_io/basic_istream/peek/char/1.cc: New.
- * 27_io/basic_istream/peek/char/6414.cc: New.
- * 27_io/basic_istream/putback/char/1.cc: New.
- * 27_io/basic_istream/read/char/1.cc: New.
- * 27_io/basic_istream/read/char/2.cc: New.
- * 27_io/basic_istream/read/char/3.cc: New.
- * 27_io/basic_istream/readsome/char/6746-1.cc: New.
- * 27_io/basic_istream/readsome/char/6746-2.cc: New.
- * 27_io/basic_istream/readsome/char/8258.cc: New.
- * 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
- * 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
- * 27_io/basic_istream/seekg/char/8348-1.cc: New.
- * 27_io/basic_istream/seekg/char/8348-2.cc: New.
- * 27_io/basic_istream/seekg/char/fstream.cc: New.
- * 27_io/basic_istream/seekg/char/sstream.cc: New.
- * 27_io/basic_istream/sentry/char/1.cc: New.
- * 27_io/basic_istream/sentry/char/2.cc: New.
- * 27_io/basic_istream/sentry/char/3.cc: New.
- * 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
- * 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
- * 27_io/basic_istream/tellg/char/1.cc: New.
- * 27_io/basic_istream/tellg/char/8348.cc: New.
- * 27_io/basic_istream/tellg/char/fstream.cc: New.
- * 27_io/basic_istream/tellg/char/sstream.cc: New.
- * 27_io/basic_istream/ws/char/1.cc: New.
- * 27_io/basic_istringstream/1.cc: New.
- * 27_io/basic_istringstream/2.cc: New.
- * 27_io/basic_istringstream/3.cc: New.
- * 27_io/basic_istringstream/4.cc: New.
- * 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
- * 27_io/basic_istringstream/str/char/1.cc: New.
- * 27_io/basic_ofstream/1.cc: New.
- * 27_io/basic_ofstream/2.cc: New.
- * 27_io/basic_ofstream/3.cc: New.
- * 27_io/basic_ofstream/4.cc: New.
- * 27_io/basic_ofstream/cons/char/2.cc: New.
- * 27_io/basic_ofstream/open/char/1.cc: New.
- * 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
- * 27_io/basic_ostream/1.cc: New.
- * 27_io/basic_ostream/2.cc: New.
- * 27_io/basic_ostream/3.cc: New.
- * 27_io/basic_ostream/4.cc: New.
- * 27_io/basic_ostream/cons/char/9827.cc: New.
- * 27_io/basic_ostream/endl/char/1.cc: New.
- * 27_io/basic_ostream/ends/char/1.cc: New.
- * 27_io/basic_ostream/ends/char/2.cc: New.
- * 27_io/basic_ostream/exceptions/char/9561.cc: New.
- * 27_io/basic_ostream/flush/char/1.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
- * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
- * 27_io/basic_ostream/inserters_character/char/1.cc: New.
- * 27_io/basic_ostream/inserters_character/char/2.cc: New.
- * 27_io/basic_ostream/inserters_character/char/3.cc: New.
- * 27_io/basic_ostream/inserters_character/char/4.cc: New.
- * 27_io/basic_ostream/inserters_character/char/5.cc: New.
- * 27_io/basic_ostream/inserters_character/char/6.cc: New.
- * 27_io/basic_ostream/inserters_character/char/8.cc: New.
- * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
- * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
- * 27_io/basic_ostream/inserters_other/char/1.cc: New.
- * 27_io/basic_ostream/inserters_other/char/2.cc: New.
- * 27_io/basic_ostream/inserters_other/char/3.cc: New.
- * 27_io/basic_ostream/inserters_other/char/4.cc: New.
- * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
- * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
- * 27_io/basic_ostream/sentry/char/1.cc: New.
- * 27_io/basic_ostream/sentry/char/2.cc: New.
- * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
- * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
- * 27_io/basic_ostream/tellp/char/1.cc: New.
- * 27_io/basic_ostream/tellp/char/2.cc: New.
- * 27_io/basic_ostringstream/1.cc: New.
- * 27_io/basic_ostringstream/2.cc: New.
- * 27_io/basic_ostringstream/3.cc: New.
- * 27_io/basic_ostringstream/4.cc: New.
- * 27_io/basic_ostringstream/cons/char/3.cc: New.
- * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
- * 27_io/basic_ostringstream/str/char/1.cc: New.
- * 27_io/basic_ostringstream/str/char/2.cc: New.
- * 27_io/basic_streambuf/1.cc: New.
- * 27_io/basic_streambuf/2.cc: New.
- * 27_io/basic_streambuf/3.cc: New.
- * 27_io/basic_streambuf/cons/char/1.cc: New.
- * 27_io/basic_streambuf/imbue/char/1.cc: New.
- * 27_io/basic_streambuf/imbue/char/9322.cc: New.
- * 27_io/basic_streambuf/overflow/char/1.cc: New.
- * 27_io/basic_streambuf/overflow/char/2.cc: New.
- * 27_io/basic_streambuf/overflow/char/3599.cc: New.
- * 27_io/basic_streambuf/sgetc/char/1.cc: New.
- * 27_io/basic_streambuf/sgetn/char/1.cc: New.
- * 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
- * 27_io/basic_streambuf/sputc/char/1057.cc: New.
- * 27_io/basic_streambuf/sputn/char/1.cc: New.
- * 27_io/basic_streambuf/sputn/char/1057.cc: New.
- * 27_io/basic_streambuf/sync/char/1057.cc: New.
- * 27_io/basic_stringbuf/1.cc: New.
- * 27_io/basic_stringbuf/2.cc: New.
- * 27_io/basic_stringbuf/3.cc: New.
- * 27_io/basic_stringbuf/4.cc: New.
- * 27_io/basic_stringbuf/5.cc: New.
- * 27_io/basic_stringbuf/imbue/char/1.cc: New.
- * 27_io/basic_stringbuf/imbue/char/9322.cc: New.
- * 27_io/basic_stringbuf/in_avail/char/1.cc: New.
- * 27_io/basic_stringbuf/overflow/char/2.cc: New.
- * 27_io/basic_stringbuf/overflow/char/3599.cc: New.
- * 27_io/basic_stringbuf/overflow/char/9988.cc: New.
- * 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
- * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
- * 27_io/basic_stringbuf/seekoff/char/1.cc: New.
- * 27_io/basic_stringbuf/seekoff/char/2.cc: New.
- * 27_io/basic_stringbuf/seekpos/char/1.cc: New.
- * 27_io/basic_stringbuf/seekpos/char/2.cc: New.
- * 27_io/basic_stringbuf/setbuf/char/1.cc: New.
- * 27_io/basic_stringbuf/setbuf/char/2.cc: New.
- * 27_io/basic_stringbuf/setbuf/char/3.cc: New.
- * 27_io/basic_stringbuf/sgetc/char/1.cc: New.
- * 27_io/basic_stringbuf/sgetn/char/1.cc: New.
- * 27_io/basic_stringbuf/snextc/char/1.cc: New.
- * 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
- * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
- * 27_io/basic_stringbuf/sputc/char/1.cc: New.
- * 27_io/basic_stringbuf/sputc/char/1057.cc: New.
- * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
- * 27_io/basic_stringbuf/sputn/char/1.cc: New.
- * 27_io/basic_stringbuf/sputn/char/1057.cc: New.
- * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
- * 27_io/basic_stringbuf/str/char/1.cc: New.
- * 27_io/basic_stringbuf/str/char/2.cc: New.
- * 27_io/basic_stringbuf/str/char/3.cc: New.
- * 27_io/basic_stringbuf/str/char/3955.cc: New.
- * 27_io/basic_stringbuf/sungetc/char/1.cc: New.
- * 27_io/basic_stringbuf/sync/char/1057.cc: New.
- * 27_io/basic_stringstream/1.cc: New.
- * 27_io/basic_stringstream/2.cc: New.
- * 27_io/basic_stringstream/3.cc: New.
- * 27_io/basic_stringstream/4.cc: New.
- * 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
- * 27_io/basic_stringstream/str/char/1.cc: New.
- * 27_io/basic_stringstream/str/char/2.cc: New.
- * 27_io/basic_stringstream/str/char/3.cc: New.
- * 27_io/basic_stringstream/str/char/4.cc: New.
- * 27_io/fpos/1.cc: New.
- * 27_io/fpos/2.cc: New.
- * 27_io/fpos/3.cc: New.
- * 27_io/ios_base/callbacks/1.cc: New.
- * 27_io/ios_base/state/1.cc: New.
- * 27_io/ios_base/storage/1.cc: New.
- * 27_io/ios_base/storage/2.cc: New.
- * 27_io/ios_base/storage/3.cc: New.
- * 27_io/ios_base/sync_with_stdio/1.cc: New.
- * 27_io/ios_base/sync_with_stdio/2.cc: New.
- * 27_io/manipulators/adjustfield/char/1.cc: New.
- * 27_io/manipulators/adjustfield/char/2.cc: New.
- * 27_io/manipulators/basefield/char/1.cc: New.
- * 27_io/manipulators/standard/char/1.cc: New.
- * 27_io/manipulators/standard/char/2.cc: New.
- * 27_io/objects/char/1.cc: New.
- * 27_io/objects/char/2.cc: New.
- * 27_io/objects/char/2523-1_xin.cc: New.
- * 27_io/objects/char/2523-1_xin.in: New.
- * 27_io/objects/char/2523-2_xin.cc: New.
- * 27_io/objects/char/2523-2_xin.in: New.
- * 27_io/objects/char/3045.cc: New.
- * 27_io/objects/char/3647.cc: New.
- * 27_io/objects/char/3_xin.cc: New.
- * 27_io/objects/char/3_xin.in: New.
- * 27_io/objects/char/4_xin.cc: New.
- * 27_io/objects/char/4_xin.in: New.
- * 27_io/objects/char/5268.cc: New.
- * 27_io/objects/char/5280_xin.cc: New.
- * 27_io/objects/char/5280_xin.in: New.
- * 27_io/objects/char/6548_xin.cc: New.
- * 27_io/objects/char/6548_xin.in: New.
- * 27_io/objects/char/6648-1_xin.cc: New.
- * 27_io/objects/char/6648-1_xin.in: New.
- * 27_io/objects/char/6648-2_xin.cc: New.
- * 27_io/objects/char/6648-2_xin.in: New.
- * 27_io/objects/char/7744_xin.cc: New.
- * 27_io/objects/char/7744_xin.in: New.
- * 27_io/objects/wchar_t/1.cc: New.
- * 27_io/types/1.cc: New.
- * 27_io/types/2.cc: New.
- * data/filebuf_members-1.tst: New.
- * data/filebuf_members-1.txt: New.
- * data/filebuf_virtuals-1.tst: New.
- * data/filebuf_virtuals-1.txt: New.
- * data/filebuf_virtuals-2.tst: New.
- * data/filebuf_virtuals-3.tst: New.
- * data/ifstream_members-1.tst: New.
- * data/ifstream_members-1.txt: New.
- * data/ios_base_members_static-1.tst: New.
- * data/istream_extractor_other-1.tst: New.
- * data/istream_extractor_other-1.txt: New.
- * data/istream_extractor_other-2.tst: New.
- * data/istream_seeks-1.tst: New.
- * data/istream_seeks-1.txt: New.
- * data/istream_seeks-2.tst: New.
- * data/istream_seeks-3.tst: New.
- * data/istream_unformatted-1.tst: New.
- * data/istream_unformatted-1.txt: New.
- * data/ofstream_members-1.tst: New.
- * data/ostream_inserter_char-1.tst: New.
- * data/ostream_inserter_char-1.txt: New.
- * data/ostream_inserter_other-1.tst: New.
- * data/ostream_inserter_other-2.tst: New.
- * data/ostream_seeks-1.tst: New.
-
-2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
- requirement that __mode must be strict input or output.
-
- * include/std/std_streambuf.h (basic_streambuf::setp): Set
- _M_out_lim.
-
- * include/std/std_sstream.h (basic_strinbuf::str): Zero length
- output string shouldn't core.
- (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
- type.
- * include/bits/sstream.tcc: Adjust _M_really_sync bits here.
-
- * include/bits/istream.tcc (basic_istream::putback): Set gcount to
- zero.
-
-2003-04-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/data: New directory.
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
- to copy files from the testsuite data directory.
- (libstdc++-v3-list-sourcefiles): Add another test list filter, for
- testfiles containing _xin, which now means this is an interactive
- test and should be run with the interactive dejagnu hooks.
- * testsuite/Makefile.am: Remove testsuite_* files.
- * testsuite/Makefile.in: Regenerate.
-
-2003-04-09 Zack Weinberg <zack@codesourcery.com>
-
- * docs/html/install.html: Document complete list of locales
- required by test suite. Document procedure for installing
- said locales under Debian. Solicit instructions for other
- operating systems.
-
-2003-04-08 Alexandre Oliva <aoliva@redhat.com>
-
- * include/bits/sstream.tcc (overflow): Make sure operands of min
- and max have the same type.
-
-2003-04-04 Jerry Quinn <jlquinn@optonline.net>
-
- PR libstdc++/10276
- * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
- initialization.
-
-2003-03-31 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_streambuf.h (_M_out_buf_size()): Remove.
- * include/bits/fstream.tcc (_M_allocate_internal_buffer):
- Don't set _M_out_end.
- (basic_filebuf::overflow): Replace _M_out_buf_size() with
- this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
- * include/bits/sstream.tcc (basic_stringbuf::overflow):
- Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
- * include/bits/streambuf.tcc (basic_streambuf::sputc):
- Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
- (basic_streambuf::xsputn): Replace _M_out_buf_size() with
- _M_out_end - _M_out_cur.
- (__copy_streambufs): Likewise.
- * include/std/std_fstream.h (_M_set_determinate): Set
- _M_out_end here.
-
-2003-03-30 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (basic_filebuf::showmanyc,
- _M_convert_to_external, _M_really_overflow, seekoff): Fix
- test for synced buffer.
- * include/std/std_fstream.h (sync): Likewise.
- * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
- basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
-
-2003-03-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_sstream.h (basic_istringstream): Adjust
- initialization.
- (basic_ostringstream): Same.
- (basic_stringstream): Same.
- * include/std/std_fstream.h (basic_ifstream): Adjust initialization.
- (basic_ofstream): Same.
- (basic_fstream): Same.
- * include/std/std_ostream.h (basic_ostrem): Add protected ctor
- that does not call init.
- * include/std/std_istream.h (basic_istream): Same.
- (basic_iostream): Construct istream, ostream uninitialized, use
- init to initialize just once. Add protected ctor that does not
- call init.
-
-2003-03-28 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/9533
- * include/bits/fstream.tcc (basic_filebuf<>::open): Don't
- call underflow().
- (basic_filebuf<>::showmanyc): Use the information provided
- by codecvt and __basic_file<>::showmanyc_helper to implement
- a non-trivial showmanyc.
- * config/io/basic_file_stdio.h
- (__basic_file<>::showmanyc_helper): New, declare.
- * config/io/basic_file_stdio.cc
- (__basic_file<>::showmanyc_helper): Define.
- (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
- (__basic_file<char>::open): Don't call fcntl().
- * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
- GLIBCPP_CHECK_POLL): New macros.
- * configure.in: Call here.
- * acconfig.h: Add #undefs for the corresponding symbols.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2003-03-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Remove string export restrictions.
-
-2003-03-24 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/21_strings/basic_string/find/char/1.cc: Remove
- find_first_of, find_last_of and find_last_not_of tests.
- * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
- tests here, new file.
- * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
- remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
- * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
- wchar_t find_first_of tests here, new file.
- * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
- tests here.
- * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
- tests here.
- * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
- wchar_t find_last_of tests here.
- * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
- wchar_t find_last_not_of tests here.
-
-2003-03-22 Loren J. Rittle <ljrittle@acm.org>
-
- * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
- Correct return value.
-
-2003-03-21 Jerry Quinn <jlquinn@optonline.net>
-
- PR libstdc++/5730
- * include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
- * include/std/std_complex.h (norm): Use faster,
- less accurate computation for builtin float types under --fast-math.
-
-2003-03-21 Magnus Fromreide <gnats@magfr.user.lysator.liu.se>
-
- * testsuite/testsuite_hooks.h: Fix warning nits.
-
-2003-03-19 Alexandre Oliva <aoliva@redhat.com>
-
- * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
- Only .set mips2 for the o32 ABI.
-
-2003-03-19 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/21_strings/char_traits/requirements/char/1.cc:
- Test char not wchar_t.
-
-2003-03-18 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/21_strings/basic_string/append/wchar_t/1.cc:
- Correct size, taking into account sizeof(wchar_t).
-
-2003-03-18 Paolo Carlini <pcarlini@unitus.it>
-
- Reshuffle 21_strings testsuite.
- * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
- assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
- element_access.cc, operations.cc, char_traits_requirements.cc,
- find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
- compare.cc, inserters_extractors.cc, substr.cc: Split up, add
- wchar_t tests as follows.
- * 21_strings/basic_string/append/char/1.cc: New.
- * 21_strings/basic_string/append/wchar_t/1.cc: New.
- * 21_strings/basic_string/assign/char/1.cc: New.
- * 21_strings/basic_string/assign/char/2.cc: New.
- * 21_strings/basic_string/assign/char/3.cc: New.
- * 21_strings/basic_string/assign/wchar_t/1.cc: New.
- * 21_strings/basic_string/assign/wchar_t/2.cc: New.
- * 21_strings/basic_string/assign/wchar_t/3.cc: New.
- * 21_strings/basic_string/capacity/1.cc: New.
- * 21_strings/basic_string/capacity/char/1.cc: New.
- * 21_strings/basic_string/capacity/char/2.cc: New.
- * 21_strings/basic_string/capacity/wchar_t/1.cc: New.
- * 21_strings/basic_string/capacity/wchar_t/2.cc: New.
- * 21_strings/basic_string/compare/char/1.cc: New.
- * 21_strings/basic_string/compare/wchar_t/1.cc: New.
- * 21_strings/basic_string/cons/char/1.cc: New.
- * 21_strings/basic_string/cons/char/2.cc: New.
- * 21_strings/basic_string/cons/char/3.cc: New.
- * 21_strings/basic_string/cons/char/4.cc: New.
- * 21_strings/basic_string/cons/char/5.cc: New.
- * 21_strings/basic_string/cons/wchar_t/1.cc: New.
- * 21_strings/basic_string/cons/wchar_t/2.cc: New.
- * 21_strings/basic_string/cons/wchar_t/3.cc: New.
- * 21_strings/basic_string/cons/wchar_t/4.cc: New.
- * 21_strings/basic_string/cons/wchar_t/5.cc: New.
- * 21_strings/basic_string/element_access/char/1.cc: New.
- * 21_strings/basic_string/element_access/char/2.cc: New.
- * 21_strings/basic_string/element_access/char/3.cc: New.
- * 21_strings/basic_string/element_access/wchar_t/1.cc: New.
- * 21_strings/basic_string/element_access/wchar_t/2.cc: New.
- * 21_strings/basic_string/element_access/wchar_t/3.cc: New.
- * 21_strings/basic_string/find/char/1.cc: New.
- * 21_strings/basic_string/find/wchar_t/1.cc: New.
- * 21_strings/basic_string/insert/char/1.cc: New.
- * 21_strings/basic_string/insert/char/2.cc: New.
- * 21_strings/basic_string/insert/wchar_t/1.cc: New.
- * 21_strings/basic_string/insert/wchar_t/2.cc: New.
- * 21_strings/basic_string/inserters_extractors/char/1.cc: New.
- * 21_strings/basic_string/inserters_extractors/char/4.cc: New.
- * 21_strings/basic_string/inserters_extractors/char/5.cc: New.
- * 21_strings/basic_string/inserters_extractors/char/6.cc: New.
- * 21_strings/basic_string/inserters_extractors/char/7.cc: New.
- * 21_strings/basic_string/inserters_extractors/char/8.cc: New.
- * 21_strings/basic_string/inserters_extractors/char/9.cc: New.
- * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
- * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
- * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
- * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
- * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
- * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
- * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
- * 21_strings/basic_string/operators/char/1.cc: New.
- * 21_strings/basic_string/operators/char/2.cc: New.
- * 21_strings/basic_string/operators/wchar_t/1.cc: New.
- * 21_strings/basic_string/operators/wchar_t/2.cc: New.
- * 21_strings/basic_string/replace/char/1.cc: New.
- * 21_strings/basic_string/replace/char/2.cc: New.
- * 21_strings/basic_string/replace/char/3.cc: New.
- * 21_strings/basic_string/replace/char/4.cc: New.
- * 21_strings/basic_string/replace/char/5.cc: New.
- * 21_strings/basic_string/replace/wchar_t/1.cc: New.
- * 21_strings/basic_string/replace/wchar_t/2.cc: New.
- * 21_strings/basic_string/replace/wchar_t/3.cc: New.
- * 21_strings/basic_string/replace/wchar_t/4.cc: New.
- * 21_strings/basic_string/replace/wchar_t/5.cc: New.
- * 21_strings/basic_string/rfind/char/1.cc: New.
- * 21_strings/basic_string/rfind/char/2.cc: New.
- * 21_strings/basic_string/rfind/char/3.cc: New.
- * 21_strings/basic_string/rfind/wchar_t/1.cc: New.
- * 21_strings/basic_string/rfind/wchar_t/2.cc: New.
- * 21_strings/basic_string/rfind/wchar_t/3.cc: New.
- * 21_strings/basic_string/substr/char/1.cc: New.
- * 21_strings/basic_string/substr/wchar_t/1.cc: New.
- * 21_strings/c_strings/char/1.cc: New.
- * 21_strings/c_strings/char/2.cc: New.
- * 21_strings/c_strings/wchar_t/1.cc: New.
- * 21_strings/c_strings/wchar_t/2.cc: New.
- * 21_strings/char_traits/requirements/char/1.cc: New.
- * 21_strings/char_traits/requirements/wchar_t/1.cc: New.
- * 21_strings/char_traits/typedefs/char/1.cc: New.
-
-2003-03-17 Paolo Carlini <pcarlini@unitus.it>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/10097
- * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
- basic_filebuf<wchar_t>::_M_underflow_common):
- if (gptr() < egptr()) return *gptr().
- * testsuite/27_io/filebuf_virtuals.cc (test16): Add.
-
- * testsuite/27_io/filebuf_members.cc (test_04): Minor
- changes: unlink fifo before making it, fix spelling error.
-
-2003-03-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am (CLEANFILES): Add tmp*.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
- Cleanups.
-
-2003-03-17 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9964
- * include/bits/fstream.tcc (basic_filebuf::close):
- Always close file, even when write fails.
- * testsuite/27_io/filebuf_members.cc (test_07): New test.
-
-2003-03-17 Danny Smith <dannysmith@users.sourceforge.net>
-
- * libsupc++/Makefile.am (C_COMPILE): Remove.
- (LTCOMPILE): Likewise.
- * libsupc++/Makefile.in: Regenerate.
-
-2003-03-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/23_containers/bitset_members.cc: Add test variable.
- * testsuite/23_containers/map_insert.cc: Same.
- * testsuite/22_locale/ctype/cons/char/1.cc: Same.
- * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
- * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
- * testsuite/27_io/istream_exception.cc: Same.
- * testsuite/27_io/filebuf_virtuals.cc: Same.
- * testsuite/27_io/stringbuf_virtuals.cc: Same.
- * testsuite/27_io/ostream_inserter_arith.cc: Same.
- * testsuite/26_numerics/valarray_operators.cc: Same.
- * testsuite/26_numerics/slice.cc: Same.
- * testsuite/26_numerics/slice_array_assignment.cc: Same.
- * testsuite/24_iterators/istream_iterator.cc: Same.
- * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.
-
-2003-03-14 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9581
- PR libstdc++/9870
- * config/locale/generic/ctype_members.cc,
- * config/locale/gnu/ctype_members.cc
- (ctype<wchar_t>::do_widen(char)): Cast argument to
- unsigned char before passing to btowc.
- (ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
- Convert characters with btowc instead of mbsrtowcs.
- (ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
- char, char*):
- Convert characters with wctob instead of wcsrtombs.
- * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: New test.
- * testsuite/22_locale/ctype/widen/wchar_t/2.cc: New test.
- * testsuite/22_locale/ctype/widen/wchar_t/3.cc: New test.
-
-2003-03-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/stdc++.h: New.
- * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
- * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
- * include/Makefile.in: Regenerate.
- * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
- (--cxxflags): Put -g -O2 here.
- * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.
-
-2003-03-14 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
- missing named locale.
-
-2003-03-14 Andreas Schwab <schwab@suse.de>
-
- * configure.in: Only append to makefiles that are newly created to
- avoid multiple multi-do/multi-clean rules.
- * configure: Rebuilt.
-
-2003-03-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/configopts.html, docs/html/documentation.html,
- docs/html/explanations.html, docs/html/install.html,
- docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
- invalid XHTML and make page header style consistent.
-
-2003-03-12 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/faq/index.html: Explain memory "leaks" due to allocators.
- * docs/html/faq/index.txt: Regenerate.
- * docs/html/debug.html: Add a bit to allocator text and fix XHTML.
-
-2003-03-12 Andreas Schwab <schwab@suse.de>
-
- * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
- glibcpp_toolexeclibdir.
- * aclocal.m4, configure: Rebuilt.
-
-2003-03-11 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/faq/index.html: Update text about location of headers.
- * docs/html/faq/index.txt: Regenerate.
-
-2003-03-11 Carlo Wood <carlo@alinoe.com>
-
- * include/bits/demangle.h: Prepend accessors of
- class qualifier with 'get_' in order to fix warnings
- when compiling with -Wshadow.
-
-2003-03-11 Loren J. Rittle <ljrittle@acm.org>
-
- * config/os/bsd/freebsd/ctype_inline.h: Support _M_table
- when so installed.
- * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.
-
- * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
- report lack of setenv().
-
-2003-03-09 Paolo Carlini <pcarlini@unitus.it>
-
- * config/io/basic_file_stdio.cc: include <unistd.h>.
-
-2003-03-09 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/7744
- * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
- seekoff, seekpos): Add a boolean parameter __stdio.
- * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
- seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
- fseek/ftell, respectively), otherwise read (write, lseek, lseek,
- respectively).
- * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
- _M_really_overflow, seekoff): Use the boolean parameter in the calls.
- * include/std/std_fstream.h (sync): Likewise.
- * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
- * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
- libstdc++/8399 commit involving isatty(0).
- * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
- (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
- * configure.in: Remove call.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * testsuite/27_io/narrow_stream_objects.cc (test11): Add.
-
-2003-03-09 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9988
- * include/bits/fstream.tcc (overflow): don't write EOF to file.
- * testsuite/27_io/filebuf_virtuals.cc (test15): Add.
-
-2003-03-08 Jerry Quinn <jlquinn@optonline.net>
-
- PR libstdc++/9561
- * include/bits/basic_ios.h (_M_setstate): New.
- * include/bits/ostream.tcc (operator<<): Use it.
- * include/bits/istream.tcc (operator>>): Use it.
- * include/std/std_ostream.h (operator<<): Make friends.
- * include/std/std_istream.h (operator>>): Make friends.
- * testsuite/27_io/ostream_exception.cc,
- testsuite/27_io/istream_exception.cc: New tests.
-
-2003-03-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc: Fix typo.
-
-2003-03-08 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
-
- * config/locale/generic/c_locale.cc
- (locale::facet::_S_create_c_locale): Throw runtime exception when
- unsupported language is specified.
- * testsuite/testsuite_hooks.h
- (run_test_wrapped_generic_locale_exception_catcher): New function.
- * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
- Suppress runtime exception thrown by generic implementation.
- (run_tests_wrapped_env): Likewise.
- (run_test_wrapped_generic_locale_exception_catcher): New function.
- * testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
- * testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
- * testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
- * testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
- * testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
- * testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
- * testsuite/22_locale/collate_byname/1.cc: New test wrap.
- * testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
- * testsuite/22_locale/facet/2.cc: New test wrap.
- * testsuite/22_locale/locale/cons/4.cc: New test wrap.
- * testsuite/22_locale/locale/cons/5.cc: New test wrap.
- * testsuite/22_locale/locale/cons/7.cc: New test wrap.
- * testsuite/22_locale/messages/members/char/1.cc: New test wrap.
- * testsuite/22_locale/messages/members/char/2.cc: New test wrap.
- * testsuite/22_locale/messages/members/char/3.cc: New test wrap.
- * testsuite/22_locale/messages_byname/1.cc: New test wrap.
- * testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
- * testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
- * testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
- * testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
- * testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
- * testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
- * testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
- * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
- * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
- * testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
- * testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
- * testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
- * testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
- * testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
- * testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
- * testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
- * testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
- * testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
- * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
- * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
- * testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
- * testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
- * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
- * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
- * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
- * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
- * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
- * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
- * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
- * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
- * testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
- * testsuite/27_io/filebuf_virtuals.cc: New test wrap.
- * testsuite/27_io/ios_members.cc: New test wrap.
- * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
- New test wrap.
- * testsuite/27_io/streambuf_members.cc: New test wrap.
- * testsuite/27_io/stringbuf_virtuals.cc: New test wrap.
-
-2003-03-08 Paolo Carlini <pcarlini@unitus.it>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9424
- * include/bits/streambuf.tcc (__copy_streambufs): Use
- sgetn-sputn only when sputn cannot fail, otherwise fall back
- to safe snextc-sputc.
- * testsuite/27_io/streambuf_members.cc (test11, test12): Add.
-
-2003-03-08 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
- locale cache for truename and falsename.
-
-2003-03-08 Jerry Quinn <jlquinn@optonline.net>
-
- * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
- _M_word_size initialization.
-
-2003-03-07 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/fstream.tcc (_M_convert_to_external):
- Set __elen to zero if codecvt::out eventually fails.
-
-2003-03-07 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9182
- * include/bits/fstream.tcc (_M_really_overflow): Check
- for _M_convert_to_external possible failures.
- * include/std/std_fstream.h (sync): Check _M_really_overflow
- return value and return -1 in case of failure.
- * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.
-
-2003-03-07 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9826
- * include/bits/istream.tcc (operator>>(_CharT*),
- operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
- * testsuite/27_io/stringstream.cc (test02): Add.
-
- * include/bits/istream.tcc (operator>>(_CharT*)):
- Assign a char_type to *__s.
-
-2003-03-07 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9817
- * include/bits/locale_facets.tcc
- (collate::do_compare, collate::do_transform):
- Handle nul characters in input.
- * testsuite/22_locale/collate/compare/char/3.cc: New test.
- * testsuite/22_locale/collate/compare/wchar_t/3.cc: New test.
- * testsuite/22_locale/collate/transform/char/3.cc: New test.
- * testsuite/22_locale/collate/transform/wchar_t/3.cc: New test.
-
-2003-03-07 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
- sputn fails.
- * testsuite/27_io/ostream_fail.cc: New test.
-
-2003-03-07 Matthias Klose <doko@debian.org>
-
- * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
- FLAGS_TO_PASS: Set to AM_MAKEFLAGS
- * Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Express glibcppinstalldir in terms
- of gxx_include_dir.
- AM_MAKEFLAGS: Pass gxx_include_dir.
- * libsupc++/Makefile.in: Regenerate.
-
-2003-03-06 Jerry Quinn <jlquinn@optonline.net>
-
- * testsuite/27_io/ios_base_storage.cc (test02): Set exception
- mask. Test setting small-numbered pword and iword slots. Test
- behavior at limit of numeric_limits::max. Check that values are
- still good after failures.
-
-2003-03-06 Jerry Quinn <jlquinn@optonline.net>
-
- * src/ios.cc (ios_base::_M_init): Remove _M_word_size.
- (ios_base::ios_base): Set _M_word, _M_word_size.
- (ios_base::~ios_base): Remove redundant test.
- * testsuite/27_io/ios_base_storage.cc (test03): New.
-
-2003-03-04 Alexandre Oliva <aoliva@redhat.com>
-
- * src/strstream.cc, include/bits/basic_string.tcc: Remove
- incorrect whitespace added in my previous change.
-
-2003-03-05 Carlo Wood <carlo@alinoe.com>
-
- * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
- _S_initialized() in order to allow debugging libraries to detect
- when the std streams are initialized from an overloaded operator
- new.
-
-2003-03-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/demangle.h: Move to..
- * include/bits/demangle.h: ...here.
- * src/demangle.cc: Adjust include.
- * include/Makefile.am (bits_headers): Add.
- * include/Makefile.in: Regenerate.
-
-2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/globals.cc: Clarify comments, remove c_locale_imp_compat.
-
- * config/linker-map.gnu: Filter typeinfo and vtable info.
-
-2003-03-04 Jerry Quinn <jlquinn@optonline.net>
-
- * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
- new failure. Throw exception if badbit and exception mask when ix
- >= numeric_limits<int>::max().
-
-2003-03-04 Alexandre Oliva <aoliva@redhat.com>
-
- * src/strstream.cc (strstreambuf::overflow): Make sure operands of
- min and max have the same type.
- * include/bits/basic_string.tcc (append, rfind, compare): Likewise.
-
-2003-03-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (allstamps): Remove stamp-std-precompile.
- * include/Makefile.in: Regenerate.
-
-2003-03-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/abi_check.cc (report_symbol_info): Add version info.
-
- * config/linker-map.gnu: Hide more stuff.
- * include/Makefile.am: Cleanups.
- * include/Makefile.in: Regenerate.
-
-2003-02-27 Jerry Quinn <jlquinn@optonline.net>
-
- * config/locale/generic/messages_members.h (messages::messages):
- Remove name from unused parameter.
-
-2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (sources): Add demangle.cc.
- (demangle.o): Add.
- (demangle.lo): Add.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Remove old __cxa_demangle bits.
- * libsupc++/Makefile.in: Regenerate.
-
- * testsuite/testsuite_hooks.h
- (__gnu_cxx_test::verify_demangle): New.
- * testsuite/testsuite_hooks.cc: Define.
-
-2003-02-27 Carlo Wood <carlo@alinoe.com>
-
- * src/demangle.cc: New.
- * libsupc++/demangle.h: New.
-
-2003-02-27 Benjamin Kosnik <bkoz@redhat.com>
- Carlo Wood <carlo@alinoe.com>
-
- * testsuite/demangle/abi_examples/01.cc: New.
- * testsuite/demangle/abi_examples/02.cc: New.
- * testsuite/demangle/abi_examples/03.cc: New.
- * testsuite/demangle/abi_examples/04.cc: New.
- * testsuite/demangle/abi_examples/05.cc: New.
- * testsuite/demangle/abi_examples/06.cc: New.
- * testsuite/demangle/abi_examples/07.cc: New.
- * testsuite/demangle/abi_examples/08.cc: New.
- * testsuite/demangle/abi_examples/09.cc: New.
- * testsuite/demangle/abi_examples/10.cc: New.
- * testsuite/demangle/abi_examples/11.cc: New.
- * testsuite/demangle/abi_examples/12.cc: New.
- * testsuite/demangle/abi_examples/13.cc: New.
- * testsuite/demangle/abi_examples/14.cc: New.
- * testsuite/demangle/abi_examples/15.cc: New.
- * testsuite/demangle/abi_examples/16.cc: New.
- * testsuite/demangle/abi_examples/17.cc: New.
- * testsuite/demangle/abi_examples/18.cc: New.
- * testsuite/demangle/abi_examples/19.cc: New.
- * testsuite/demangle/abi_examples/20.cc: New.
- * testsuite/demangle/abi_examples/21.cc: New.
- * testsuite/demangle/abi_examples/22.cc: New.
- * testsuite/demangle/abi_examples/23.cc: New.
- * testsuite/demangle/abi_examples/24.cc: New.
- * testsuite/demangle/abi_examples/25.cc: New.
- * testsuite/demangle/abi_examples/26.cc: New.
- * testsuite/demangle/abi_text/01.cc: New.
- * testsuite/demangle/abi_text/02.cc: New.
- * testsuite/demangle/abi_text/03.cc: New.
- * testsuite/demangle/abi_text/04.cc: New.
- * testsuite/demangle/abi_text/05.cc: New.
- * testsuite/demangle/abi_text/06.cc: New.
- * testsuite/demangle/abi_text/07.cc: New.
- * testsuite/demangle/abi_text/08.cc: New.
- * testsuite/demangle/abi_text/09.cc: New.
- * testsuite/demangle/abi_text/10.cc: New.
- * testsuite/demangle/abi_text/11.cc: New.
- * testsuite/demangle/abi_text/12.cc: New.
- * testsuite/demangle/abi_text/13.cc: New.
- * testsuite/demangle/abi_text/14.cc: New.
- * testsuite/demangle/regression/3111-1.cc: New.
- * testsuite/demangle/regression/3111-2.cc: New.
- * testsuite/demangle/regression/7986-01.cc: New.
- * testsuite/demangle/regression/7986-02.cc: New.
- * testsuite/demangle/regression/7986-03.cc: New.
- * testsuite/demangle/regression/7986-04.cc: New.
- * testsuite/demangle/regression/7986-05.cc: New.
- * testsuite/demangle/regression/7986-06.cc: New.
- * testsuite/demangle/regression/7986-07.cc: New.
- * testsuite/demangle/regression/7986-08.cc: New.
- * testsuite/demangle/regression/7986-09.cc: New.
- * testsuite/demangle/regression/7986-10.cc: New.
- * testsuite/demangle/regression/7986-11.cc: New.
- * testsuite/demangle/regression/7986-12.cc: New.
- * testsuite/demangle/regression/7986.cc: New.
- * testsuite/demangle/regression/8897.cc: New.
- * testsuite/demangle/regression/cw-01.cc: New.
- * testsuite/demangle/regression/cw-02.cc: New.
- * testsuite/demangle/regression/cw-03.cc: New.
- * testsuite/demangle/regression/cw-04.cc: New.
- * testsuite/demangle/regression/cw-05.cc: New.
- * testsuite/demangle/regression/cw-06.cc: New.
- * testsuite/demangle/regression/cw-07.cc: New.
- * testsuite/demangle/regression/cw-08.cc: New.
- * testsuite/demangle/regression/cw-09.cc: New.
- * testsuite/demangle/regression/cw-10.cc: New.
- * testsuite/demangle/regression/cw-11.cc: New.
- * testsuite/demangle/regression/cw-12.cc: New.
- * testsuite/demangle/regression/cw-13.cc: New.
- * testsuite/demangle/regression/cw-14.cc: New.
- * testsuite/demangle/regression/old.cc: New.
-
-2003-02-25 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/Intro.3: Update with new (proper) names.
- * docs/doxygen/TODO: Update.
- * docs/doxygen/run_doxygen: More comments, fix up man pages.
- Fake entries for standard typedefs.
- * docs/doxygen/user.cfg.in: Turn INLINE_INHERITED_MEMB back on.
- * docs/html/documentation.html: Top-level man page is now called
- C++Intro.
- * include/std/std_limits.h: Doxygenate.
-
-2003-02-25 Scott Snyder <snyder@fnal.gov>
-
- PR libstdc++/9811
- * include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
- Correct documentation.
- * include/bits/stl_multimap.h (lower_bound, upper_bound,
- equal_range): Likewise.
-
-2003-02-24 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9825
- * src/fstream.cc
- (basic_filebuf<char/wchar_t>::_M_underflow_common): When
- __bump is true (uflow), always increment the read pointer
- (_M_in_cur) before returning successfully.
- * testsuite/27_io/filebuf_virtuals.cc (test12): Add.
-
-2003-02-24 Paolo Carlini <pcarlini@unitus.it>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/9404, PR libstdc++/9701 (partial)
- (aka pptr == epptr implies overflow)
- * include/bits/fstream.tcc (_M_allocate_internal_buffer):
- Consistently, _M_out_end points to the end of the buffer just
- created.
- (overflow): Tweak to use _M_out_buf_size().
- (_M_convert_to_external): The role of the old _M_out_end is
- now played by _M_out_lim.
- (_M_really_overflow): Likewise.
- (seekoff): Likewise.
- (setbuf): _M_out_end points to the end of the external buffer.
- * include/bits/sstream.tcc (overflow): Rewrote, taking into
- account the resolution of DR 169 (TC).
- (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
- (seekpos): Use _M_string.capacity(); tweak.
- * include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
- * include/std/std_fstream.h (sync): The role of the old
- _M_out_end is now played by _M_out_lim.
- (_M_set_indeterminate): Use _M_set_determinate.
- (_M_set_determinate): _M_out_end is now _M_out_lim.
- (_M_is_indeterminate): Likewise.
- * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
- (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
- which have the information readily available as _M_string.capacity();
- for ate and app modes, pass the string size to _M_really_sync.
- (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
- point to the end of the buffer (i.e., epptr) and to the string end,
- respectively.
- * include/std/std_streambuf.h: tweak comments, add _M_out_lim,
- which points to the right limit of the used put area.
- (_M_out_cur_move): The role of the old _M_out_end is now played
- by _M_out_lim.
- (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
- _M_out_end - _M_out_cur (i.e., pptr), _very_ close to the letter
- of the standard.
- (basic_streambuf()): Initialize _M_out_lim too.
- * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
- * testsuite/27_io/filebuf_virtuals.cc (test11): Add.
- * testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
-
-2003-02-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ios_base_storage.cc (main): Call
- set_memory_limits.
-
-2003-02-21 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/locale_facets.tcc (_M_convert_float): Replace
- numpunct facet accesses with data from __locale_cache.
-
-2003-02-20 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html (3.9): New note, wchar_t on FreeBSD.
- * docs/html/faq/index.txt: Regenerate.
-
-2003-02-20 Phil Edwards <pme@gcc.gnu.org>
-
- * config/linker-map.gnu: Also export locking symbols needed for the
- generic atomicity.h case.
-
-2003-02-20 Alexandre Oliva <aoliva@redhat.com>
-
- * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
- config.status.
- * configure: Rebuilt.
-
-2003-02-19 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/sstream.tcc (overflow): According to
- 27.7.1.3, p5, actual output is performed by sputc(c).
-
-2003-02-19 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/9582
- * include/bits/stl_alloc.h: Remove all traces of assert().
-
-2003-02-18 Paolo Carlini <pcarlini@unitus.it>
-
- * include/std/std_sstream.h (str()): the size of the
- current string may be different from the initial one
- whenever _M_out_end > _M_out_beg.
- * testsuite/27_io/stringbuf_members.cc (test07): Add.
-
-2003-02-18 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9582
- * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
-
-2003-02-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
- * testsuite/27_io/ios_members.cc (test03): New.
-
-2003-02-17 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
- (basic_ios::_M_cache_facets): Move into above.
- * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
- cache.
- (basic_ios::imbue): Force locale cache to be built.
- (basic_ios::_M_init): Create and initialize locale cache.
- * include/bits/ios_base.h (__locale_cache_base): Declare.
- (ios_base::_M_locale_cache): New.
- (ios_base::_M_cache): Define.
- * include/bits/locale_facets.h: (__num_base): Fix comment. Add
- _S_end.
- (__locale_cache_base,__locale_cache<_CharT>): New classes.
- (__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
- * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
- cache literal string, grouping flag, thousands separator.
- (__locale_cache<_CharT>::__locale_cache): New.
- (__locale_cache<_CharT>::_M_init): New.
- * src/ios.cc: Clear _M_locale_cache in constructor.
- * src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
- New.
-
-2003-02-17 Paolo Carlini <pcarlini@unitus.it>
-
- * src/locale-inst.cc: Do not include <cassert>.
- * src/locale.cc: Likewise.
-
-2003-02-17 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9580
- * include/std/std_fstream.h: Declare underflow and uflow
- specializations, change generic definitions to do nothing.
- * src/fstream.cc: Add underflow and uflow specializations.
-
-2003-02-17 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9169
- * include/bits/fstream.tcc (_M_convert_to_external):
- Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
- * testsuite/27_io/filebuf_virtuals.cc (test10): Add.
-
-2003-02-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
- * include/bits/basic_ios.tcc: Guard use of extern template.
- * include/std/std_iomanip.h: Same.
- * include/bits/streambuf.tcc: Same.
- * include/bits/stl_alloc.h: Same.
- * include/bits/locale_facets.tcc: Same.
- * include/bits/ostream.tcc: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/fstream.tcc: Same.
- * include/bits/basic_string.tcc: Same.
-
-2003-02-13 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/ostream.tcc (sentry::sentry): Improve
- performance-wise the fix for libstdc++/9563.
-
-2003-02-12 Phil Edwards <pme@gcc.gnu.org>
-
- * config/cpu/generic/atomicity.h (_Atomic_add_mutex): Fix declaration.
- (_GLIBCPP_NEED_GENERIC_MUTEX): Define for this file.
- (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once): Declare
- when we don't have static mutex initialization.
- (__exchange_and_add): Use _Atomic_add_mutex_once.
- * src/misc-inst.cc: Definitions of all the above.
-
-2003-02-12 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9563
- * include/bits/ostream.tcc (sentry::sentry): Check
- the state of the stream after the preparation.
- * testsuite/27_io/ostream_sentry.cc (test02): Add.
-
-2003-02-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (stamp-std-precompile): Add rule.
- * include/Makefile.in: Regenerated.
-
-2003-02-11 Jerry Quinn <jlquinn@optonline.net>
- Benjamin Kosnik <benjamin@redhat.com>
-
- * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
- Add indexes into this array.
- (__num_base::_S_atoms): To _S_atoms_in.
- (num_put::_M_insert): Rename to _M_pad.
- (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
- (num_put::_M_widen_int): Rename to _M_group_int.
- (num_put::_M_widen_float): Rename to _M_group_float.
- * include/bits/locale_facets.tcc (__int_to_char): New inline
- function and adapter functions.
- (num_put::_M_group_int): Streamline.
- (num_put::_M_group_float): Streamline.
- (num_put::_M_convert_int): Remove unused parameter names. Choose
- large enough buffer for text. Use __int_to_char instead of
- __convert_from_v. Formatted text is now at the end of the buffer.
- (num_put::_M_convert_float): Preliminary fixups.
- * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
- (__int_to_char<unsigned long long>): Same.
- (__int_to_char<char, unsigned long>): New.
- (__int_to_char<char, unsigned long long>): New.
- (__int_to_char<wchar_t, unsigned long>): New.
- (__int_to_char<wchar_t, unsigned long long>): New.
-
-2003-02-11 Scott Snyder <snyder@fnal.gov>
-
- PR libstdc++/9659
- * include/bits/fstream.tcc (seekoff): Avoid operator+
- for pos_type.
-
-2003-02-11 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9320
- * include/ext/stdio_filebuf.h
- (stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
- stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
- Change to take a __size parameter of type size_t, not
- of type (template parameter dependent) int_type.
- * src/ios.cc (ios_base::Init::_S_ios_create): Change type of
- size vars to size_t.
- * testsuite/ext/stdio_filebuf.cc: Add.
-
-2003-02-11 Paolo Carlini <pcarlini@unitus.it>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9318
- * include/bits/streambuf.tcc (__copy_streambufs):
- Don't conditionalize the copy to __testput.
- * testsuite/27_io/streambuf_members.cc (test09, test10): Add.
-
-2002-02-11 DJ Delorie <dj@redhat.com>
-
- * acinclude.m4: Check for native targets that can't link at
- this point in the build.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2003-02-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
- Correct alignment.
- (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
- lock.
-
-2003-02-07 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
- unsigned char platforms.
-
-2003-02-06 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9562
- * include/std/std_istream.h
- (basic_istream::sentry::operator bool()): Make const.
- * include/std/std_ostream.h
- (basic_ostream::sentry::operator bool()): Likewise.
- * testsuite/27_io/istream_sentry.cc (test03): Add.
- * testsuite/27_io/ostream_sentry.cc: Add.
-
-2003-02-06 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9548
- Implement resolution of DR 231 (Ready)
- * include/bits/locale_facets.h (__num_base::_S_format_float):
- Change declaration: return void, remove __prec parameter.
- * src/locale.cc (__num_base::_S_format_float): Implement
- resolution of DR 231.
- * include/bits/locale_facets.tcc (num_put::_M_convert_float):
- Tweak uses. Check for negative precision.
- * testsuite/22_locale/num_put/put/char/6.cc: Add
- * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
-
-2003-02-06 Peter Soetens <peter.soetens@mech.kuleuven.ac.be>
-
- * config/io/basic_file_libio.h: Fixups.
- * config/io/c_io_libio.h: Same.
- * libio/Makefile.am: Same.
- * libio/Makefile.in: Regenerated.
-
-2003-02-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
- Explicitly use the "C" locale.
- * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.
-
-2003-02-06 Petur Runolfsson <peturr02@ru.is>
-
- DR 75
- DR 305
- PR libstdc++/9028 (partial)
- PR libstdc++/9224
- PR libstdc++/9246
- PR libstdc++/9247
-
- * src/codecvt.cc
- (codecvt<wchar_t, char, mbstate_t>::do_encoding,
- codecvt<wchar_t, char, mbstate_t>::do_length,
- codecvt<wchar_t, char, mbstate_t>::do_max_length):
- Move...
- * config/locale/generic/codecvt_members.cc: ...here.
- * config/locale/gnu/codecvt_members.cc: ...and here.
-
- * config/locale/generic/codecvt_members.cc,
- * config/locale/gnu/codecvt_members.cc
- (codecvt<wchar_t, char, mbstate_t>::do_encoding
- codecvt<wchar_t, char, mbstate_t>::do_in,
- codecvt<wchar_t, char, mbstate_t>::do_length,
- codecvt<wchar_t, char, mbstate_t>::do_max_length,
- codecvt<wchar_t, char, mbstate_t>::do_out):
- New implementation that handles stateless encodings,
- including UTF-8.
-
- * config/locale/generic/codecvt_members.cc,
- * config/locale/gnu/codecvt_members.cc,
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h,
- * include/bits/codecvt.h,
- * src/codecvt.cc
- (codecvt::length, codecvt::do_length):
- Change type of first argument of length and do_length from
- 'const state_type&' to 'state_type&' according to DR 75.
-
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Cleanup.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: New test.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: New test.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: New test.
- * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
- Cleanup and check for correct return value from encoding
- for "C" locale.
- * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: New test.
- * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: New test.
- * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Cleanup.
- * testsuite/22_locale/codecvt/in/wchar_t/2.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/3.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/4.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/5.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/6.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/7.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/8.cc: New test.
- * testsuite/22_locale/codecvt/in/wchar_t/9.cc: New test.
- * testsuite/22_locale/codecvt/length/char/1.cc: Cleanup.
- * testsuite/22_locale/codecvt/length/char/2.cc: New test.
- * testsuite/22_locale/codecvt/length/wchar_t/1.cc: Cleanup.
- * testsuite/22_locale/codecvt/length/wchar_t/2.cc: New test.
- * testsuite/22_locale/codecvt/length/wchar_t/3.cc: New test.
- * testsuite/22_locale/codecvt/length/wchar_t/4.cc: New test.
- * testsuite/22_locale/codecvt/length/wchar_t/5.cc: New test.
- * testsuite/22_locale/codecvt/length/wchar_t/6.cc: New test.
- * testsuite/22_locale/codecvt/length/wchar_t/7.cc: New test.
- * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Cleanup.
- * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: New test.
- * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: New test.
- * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: New test.
- * testsuite/22_locale/codecvt/out/wchar_t/1.cc: Cleanup.
- * testsuite/22_locale/codecvt/out/wchar_t/2.cc: New test.
- * testsuite/22_locale/codecvt/out/wchar_t/3.cc: New test.
- * testsuite/22_locale/codecvt/out/wchar_t/4.cc: New test.
- * testsuite/22_locale/codecvt/out/wchar_t/5.cc: New test.
- * testsuite/22_locale/codecvt/out/wchar_t/6.cc: New test.
- * testsuite/22_locale/codecvt/out/wchar_t/7.cc: New test.
- * testsuite/22_locale/codecvt/unicode/1.cc: New test.
- * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc: Cleanup.
- * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: New test.
- * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: New test.
- * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc: New test.
-
-2003-02-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
- (money_put::do_put): Same.
-
-2003-02-05 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/ios_base.h (ios_base): Document reserved storage.
-
- * include/bits/locale_facets.h: (struct __pad): Comment on
- implementation.
- (__verify_grouping): Same.
- (__add_grouping): Same.
- * include/bits/locale_facets.tcc (__verify_grouping): Move
- comments to declaration.
- (__add_grouping): Same.
-
- * include/bits/locale_facets.tcc:
- (__write<_CharT, _OutIter>): New function.
- (__write<_CharT>): New function specialization.
- (num_put::_M_insert): Remove explicit loop over iterator. Use
- __write.
- (num_put::_M_widen_float): Remove __basefield.
- (num_put::_M_widen_int): Move __basefield to within grouping block.
-
- * include/bits/streambuf_iterator.h: Include <streambuf>.
- (ostreambuf_iterator::_M_put): Add.
-
-2003-02-05 Paolo Carlini <pcarlini@unitus.it>
-
- * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
-
-2003-02-04 Nathan Myers <ncm@cantrip.org>
-
- * testsuite/25_algorithms/min_max.cc (test02): Add.
-
-2003-02-04 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9439, PR libstdc++/9425
- * config/io/basic_file_stdio.cc
- (__basic_file<char>::seekoff, seekpos): Return -1L if
- fseek fails.
- * include/bits/fstream.tcc (basic_filebuf::seekoff):
- Check _M_file.seekoff return value; always return
- pos_type(off_type(-1)) in case of failure.
- (basic_filebuf::pbackfail): Check this->seekoff return
- value and return traits_type::eof() in case of failure.
- * testsuite/27_io/filebuf_virtuals.cc (test09): Add.
-
-2003-02-04 Jerry Quinn <jlquinn@optonline.net>
-
- * include/std/std_ostream.h (ostream::_M_write): Declare.
- * ostream.tcc (ostream::_M_write): Define.
- (basic_ostream::write): Use it.
- (operator<<(basic_ostream, _CharT)): Ditto.
- (operator<<(basic_ostream, char)): Ditto.
- (operator<<(basic_ostream, _CharT*)): Ditto.
- (operator<<(basic_ostream, char*)): Ditto.
- (operator<<(basic_ostream, basic_string)): Ditto.
-
-2003-02-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
-
-2002-02-04 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
- add HTML comment about updating links if numbering changes.
-
-2003-02-04 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9538
- * include/bits/streambuf.tcc (sputbackc): Access
- this->gptr()[-1] only if _M_in_beg < _M_in_cur.
- * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
-
-2003-02-04 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9507
- * include/bits/fstream.tcc (open): If the 'ate' repositioning
- operation fails, calls close _and_ returns a null pointer
- to indicate failure (27.8.1.3,4).
- * testsuite/27_io/filebuf_members.cc (test_06): Add.
-
-2003-02-04 Petur Runolfsson <peturr02@ru.is>
-
- * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
-
-2002-02-04 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/27_io/howto.html: New section on stdio_filebuf.
- * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
- * docs/html/documentation.html: Regenerate.
-
-2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
-
- * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
- * docs/html/17_intro/porting.html: Regenerate.
-
-2003-02-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
- Phil Edwards <pme@gcc.gnu.org>
-
- * include/std/std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use
- numeric_limits for bits-per-word values.
- (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
- Use __builtin_popcountl instead.
- (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
- _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
- Use __builtin_ctzl instead.
- (_S_bit_count, _S_first_one): Remove.
- * config/linker-map.gnu (GLIBCPP_3.4): Remove std::_S_bit_count.
- * src/Makefile.am (sources): Remove bitset.cc.
- * src/bitset.cc: Delete file.
- * src/Makefile.in: Regenerate.
-
-2003-02-03 Phil Edwards <pme@gcc.gnu.org>
-
- PR libstdc++/9527, PR libstdc++/8713
- * docs/html/install.html: Mention glibc version requirement.
- * docs/html/faq/index.html (3.8): New note, glibc 2.2.5+ is needed
- with 3.2.1+ (formatting bugfixes).
- * docs/html/faq/index.txt: Regenerate.
-
-2003-02-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- PR libstdc++/9234
- * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
- operator.
-
- * include/bits/valarray_before.h (__not_equal_to): Use != instead
- of ==.
-
- * testsuite/26_numerics/valarray_operators.cc: New test.
-
-2003-02-01 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/html/faq/index.html: Correct link to libg++ information.
- * docs/html/faq/index.txt: Regenerated.
-
-2003-02-01 Paolo Carlini <pcarlini@unitus.it>
- Benjamin Kosnik <bkoz@redhat.com>
-
- Const correctness issue:
- http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
- * include/bits/locale_classes.h
- (locale::_Impl::_M_facets): Change type to const facet**.
- (locale::_Impl::_M_install_facet): Change declaration to
- take const facet*.
- (locale::facet::_M_references): Make mutable.
- (locale::facet::_M_add_reference): Declare const.
- (locale::facet::_M_remove_reference): Likewise.
- * include/bits/locale_facets.tcc
- (use_facet(const locale&)): Tweak for const facet** _M_facets.
- (has_facet(const locale&)): Likewise.
- * src/locale.cc
- (locale::facet::_M_add_reference): Adjust definition.
- (locale::facet::_M_remove_reference): Likewise.
- * src/localename.cc
- (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
- const facet** _M_facets.
- (locale::_Impl::_Impl(const char*, size_t)): Likewise.
- (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
- (locale::_Impl::_M_install_facet): Adjust definition to take
- const facet* and for const facet** _M_facets.
- * testsuite/22_locale/locale/cons/8.cc: Add.
-
-2003-01-29 Mark Mitchell <mark@codesourcery.com>
-
- * include/std/std_limits.h (numeric_limits<float>::has_infinity):
- Use __FLT_HAS_INIFINITY__ to initialize.
- (numeric_limits<float>::has_quiet_NaN): Likewise.
- (numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
- to initialize.
- (numeric_limits<double>::has_quiet_NaN): Likewise.
- (numeric_limits<long double>::has_infinity): Use
- __LDBL_HAS_INIFINITY__ to initialize.
- (numeric_limits<long_double>::has_quiet_NaN): Likewise.
-
-2003-01-28 Nathan Sidwell <nathan@codesourcery.com>
-
- PR c++/9433
- * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
- with bases which are very ambiguous.
-
-2003-01-28 Danny Smith <dannysmith@users.sourceforge.net>
-
- * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
- @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
- * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
-
-2003-01-27 Alexandre Oliva <aoliva@redhat.com>
-
- * acinclude.m4 (glibcpp_toolexeclibdir): Instead of
- $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
- version_specific_libs is enabled.
- * aclocal.m4, configure: Rebuilt.
-
-2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
-
- * include/bits/valarray_meta.h: Remove, split into ...
- * include/bits/valarray_before.h: ... this, and ...
- * include/bits/valarray_after.h: ... this.
- * include/std/std_valarray.h: Adjust.
- * include/Makefile.am (bits_headers): Adjust.
- * include/Makefile.in: Regenerate.
-
-2003-01-24 Andreas Schwab <schwab@suse.de>
-
- * config/linker-map.gnu: Fix for size_t variance.
-
-2003-01-23 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/9322
- * include/std/std_streambuf.h
- (basic_streambuf::basic_streambuf,
- basic_streambuf::~basic_streambuf,
- basic_streambuf::getloc, basic_streambuf::imbue):
- Remove _M_buf_locale_init
- * include/bits/fstream.tcc (basic_filebuf::imbue): Likewise
- * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
- * testsuite/27_io/streambuf_members.cc (test08): Add.
- * testsuite/27_io/stringbuf_virtuals.cc (test08): Add.
-
-2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
-
- Revert include ordering.
- * config/locale/generic/c_locale.h: Add include guards.
- * config/locale/gnu/c_locale.h: Same.
- * include/bits/locale_classes.h: Remove cctype include.
- * include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
- * include/std/std_fstream.h: Remove streambuf include.
- * include/std/std_sstream.h: Remove streambuf include.
-
-2003-01-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in (libtool_VERSION): To 6:0:0.
- * configure: Regenerated.
- * config/linker-map.gnu: Clean.
-
- * src/misc-inst.cc: Remove instantiations.
-
- * include/bits/stl_alloc.h (__malloc_alloc_template):
- To __malloc_alloc.
- (__default_alloc_template): To __pool_alloc.
- * src/stl-inst.cc: Same.
- * include/backward/alloc.h: Update.
- * testsuite/ext/allocators.cc: Update.
-
- * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
- really try to remove these if possible.
- * src/locale.cc (std): Same.
-
- * testsuite/abi_check.cc (check_version): Add.
-
-2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
- Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>
- Mark Mitchell <mark@codesourcery.com>
-
- PR libstdc++/9269
- * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
- (basic_filebuf::underflow): Declare.
- Move definitions.
-
-2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h: Move non-facet classes requiring
- <string> to...
- * include/bits/locale_classes.h: New.
- * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
- * include/bits/Makefile.in: Regenerate.
-
- * include/bits/locale_facets.tcc (__convert_from_v): Move to...
- * config/locale/gnu/c_locale.h: ...here.
- * config/locale/generic/c_locale.h: Same.
-
- * include/bits/locale_facets.tcc: Move declarations to...
- * include/bits/locale_facets.h: ...here.
- * include/bits/basic_ios.h: Tweak includes accordingly.
- * include/std/std_sstream.h: Add streambuf include.
- * include/std/std_fstream.h: Ditto.
- * include/std/std_locale.h: Add locale_classes.h include.
- * include/std/std_iosfwd.h: Tweak.
- * src/concept-inst.cc: Add iterator include.
-
- * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
- bits as unexported in the future.
-
-2003-01-21 Benjamin Kosnik <bkoz@redhat.com>
-
- Reshuffle 22_locale testsuite.
- * 22_locale/(codecvt.cc money_get.cc
- codecvt_members_char_char.cc money_get_members_char.cc
- codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
- codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
- codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
- moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
- collate_members_char.cc money_put.cc collate_members_wchar_t.cc
- money_put_members_char.cc ctor_copy_dtor.cc
- money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
- num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
- ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
- numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
- ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
- num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
- ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
- operators.cc ctype_widen_char.cc static_members.cc
- ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
- global_templates.cc time_get_members_wchar_t.cc, members.cc,
- time_put.cc, messages_byname.cc, time_put_members_char.cc,
- messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
- Split up into individual test cases...
- * 22_locale/codecvt/1.cc: New.
- * 22_locale/codecvt/2.cc: New.
- * 22_locale/codecvt/always_noconv/char/1.cc: New.
- * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
- * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
- * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
- * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
- * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
- * 22_locale/codecvt/encoding/char/1.cc: New.
- * 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
- * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
- * 22_locale/codecvt/encoding/wchar_t/1.cc: New.
- * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
- * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
- * 22_locale/codecvt/in/char/1.cc: New.
- * 22_locale/codecvt/in/char/wrapped_env.cc: New.
- * 22_locale/codecvt/in/char/wrapped_locale.cc: New.
- * 22_locale/codecvt/in/wchar_t/1.cc: New.
- * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
- * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
- * 22_locale/codecvt/length/char/1.cc: New.
- * 22_locale/codecvt/length/char/wrapped_env.cc: New.
- * 22_locale/codecvt/length/char/wrapped_locale.cc: New.
- * 22_locale/codecvt/length/wchar_t/1.cc: New.
- * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
- * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
- * 22_locale/codecvt/max_length/char/1.cc: New.
- * 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
- * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
- * 22_locale/codecvt/max_length/wchar_t/1.cc: New.
- * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
- * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
- * 22_locale/codecvt/out/char/1.cc: New.
- * 22_locale/codecvt/out/char/wrapped_env.cc: New.
- * 22_locale/codecvt/out/char/wrapped_locale.cc: New.
- * 22_locale/codecvt/out/wchar_t/1.cc: New.
- * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
- * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
- * 22_locale/codecvt/unicode/char.cc: New.
- * 22_locale/codecvt/unicode/wchar_t.cc: New.
- * 22_locale/codecvt/unshift/char/1.cc: New.
- * 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
- * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
- * 22_locale/codecvt/unshift/wchar_t/1.cc: New.
- * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
- * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
- * 22_locale/collate/1.cc: New.
- * 22_locale/collate/2.cc: New.
- * 22_locale/collate/compare/char/1.cc: New.
- * 22_locale/collate/compare/char/2.cc: New.
- * 22_locale/collate/compare/char/wrapped_env.cc: New.
- * 22_locale/collate/compare/char/wrapped_locale.cc: New.
- * 22_locale/collate/compare/wchar_t/1.cc: New.
- * 22_locale/collate/compare/wchar_t/2.cc: New.
- * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
- * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
- * 22_locale/collate/hash/char/1.cc: New.
- * 22_locale/collate/hash/char/2.cc: New.
- * 22_locale/collate/hash/char/wrapped_env.cc: New.
- * 22_locale/collate/hash/char/wrapped_locale.cc: New.
- * 22_locale/collate/hash/wchar_t/1.cc: New.
- * 22_locale/collate/hash/wchar_t/2.cc: New.
- * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
- * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
- * 22_locale/collate/transform/char/2.cc: New.
- * 22_locale/collate/transform/char/wrapped_env.cc: New.
- * 22_locale/collate/transform/char/wrapped_locale.cc: New.
- * 22_locale/collate/transform/wchar_t/2.cc: New.
- * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
- * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
- * 22_locale/collate_byname/1.cc: New.
- * 22_locale/ctype/1.cc: New.
- * 22_locale/ctype/2.cc: New.
- * 22_locale/ctype/cons/char/1.cc: New.
- * 22_locale/ctype/cons/char/wrapped_env.cc: New.
- * 22_locale/ctype/cons/char/wrapped_locale.cc: New.
- * 22_locale/ctype/is/char/1.cc: New.
- * 22_locale/ctype/is/char/2.cc: New.
- * 22_locale/ctype/is/char/3.cc: New.
- * 22_locale/ctype/is/char/wrapped_env.cc: New.
- * 22_locale/ctype/is/char/wrapped_locale.cc: New.
- * 22_locale/ctype/is/wchar_t/1.cc: New.
- * 22_locale/ctype/is/wchar_t/2.cc: New.
- * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
- * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
- * 22_locale/ctype/narrow/char/1.cc: New.
- * 22_locale/ctype/narrow/char/2.cc: New.
- * 22_locale/ctype/narrow/char/wrapped_env.cc: New.
- * 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
- * 22_locale/ctype/narrow/wchar_t/1.cc: New.
- * 22_locale/ctype/narrow/wchar_t/2.cc: New.
- * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
- * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
- * 22_locale/ctype/scan/char/1.cc: New.
- * 22_locale/ctype/scan/char/wrapped_env.cc: New.
- * 22_locale/ctype/scan/char/wrapped_locale.cc: New.
- * 22_locale/ctype/scan/wchar_t/1.cc: New.
- * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
- * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
- * 22_locale/ctype/to/char/1.cc: New.
- * 22_locale/ctype/to/char/wrapped_env.cc: New.
- * 22_locale/ctype/to/char/wrapped_locale.cc: New.
- * 22_locale/ctype/to/wchar_t/1.cc: New.
- * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
- * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
- * 22_locale/ctype/widen/char/1.cc: New.
- * 22_locale/ctype/widen/char/wrapped_env.cc: New.
- * 22_locale/ctype/widen/char/wrapped_locale.cc: New.
- * 22_locale/ctype/widen/wchar_t/1.cc: New.
- * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
- * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
- * 22_locale/facet/1.cc: New.
- * 22_locale/facet/2.cc: New.
- * 22_locale/global_templates/1.cc: New.
- * 22_locale/locale/cons/1.cc: New.
- * 22_locale/locale/cons/2.cc: New.
- * 22_locale/locale/cons/3.cc: New.
- * 22_locale/locale/cons/4.cc: New.
- * 22_locale/locale/cons/5.cc: New.
- * 22_locale/locale/cons/6.cc: New.
- * 22_locale/locale/cons/7.cc: New.
- * 22_locale/locale/global_locale_objects/1.cc: New.
- * 22_locale/locale/global_locale_objects/2.cc: New.
- * 22_locale/locale/global_locale_objects/3.cc: New.
- * 22_locale/locale/operations/1.cc: New.
- * 22_locale/locale/operations/2.cc: New.
- * 22_locale/messages/1.cc: New.
- * 22_locale/messages/2.cc: New.
- * 22_locale/messages/members/char/1.cc: New.
- * 22_locale/messages/members/char/2.cc: New.
- * 22_locale/messages/members/char/3.cc: New.
- * 22_locale/messages/members/char/wrapped_env.cc: New.
- * 22_locale/messages/members/char/wrapped_locale.cc: New.
- * 22_locale/messages_byname/1.cc: New.
- * 22_locale/money_get/1.cc: New.
- * 22_locale/money_get/2.cc: New.
- * 22_locale/money_get/get/char/1.cc: New.
- * 22_locale/money_get/get/char/2.cc: New.
- * 22_locale/money_get/get/char/3.cc: New.
- * 22_locale/money_get/get/char/4.cc: New.
- * 22_locale/money_get/get/char/5.cc: New.
- * 22_locale/money_get/get/char/6.cc: New.
- * 22_locale/money_get/get/char/7.cc: New.
- * 22_locale/money_get/get/char/8.cc: New.
- * 22_locale/money_get/get/char/wrapped_env.cc: New.
- * 22_locale/money_get/get/char/wrapped_locale.cc: New.
- * 22_locale/money_get/get/wchar_t/1.cc: New.
- * 22_locale/money_get/get/wchar_t/2.cc: New.
- * 22_locale/money_get/get/wchar_t/3.cc: New.
- * 22_locale/money_get/get/wchar_t/4.cc: New.
- * 22_locale/money_get/get/wchar_t/5.cc: New.
- * 22_locale/money_get/get/wchar_t/6.cc: New.
- * 22_locale/money_get/get/wchar_t/7.cc: New.
- * 22_locale/money_get/get/wchar_t/8.cc: New.
- * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
- * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
- * 22_locale/money_put/1.cc: New.
- * 22_locale/money_put/2.cc: New.
- * 22_locale/money_put/put/char/1.cc: New.
- * 22_locale/money_put/put/char/2.cc: New.
- * 22_locale/money_put/put/char/3.cc: New.
- * 22_locale/money_put/put/char/4.cc: New.
- * 22_locale/money_put/put/char/5.cc: New.
- * 22_locale/money_put/put/char/6.cc: New.
- * 22_locale/money_put/put/char/wrapped_env.cc: New.
- * 22_locale/money_put/put/char/wrapped_locale.cc: New.
- * 22_locale/money_put/put/wchar_t/1.cc: New.
- * 22_locale/money_put/put/wchar_t/2.cc: New.
- * 22_locale/money_put/put/wchar_t/3.cc: New.
- * 22_locale/money_put/put/wchar_t/4.cc: New.
- * 22_locale/money_put/put/wchar_t/5.cc: New.
- * 22_locale/money_put/put/wchar_t/6.cc: New.
- * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
- * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
- * 22_locale/moneypunct/1.cc: New.
- * 22_locale/moneypunct/2.cc: New.
- * 22_locale/moneypunct/3.cc: New.
- * 22_locale/moneypunct/members/char/1.cc: New.
- * 22_locale/moneypunct/members/char/2.cc: New.
- * 22_locale/moneypunct/members/char/wrapped_env.cc: New.
- * 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
- * 22_locale/moneypunct/members/wchar_t/1.cc: New.
- * 22_locale/moneypunct/members/wchar_t/2.cc: New.
- * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
- * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
- * 22_locale/moneypunct_byname/1.cc: New.
- * 22_locale/num_get/1.cc: New.
- * 22_locale/num_get/2.cc: New.
- * 22_locale/num_get/get/char/1.cc: New.
- * 22_locale/num_get/get/char/2.cc: New.
- * 22_locale/num_get/get/char/3.cc: New.
- * 22_locale/num_get/get/char/4.cc: New.
- * 22_locale/num_get/get/char/5.cc: New.
- * 22_locale/num_get/get/char/6.cc: New.
- * 22_locale/num_get/get/char/wrapped_env.cc: New.
- * 22_locale/num_get/get/char/wrapped_locale.cc: New.
- * 22_locale/num_get/get/wchar_t/1.cc: New.
- * 22_locale/num_get/get/wchar_t/2.cc: New.
- * 22_locale/num_get/get/wchar_t/3.cc: New.
- * 22_locale/num_get/get/wchar_t/4.cc: New.
- * 22_locale/num_get/get/wchar_t/5.cc: New.
- * 22_locale/num_get/get/wchar_t/6.cc: New.
- * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
- * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
- * 22_locale/num_put/1.cc: New.
- * 22_locale/num_put/2.cc: New.
- * 22_locale/num_put/put/char/1.cc: New.
- * 22_locale/num_put/put/char/2.cc: New.
- * 22_locale/num_put/put/char/3.cc: New.
- * 22_locale/num_put/put/char/4.cc: New.
- * 22_locale/num_put/put/char/5.cc: New.
- * 22_locale/num_put/put/char/wrapped_env.cc: New.
- * 22_locale/num_put/put/char/wrapped_locale.cc: New.
- * 22_locale/num_put/put/wchar_t/1.cc: New.
- * 22_locale/num_put/put/wchar_t/2.cc: New.
- * 22_locale/num_put/put/wchar_t/3.cc: New.
- * 22_locale/num_put/put/wchar_t/4.cc: New.
- * 22_locale/num_put/put/wchar_t/5.cc: New.
- * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
- * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
- * 22_locale/numpunct/1.cc: New.
- * 22_locale/numpunct/2.cc: New.
- * 22_locale/numpunct/members/char/1.cc: New.
- * 22_locale/numpunct/members/char/2.cc: New.
- * 22_locale/numpunct/members/char/wrapped_env.cc: New.
- * 22_locale/numpunct/members/char/wrapped_locale.cc: New.
- * 22_locale/numpunct/members/wchar_t/1.cc: New.
- * 22_locale/numpunct/members/wchar_t/2.cc: New.
- * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
- * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
- * 22_locale/numpunct_byname/1.cc: New.
- * 22_locale/numpunct_byname/2.cc: New.
- * 22_locale/time_get/1.cc: New.
- * 22_locale/time_get/2.cc: New.
- * 22_locale/time_get/date_order/char/1.cc: New.
- * 22_locale/time_get/date_order/char/wrapped_env.cc: New.
- * 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
- * 22_locale/time_get/date_order/wchar_t/1.cc: New.
- * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
- * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
- * 22_locale/time_get/get_date/char/1.cc: New.
- * 22_locale/time_get/get_date/char/2.cc: New.
- * 22_locale/time_get/get_date/char/3.cc: New.
- * 22_locale/time_get/get_date/char/wrapped_env.cc: New.
- * 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
- * 22_locale/time_get/get_date/wchar_t/1.cc: New.
- * 22_locale/time_get/get_date/wchar_t/2.cc: New.
- * 22_locale/time_get/get_date/wchar_t/3.cc: New.
- * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
- * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
- * 22_locale/time_get/get_monthname/char/1.cc: New.
- * 22_locale/time_get/get_monthname/char/2.cc: New.
- * 22_locale/time_get/get_monthname/char/3.cc: New.
- * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
- * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
- * 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
- * 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
- * 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
- * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
- * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
- * 22_locale/time_get/get_time/char/1.cc: New.
- * 22_locale/time_get/get_time/char/2.cc: New.
- * 22_locale/time_get/get_time/char/3.cc: New.
- * 22_locale/time_get/get_time/char/wrapped_env.cc: New.
- * 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
- * 22_locale/time_get/get_time/wchar_t/1.cc: New.
- * 22_locale/time_get/get_time/wchar_t/2.cc: New.
- * 22_locale/time_get/get_time/wchar_t/3.cc: New.
- * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
- * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
- * 22_locale/time_get/get_weekday/char/1.cc: New.
- * 22_locale/time_get/get_weekday/char/2.cc: New.
- * 22_locale/time_get/get_weekday/char/3.cc: New.
- * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
- * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
- * 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
- * 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
- * 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
- * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
- * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
- * 22_locale/time_get/get_year/char/1.cc: New.
- * 22_locale/time_get/get_year/char/3.cc: New.
- * 22_locale/time_get/get_year/char/wrapped_env.cc: New.
- * 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
- * 22_locale/time_get/get_year/wchar_t/1.cc: New.
- * 22_locale/time_get/get_year/wchar_t/3.cc: New.
- * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
- * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
- * 22_locale/time_put/1.cc: New.
- * 22_locale/time_put/2.cc: New.
- * 22_locale/time_put/put/char/1.cc: New.
- * 22_locale/time_put/put/char/10.cc: New.
- * 22_locale/time_put/put/char/2.cc: New.
- * 22_locale/time_put/put/char/3.cc: New.
- * 22_locale/time_put/put/char/4.cc: New.
- * 22_locale/time_put/put/char/5.cc: New.
- * 22_locale/time_put/put/char/6.cc: New.
- * 22_locale/time_put/put/char/7.cc: New.
- * 22_locale/time_put/put/char/8.cc: New.
- * 22_locale/time_put/put/char/9.cc: New.
- * 22_locale/time_put/put/char/wrapped_env.cc: New.
- * 22_locale/time_put/put/char/wrapped_locale.cc: New.
- * 22_locale/time_put/put/wchar_t/1.cc: New.
- * 22_locale/time_put/put/wchar_t/10.cc: New.
- * 22_locale/time_put/put/wchar_t/2.cc: New.
- * 22_locale/time_put/put/wchar_t/3.cc: New.
- * 22_locale/time_put/put/wchar_t/4.cc: New.
- * 22_locale/time_put/put/wchar_t/5.cc: New.
- * 22_locale/time_put/put/wchar_t/6.cc: New.
- * 22_locale/time_put/put/wchar_t/7.cc: New.
- * 22_locale/time_put/put/wchar_t/8.cc: New.
- * 22_locale/time_put/put/wchar_t/9.cc: New.
- * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
- * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.
-
-2003-01-16 Jeffrey D. Oldham <oldham@codesourcery.com>
-
- * config/locale/generic/messages_members.h
- (messages_byname<_CharT>::messages_byname): Use this-> to refer to
- unqualified members of base clasess.
-
-2003-01-16 Mark Mitchell <mark@codesourcery.com>
- Jeffrey Oldham <oldham@codesourcery.com>
-
- * config/locale/gnu/messages_members.h: Use this-> to refer to
- unqualified members of base clasess.
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
- * include/bits/codecvt.h: Likewise.
- * include/bits/deque.tcc: Likewise.
- * include/bits/fstream.tcc: Likewise.
- * include/bits/istream.tcc: Likewise.
- * include/bits/list.tcc: Likewise.
- * include/bits/locale_facets.h: Likewise.
- * include/bits/ostream.tcc: Likewise.
- * include/bits/sstream.tcc: Likewise.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/vector.tcc: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/stdio_filebuf.h: Likewise.
- * include/ext/stl_rope.h: Likewise.
- * include/std/std_fstream.h: Likewise.
- * include/std/std_sstream.h: Likewise.
-
-2003-01-15 Phil Edwards <pme@gcc.gnu.org>
-
- * include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
-
-2003-01-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
- GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * testsuite/Makefile.am (all-local): Add conditional rule to
- generate testsuite_wchar_t.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/lib/libstdc++-v3-dg.exp
- (libstdc++-v3-list-sourcefiles): Remove wchar_t files if
- testsuite_wchar_t is not present in the build directory.
- * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
- Remove setulimit bits.
- * testsuite/26_numerics/complex_value.cc: Set to noopts.
- * testsuite/Makefile.am (CLEANFILES): Add.
- * testsuite/Makefile.in: Regenerate.
-
-2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
-
- * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
- __hppa__.
-
-2003-01-14 Jeffrey D. Oldham <oldham@codesourcery.com>
-
- Further conform g++'s __vmi_class_type_info to the C++ ABI
- specification.
- * libsupc++/cxxabi.h
- (__vmi_class_type_info::__flags_masks): Remove enumerations not
- required by the specification.
-
-2003-01-12 Benjamin Kosnik <bkoz@redhat.com>
-
- Renames, namespaces for testsuite utilities.
- * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
- (gnu_allocator_tracker): Rename to allocation_tracker.
- (gnu_new_allocator): Rename to tracker_alloc.
- (__set_testsuite_memlimit): Rename to set_memory_limits.
- (gnu_assignment_operator): Rename to assignment_operator.
- (gnu_destructor): Rename to destructor.
- (gnu_copy_tracker): Rename to copy_tracker.
- (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
- (run_tests_wrapped_locale): New.
- (run_tests_wrapped_env): New.
- * testsuite/testsuite_hooks.cc: Same.
- (class locale_data): Add.
- (class enviornment_variable): Add.
- (class not_found): Add.
- * testsuite/testsuite_allocator.h: Same.
- * testsuite/testsuite_allocator.cc: Same.
- * testsuite/23_containers/deque_ctor.cc
- (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
- allocation_tracker.
- Change gnu_new_allocator to tracker_alloc.
- Change gnu_counting_struct to counter.
- Change gnu_copy_tracker to copy_tracker.
- Change gnu_copy_constructor to copy_constructor.
- Change gnu_assignment_operator to assignment_operator.
- Inject.
- * testsuite/23_containers/vector_capacity.cc: Same.
- * testsuite/23_containers/vector_ctor.cc (test01): Same.
- * testsuite/23_containers/list_modifiers.cc: Change
- gnu_copy_tracker to copy_tracker.
- * testsuite/21_strings/ctor_copy_dtor.cc (main): Change
- __set_testsuite_memlimit to set_memory_limits.
- * testsuite/21_strings/insert.cc (main): Same.
- * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
- * testsuite/27_io/stringstream.cc: Same.
- * testsuite/27_io/stringbuf.cc: Same.
- * testsuite/27_io/streambuf.cc: Same.
- * testsuite/27_io/ostream.cc: Same.
- * testsuite/27_io/istream.cc: Same.
- * testsuite/27_io/fstream.cc: Same.
- * testsuite/lib/libstdc++-v3-dg.exp
- (libstdc++-v3-list-sourcefiles): Additionally handle files two and
- three levels deeper in glob patterns.
-
-2003-01-11 Phil Edwards <pme@gcc.gnu.org>
-
- * docs/doxygen/tables.html: Finished now.
- * docs/doxygen/user.cfg.in: Update to latest version of Doxygen.
- * include/bits/basic_ios.h (basic_ios::rdbuf): Add example to
- comments.
-
- * include/bits/deque.tcc, include/bits/stl_alloc.h,
- include/bits/stl_deque.h, include/bits/stl_list.h,
- include/bits/stl_vector.h: Remove _GLIBCPP_DEPRECATED bits scheduled
- for 3.4 removal.
-
-2003-01-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.in: Revert.
- * configure: Regenerate.
-
-2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
-
- * include/Makefile.am (install-data-local): Prepend
- $(DESTDIR) to destination paths in all (un)installation
- commands. Use ${c_base_builddir} and ${std_builddir}
- as destination subdirectories to achieve consistency with
- preceding mkinstalldirs commands. No effect because both
- variables contain "." only.
- * include/Makefile.in: Regenerate.
-
-2003-01-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (stamp-*): Add checks for existing stamps.
- * include/Makefile.in: Regenerate.
-
- * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
- * aclocal.m4: Regenerate.
-
- * configure.in: Don't add new multi-do rules every time the
- directory is reconfigured.
- * configure: Regenerate.
-
-2003-01-08 Brad Spencer <spencer@infointeractive.com>
- Nathan Myers <ncm@cantrip.org>
-
- * src/Makefile.am (stamp-debug): Clean.
- * src/Makefile.in: Regenerate.
-
-2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/8707
- * Makefile.am (distclean-multi): Fix.
- * Makefile.in: Regenerate.
-
-2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (messages): Move ctor, dtor
- definitions to..
- (__timepunct): Same.
- * config/locale/gnu/messages_members.h (messages): Add dtor, ctor
- definitions. Conditionalize for GNU systems.
- * config/locale/generic/messages_members.h (messages): Add dtor, ctor
- definitions.
- * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
- definitions. Conditionalize for GNU systems.
- * config/locale/generic/time_members.h (messages): New. Add dtor, ctor
- definitions.
- * include/bits/localefwd.h (locale::facet::_S_c_name): Add.
- * src/locale.cc: Define.
- * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
- Use it.
- * config/locale/gnu/time_members.h: Use it.
- * config/locale/gnu/messages_members.h: Use it.
- * config/linker-map.gnu: Add locale::facets details.
- * include/Makefile.am (target_headers_extra): Add time_members.h.
- * include/Makefile.in: Regenerate.
- * acinclude.m4: Export CTIME_H.
- * aclocal.m4: Regenerate.
- * configure: Regnerate.
-
-2003-01-06 Paolo Carlini <pcarlini@unitus.it>
-
- * src/codecvt.cc
- (codecvt<char, char, mbstate_t>::do_in, do_out):
- Tweak parameters to avoid unused parameter warnings.
-
-2003-01-06 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9151
- * include/bits/locale_facets.cc (num_put::_M_convert_float):
- Limit __prec to digits10 + 2, not digits10 + 1, taking into
- account the possibility of %{g,G} conversion specifiers
- inside _S_format_float.
- * testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
-
-2003-01-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
- libstdc++-v3-list-sourcefiles): Additionally handle files one
- level deeper in glob patterns.
-
- * testsuite/27_io/istream_extractor_arith.cc: Delete, split...
- * testsuite/27_io/istream_extractor_arith/01.cc,
- testsuite/27_io/istream_extractor_arith/02.cc,
- testsuite/27_io/istream_extractor_arith/03.cc,
- testsuite/27_io/istream_extractor_arith/06.cc,
- testsuite/27_io/istream_extractor_arith/07.cc,
- testsuite/27_io/istream_extractor_arith/08.cc,
- testsuite/27_io/istream_extractor_arith/09.cc,
- testsuite/27_io/istream_extractor_arith/10.cc,
- testsuite/27_io/istream_extractor_arith/11.cc,
- testsuite/27_io/istream_extractor_arith/12.cc,
- testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
- * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
- sparc*-*-solaris2*.
-
-2003-01-05 Paolo Carlini <pcarlini@unitus.it>
-
- PR libstdc++/9168
- * src/codecvt.cc
- (codecvt<char, char, mbstate_t>::do_in, do_out):
- Implement the resolution of DR19 (TC).
- * testsuite/22_locale/codecvt_members_char_char.cc
- (test01): Tweak.
-
-2003-01-02 Jason Merrill <jason@redhat.com>
-
- * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
- *__mem is also an output.
- * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.
diff --git a/contrib/libstdc++/ChangeLog-2004 b/contrib/libstdc++/ChangeLog-2004
deleted file mode 100644
index 9b58b9ed9369..000000000000
--- a/contrib/libstdc++/ChangeLog-2004
+++ /dev/null
@@ -1,6707 +0,0 @@
-2004-12-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_member_function_pointer): Provide a
- workaround for c++/19076, correct for functions with up to 15
- arguments.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_member_pointer/is_member_pointer.cc: Uncomment "XFAILed" tests;
- add a test for variadic functions.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_scalar/is_scalar.cc: Uncomment "XFAILed" tests.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_enum/is_enum.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_member_function_pointer/is_member_function_pointer.cc: Likewise;
- add a test for variadic functions.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_member_object_pointer/is_member_object_pointer.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_assign/has_nothrow_assign.cc: Uncomment "XFAILed" tests.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_copy/has_nothrow_copy.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_assign/has_trivial_assign.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_constructor/has_trivial_constructor.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_copy/has_trivial_copy.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_destructor/has_trivial_destructor.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_pod/is_pod.cc: Likewise.
-
-2004-12-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Add has_trivial_copy, has_trivial_assign,
- has_nothrow_copy, has_nothrow_assign.
- * testsuite/testsuite_tr1.h: Add test_copy_property and
- test_assign_property.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_assign/has_nothrow_assign.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_assign/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_copy/has_nothrow_copy.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_copy/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_assign/has_trivial_assign.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_assign/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_copy/has_trivial_copy.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_copy/typedefs.cc: Likewise.
-
-2004-12-29 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/vector.tcc (erase(iterator, iterator),
- operator=, _M_assign_aux(_ForwardIterator, _ForwardIterator,
- forward_iterator_tag)): Qualify all calls to std::copy().
-
-2004-12-29 Paolo Carlini <pcarlini@suse.de>
-
- Minimal fixes for -fno-exceptions.
- * src/bitmap_allocator.cc (free_list::_M_get): Use
- __throw_exception_again, instead of plain throw.
- * testsuite/testsuite_abi.cc (get_symbol, examine_symbol,
- create_symbols): Likewise.
- * testsuite/testsuite_hooks.cc (verify_demangle,
- run_tests_wrapped_locale, run_tests_wrapped_env): Likewise.
- (try_named_locale): Wrap the whole catch in __EXCEPTIONS.
-
-2004-12-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Add has_nothrow_constructor.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_constructor/has_nothrow_constructor.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_constructor/typedefs.cc: Likewise.
-
-2004-12-28 David Edelsohn <edelsohn@gnu.org>
-
- * configure.host (aix4*|aix5*): Add atomic_word_dir.
- * config/os/aix/atomic_word.h: New file.
-
-2004-12-27 Jason Merrill <jason@redhat.com>
-
- Add memory barriers to the double-checked locking used for static
- initialization.
- * libsupc++/guard.cc (__test_and_acquire): Define default.
- (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release)
- (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise.
- (recursion_push, recursion_pop): New abstraction functions.
- (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE.
- (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE.
- * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename
- from _GLIBCXX_GUARD_ACQUIRE and reverse sense.
- (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE.
- * config/cpu/arm/cxxabi_tweaks.h: Likewise.
- * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER)
- (_GLIBCXX_WRITE_MEM_BARRIER): Define.
- * config/cpu/powerpc/atomic_word.h: Likewise.
- * config/cpu/sparc/atomic_word.h: Likewise.
- * config/cpu/generic/atomic_word.h: Define them, commented out.
- * include/bits/atomicity.h: Define defaults.
- * config/cpu/ia64/atomic_word.h (__test_and_acquire)
- (__set_and_release): New inlines.
- (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define.
- (_GLIBCXX_GUARD_SET_AND_RELEASE): Define.
-
- * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
- abort();
-
-2004-12-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Rework the _DEFINE_SPEC* macros.
-
-2004-12-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (__is_enum_helper): Slightly simplify,
- make __convert non template.
-
-2004-12-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_pod, has_trivial_constructor,
- and has_trivial_destructor.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_constructor/has_trivial_constructor.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_constructor/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_destructor/has_trivial_destructor.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_destructor/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_pod/is_pod.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_pod/typedefs.cc: Likewise.
-
-2004-12-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_enum): Minor tweak.
-
-2004-12-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_enum (usual caveats about
- the nasty consequences of c++/19076...).
- * testsuite/testsuite_tr1.h: Add ConvType.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_scalar/is_scalar.cc: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_scalar/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_enum/is_enum.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_enum/typedefs.cc: Likewise.
-
-2004-12-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Add missing undef.
-
-2004-12-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_member_object_pointer,
- is_member_function_pointer. N.B. Due to c++/19076, the latter
- doesn't really work at the moment (a rather ugly work around
- will be provided in case the front-end bug doesn't get fixed
- soon); generalize and extend the _DEFINE_SPEC macros.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_member_pointer/is_member_pointer.cc: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_member_pointer/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_member_function_pointer/is_member_function_pointer.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_member_function_pointer/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_member_object_pointer/is_member_object_pointer.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_member_object_pointer/typedefs.cc: Likewise.
-
-2004-12-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits_fwd.h: New, forward declarations.
- * include/tr1/type_traits: Clean-up.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
-
-2004-12-20 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: New.
- * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
- * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
- * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
- * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
- * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
- * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
- * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
- * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
-
- * testsuite/data/wistream_extractor_other-1.tst: New.
- * testsuite/data/wistream_extractor_other-1.txt: Likewise.
- * testsuite/data/wistream_extractor_other-2.tst: Likewise.
- * testsuite/data/wistream_seeks-1.tst: Likewise.
- * testsuite/data/wistream_seeks-1.txt: Likewise.
- * testsuite/data/wistream_unformatted-1.tst: Likewise.
- * testsuite/data/wistream_unformatted-1.txt: Likewise.
-
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc:
- Use wistream_extractor_other-1.txt.
-
- * testsuite/27_io/basic_istream/peek/char/6414.cc: Minor clean-up.
- * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
-
-2004-12-19 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: New.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 01.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 02.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 03.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 06.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 07.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 08.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 09.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 10.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 11.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 12.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 13.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- 9555-ia.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- exceptions_failbit.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
- exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/
- 1.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/
- 11095-i.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/
- 2.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/
- 3.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/
- 9555-ic.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- 1.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- 2.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- 3.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- 9318-in.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- 9424-in.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- 9555-io.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- error_failbit.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/
- exceptions_null.cc: Likewise.
-
- * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Minor
- tweaks.
-
- * testsuite/testsuite_io.h (struct fail_buf): Fix type of
- dummy return values.
-
-2004-12-19 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/ext/bitmap_allocator.h: Make doxygen style comments for
- internal functions and classes.
-
-2004-12-19 Dhruv Matani <dhruvbird@gmx.net>
-
- * docs/html/20_util/allocator.html: Correct link.
- * docs/html/ext/ballocator_doc.txt: Remove.
- * docs/html/ext/ballocator_doc.html: Add.
-
-2004-12-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- PR target/18997
- * config/os/newlib/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK):
- Define to 0 for __CYGWIN__.
-
-2004-12-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement add_const, add_volatile,
- and add_cv.
- * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
- add_const.cc: New.
- * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
- add_cv.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
- add_volatile.cc: Likewise.
-
-2004-12-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_function.
- (struct __sfinae_types, struct __is_function_helper): New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_object/is_object.cc: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_object/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_function/is_function.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_function/typedefs.cc: Likewise.
-
-2004-12-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (extent): Minor tweak (i.e., public).
-
-2004-12-12 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Minor tweak.
- * testsuite/tr1/4_metaprogramming/type_properties/extent/
- typedefs.cc: Fix date.
-
-2004-12-12 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement extent.
- * testsuite/tr1/4_metaprogramming/type_properties/extent/
- extent.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/extent/
- typedefs.cc: Likewise.
-
-2004-12-12 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_pointer, remove_pointer,
- and add_pointer; reformat.
- (_DEFINE_PRIMARY_SPEC_HELPER, _DEFINE_PRIMARY_SPEC): Generalize
- and rename to _DEFINE_SPEC_HELPER and _DEFINE_SPEC; update uses.
- * testsuite/tr1/4_metaprogramming/pointer_modifications/
- add_pointer.cc: New.
- * testsuite/tr1/4_metaprogramming/pointer_modifications/
- remove_pointer.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_pointer/is_pointer.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_pointer/typedefs.cc: Likewise.
-
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_reference/is_reference.cc: Slightly tweak consistently.
-
-2004-12-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement rank.
- * testsuite/testsuite_tr1.h (test_property): Generalize to any
- value_type.
- (test_category, test_relationship): Slightly tweak consistently.
- * testsuite/tr1/4_metaprogramming/type_properties/rank/
- rank.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/rank/
- typedefs.cc: Likewise.
-
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_compound/is_compound.cc: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_compound/typedefs.cc: Likewise.
-
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_arithmetic/is_arithmetic.cc: Tweak consistently with the
- testsuite_tr1.h changes.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_fundamental/is_fundamental.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_array/is_array.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_floating_point/is_floating_point.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_integral/is_integral.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_reference/is_reference.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_void/is_void.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_same/is_same.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/is_const/
- is_const.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
- is_volatile.cc: Likewise.
-
-2004-12-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement remove_const, remove_volatile,
- and remove_cv.
- * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
- remove_const.cc: New.
- * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
- remove_cv.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
- remove_volatile.cc: Likewise.
-
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
- add a few tests.
-
-2004-12-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement remove_extent and
- remove_all_extents.
- * testsuite/tr1/4_metaprogramming/array_modifications/
- remove_all_extents.cc: New.
- * testsuite/tr1/4_metaprogramming/array_modifications/
- remove_extent.cc: Likewise.
-
-2004-12-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_same, add_reference and
- remove_reference.
- * testsuite/testsuite_tr1.h (test_relationship): New.
- * testsuite/tr1/4_metaprogramming/reference_modifications/
- add_reference.cc: New.
- * testsuite/tr1/4_metaprogramming/reference_modifications/
- remove_reference.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_same/is_same.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_same/typedefs.cc: Likewise.
-
- * testsuite/tr1/4_metaprogramming/type_properties/is_const/
- is_const.cc: Minor tweaks.
- * testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
- is_volatile.cc: Likewise.
-
-2004-12-08 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
- PICFLAG.
- * Makefile.in: Regenerated.
-
-2004-12-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_const and is_volatile.
- * testsuite/testsuite_tr1.h (test_property): New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_const/is_const.c: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_const/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_volatile/is_volatile.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_volatile/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
- from testsuite_tr1.h.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_fundamental/is_fundamental.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_array/is_array.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_floating_point/is_floating_point.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_integral/is_integral.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_reference/is_reference.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_void/is_void.cc: Likewise.
-
-2004-12-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_reference.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_reference/is_reference.cc: New.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_reference/typedefs.cc: Likewise.
-
-2004-12-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/18837
- * testsuite/testsuite_performance.h: Fix mallinfo macros for
- hpux.
-
-2004-12-04 Richard Henderson <rth@redhat.com>
-
- * testsuite/26_numerics/complex/pow.cc: Use -mieee on alpha.
-
-2004-12-04 Richard Henderson <rth@redhat.com>
-
- * include/ext/malloc_allocator.h: Include cstdlib.
-
-2004-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: New.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * testsuite/testsuite_tr1.h: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_arithmetic/is_arithmetic.cc: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_arithmetic/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_fundamental/is_fundamental.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_fundamental/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/helper_classes/
- true_false_type.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/helper_classes/
- true_false_type_typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/helper_classes/
- typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_array/is_array.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_array/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_floating_point/is_floating_point.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_floating_point/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_integral/is_integral.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_integral/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_void/is_void.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_void/typedefs.cc: Likewise.
-
-2004-12-02 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_io.h (class sync_buf): New, templatized
- version of sync_streambuf; add typedefs for streambuf/wstreambuf.
- (class fail_buf): Likewise, for fail_streambuf.
- (class fail_num_get): Templatize and add char/wchar_t typedefs.
- (class fail_num_put): Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/
- exceptions_badbit_throw.cc: Use the latter.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/
- exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
- exceptions_failbit_throw.cc: Likewise.
-
-2004-12-01 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/get/wchar_t/1.cc: New.
- * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
-
-2004-11-29 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
- better names.
- * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Same.
-
-2004-11-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/18654
- * include/bits/basic_string.tcc (_Rep::_S_create): When shrinking,
- do not round to pagesize.
- * testsuite/21_strings/basic_string/capacity/char/18654.cc: New.
- * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: New.
-
-2004-11-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/18690
- * include/tr1/utility (get(pair), get(const pair)): Change
- occurrences of _I to _Int.
-
-2004-11-27 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Fix typo.
- * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
-
- * testsuite/22_locale/time_put/put/char/17038.cc: Use VERIFY.
- * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
- * testsuite/27_io/basic_ios/exceptions/char/2.cc: Likewise.
-
-2004-11-26 Paolo Carlini <pcarlini@suse.de>
-
- DR 243. get and getline when sentry reports failure [WP]
- * include/bits/istream.tcc (istream<>::get, istream<>::getline):
- Store a null character only if the array has a non-zero size.
- * src/istream.cc (istream<char>::getline, istream<wchar_t>::getline):
- Likewise.
- * testsuite/27_io/basic_istream/get/char/3.cc: New.
- * testsuite/27_io/basic_istream/getline/char/6.cc: New.
- * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: New.
- * docs/html/ext/howto.html: Add an entry for DR 243.
-
- * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: New.
- * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: New.
- * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: New.
- * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: New.
- * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: New.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.in, aclocal.m4: Regenerate with automake 1.9.3.
- * include/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2004-11-24 Jonathan Wakely <redi@kayari.org>
-
- * docs/html/ext/howto.html: Fix incorrect link.
- * docs/html/documentation.html: Regenerate.
-
-2004-11-24 Nathan Myers <ncm@cantrip.org>
-
- * include/bits/streambuf_iterator.h
- (istreambuf_iterator<>::operator++(), operator++(int)): Don't
- check unnecessarily the return value of _M_sbuf->sbumpc().
-
-2004-11-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (tr1_headers): Add utility, functional.
- * include/Makefile.in: Regenerate.
-
-2004-11-24 Chris Jefferson <chris@bubblescope.net>
-
- * include/tr1/tuple(operator!=): Change operator
- definition to match (draft) technical report.
- (operator>): Same.
- (operator<=): Same.
- (operator>=): Same.
- (ref): Move to include/tr1/functional.
- (cref): Same.
- (tuple_size<pair>): Move to include/tr1/utility.
- (tuple_element<,pair>): Same.
- * include/tr1/functional: New.
- * include/tr1/utility: New.
- * testsuite/tr1/6_container/utility/pair.cc: New.
-
-2004-11-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h
- (do_out, do_unshift, do_in): Remove redundant typedef.
-
-2004-11-23 Chris Jefferson <chris@bubblescope.net>
-
- * testsuite/testsuite_iterators.h: New.
- * testsuite/25_algorithms/search_n/iterator.cc: New.
- * testsuite/performance/25_algorithms/search_n.cc: New.
-
-2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp.
-
-2004-11-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
- * docs/doxygen/run_doxygen: Renames for std::tr1.
- * docs/doxygen/user.cfg.in: Add cxxabi.h.
- * include/bits/*.tcc: Add file markup.
- * include/bits/allocator.h: Add link to allocator.html.
- * include/bits/atomicity.h: Add file markup.
- * include/bits/concurrence.h: Same.
- * include/bits/functexcept.h: Same.
- * include/ext*: Adjust file markup, remove GCC3 bits.
- * include/std/*: Adjust file markup, remove bits about renamed files.
- * libsupc++/cxxabi.h: Add file markup.
- * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.
-
-2004-11-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h (isspace, isprint, isupper,
- islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph,
- toupper, tolower): Add doxygen markup.
- (codecvt_byname, ctype_byname, numpunct_byname, collate_byname,
- time_get_byname, time_put_byname, moneypunct_byname,
- messages_byname): Same.
- * include/std/std_fstream.h: Remove superfluous markup.
- * include/std/std_sstream.h: Same.
- * include/std/std_streambuf.h: Same.
- * include/ext/enc_filebuf.h: Adjust markup.
- * include/ext/stdio_filebuf.h: Same.
- * include/ext/stdio_sync_filebuf.h: Same.
- * include/bits/codecvt.h: Same.
- * config/os/gnu-linux/ctype_base.h: Same.
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
- * include/tr1/array: Add markup.
- * include/tr1/tuple: Same.
-
- * docs/doxygen/run_doxygen: Print arguments.
-
- * docs/doxygen/user.cfg.in: Tweaks.
-
-2004-11-19 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/basic_string.h, include/bits/locale_classes.h,
- include/bits/valarray_after.h, include/bits/valarray_before.h,
- include/ext/stdio_sync_filebuf.h, include/std/std_algorithm.h,
- include/std/std_functional.h, include/std/std_memory.h,
- include/std/std_numeric.h: Doxygen fixes.
-
-2004-11-19 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/time_get/get_date/char/1.cc: In the checks
- use, more correctly (and consistently with other testcases) the
- return value of the facet (the iterator arguments are by value).
- * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
-
-2004-11-19 Jonathan Wakely <redi@gcc.gnu.org>
-
- * Makefile.am (doxygen, doxygen-maint, doxygen-man): Remove extra '$'
- from host_alias variable.
- * Makefile.in: Regenerate.
-
-2004-11-19 Chris Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_list.h (list::back, list::back const):
- Don't decrement temporary.
-
-2004-11-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_deque.h (deque::front, deque::front const,
- deque::back, deque::back const): Slightly tweak for stylistic
- consistency.
-
-2004-11-18 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY.
- * testsuite/ext/array_allocator/1.cc: Likewise.
- * testsuite/ext/array_allocator/2.cc: Likewise.
- * testsuite/ext/array_allocator/3.cc: Likewise.
- * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
-
-2004-11-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
- If the failbit is set, don't set it again.
- (money_get<>::_M_extract): Minor stylistic tweak: consistently
- with the other functions, take care of eofbit at the end.
-
-2004-11-18 Paolo Carlini <pcarlini@suse.de>
-
- DR 434. bitset::to_string() hard to use [Ready]
- * include/std/std_bitset.h (to_string): Add three overloads, taking
- fewer template arguments.
- * docs/html/ext/howto.html: Add an entry for DR 434.
- * testsuite/23_containers/bitset/to_string/1.cc: New.
-
-2004-11-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&,
- _CharT)): Remove temporary kludge for libstdc++/15002.
- * include/std/std_streambuf.h (class basic_streambuf): Declare
- getline(basic_istream<>&, basic_string<>&, _CharT) as friend.
- * include/bits/basic_string.h (getline(basic_istream<>&,
- basic_string<>&, _CharT)): Declare optimized specializations for
- char and wchar_t, using protected members of basic_streambuf.
- * src/istream.cc: Define the latter.
-
-2004-11-16 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/19_diagnostics/howto.html: Document change from
- _GLIBCPP_CONCEPT_CHECKS to _GLIBCXX_CONCEPT_CHECKS in 3.4.
-
-2004-11-16 Matthias Klose <doko@debian.org>
-
- * docs/doxygen/user.cfg.in: Set HAVE_DOT to NO.
-
-2004-11-16 Matthias Klose <doko@debian.org>
-
- * Makefile.am (doxygen, doxygen-maint, doxygen-man): Use host_alias
- instead of build_alias.
- * docs/doxygen/run_doxygen: Likewise.
- * docs/doxygen/user.cfg.in: Likewise.
- * Makefile.in: Regenerate.
-
-2004-11-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/streambuf.tcc (__copy_streambufs): Provide
- a generic version of the function, not using the protected
- members of basic_streambuf.
- * include/std/std_streambuf.h (__copy_streambufs): Declare
- optimized specializations for char and wchar_t.
- * src/streambuf.cc: New file, define the latter.
- * src/Makefile.am: Add.
- * src/Makefile.in: Regenerate.
-
-2004-11-15 Matthias Klose <doko@debian.org>
-
- * docs/doxygen/run_doxygen: Add --build_alias option,
- substitute it in docs/doxygen/user.cfg.in.
- * docs/doxygen/user.cfg.in: Use build_alias.
- * Makefile.am: Pass --build_alias to run_doxygen
- * Makefile.in: Regenerate.
-
-2004-11-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.4.
-
-2004-11-15 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 33.
-
-2004-11-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
- Slightly tweak for clarity (also leads to measurably better code).
-
-2004-11-12 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR other/14264
- * testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C.
-
-2004-11-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get<>::do_get_weekday,
- time_get<>::do_get_monthname): Absolutely avoid dereferencing
- end iterators.
-
- * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
- Minor tweak.
-
-2004-11-08 Benjamin Kosnik <bkoz@redhat.com>
- Doug Gregor <dgregor@cs.indiana.edu>
-
- PR libstdc++/17664
- * src/debug.cc : Just use one mutex.
-
-2004-11-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (libtool_VERSION): To 6:4:0.
- * configure: Regenerate.
-
- * config/linker-map.gnu: Slide new symbols into GLIBCXX_3.4.4.
-
- * docs/doxygen/user.cfg.in: Add more extension files.
-
-2004-11-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/streambuf_iterator.h (class istreambuf_iterator):
- Consistently use _M_c to cache the current char, i.e., not only
- when operator++(int) is involved; change _M_c to mutable.
- (_M_get()): Always save the return value of _M_sbuf->sgetc() into
- _M_c.
- * testsuite/22_locale/time_get/get_monthname/char/1.cc: Fix
- (long standing) typo.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
-
-2004-11-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (getline(char_type*, streamsize,
- char_type), ignore(streamsize), ignore(streamsize, int_type)):
- Restore a generic version of the functions, not using the
- protected members of basic_streambuf.
- * include/std/std_istream.h (getline(char_type*, streamsize,
- char_type), ignore(streamsize), ignore(streamsize, int_type)):
- Declare optimized specializations for char and wchar_t.
- * src/istream.cc: New file, define the latter.
- * src/Makefile.am: Add.
- * src/Makefile.in: Regenerate.
-
-2004-11-07 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/27_io/ifstream_getline-2.cc: New.
-
-2004-11-05 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/17218
- PR libstdc++/17223
- * docs/doxygen/filter: Remove.
- * docs/doxygen/filter.sed: Remove.
- * docs/doxygen/mainpage.html: Add link to functions.
- * docs/doxygen/run_doxygen: Changes due to new source filtering.
- * docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
- * include/bits/allocator.h: Tweaks for doxygen.
- * include/bits/char_traits.h: Same.
- * include/bits/codecvt.h: Same.
- * include/bits/concurrence.h: Same.
- * include/bits/locale_facets.h: Same.
- * include/ext/array_allocator.h: Same.
- * include/ext/debug_allocator.h: Same.
- * include/ext/malloc_allocator.h: Same.
- * include/ext/mt_allocator.h: Same.
- * include/ext/new_allocator.h: Same.
- * include/ext/pool_allocator.h: Same.
- * include/ext/stdio_sync_filebuf.h: Same.
- * include/std/std_memory.h: Same.
- * include/tr1/array: Same.
- * include/tr1/tuple: Same.
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
- * config/os/gnu-linux/ctype_base.h: Same.
-
-2004-11-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::do_get(bool&)):
- Evaluate __beg == __end the exact strict minimum number of times.
-
-2004-11-03 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/stl_numeric.h (partial_sum, adjacent_difference):
- Avoid dereferencing two times __first in the prologue.
-
-2004-11-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_numeric.h: Trivial formatting fixes.
-
-2004-11-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config: Spacing.
- * libsupc++/del_op.cc: Include c++config.h.
- * libsupc++/del_opnt.cc: Same.
- * libsupc++/del_opv.cc: Same.
- * libsupc++/del_opvnt.cc: Same.
- * libsupc++/new_op.cc: Same.
- * libsupc++/new_opnt.cc: Same.
- * libsupc++/new_opv.cc: Same.
- * libsupc++/new_opvnt.cc: Same.
-
-2004-11-03 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * config/os/bsd/darwin/os_defines.h
- (_GLIBCXX_WEAK_DEFINITION): Define.
- * include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define.
- * libsupc++/del_op.cc (operator delete(void *)): Use
- _GLIBCXX_WEAK_DEFINITION.
- * libsupc++/del_opnt.cc
- (operator delete(void *, const std::nothrow_t&)): Same.
- * libsupc++/del_opv.cc (operator delete[](void *)): Same.
- * libsupc++/del_opvnt.cc
- (operator delete[](void *, const std::nothrow_t&)): Same.
- * libsupc++/new_op.cc (operator new(std::size_t)): Same.
- * libsupc++/new_opnt.cc
- (operator new(std::size_t, const std::nothrow_t&)): Same
- * libsupc++/new_opv.cc (operator new[](std::size_t)): Same.
- * libsupc++/new_opvnt.cc
- (operator new[](std::size_t, const std::nothrow_t&)): Same.
-
-2004-11-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_int):
- Evaluate *__beg the exact strict minimum number of times; likewise
- for __beg != __end; slightly simplify main parsing loop.
-
-2004-11-02 Benjamin Kosnik <bkoz@redhat.com>
- Lothar Werzinger <lothar@xcerla.com>
-
- PR libstdc++/17664
- * src/debug.cc: Include concurrence, use mutexes.
- (_Safe_iterator_base::_M_attach): Here.
- (_Safe_iterator_base::_M_detach): Here.
-
-2004-11-02 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/17922
- * include/bits/ios_base.h : Add enum values.
- * testsuite/testsuite_hooks.h (bitmask_operators): Add function.
- * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: New.
- * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: New.
- * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: New.
- * testsuite/27_io/ios_base/types/iostate/case_label.cc: New.
- * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: New.
- * testsuite/27_io/ios_base/types/openmode/case_label.cc: New.
- * testsuite/27_io/ios_base/types/seekdir/case_label.cc: New.
-
- * config/io/c_io_stdio.h (__ios_flags): Mark deprecated.
- * src/ios.cc: Same.
-
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
-
-2004-11-01 Momchil Velikov <velco@fadata.bg>
-
- PR libstdc++/18185
- * libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
- exceptions.
- * testsuite/thread/18185.cc: New.
-
-2004-11-01 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/18159
- * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
- (get(const pair)): Likewise.
-
-2004-11-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
- Evaluate *__beg the exact strict minimum number of times; likewise
- for __beg != __end; in the main parsing loop, call ++__beg in two
- places only. The former is also a correctness issue, because,
- according to the standard (22.2.2.1.2, Stage 2), 'in' shall be
- dereferenced only one time for each increment.
-
-2004-10-31 Benjamin Kosnik <bkoz@redhat.com>
-
- PR c++/16728
- * testsuite/23_containers/set/modifiers/16728.cc: New.
-
-2004-10-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/bitmap_allocator.h (allocate(size_type)): Minor tweak.
-
- * testsuite/ext/bitmap_allocator/check_delete.cc: New.
- * testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
-
-2004-10-29 Geoffrey Keating <geoffk@apple.com>
-
- * configure.host (darwin*): Set os_include_dir to a separate directory
- for Darwin.
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind,
- 'darwin'.
- * config/locale/darwin/ctype_members.cc: New.
- * config/os/bsd/darwin/ctype_base.h: New.
- * config/os/bsd/darwin/ctype_inline.h: New.
- * config/os/bsd/darwin/ctype_noninline.h: New.
- * config/os/bsd/darwin/os_defines.h: New.
-
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Only xfail
- on Linux.
-
-2004-10-29 Chris Jefferson <chris@bubblescope.net>
-
- * include/bit/stl_algo.h (find_first_of(,,,,pred)):
- Remove invalid EqualOpConcept.
- * testsuite/25_algorithms/find_first_of/concept_check_1.cc: New.
-
-2004-10-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_allocator.h (check_delete): New.
- (check_new): Simplify.
- * testsuite/ext/array_allocator/check_delete.cc: New.
- * testsuite/ext/array_allocator/check_new.cc: Simplify.
- * testsuite/ext/debug_allocator/check_delete.cc: New.
- * testsuite/ext/debug_allocator/check_new.cc: Simplify.
- * testsuite/ext/malloc_allocator/check_delete.cc: New.
- * testsuite/ext/malloc_allocator/check_new.cc: Simplify.
- * testsuite/ext/mt_allocator/check_delete.cc: New.
- * testsuite/ext/mt_allocator/check_new.cc: Simplify.
- * testsuite/ext/new_allocator/check_delete.cc: New.
- * testsuite/ext/new_allocator/check_new.cc: Simplify.
- * testsuite/ext/pool_allocator/check_delete.cc: New.
- * testsuite/ext/pool_allocator/check_new.cc: Simplify.
-
-2004-10-28 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/18159
- * include/tr1/tuple: Fix, change formatting.
-
-2004-10-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/mt_allocator.h (__common_pool_policy): Add template
- template parameter for pool class type.
- (__per_type_pool_policy): Same.
- (__mt_allocator): Don't inherit policy. Qualify policy_type calls.
- * testsuite/ext/mt_allocator/check_deallocate_null.cc: Fix.
- * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
- * testsuite/ext/mt_allocator/instantiate.cc: Same.
- * testsuite/ext/mt_allocator/tune-1.cc: Same.
- * testsuite/ext/mt_allocator/tune-2.cc: Same.
- * testsuite/ext/mt_allocator/tune-3.cc: Same.
- * testsuite/ext/mt_allocator/tune-4.cc: Same.
-
-2004-10-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
- Cache *__beg in __c when parsing exponent sign too.
- (num_get<>::do_get(..., bool&)): Cache *__beg.
- (money_get<>::_M_extract)): Likewise, in money_base::value.
-
-2004-10-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (assign(const basic_string&)):
- Move out of line...
- * include/bits/basic_string.tcc: ... here.
-
-2004-10-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
- Move out of line...
- * include/bits/basic_string.tcc: ... here.
-
-2004-10-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (append(const basic_string&),
- append(size_type, _CharT)): Move out of line...
- * include/bits/basic_string.tcc: ... here.
-
-2004-10-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (erase(size_type, size_type),
- erase(iterator), erase(iterator, iterator)): Call _M_mutate
- instead of _M_replace_safe, equivalent when the fourth argument
- is zero and simpler.
-
-2004-10-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/array_allocator.h (array::allocate): Check for valid
- array object, use its size member function directly.
- * testsuite/ext/array_allocator/3.cc: New.
- * docs/html/20_util/allocator.html: Add docs.
-
-2004-10-25 Geoffrey Keating <geoffk@apple.com>
-
- * configure.host (darwin*): Build libstdc++ single module
- and flat namespace.
- * libsupc++/new_op.cc (new): Make weak.
- * libsupc++/new_opnt.cc (new): Make weak.
- * libsupc++/new_opv.cc (new): Make weak.
- * libsupc++/new_opvnt.cc (new): Make weak.
- * libsupc++/delete_op.cc (delete): Make weak.
- * libsupc++/delete_opnt.cc (delete): Make weak.
- * libsupc++/delete_opv.cc (delete): Make weak.
- * libsupc++/delete_opvnt.cc (delete): Make weak.
-
-2004-10-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am (GLIBCXX_INCLUDES): Add.
- (AUTOMAKE_OPTIONS): Add nostdinc.
- * testsuite/Makefile.in: Regenerate.
- * scripts/testsuite_flags.in (build-includes): Remove redundant
- search for libsupc++.
- * fragment.am: Clean.
-
-2004-10-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (tr1_headers): Add tuple.
- * include/Makefile.in: Regenerate.
-
-2004-10-25 Chris Jefferson <chris@bubblescope.net>
-
- * include/tr1/tuple: Implementation of tuple from library TR.
- * testsuite/tr1/6_containers/tuple/tuple_element.cc: New.
- * testsuite/tr1/6_containers/tuple/tuple_size.cc: New.
- * testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
- New.
- * testsuite/tr1/6_containers/tuple/cons/assignment.cc: New.
- * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New.
- * testsuite/tr1/6_containers/tuple/cons/constructor.cc: New.
- * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc:
- New.
- * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New.
- * testsuite/tr1/6_containers/tuple/element_access/get.cc: New.
-
-2004-10-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_Rep::_M_is_safe): Move to
- basic_string as _M_disjunct, adjust to take only __s.
- * include/bits/basic_string.tcc: Adjust consistently callers.
-
-2004-10-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
- Adjust bit missing from the previous commit.
-
-2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR other/18138
- * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc.
-
-2004-10-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
- _M_move, _M_copy, _M_assign): New, use througout.
- (operator+=(_CharT)): Define in terms of push_back.
- (append(const basic_string&)): Define here, inline, and simplify,
- don't use the full _M_replace_safe.
- (append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
- (push_back): Likewise.
- (assign(const basic_string&)): Define here, inline.
- * include/bits/basic_string.tcc (append(const _CharT* s, size_type):
- Fix: when s points inside the _Rep, upon reallocation (reserve) we
- were copying from deallocated memory.
- (append(const basic_string&, size_type, size_type)): Simplify,
- don't use _M_replace_safe.
- (replace(size_type, size_type, const _CharT*, size_type)): Slightly
- tweak.
- (reserve): Likewise.
- * testsuite/21_strings/basic_string/append/char/2.cc: New.
- * testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
- * testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
- * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.
-
- * testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
- * testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.
-
-2004-10-23 Andrew Pinski <pinskia@physics.uc.edu>
-
- * testsuite/ext/mt_allocator/deallocate_global-2.c:
- s/value_t/value_type/. s/traits_t/traits_type/.
- s/policy_t/policy_type/. s/allocator_t/allocator_type/.
- s/string_t/string_type/. s/list_t/list_type/.
- * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
- * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
- * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
- * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
- * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
- * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
- * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
-
-2004-10-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/array (array): Make safe for zero-sized arrays.
- (array::end): Return one past the end.
- (array::at): Use __throw_out_of_range, include functexcept.h.
- (operator==): Implement.
- (operator!=): Same.
- (operator<): Same.
- (operator>): Same.
- (operator>=): Same.
- (operator<=): Same.
- * testsuite/tr1/6_containers/array/capacity/(empty.cc,
- max_size.cc, size.cc): New.
- * testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
- greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
- not_equal): New.
- * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
- New.
- * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
- New.
- * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
- * testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
- instantiate, typedefs, zero_size_arrays): New.
-
-2004-10-21 Paolo Carlini <pcarlini@suse.de>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/basic_string.h (_M_set_length_and_sharable): New.
- * include/bits/basic_string.tcc (_S_construct, assign(const _CharT*,
- size_type), _M_mutate, _M_clone): Use it.
- (_Rep::_S_create): Don't set/call _M_length/_M_set_sharable here.
-
-2004-10-21 Paolo Carlini <pcarlini@suse.de>
- Dhruv Matani <dhruvbird@gmx.net>
- Nathan Myers <ncm@cantrip.org>
-
- * include/bits/vector.tcc (_M_insert_aux, _M_fill_insert,
- _M_range_insert): Check at the outset that we are not trying
- to exceed max_size, then deal properly with __len overflows.
- * testsuite/23_containers/vector/modifiers/insert/1.cc: New.
-
- * testsuite/testsuite_allocator.h: Remove redundant include.
-
-2004-10-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
- when n > max_size().
- * include/ext/malloc_allocator.h (allocate): Likewise.
- * include/ext/mt_allocator.h (allocate): Likewise.
- * include/ext/new_allocator.h (allocate): Likewise.
- * include/ext/array_allocator.h: Use __throw_bad_alloc().
- * include/ext/pool_allocator.h: Use __builtin_expect.
- * testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
- * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
- * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
- * testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
- * testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
- * testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
- * testsuite/testsuite_allocator.h (check_allocate_max_size): New test.
-
-2004-10-19 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/20_util/allocator/list_sort_search.cc:
- Include <ext/new_allocator.h>.
- * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
-
-2004-10-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_M_mutate): Do not reallocate
- unnecessarily when _M_rep() == &_S_empty_rep() and __new_size
- == capacity() (== 0): is ok to just leave everything unchanged.
-
- * include/bits/basic_string.h: Minor formatting fixes.
- * include/bits/basic_string.tcc: Likewise.
-
-2004-10-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/mt_allocator.h (__pool::_M_get_align): New.
- (__mt_alloc::allocate): Use it.
- * src/mt_allocator.cc (__pool::_M_reclaim_block): Use it.
- (__pool::_M_reserve_block): Simplify block allocation.
-
-2004-10-17 Dhruv Matani <dhruvbird@gmx.net>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this
- makes the code 64-bit correct and also fixes (together with using at
- the beginning a bitmap 2 * size_t bytes wide) alignment issues: now
- 8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES.
- Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor.
- * src/bitmap_allocator.cc: Change to size_t.
- * config/linker-map.gnu: Adjust.
-
-2004-10-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/array: Don't use layout_type.
-
-2004-10-16 Sashan Govender <sashang@gmail.com>
-
- * include/tr1/array (array::end const): Fix casting from iterator
- to const_iterator.
-
-2004-10-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/bitmap_allocator.h: Qualify ::operator delete.
- * src/bitmap_allocator.cc: Likewise.
- * src/mt_allocator.cc: Use ::operator delete, not delete,
- consistently with ::operator new.
-
- * include/ext/bitmap_allocator.h (deallocate): Check for null
- pointer.
- * testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New.
- * testsuite/testsuite_allocator.h (check_deallocate_null): Add test.
-
-2004-10-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for
- null pointer.
- * include/ext/pool_allocator.h (debug_allocator::deallocate):
- Check pointer value.
- * include/ext/debug_allocator.h (debug_allocator::deallocate):
- Throw exceptions, don't abort.
- * include/ext/array_allocator.h
- (array_allocator_base::deallocate): Remove unused parameters.
- * testsuite/testsuite_allocator.h (check_deallocate_null): New.
- * testsuite/ext/mt_allocator/check_deallocate_null.cc: New.
- * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New.
- * testsuite/ext/array_allocator/check_deallocate_null.cc: New.
- * testsuite/ext/debug_allocator/check_deallocate_null.cc: New.
- * testsuite/ext/malloc_allocator/check_deallocate_null.cc: New.
- * testsuite/ext/new_allocator/check_deallocate_null.cc: New.
- * testsuite/ext/pool_allocator/check_deallocate_null.cc: New.
-
- * testsuite/testsuite_allocator.h (check_new): Add instance argument.
- * testsuite/ext/array_allocator/check_new.cc: New.
-
-2004-10-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
- Rename __unused to __M_unused.
-
-2004-10-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/headers.cc: Add includes, compile only.
- * testsuite/ext/hash_map.cc: Move to...
- * testsuite/ext/hash_map/1.cc: ...here.
- * testsuite/ext/14648.cc: Move to...
- * testsuite/ext/hash_map/14648.cc: ...here.
- * testsuite/ext/hash_map/instantiate.cc: Add.
- * testsuite/ext/hash_set.cc: Move to...
- * testsuite/ext/hash_set/1.cc: ...here.
- * testsuite/ext/hash_set_explicit_instantiation.cc: Move to...
- * testsuite/ext/hash_set/instantiate.cc: ...here.
- * testsuite/ext/hash_check_construct_destroy.cc: Move to...
- * testsuite/ext/hash_set/check_construct_destroy.cc: ...here.
- * testsuite/ext/slist_check_construct_destroy.cc: Move to...
- * testsuite/ext/slist/check_construct_destroy.cc: ...here.
- * testsuite/ext/slist_explicit_instantiation.cc: Move to...
- * testsuite/ext/slist/instantiate.cc: ...here.
-
-2004-10-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/mt_allocator.h: Tweaks.
- * src/mt_allocator.cc: Same.
-
-2004-10-14 Dhruv Matani <dhruvbird@gmx.net>
-
- * ext/bitmap_allocator.h: Clean-up add/remove functions.
- * src/bitmap_allocator.cc: New file. Contains the out-of-line
- function definitions, static initialization of variables, and
- explicit instantiations needed for the allocator.
- * src/Makefile.am: Add.
- * src/Makefile.in: Regenerate.
- * config/linker.map.gnu: Add the necessary symbols.
-
-2004-10-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_S_create): Use consistently
- the exponential policy, simplify.
- * testsuite/performance/21_strings/string_append_2.cc: New.
-
- * include/ext/array_allocator.h (allocate): Fix bad_alloc check.
- * testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
- that case sizeof(_Rep) == 24).
-
-2004-10-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/17948
- * include/bits/stl_tree.h (erase(iterator, iterator)): Revert
- wrong commit of 2004-10-07.
-
-2004-10-12 Scott Snyder <snyder@fnal.gov>
-
- PR libstdc++/17948
- * testsuite/23_containers/set/modifiers/17948.cc: New.
-
-2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_deque.h: Correct for over-long lines.
-
-2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/17937
- * include/ext/mt_allocator.h (__pool::_M_destroy): New.
- * src/mt_allocator.cc (__pool::~__pool): Change definitions to
- _M_destroy.
- * acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
- * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
- * configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
- * configure: Regenerate.
- * config/linker-map.gnu: Tweak exports.
- * docs/html/ext/mt_allocator.html: Update docs.
- * testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
- * testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.
- * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
- * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
- * testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
- * testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
- * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
- * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
-
-2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/16614 continued.
- * include/ext/mt_allocator.h
- (__per_type_pool_policy::_S_get_pool): Use saner defaults based on
- specific type characteristics.
- (__pool_base): Add constructor that takes a _Tune argument.
- (__pool): Same.
- * testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
- * testsuite/ext/mt_allocator/tune-4.cc: Same.
- * testsuite/ext/mt_allocator/tune-3.cc: Same.
-
-2004-10-11 Joachim Kuebart <kuebart@mathematik.uni-ulm.de>
- Paolo Carlini <pcarlini@suse.de>
-
- * src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
- Deal properly with exceptions thrown by ::operator new(size_t).
- * testsuite/ext/pool_allocator/allocate_chunk.cc: New.
-
- * include/ext/pool_allocator.h: Include <cstdlib>.
-
-2004-10-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/functexcept.h: Add guards.
-
- * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
- * configure: Regenerate.
-
-2004-10-10 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/monetary_members.cc (_S_construct_pattern):
- Give __ret a default value, thus avoiding spurious warnings.
-
- * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
- words or linux.words, otherwise exit.
- * testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
-
-2004-10-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_memory.h (__get_temporary_buffer): Don't use
- INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
- platforms too.
- * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
- line numbers.
-
-2004-10-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
- * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
- * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
- * configure: Regenerate.
- * src/mt_allocator.cc (__pool::~__pool): Make conditional on
- _GLIBCXX_USE___CXA_ATEXIT macro.
- * docs/html/ext/mt_allocator.html: Add note about deallocation.
- * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
- with _GLIBCXX_USE___CXA_ATEXIT.
- * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
-
-2004-10-07 Phil Edwards <phil@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp: Update list of undefined functions.
-
-2004-10-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/list.tcc (operator=): Avoid iterator postincrement.
- * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
-
-2004-10-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1: New.
- * include/tr1/array: New.
- * include/Makefile.am (tr1_headers): New.
- (stamp-tr1): New.
- (install-headers): New.
- (allstamped): Add stamp-tr1.
-
- * include/ext/array_allocator.h: New.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * testsuite/ext/array_allocator/1.cc: New.
- * testsuite/ext/array_allocator/2.cc: New.
-
-2004-10-07 Richard Earnshaw <rearnsha@arm.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
-
-2004-10-07 Roger Sayle <roger@eyesopen.com>
-
- PR libstdc++/17850
- * configure.ac: Newlib does not provide strtold.
- * configure: Regenerate.
-
-2004-10-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
- (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
- * configure: Regenerated.
- * testsuite/Makefile.am (CLEANFILES): Add TEST for
- check-performance executables.
- (stamp_thread): New.
- (all-local): Use it.
- * testsuite/Makefile.in: Regenerate.
- * scripts/create_testsuite_files: Filter thread tests.
-
- * testsuite/thread/pthread1.cc: Remove macro conditionals: this
- file will only be run by thread enabled configurations.
- * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
- * testsuite/thread/pthread6.cc: Same.
- * testsuite/thread/pthread5.cc: Same.
- * testsuite/thread/pthread4.cc: Same.
- * testsuite/thread/pthread3.cc: Same.
- * testsuite/thread/pthread2.cc: Same.
-
- * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
- * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
- * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
- * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
- * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here.
- * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
- * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
- * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
- * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
-
-2004-10-06 Benjamin Kosnik <bkoz@redhat.com>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/17780
- * src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
- to old locking order.
-
-2004-10-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_sstream.h (_M_sync): When the caller is
- setbuf, don't trust _M_string.capacity() to be the size of
- the buffer area, use _M_string.size() in this case.
- * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
- * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
-
- * include/bits/sstream.tcc (overflow): Avoid calling string::assign
- unnecessarily when the current _M_string is empty.
-
-2004-10-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
- Avoid iterator postincrement.
- (__rotate): Likewise.
-
- * include/bits/stl_algo.h: Minor formatting tweaks.
-
-2004-10-06 Christopher Jefferson <caj@cs.york.ac.uk>
-
- * include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
- Avoid iterator postincrement; fix swapping middle element with
- itself on odd-length inputs.
-
-2004-10-05 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/17780
- * include/ext/mt_allocator.h (__pool_base::_Tune): Add default
- options as compile-time constant enums.
- (__pool_base::_Tune::is_default): New.
- (__pool_base::_Block_address): New.
- (__pool_base): Rearrange data members.
- (__pool::_M_reserve_memory): To _M_reserve_block.
- (__pool::_M_reclaim_memory): To _M_reclaim_block.
- (__pool::_Bin_record): Add _Block_address data member.
- (__pool<false>): Add _M_thread_freelist_initial.
- (__pool::~__pool): Declare.
- (__common_pool_policy): Move static data member to...
- (__common_pool_policy::_S_get_pool): ...here, make static local.
- (__per_type_pool_policy): Move static data member to...
- (__per_type_pool_policy::_S_get_pool): ...here, make static local.
- (__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
- Remove static member definitions. Use define for __default_policy.
- * src/mt_allocator.cc: Same.
- * config/linker-map.gnu: Don't export _S_get_pool. Renames.
- * testsuite/ext/new_allocator: New.
- * testsuite/ext/new_allocator/instantiate.cc: New.
- * testsuite/ext/new_allocator/check_new.cc: New.
- * testsuite/ext/new_allocator/deallocate_global.cc: New.
- * testsuite/ext/new_allocator/deallocate_local.cc: New.
- * testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
- template arguments.
- * testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
- * testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
- * testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
- * testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
- * testsuite/ext/mt_allocator/deallocate.cc: New.
- * testsuite/ext/malloc_allocator/deallocate.cc: New.
- * testsuite/ext/malloc_allocator/deallocate_global.cc: New.
- * testsuite/ext/malloc_allocator/deallocate_local.cc: New.
-
-2004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
-
- * configure.host (abi_baseline_pair): Define for s390-*-linux* and
- s390x-*-linux*.
- * config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
- * config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
-
-2004-10-05 Christopher Jefferson <caj@cs.york.ac.uk>
-
- * include/bits/stl_algobase.h (iter_swap): delegate to swap via
- __iter_swap when iterator's value_types are equal.
- (struct __iter_swap): New.
-
-2004-10-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (libtool_VERSION): To 6:3:0.
- * configure: Regnerate.
- * testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
-
-2004-10-04 Roger Sayle <roger@eyesopen.com>
- Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR libstdc++/17505
- * config/linker-map.gnu: Synchronize the current list of stub
- functions from libmath.
-
-2004-10-03 Roger Sayle <roger@eyesopen.com>
-
- * config/locale/generic/c_locale.cc (__convert_to_v): Use
- _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
- Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
- to check for presence of strtold.
-
-2004-10-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_list.h: Trivial formatting fixes.
- * include/bits/stl_tree.h: Likewise.
-
-2004-10-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/sstream.tcc (seekpos): In case of success, just
- return __sp.
-
-2004-10-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/sstream.tcc (pbackfail): Implement correctly
- 27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
- write in the buffer.
- * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
- * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
-
-2004-10-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/sstream.tcc (seekpos): Minor rearrangement of two
- conditionals consistently with seekoff.
- * include/std/std_sstream.h (setbuf): Avoid a string temporary.
- (_M_sync): Simplify a bit, clean-up comment.
-
-2004-09-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/10975 (DR 453)
- * include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
- and __off == 0.
- * docs/html/ext/howto.html: Add an entry for DR 453.
- * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
- * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
- * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
- move to...
- * testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
- * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
- move to...
- * testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
-
-2004-09-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
- Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
- (str()): Slightly tweak, protect from pptr() == 0.
- (_M_update_egptr()): Likewise.
- * include/bits/sstream.tcc (ssekoff, seekpos): In order to check
- for an empty buffer use __beg instead of _M_string.capacity().
- * testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
- * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
-
- * testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
- * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
- * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
-
-2004-09-29 Paolo Carlini <pcarlini@suse.de>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_io.h (class constraint_buf): New, extended
- and templatized version of constraint_filebuf; add typedefs for
- streambuf/stringbuf/filebuf and wchar_t counterparts.
-
-2004-09-28 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16612
- * include/bits/basic_string.h (_M_dispose, _M_refcopy,
- basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
- don't deal with _S_empty_rep.
- * include/bits/basic_string.tcc (_S_construct, _M_destroy,
- _M_leak_hard, _M_mutate): Likewise.
- * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
- * acconfig.h: Add corresponding undef.
- * configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
- * docs/html/configopts.html: Document --enable-fully-dynamic-string.
- * configure: Regenerate.
- * config.h.in: Likewise.
-
-2004-09-28 Benjamin Kosnik <bkoz@redhat.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/21_strings/basic_string/operations/char/1.cc: New.
- * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
- * testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
- * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
- New.
-
-2004-09-28 Paolo Carlini <pcarlini@suse.de>
-
- * README: Remove obsolete entry about include/c_shadow.
-
-2004-09-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libstdc++/17469
- * testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
-
-2004-09-24 Paolo Carlini <pcarlini@suse.de>
-
- * src/localename.cc (locale::locale(const char*)): Minor tweaks:
- rename a variable, move an assignment.
- (locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
-
-2004-09-24 Paul Brook <paul@codesourcery.com>
-
- * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
- simulator targets.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
- * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
- * testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
- * testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
-
-2004-09-23 Zack Weinberg <zack@codesourcery.com>
-
- * testsuite/20_util/memory/auto_ptr/assign_neg.cc
- * testsuite/23_containers/map/operators/1_neg.cc
- * testsuite/23_containers/set/operators/1_neg.cc:
- Update locations and/or regexps of dg-error markers.
-
-2004-09-23 P.J. Darcy <darcypj@us.ibm.com>
-
- * include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
- Add rule to build ${host_builddir}/gthr-tpf.h.
- * include/Makefile.in: Regenerate.
-
-2004-09-23 Paolo Carlini <pcarlini@suse.de>
- Magnus Fromreide <magfr@lysator.liu.se>
-
- * include/bits/boost_concept_check.h (struct _SequenceConcept):
- Remove wrong requirement, i.e., not present in Table 67.
-
-2004-09-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/12882 (cont)
- * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
- * configure: Regenerate.
- * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
- _GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
- trivial showmanyc for large files too.
-
-2004-09-17 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/stl_algo.h (remove): Remove too restrictive
- concept-check.
-
-2004-09-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
- as per Nathan's original suggestion.
-
-2004-09-17 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
- up a bit.
- * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
- * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
- * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
-
-2004-09-17 Paolo Carlini <pcarlini@suse.de>
- Andrea Arcangeli <andrea@suse.de>
-
- * config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
- call unnecessarily sync, that is fflush: the library, since 3.4.0
- does not use buffered fread/fwrite.
- * include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
-
-2004-09-15 Mark Mitchell <mark@codesourcery.com>
-
- * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
- Define.
- * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
- Define.
- * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
- (__cxa_vec_new): Use it.
- (__cxa_vec_new2): Likewise.
- (__cxa_vec_new3): Likewise.
- (__cxa_vec_cdtor): Likewise.
- (__cxa_vec_cctor): Likeiwse.
- (__cxa_vec_dtor): Likewise.
- (__cxa_vec_cleanup): Likewise.
- (__cxa_vec_delete2): Likewise.
- (__cxa_vec_delete3): Likewise.
- * libsupc++/vec.cc (__cxa_vec_new): Likewise.
- (__cxa_vec_new2): Likewise.
- (__cxa_vec_new3): Likewise.
- (__cxa_vec_cdtor): Likewise.
- (__cxa_vec_cctor): Likeiwse.
- (__cxa_vec_dtor): Likewise.
- (__cxa_vec_cleanup): Likewise.
- (__cxa_vec_delete2): Likewise.
- (__cxa_vec_delete3): Likewise.
- (__aeabi_vec_ctor_nocookie_nodtor): New function.
- (__aeabi_vec_ctor_cookie_nodtor): Likewise.
- (__aeabi_vec_cctor_nocookie_nodtor): Likewise.
- (__aeabi_vec_new_cookie_noctor): Likewise.
- (__aeabi_vec_new_nocookie): Likewise.
- (__aeabi_vec_new_cookie_nodtor): Likewise.
- (__aeabi_vec_new_cookie): Likewise.
- (__aeabi_vec_dtor): Likewise.
- (__aeabi_vec_dtor_cookie): Likewise.
- (__aeabi_vec_delete): Likewise.
- (__aeabi_vec_delete3): Likewise.
- (__aeabi_vec_delete3_nodtor): Likewise.
- (__aeabi_atexit): Likewise.
-
-2004-09-14 Nathan Myers <ncm@cantrip.org>
-
- * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
- for 11722: copy can replace move; the common case is __avail == 0.
-
-2004-09-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
- to __is_scalar, more clear and consistent with "tr1" naming.
- * include/bits/stl_algobase.h: Update consistently throughout.
-
-2004-09-13 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11722
- * include/std/std_fstream.h (xsgetn): Declare only.
- * include/bits/fstream.tcc (xsgetn): Define, optimize for the
- always_noconv() case: when __n > __buflen, copy the available
- buffer and issue a direct read.
- * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
-
- * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
- conditional.
-
-2004-09-13 Hans-Peter Nilsson <hp@bitrange.com>
-
- * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
- libstdc++_maybe_build_wrapper instead of using local code.
-
-2004-09-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
-
-2004-09-03 Jan Beulich <jbeulich@novell.com>
-
- * crossconfig.m4: Add NetWare as a target.
- * configure: Regenerate.
-
-2004-09-02 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
- defined.
-
-2004-09-02 Benjamin Kosnik <bkoz@redhat.com>
- Simon Richter <Simon.Richter@hogyros.de>
-
- PR libstdc++/16715
- * include/bits/istream.tcc: Add extern template for iostream
- char and wchar_t instantiations.
-
-2004-09-02 Benjamin Kosnik <bkoz@redhat.com>
- Leland Wang <llwang@infor.org>
-
- PR libstdc++/17259
- * include/ext/ropeimpl.h (rope::_S_compare): Use
- _Rope_constants::_S_leaf.
-
-2004-09-02 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/16848
- * include/Makefile.am (ext_headers): Remove demangle.h.
- * include/Makefile.in: Regenerate.
- * include/ext/demangle.h: Remove.
-
-2004-09-01 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/16614
- * include/ext/mt_allocator.h (__mt_base): Not type dependent,
- split into..
- (__pool): New, specialize.
- (__common_pool): New, static bits here.
- (__per_type_pool): New, and here.
- (__mt_alloc_base): New.
- (__mt_alloc): Add template parameter, inherit from it.
- * src/allocator.cc: Split this...
- * src/allocator-inst.cc: And this...
- * src/pool_allocator.cc: ...into this.
- * src/mt_allocator.cc: ... and this. Add definitions for
- __mt_base.
- * src/Makefile.am (sources): Split allocator.cc to
- pool_allocator.cc and mt_allocator.cc.
- * src/Makefile.in: Regenerate.
- * config/linker-map.gnu: Add symbols.
- * docs/html/ext/mt_allocator.html: Document new design.
- * testsuite/ext/mt_allocator/tune-1.cc: New.
- * testsuite/ext/mt_allocator/tune-2.cc: New.
- * testsuite/ext/mt_allocator/tune-3.cc: New.
- * testsuite/ext/mt_allocator/tune-4.cc: New.
-
- * testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
- * testsuite/ext/allocators.cc: Use check_new, split into...
- * testsuite/ext/mt_allocator/check_new.cc: this.
- * testsuite/ext/pool_allocator/check_new.cc: this.
- * testsuite/ext/malloc_allocator/check_new.cc: this.
- * testsuite/ext/debug_allocator/check_new.cc: this.
- * testsuite/ext/mt_allocator/instantiate.cc: this.
- * testsuite/ext/pool_allocator/instantiate.cc: this.
- * testsuite/ext/malloc_allocator/instantiate.cc: this.
- * testsuite/ext/debug_allocator/instantiate.cc: this.
-
-2004-08-30 Phil Edwards <phil@codesourcery.com>
-
- * docs/html/install.html: Update locales list (from Paolo).
- Remove other redundant information and point to the GCC install
- documentation.
-
-2004-08-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pool_allocator.h: Rename __pool_base to
- __pool_alloc_base.
- * src/allocator.cc: Same.
- * config/linker-map.gnu: Same.
-
-2004-08-30 Paolo Carlini <pcarlini@suse.de>
- Kenneth C. Schalk <ken@xorian.net>
-
- PR libstdc++/17215
- * config/io/basic_file_stdio.cc (__basic_file<char>::close()):
- Check the return value of fclose/sync, loop on EINTR.
- (__basic_file<char>::sys_open): Likewise, for sync.
-
-2004-08-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
- case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
- and 7.23.3.5), two if !_GLIBCXX_USE_C99.
- * testsuite/22_locale/time_get/get_time/char/4.cc: New.
- * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
-
-2004-08-27 Jason Merrill <jason@redhat.com>
-
- PR c++/13684
- * libsupc++/guard.cc (static_mutex): Internal class implementing a
- recursive mutex which controls initialization of local statics.
- (__gnu_cxx::recursive_init): New exception class.
- (__cxa_guard_acquire): Deal with locking and recursion detection.
- (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
-
-2004-08-27 Matthias Klose <doko@debian.org>
-
- * configure.host: For mips*-*-linux* update cpu_include_dir
- after atomicity_dir is set.
-
-2004-08-27 Matthias Klose <doko@debian.org>
-
- * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
- * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
- * configure.host: Set abi_baseline_pair for arm*-*-linux* and
- mips*-*-linux*.
-
-2004-08-27 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
- * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
- * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
- * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
- * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
-
- * testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
- formatting fixes.
- * testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
- * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
- * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
- * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
-
-2004-08-25 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/17038 (partial)
- * include/bits/locale_facets.tcc (time_put<>::do_put): Increase
- __maxlen to 128.
- * include/bits/locale_facets.h (class __timepunct): Add FIXME
- comment about _M_put.
- * config/locale/generic/time_members.cc (_M_put): Always null
- terminate __s.
- * config/locale/gnu/time_members.cc (_M_put): Likewise.
- * testsuite/22_locale/time_put/put/char/17038.cc: New.
- * testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
-
-2004-08-24 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
- * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
-
- * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
- newlines.
- * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
-
-2004-08-22 Matthias Klose <doko@debian.org>
-
- * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
- * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
-
-2004-08-23 Paolo Carlini <pcarlini@suse.de>
-
- * configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
- * aclocal.m4: Regenerate with automake-1.9.1.
- * configure: Regenerate.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2004-08-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
- to a signed type, long according to the resolution of DR 359.
- * testsuite/22_locale/num_put/put/char/9.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
-
- * include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
- Simplify a bit: no need to clear showpos.
-
-2004-08-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/char_traits.h (struct _Char_traits_match): Remove,
- unused.
-
-2004-08-21 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
- wchar_t type for the fill argument; minor formatting tweaks.
- * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
-
-2004-08-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
- with _M_word != _M_local_word two times, redundantly.
-
-2004-08-20 Jason Merrill <jason@redhat.com>
-
- * include/Makefile.am (${host_builddir}/gthr.h): Don't add
- _GLIBCXX_ to #pragma lines.
- * include/Makefile.in: Update.
-
-2004-08-20 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/7219 (continued)
- * include/bits/ios_base.h (class ios_base): Expose Annex D.6
- typedefs by default.
- * testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
- line number.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
-
-2004-08-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
- barrier to locking asm.
-
-2004-08-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
- actually the warning is a front-end bug (c++/17120).
-
-2004-08-20 Matthias Klose <doko@debian.org>
-
- * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
-
-2004-08-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
- used as truth value warning.
-
-2004-08-20 Paolo Carlini <pcarlini@suse.de>
-
- * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
- baseline.
-
-2004-08-20 Paolo Carlini <pcarlini@suse.de>
-
- * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
-
-2004-08-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
- timezone.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
-
-2004-08-19 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/20_util/allocator/insert.cc: For std::map
- instantiate the allocator for a correct pair type.
- * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
- * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
- * testsuite/performance/20_util/allocator/producer_consumer.cc:
- Likewise.
-
- * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
- minor formatting fixes.
- * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
-
-2004-08-19 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
- results.
- * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
-
-2004-08-19 Paolo Carlini <pcarlini@suse.de>
-
- * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
-
-2004-08-18 Matthias Klose <doko@debian.org>
-
- * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
- * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
- * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
-
-2004-08-17 Paolo Carlini <pcarlini@suse.de>
-
- * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
-
-2004-08-17 Paolo Carlini <pcarlini@suse.de>
-
- * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
-
-2004-08-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
-
-2004-08-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/indirect_array.h: Trivial formatting fixes.
- * include/bits/valarray_after.h: Likewise.
- * include/bits/valarray_array.h: Likewise.
- * src/valarray-inst.cc: Likewise.
-
-2004-08-15 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
- * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
- * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
-
- * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
- * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
-
-2004-08-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/deque.tcc: Trivial formatting fixes.
-
-2004-08-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/deque.tcc: Trivial formatting fixes.
-
- * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
- Remove unneded typedef.
-
- * include/bits/locale_facets.tcc: Very minor tweaks.
-
- * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
- type for the fill argument.
- * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
-
-2004-08-13 Paolo Carlini <pcarlini@suse.de>
-
- * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
- memmove is not needed, memcpy suffices.
-
-2004-08-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_fstream.h (class basic_ifstream,
- class basic_ofstream, class basic_fstream): Add const overloads
- of is_open, as per DR 365 [WP].
- * docs/html/ext/howto.html: Add an entry for DR 365.
-
-2004-08-12 Paolo Carlini <pcarlini@suse.de>
-
- * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
-
-2004-08-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16956
- * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
- to the returned value, reorganize a bit.
- * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
- * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
-
- * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
- * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
-
-2004-08-12 Paul Brook <paul@codesourcery.com>
-
- * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
- _GLIBCXX_CXA_VEC_CTOR_RETURN.
- * config/cpu/generic/cxxabi_tweaks.h: Ditto.
- * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
- __cxa_vec_ctor_return.
- * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
- Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
-
-2004-08-12 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.in, aclocal.m4, configure, include/Makefile.in,
- libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
- src/Makefile.in, testsuite/Makefile.in: Regenerate
-
-2004-08-12 Jan Beulich <jbeulich@novell.com>
-
- * config/locale/generic/ctype_members.cc
- (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
- initializer for return value, as that is invalid for enumerated types.
- * config/locale/gnu/ctype_members.cc
- (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
-
-2004-08-11 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
-
-2004-08-11 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
- variable.
- * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
- * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
- * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
-
-2004-08-11 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/16959
- * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
- standard streams are constructed.
- * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
-
-2004-08-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_bvector.h: Trivial formatting fixes.
-
-2004-08-09 Paolo Carlini <pcarlini@suse.de>
-
- * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
-
-2004-08-07 Jonathan Wakely <redi@gcc.gnu.org>
- Paolo Carlini <pcarlini@suse.de>
-
- * src/debug.cc (_Error_formatter::_M_print_string): In order
- to print individual words from __string, _M_format_word can't
- be called since may be just sprintf, thus ignoring completely
- __n: instead, use memmove and append '\0' by hand.
-
-2004-08-07 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/c_locale.h (__convert_from_v): Don't
- use a default for __prec, assume __prec >= 0 and simplify.
- * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
- * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
- Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
-
-2004-08-04 Phil Edwards <phil@codesourcery.com>
-
- * docs/html/configopts.html: Emphasize that options change.
- * docs/html/17_intro/configury.html: Update links.
-
-2004-08-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/list.tcc: Trivial formatting fixes.
-
-2004-08-03 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/new_op.cc: Update comments.
- * libsupc++/del_op.cc: Likewise.
-
-2004-08-02 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/cxxabi.h: Make all declarations have default
- visibility.
- * libsupc++/exception: Likewise.
- * libsupc++/new: Likewise.
- * libsupc++/typeinfo: Likewise.
- * libsupc++/unwind-cxx.h: Likewise.
- * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
- the __cxxabiv1 namespace.
- (__cxa_free_exception): Likewise.
- * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
- (__cxa_bad_typeid): Likewise.
- * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
- (__cxa_end_catch): Likewise.
- * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
- (__cxa_get_globals): Likewise.
- * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
- (__cxa_rethrow): Likewise.
- * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
- * libsupc++/eh_type.cc: Include <cxxabi.h>.
-
- * Makefile.am (hosted_source): Add libmath and testsuite.
- (SUBDIRS): Remove them.
- * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
- on arm*-*-symbianelf*.
- * crossconfig.m4: Add arm*-*-symbianelf* support.
- * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
- when freestanding. Do not bring names into std:: namespace with
- "using" when freestanding. Declare required functions and macros
- when freestanding.
- * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
- when freestanding.
- * libsupc++/del_op.cc: Declare "free" only when freestanding.
- * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
- (malloc): Declare when freestanding.
- (free): Likewise.
- (memset): Likewise.
- (__cxa_allocate_exception): Call malloc, not std::malloc. Likewise
- for memset.
- (__cxa_free_exception): Likewise for free.
- * libsupc++/new_op.cc: Declare "malloc" when freestanding.
- * libsupc++/pure.cc (writestr): Define to nothing when
- freestanding.
- * libsupc++/vterminate.cc: Do not define anything when
- freestanding.
- * Makefile.in: Regenerated.
- * aclocal.m4: Likewise.
- * configure: Likewise.
- * include/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2004-08-01 Matt Austern <austern@apple.com>
-
- PR libstdc++/16844
- * include/bits/stl_list.h (_M_create_node): Remove unused
- zero-argument version.
- * include/ext/slist (_M_create_node): Pass two arguments to
- allocator's construct() member function.
- * testsuite/23_containers/deque/explicit_instantiation.cc: New.
- * testsuite/23_containers/list/explicit_instantiation.cc: New.
- * testsuite/23_containers/vector/explicit_instantiation.cc: New.
- * testsuite/23_containers/map/explicit_instantiation.cc: New.
- * testsuite/23_containers/set/explicit_instantiation.cc: New.
- * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
- * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
- * testsuite/ext/hash_set_explicit_instantiation.cc: New.
- * testsuite/ext/slist_explicit_instantiation.cc: New.
-
-2004-07-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
- num_get<>::_M_extract_int): In the main parsing loop delay the
- life of __q to the actual use point.
-
-2004-07-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14220
- * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
- Don't clip the precision passed down to __convert_from_v:
- 22.2.2.2.2 nowhere says so.
- * testsuite/22_locale/num_put/put/char/14220.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
-
-2004-07-29 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
-
-2004-07-29 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/12658 (continued)
- * src/locale_init.cc (locale::locale, locale::global): Use
- a single locale_mutex instead of two separate mutexes.
-
-2004-07-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16813
- * include/debug/map.h (insert(_InputIterator, _InputIterator)):
- Fix typo.
- * testsuite/23_containers/map/insert/16813.cc: New.
-
-2004-07-29 Phil Edwards <phil@codesourcery.com>
-
- * docs/html/faq/index.html: Update version references. Make
- clear that code from SGI has diverged greatly. Remove references
- to library snapshots and what's-new sections.
- * docs/html/faq/index.txt: Regenerate.
-
-2004-07-28 Matt Austern <austern@apple.com>
-
- * include/bits/stl_construct.h (_Destroy): New three-argument
- overload that takes an allocator argument. Another inline
- three-argument overload that takes std::allocator and dispatches
- to the two-argument version.
- * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
- Change return type to void to match uninitialized_fill_n.
- (__uninitialized_copy_a_): New function. Like uninitialized_copy
- except that it takes an allocator and uses it for construct and
- destroy. If the allocator is std::allocator, dispatches to
- uninitialized_copy.
- (__uninitialized_fill_a): Likewise.
- (__uninitialized_fill_n_a): Likewise.
- (__uninitialized_copy_copy): Give it an allocator argument.
- (__uninitialized_fill_copy): Likewise.
- (__uninitialized_copy_fill): Likewise.
- * include/bits/deque.tcc: Use new forms defined in stl_construct.h
- and stl_uninitialized.h. Replace use of single-argument _Construct
- and _Destroy with use of allocator's construct and destroy methods.
- * include/bits/list.tcc: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/vector.tcc: Likewise.
- * include/ext/hashtable.h: Use rebind so that allocator_type
- has correct type for a container's allocator. Replace use of
- single-argument _Construct and _Destroy with use of allocator's
- construct and destroy methods.
- * include/ext/memory (__uninitialized_copy_n_a): New function.
- Like uninitialized_copy_n except that it takes an extra parameter,
- an allocator, and uses it for construct and destroy operations.
- * include/ext/rope: Use new forms defined in stl_construct.h,
- stl_uninitialized.h, and ext/memory. Replace use of single-argument
- _Construct and _Destroy with allocator construct and destroy methods.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/slist.h: Likewise.
- * testsuite/testsuite_allocator.h (check_construct_destroy): New.
- * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
- * testsuite/23_containers/deque/check_construct_destroy.cc: New.
- * testsuite/23_containers/list/check_construct_destroy.cc: New.
- * testsuite/23_containers/set/check_construct_destroy.cc: New.
- * testsuite/23_containers/vector/check_construct_destroy.cc: New.
- * testsuite/ext/hash_check_construct_destroy.cc: New.
- * testsuite/ext/slist_check_construct_destroy.cc: New.
-
-2004-07-28 Alexandre Oliva <aoliva@redhat.com>
-
- 2003-10-01 Eric Christopher <echristo@redhat.com>
- * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
- constraint.
- 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
- * config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a.
-
-2004-07-23 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/16678
- * include/bits/locale_facets.tcc: Fix for -Werror.
-
-2004-07-23 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/debug.html: Say debug mode only available since 3.4.0.
-
-2004-07-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/mainpage.html: Clarify links.
- * docs/doxygen/stdheader.cc: Add files.
- * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
- * docs/doxygen/user.cfg.in: New options, wrap.
-
-2004-07-20 Danny Smith <dannysmith@users.sourceforge.net>
-
- * include/c_std/std_cwchar.h (wcsstr): Correct signature.
-
-2004-07-19 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15488
- * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
-
-2004-07-17 Richard Sandiford <rsandifo@redhat.com>
-
- PR bootstrap/16469
- * scripts/create_testsuite_files: Pass -print to find.
-
-2004-07-15 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
- * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
-
-2004-07-15 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/14697
- * acinclude.m4 (glibcxx_shared_libgcc): Correct
- glibcxx_shared_libgcc test for multilibs.
- * configure: Rebuilt.
-
-2004-07-14 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16505
- * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
- the signature to return void, as per 20.4.4.3.
- * include/bits/stl_vector.h (vector::vector(size_type,
- const value_type&, const allocator_type&), vector::vector(size_type),
- vector::_M_initialize_dispatch): Adjust callers.
- * include/bits/vector.tcc (vector<>::_M_fill_assign,
- vector<>::_M_fill_insert): Likewise.
- * testsuite/20_util/memory/16505.cc: New.
-
-2004-07-14 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/locale/cons/12658_thread-1.cc,
- 12658_thread-2.cc: Use __gnu_test::try_named_locale.
-
-2004-07-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/ext/mt_allocator.html: Add docs for _Tune.
- * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
- (__mt_alloc::_S_set_options): Same.
- Add to comments.
-
-2004-07-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
- for linux.
- * configure: Regenerated.
-
-2004-07-13 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
- to 12658_thread-1.cc and xfail.
- * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
- simpler version of 12658_thread-1.cc, still failing on 3_3 and
- not failing on 3_4/mainline - both on single processor and
- multiprocessor machines.
-
-2004-07-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/abi.html: Remove non-public qualification.
-
- * include/bits/concurrence.h: Tweak comments.
-
-2004-07-11 Paolo Carlini <pcarlini@suse.de>
-
- Add wchar_t counterparts of the basic_streambbuf<char> tests.
- * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
- Likewise.
- * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
- * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
- 3599.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
- Likewise.
- * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
-
- * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
- tweaks.
- * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
- Likewise.
- * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
-
-2004-07-11 Phil Edwards <phil@codesourcery.com>
-
- * acinclude.m4: Cosmetic shell syntax fixes.
- * configure.ac: Bring comment inline with reality.
- * configure.host: Both of the above. Move 'arm' case to right
- place in host_cpu switch.
- * aclocal.m4, configure: Regenerate.
-
-2004-07-09 Paolo Carlini <pcarlini@suse.de>
-
- Add wchar_t counterparts of the basic_stringbuf<char> tests.
- * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
- * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
- 3599.cc, 9988.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
- Likewise.
- * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
- Likewise.
- * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
- Likewise.
- * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
- Likewise.
- * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
- Likewise.
- * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
- 9404-1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
- 9404-2.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
- 3955.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
-
-2004-07-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/gslice.h: Trivial formatting fixes.
- * include/bits/gslice_array.h: Likewise.
- * include/bits/indirect_array.h: Likewise.
- * include/bits/mask_array.h: Likewise.
- * include/bits/slice_array.h: Likewise.
- * include/bits/valarray_after.h: Likewise.
- * include/bits/valarray_array.h: Likewise.
- * include/bits/valarray_before.h: Likewise.
- * include/std/std_valarray.h: Likewise.
-
-2004-07-08 Benjamin Kosnik <bkoz@redhat.com>
-
- PR c++/16169
- * include/bits/basic_string.h (basic_string::operator=): Revert.
-
-2004-07-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (libtool_VERSION): To 6:2:0.
- * configure: Regenerated.
-
- * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
-
-2004-07-07 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
-
- PR libstdc++/16411
- * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
-
-2004-07-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
- -Weffc++ issues.
-
-2004-07-07 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16401
- * include/bits/sstream.tcc (overflow): When reallocating _M_string
- use an exponential grow policy.
- * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
- * testsuite/performance/27_io/stringbuf_overflow.cc: New.
-
-2004-07-06 Anssi Hannula <anssi.hannula@mbnet.fi>
-
- PR libstdc++/15928
- * crossconfig.m4: Add in bits for djgpp.
- * configure: Regenerate.
-
-2004-07-05 Jonathan Wakely <redi@gcc.gnu.org>
-
- * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
- instantiation of set and multiset (functor param given as int).
-
-2004-07-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h: Trivial formatting fixes and/or
- const-ification of some variables.
- * include/bits/deque.tcc: Likewise.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_construct.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/vector.tcc: Likewise.
-
-2004-07-04 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/25_algorithms/copy/1.cc: Add instantiations for
- systems with no COMDAT or weak support.
- * testsuite/25_algorithms/copy/2.cc: Likewise.
- * testsuite/25_algorithms/copy/3.cc: Likewise.
- * testsuite/25_algorithms/copy/4.cc: Likewise.
-
-2004-07-03 Paul Brook <paul@codesourcery.com>
-
- * configure.ac: Set ABI_TWEAKS_SRCDIR.
- * configure.host: Set abi_tweaks_dir. Check for atomicity.h when
- setting atomicity_dir. Override type_cpu for arm based targets.
- * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
- * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
- * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
- * libsupc++/vec.cc: Ditto.
- * config/cpu/arm/cxxabi_tweaks.h: New file.
- * config/cpu/generic/cxxabi_tweaks.h: New file.
- * */Makefile.in: Regenerate.
- * configure: Regenerate.
-
-2004-07-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/type_traits.h (_Is_normal_iterator): Move...
- * include/bits/cpp_type_traits.h: ... here, renamed to
- __is_normal_iterator and consistent with the other traits.
- * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
- to the struct __copy_normal and three specializations.
- (__copy_backward_output_normal_iterator,
- __copy_backward_input_normal_iterator): Likewise, convert to
- the struct __copy_backward_normal and three specializations.
- (copy, copy_backward): Use the latter.
- (__copy_aux, __copy_backward_aux): Very minor tweaks.
-
-2004-07-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (__copy_trivial): Remove.
- (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
- __is_trivially_copyable, __are_same and __copy::copy.
- (__copy): Rewrite as a class template and two specializations.
- (__copy_ni2): Simplify, just call __copy_aux.
-
- * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
- check.
- * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
- for destination value type != source value type.
-
-2004-07-01 Benjamin Kosnik <bkoz@redhat.com>
- Per Bothner <per@bothner.com>
- Mohan Embar <gnustuff@thisiscool.com>
-
- PR libstdc++/16248
- * include/bits/concurrence.h (__glibcxx_mutex_type): New.
- (__glibcxx_mutex): Encapsulate mutex init function into type for
- threaded configurations without __GTHREAD_MUTEX_INIT.
- (lock::lock): Make device member a reference.
- (lock::~lock): Same.
- * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
- to mutex_type.
- * src/allocator.cc: Same.
-
-2004-06-30 Brad Spencer <spencer@infointeractive.com>
-
- * include/ext/mt_allocator.h: Handle allocations at static
- initialization that happen before _S_options is (automatically)
- constructed; set _S_init even if _M_force_new is true.
-
-2004-06-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Revert new exports.
-
-2004-06-30 Benjamin Kosnik <bkoz@redhat.com>
- Stuart Anderson <anderson@netsweng.com>
-
- * config/linker-map.gnu: Add destructor exports for abstract base
- classes to conform to LSB.
-
-2004-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/cpp_type_traits.h: Add __is_pointer and
- __is_trivially_copyable.
- * include/bits/stl_algobase.h (fill, fill_n): Slightly
- tweak to use the latter.
- (__copy_backward_dispatch): Remove.
- (__copy_backward_aux): Rewrite to use __is_pointer and
- __is_trivially_copyable and __copy_backward::copy_b.
- (__copy_backward): Rewrite as a class template and two
- specializations.
-
-2004-06-30 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/25_algorithms/copy.cc: Move to...
- * testsuite/25_algorithms/copy/1.cc: ... here, extend.
- * testsuite/25_algorithms/copy/2.cc: New.
- * testsuite/25_algorithms/copy/3.cc: New.
- * testsuite/25_algorithms/copy/4.cc: New.
-
-2004-06-29 Paul Brook <paul@codesourcery.com>
-
- * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
- element size in the cookie.
-
-2004-06-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/cpp_type_traits.h: Move the additions to
- namespace __gnu_internal outside of namespace std; trivial
- formatting fixes.
-
-2004-06-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
- Revert -Weffc++ changes that defined copy ctory and or assignment
- operator.
- * libsupc++/tinfo.cc (__upcast_result): Same.
-
-2004-06-28 Paolo Carlini <pcarlini@suse.de>
-
- * src/localename.cc (locale::_Impl::_Impl): Slightly improve
- the algorithm used to name the categories.
-
-2004-06-28 Paolo Bonzini <bonzini@gnu.org>
-
- * include/Makefile.am: Give a .gch extension to
- the PCH files, not only to the directory.
- * include/Makefile.in: Regenerate.
-
-2004-06-28 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
- assignments of _M_decimal_point and _M_thousands_sep.
-
-2004-06-27 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/17_intro/contribute.html: Update some links.
- * docs/html/17_intro/porting-howto.html: Likewise.
- * docs/html/17_intro/porting-howto.xml: Likewise.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/27_io/howto.html: Likewise.
- * docs/html/configopts.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/faq/index.html: Likewise.
- * docs/html/install.html: Don't mention 2.x compilers.
-
-2004-06-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rope: Trivial formatting fixes.
- * include/ext/ropeimpl.h: Likewise.
-
-2004-06-26 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16210
- * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
- availability of strto(u)ll, not used anymore in the iostreams.
- * configure: Regenerate.
-
-2004-06-25 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/16182
- * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
- AC_DEFINE_UNQUOTED.
- * configure: Regenerate.
-
-2004-06-25 Paul Brook <paul@codesourcery.com>
-
- * libsupc++/cxxabi.h: Define __ARM_EABI__
- (__guard): Use it.
- * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
-
-2004-06-25 Paul Brook <paul@codesourcery.com>
-
- * include/bits/concurrence.h: Still create mutex object when
- single-threaded.
-
-2004-06-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (fill, fill_n): Revert last
- change: actually we need to copy construct an object of type
- _Tp, not of type iterator_traits<>::value_type, therefore the
- code is ok.
-
-2004-06-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (fill, fill_n): Tighten the
- dispatch: use iterator_traits<>::value_type, not _Tp.
-
-2004-06-25 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
- * testsuite/25_algorithms/fill/2.cc: Likewise.
-
-2004-06-25 Dan Nicolaescu <dann@ics.uci.edu>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
- for fill and fill_n, respectively: when copying is cheap, use a
- temporary to avoid a memory read in each iteration.
-
-2004-06-25 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/25_algorithms/fill/1.cc: New.
- * testsuite/25_algorithms/fill/2.cc: Likewise.
-
-2004-06-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/debug/formatter.h (__gnu_debug::_Error_formatter):
- Remove copy constructor and assignment operator.
-
-2004-06-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/concurrence.h (__gnu_cxx::lock): New.
- * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
- (__pool_base::_M_get_mutex): New.
- * include/bits/allocator.h: Tweak.
- * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
- * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
- * include/bits/stl_threads.h: Remove.
- * include/Makefile.am: Also here.
- * include/Makefile.in: Regenerate.
-
- * src/locale_init.cc: Use __gnu_cxx::lock.
-
- * src/allocator.cc: Move all instantiations...
- * src/allocator-inst.cc: ...here.
-
-2004-06-23 Andrew Pinski <apinski@apple.com>
-
- * linkage.m4: Remove check for libmx.
- * configure: Regenerate.
-
-2004-06-23 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16154
- * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
- Don't require the _DefaultConstructibleConcept.
- (struct _ForwardIteratorConcept): Require it here.
-
-2004-06-22 Alexandre Oliva <aoliva@redhat.com>
-
- * include/bits/istream.tcc (getline): Make sure arguments passed
- to min/max have the same type.
- * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
- * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
-
-2004-06-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/abi.html: Update links.
-
-2004-06-22 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/26_numerics/complex_inserters_extractors.cc,
- complex_value.cc, buggy_complex.cc: Move to...
- * testsuite/26_numerics/complex/: ... here.
- * testsuite/26_numerics/c99_classification_macros_c++.cc,
- c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
- fabs_inline.cc: Move to...
- * testsuite/26_numerics/cmath/: ... here.
- * testsuite/26_numerics/binary_closure.cc, slice.cc,
- slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
- valarray_name_lookup.cc, valarray_operators.cc,
- valarray_subset_assignment.cc: Move to...
- * testsuite/26_numerics/valarray/: ... here (new dir).
- * testsuite/26_numerics/sum_diff.cc: Move to...
- * testsuite/26_numerics/numeric/: ... here (new dir).
-
-2004-06-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_istream.h (ignore(streamsize __n = 1,
- int_type __delim = traits_type::eof())): Split into...
- (ignore(), ignore(streamsize __n), ignore(streamsize __n,
- int_type __delim)): The first two can be much more simpler
- and efficient than the fully general case; also, the last
- two can take advantage of the same mechanism already used
- for getline.
- * include/bits/istream.tcc (ignore(streamsize __n = 1,
- int_type __delim = traits_type::eof()): Remove.
- (ignore(), ignore(streamsize __n), ignore(streamsize __n,
- int_type __delim)): New.
-
-2004-06-21 Loren J. Rittle <ljrittle@acm.org>
-
- * config/linker-map.gnu: Use wildcards for
- __basic_file::sys_open(FILE*, _Ios_Openmode).
-
-2004-06-20 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
-
-2004-06-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
- the alignment requested.
- (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
- (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
- (__mt_alloc<>::deallocate): Likewise.
-
-2004-06-18 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16020
- * include/debug/safe_base.h
- (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
- _Safe_sequence_base::operator=): Provide definitions.
- * testsuite/23_containers/bitset/cons/16020.cc: New.
-
-2004-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
- (__pool_base): Remove unused template parameter. Add
- protected. Move lock data into __pool_base::_Lock. Remove static
- on member functions.
- (__pool_base::_M_get_free_list): New.
- (__pool_alloc): Move _S_force new here.
- * src/allocator.cc: Move out of line __pool_base definitions here.
- * config/linker-map.gnu: Export bits from __pool_base.
-
-2004-06-18 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/numeric_members.cc
- (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
- assignments of _M_decimal_point and _M_thousands_sep.
- * config/locale/gnu/time_members.cc
- (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
- and reformat assignments of date and time fields.
-
-2004-06-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
- to use _Data_allocate.
- * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
- (rope<>::_S_substring): Likewise.
- (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
- (rope<>::c_str()): Likewise.
- (rope<>::replace_with_c_str()): Likewise.
-
- * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
- Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
- not _RopeRep.
- (_Rope_iterator_base<>::_S_setcache): Likewise.
- (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
- (rope<>::_S_substring): Likewise.
- (rope<>::_S_dump): Likewise.
- (rope<>::_S_fetch_ptr): Likewise.
- (rope<>::_S_compare): Likewise.
- (rope<>::replace_with_c_str()): Likewise.
-
- * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
- * testsuite/ext/rope/2.cc: New.
-
-2004-06-16 Paolo Carlini <pcarlini@suse.de>
- Matt Austern <austern@apple.com>
-
- * testsuite/ext/rope/3.cc: New.
-
-2004-06-15 Paolo Bonzini <bonzini@gnu.org>
-
- * acinclude.m4: Remove useless multilib configury.
- * Makefile.am: Remove useless multilib rules.
- * aclocal.m4: Regenerate.
- * Makefile.in: Regenerate.
- * configure: Regenerate.
-
-2004-06-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/hashtable.h: Trivial formatting fixes.
- * include/ext/rb_tree: Likewise.
-
-2004-06-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/hash_map: Trivial formatting fixes.
- * include/ext/hash_set: Likewise.
- * include/ext/memory: Likewise.
- * include/ext/numeric: Likewise.
-
-2004-06-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * Makefile.in: Regenerate with automake 1.8.5.
- * aclocal.m4: Same.
- * include/Makefile.in: Same.
- * libmath/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * po/Makefile.in: Same.
- * src/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
-
-2004-06-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/slist: Trivial formatting fixes.
-
-2004-06-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
- Don't use the 'magic number' 10 in the computation of __minlen;
- never access __name past __minlen; in the loop over __i3, don't
- decrease __nmatches and increase __i3 at once, only either of
- the two; tidy.
-
-2004-06-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get<>::do_get_time,
- time_get<>::do_get_date): Use only once _M_extract_via_format,
- instead of going through "%X"/"%x" and calling it two times
- (+ using widen).
-
-2004-06-12 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/algorithm: Trivial formatting fixes.
- * include/ext/functional: Likewise.
- * include/ext/hash_fun.h: Likewise.
- * include/ext/iterator: Likewise.
-
-2004-06-12 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (find(const _CharT*, size_type,
- size_type)): Reimplement using std::search.
- * src/string-inst.cc: Instantiate std::search for char/wchar_t.
-
-2004-06-12 Dhruv Matani <dhruvbird@gmx.net>
-
- * testsuite/performance/21_strings/string_find.cc: New.
-
-2004-06-10 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
-
- * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
-
-2004-06-10 Jan van Dijk <jan@etpmod.phys.tue.nl>
-
- * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
- this function return a value.
-
-2004-06-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/15775
- * include/bits/stl_deque.h: Consistently with stl_set.h, define
- pointer as allocator's pointer, likewise for reference,
- const_pointer, and const_reference.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
-
-2004-06-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * crossconfig.m4: Remove signbit, signbitf, signbitl.
- * linkage.m4: Comment LIBMATHOBJS, tweak others. AC_DEFINES for
- builtin math functions instead of AC_DEFINE_UNQUOTED.
- * configure: Regenerate.
-
-2004-06-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
- * docs/doxygen/mainpage.html: Remove links.
-
-2004-06-08 Jason Merrill <jason@redhat.com>
-
- * config/linker-map.gnu: Use wildcards for
- __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
-
-2004-06-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/pool_allocator.h: Convert to a global free-list,
- as per the original SGI/HP design: move the implementation
- details to struct __pool_base, from which __pool_alloc derives.
- * src/allocator.cc: Instantiate __pool_base.
-
-2004-06-07 Dhruv Matani <dhruvbird@gmx.net>
- Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_performance.h
- (resource_counter::allocated_memory): Make it return the right
- number of bytes requested by the allocators/application. This is
- the sbrk+mmaped memory.
-
-2004-06-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/std/std_complex.h (log): Tidy.
-
-2004-05-31 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
- * testsuite/testsuite_abi.cc: Same.
- * configure.ac (libtool_VERSION): Bump to 6:1:0.
- * configure: Regenerate.
- * aclocal.m4: Regenerate.
-
-2004-05-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/std/std_complex.h (complex<_Tp>): Properly indent
- to follow C++STYLE.
- (complex<>::__rep): New.
- (__complex_abs): New. Dispatch to built-ins.
- (abs): Use them.
- (__complex_arg): New. Dispatch to built-ins.
- (arg): Use it.
- (__complex_cos): New. Dispatch to built-ins.
- (cos): Use it.
- (__complex_cosh): New. Dispatch to built-ins.
- (cosh): Use it.
- (__complex_exp): New. Dispatch to built-ins.
- (exp): Use it.
- (__complex_log): New. Dispatch to built-ins.
- (log): Use it.
- (__complex_sin): New. Dispatch to built-ins.
- (sin): Use it.
- (__complex_sinh): New. Dispatch to built-ins.
- (sinh): Use it.
- (__complex_sqrt): New. Dispatch to built-ins.
- (sqrt): Use it.
- (__complex_tan): New. Dispatch to built-ins.
- (tan): Use it.
- (__complex_tanh): New. Dispatch to built-ins.
- (tanh): Use it.
- (__complex_pow): New. Dispatch to built-ins.
- (pow): Use it.
-
-2004-05-29 Richard B. Kreckel <Richard.Kreckel@Framatome-ANP.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/14600
- * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
- * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
- * config/io/basic_file_stdio.cc (__basic_file::file): New.
- * config/io/basic_file_stdio.h: Define.
-
-2004-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15675
- * docs/html/documentation.html: Update doxygen links for 3.4.0.
-
-2004-05-27 Jan Beulich <jbeulich@novell.com>
-
- * scripts/create_testsuite_files: Tweak.
-
-2004-05-25 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15489
- * scripts/create_testsuite_files: Revert xtype change, add non-GNU
- bits to do the same thing.
-
-2004-05-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (ignore): Correctly deal with
- n == numeric_limits<streamsize>::max().
- * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
-
- * include/bits/istream.tcc (basic_istream<>::getline): Prefer
- '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
- __n == numeric_limits<>::min().
-
- * include/bits/istream.tcc: Minor tweaks.
-
- * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
- Tighten.
- * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
- Likewise.
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
- Likewise.
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
- Likewise.
- * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
-
-2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/12854
- Fixups for -Weffc++.
- * include/bits/basic_string.h (basic_string::operator=): Return
- pointer to this instead of result of assign. Although redundant,
- this doesn't impact resultant codegen.
-
- * include/bits/locale_facets.h (__numpunct_cache): Declare
- assignment opxserator and copy constructor private.
- (__timepunct_cache): Same.
- (__moneypunct_cache): Same.
- (collate): Use member initialization list for _M_c_locale_collate.
- * config/locale/gnu/messages_members.h: Same.
- * config/locale/gnu/time_members.h (__timepunct): Same.
- * src/codecvt.cc: Use member initialization list to initialize
- _M_c_locale_codecvt.
- * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
- * config/os/gnu-linux/ctype_noninline.h: Same.
- * src/locale.cc (_Impl): Same.
- * src/locale_init.cc: Same.
- * src/localename.cc: Same.
-
- * include/bits/basic_ios.h (basic_ios): Complete member
- initialization list.
- * include/bits/istream.tcc (basic_istream::sentry): Same.
- * include/bits/ostream.tcc (basic_ostream::sentry): Same.
- * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
- _M_pback to member initialization list.
- * include/std/std_streambuf.h: Same.
- * include/std/std_sstream.h: Same, for _M_mode.
- * src/ios.cc (ios_base): Same.
-
- * include/ext/rope: Make derived classes match exception
-
- specifications. Add copy constructors and assignment operators.
-
- * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
- constructor and assignment operator protected.
- (_Safe_iterator_base): Same.
- * include/debug/formatter.h (_Error_formatter): Define copy
- constructor and assignment operator.
-
- * include/backward/strstream: Declare assignment operator and copy
- constructor private.
-
-2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_hooks.h (func_callback): Declare copy
- constructor and assignment operator private.
- * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
- exception specifications of base class.
- * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
- * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
- * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
-
-2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/cxxabi.h: Remove duplicated and useless public and
- private keywords in class declarations. Format. Use
- stddef.h. Expose declarations to "C" compilation.
- * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
- assignment operator.
- (__dyncast_result): Same.
- * libsupc++/vec.cc (uncatch_exception): Same, use member
- initialization list.
-
-2004-05-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/abi_check.cc: Add unistd.h.
-
-2004-05-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/15565
- * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
- __int_to_char(unsigned long long)): Showpos is not relevant
- for unsigned types.
- * testsuite/22_locale/num_put/put/char/15565.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
-
- * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
- char.
- * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
-
-2004-05-21 Matthias Klose <doko@debian.org>
-
- * docs/doxygen/run_doxygen: Bump required version.
-
-2004-05-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
- * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
-
-2004-05-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (ignore): Remove redundant line.
- (readsome): Tidy, closely following 27.6.1.3, p30.
-
-2004-05-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (operator>>(basic_istream<>&,
- basic_string<>&)): Use a temporary buffer, thus avoiding
- reallocation for common case.
- * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
- New.
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
- Likewise.
-
- * include/bits/istream.tcc: Const-ification of a few variables.
-
- * include/bits/ostream.tcc: Trivial formatting fixes and
- const-ification of some variables.
-
-2004-05-20 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15123
- PR libstdc++/13928
- * docs/doxygen/Intro.3: Remove Allocators.3.
- Add new extension headers, extension namespace list.
- * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
- Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
- __gnu_debug::. Remove __policy_ renames.
- * docs/doxygen/guide.html: Add dot note.
- * docs/doxygen/stdheader.cc: Edit, add files.
- * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
-
-2004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
-
-2004-05-18 Jan Beulich <jbeulich@novell.com>
-
- PR libstdc++/15489
- * scripts/create_testsuite_files: Also find source files through
- symbolic links.
-
-2004-05-18 Jan Beulich <jbeulich@novell.com>
-
- PR libstdc++/15488
- * testsuite/lib/libstdc++.exp: Make test files writable.
-
-2004-05-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
- tweaks.
-
-2004-05-18 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
- allocation loop which removes blocks from the global free list
- from O(N) to O(1) when the required blocks are <= the number
- available.
-
-2004-05-18 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
-
-2004-05-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
- * testsuite/23_containers/deque/14340.cc: New.
- * testsuite/23_containers/list/14340.cc: New.
- * testsuite/23_containers/map/14340.cc: New.
- * testsuite/23_containers/multimap/14340.cc: New.
- * testsuite/23_containers/multiset/14340.cc: New.
- * testsuite/23_containers/set/14340.cc: New.
- * testsuite/23_containers/vector/14340.cc: New.
-
-2004-05-17 Douglas Gregor <gregod@cs.rpi.edu>
-
- PR libstdc++/14340
- * include/debug/safe_iterator.h (_Safe_iterator converting
- constructor): Only allow declaration to instantiate when the
- incoming _Safe_iterator has exactly the right iterator type.
-
-2004-05-17 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/boost_concept_check.h: Fix old attribute syntax.
- * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
- to pass concept-checks.
- * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
- * testsuite/23_containers/set/modifiers/swap.cc: Same.
- * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
-
-2004-05-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_bitset.h: Minor formatting fixes.
-
-2004-05-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
- Consistently update __bin._M_free[0].
- (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
- __bin._M_free[0] to simplify the while loop (i.e., the number
- of iterations becomes known at the outset).
-
-2004-05-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_bitset.h: Trivial formatting fixes.
-
-2004-05-14 Paolo Carlini <pcarlini@suse.de>
- Ivan Godard <igodard@pacbell.net>
-
- PR libstdc++/15361
- * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
- * testsuite/23_containers/bitset/ext/15361.cc: New.
-
-2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15046
- * crossconfig.m4: Add C99 math bits for linux crosses.
- * configure: Regenerate.
-
-2004-05-13 Simon Marshall <simon.marshall@misys.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15090
- * include/bits/locale_facets.h: Fix for -fno-for-scope.
- * include/debug/safe_sequence.h: Same.
- * include/debug/safe_iterator.tcc: Same.
- * src/debug.cc: Same.
- * src/locale.cc: Same.
- * src/locale_init.cc: Same.
- * src/localename.cc: Same.
- * config/locale/gnu/ctype_members.cc: Same.
- * config/locale/gnu/numeric_members.cc: Same.
- * testsuite/testsuite_abi.cc: Same.
- * testsuite/testsuite_hooks.cc: Same.
-
-2004-05-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/abi.html: Document effect of -fabi-version on value
- of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
- Fix markup.
-
-2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15074
- * docs/html/faq/index.html: Update docs for libsupc++ usage.
-
-2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15412
- * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
- __gnu_internal.
- (_GLIBCXX_mutex_address): Same.
- (_GLIBCXX_once): Same.
- (_GLIBCXX_mutex_init): Same.
- (_GLIBCXX_mutex_address_init): Same.
-
-2004-05-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/abi.html: New.
- * docs/html/abi.txt: Remove.
- * docs/html/documentation.html: Add link.
- * testsuite/Makefile.am: Add files.
- * testsuite/Makefile.in: Regenerated.
- * testsuite/abi_check.cc: Move and modify code into...
- * testsuite/testsuite_abi.cc: Add.
- * testsuite/testsuite_abi.h: Add.
-
- * docs/html/17_intro/TODO: Update.
- * include/bits/stl_pair.h: Format.
-
-2004-05-06 Matthias Klose <doko@debian.org>
-
- * include/backward/iterator.h: Add GPL copyright info,
- with exception clause.
- * include/bits/boost_concept_check.h: Likewise.
- * include
- * libsupc++/tinfo.h: Likewise.
- * po/string_literals.cc: Likewise.
-
-2004-05-03 Andreas Tobler <a.tobler@schweiz.ch>
-
- * acinclude.m4: Replace -W with more speaking -Wextra.
- * configure: Rebuilt.
-
-2004-05-03 Paolo Carlini <pcarlini@suse.de>
-
- Optimize locale::_M_impl->_M_names for the most common cases:
- !_M_names[0] means unnamed; !_M_names[1] means all the categories
- the same name (_M_names[0] && _M_names[1] means that the full set
- of _M_names must be processed, the general case).
- * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
- Tweak, saving work when !_M_names[1].
- (locale::locale(const locale&, _Facet*): Simplify: now just setting
- _M_names[0] = 0 means unnamed.
- * src/locale.cc (locale::operator==): Deal first with the common,
- easy cases, otherwise fall back to locale::name().
- (locale::name()): Tweak, if !_M_names[0] just return "*".
- (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
- copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
- * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
- * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
- Simplify when !std::strchr, just updating _M_names[0]; clean up.
- (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
- for the general case (full set of names), then do the usual work;
- clean up.
-
- * src/locale.cc (locale::name()): Reserve space in __ret.
- * src/locale_init.cc (locale::global(const locale&)): Save
- the name in a temporary.
- * src/localename.cc (locale::locale(const char*)): Reserve space
- in __str.
-
-2004-04-29 Paolo Carlini <pcarlini@suse.de>
-
- * src/locale.cc (locale::operator==): Always avoid constructing
- locale::name(), directly compare pairs of _M_names.
-
-2004-04-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc: Fix comment.
-
-2004-04-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_vector.h: Trivial formatting fixes.
- * include/bits/vector.tcc: Likewise.
-
-2004-04-25 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/15002 (continued again)
- * include/bits/istream.tcc (getline(basic_istream<>&,
- basic_string<>&, _CharT)): Use a temporary buffer, thus
- avoiding reallocation for common case.
-
- * include/bits/basic_string.tcc (_S_construct(_InIterator,
- _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
- of temporary buffer to a power of two.
-
- * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
-
-2004-04-25 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
- New.
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
- Likewise.
- * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
-
-2004-04-24 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/15002 (continued)
- * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
- streamsize, char_type)): Use traits::find/copy in a loop to speed
- up greatly the function in the common case (I/O buffer size >> 1).
-
-2004-04-24 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/getline/char/4.cc: New.
-
- * include/bits/istream.tcc (getline(basic_istream<>&,
- basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
- of sbumpc(), consistently with the other functions, thus also
- dealing correctly with the case of exceeded string::max_size().
-
-2004-04-24 Matthias Klose <doko@debian.org>
-
- Jonathan Wakely <cow@compsoc.man.ac.uk>
- * docs/html/configopts.html: Fix reference to allocator config option.
-
-2004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
-
- * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
- * configure: Regenerate.
-
-2004-04-23 Daniel Jacobowitz <drow@mvista.com>
-
- PR libstdc++/15047, libstdc++/11610
- * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
- (libstdc++_init): Don't pass outdir to v3-copy-files.
-
-2004-04-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/deque.tcc: Trivial formatting fixes.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
-
-2004-04-21 Paolo Carlini <pcarlini@suse.de>
- Andrew Pinski <pinskia@physics.uc.edu>
-
- * include/bits/basic_string.tcc (_M_mutate): Don't compute
- __src unnecessarily.
-
-2004-04-19 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
- Clarify assertion, set test variable to false before assert.
- * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
- * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
- * testsuite/27_io/ios_base/storage/2.cc: Same.
-
- * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
- function returns.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
- * testsuite/27_io/fpos/14320-3.cc: Same.
-
- * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
- * testsuite/27_io/fpos/1.cc: Same.
- * testsuite/27_io/basic_stringstream/2.cc: Same.
- * testsuite/27_io/basic_stringbuf/4.cc: Same.
- * testsuite/27_io/basic_stringbuf/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/2.cc: Same.
- * testsuite/27_io/basic_streambuf/2.cc: Same.
- * testsuite/27_io/basic_ostringstream/2.cc: Same.
- * testsuite/27_io/basic_ostream/2.cc: Same.
- * testsuite/27_io/basic_ofstream/2.cc: Same.
- * testsuite/27_io/basic_istringstream/2.cc: Same.
- * testsuite/27_io/basic_istream/2.cc: Same.
- * testsuite/27_io/basic_iostream/2.cc: Same.
- * testsuite/27_io/basic_ios/2.cc: Same.
- * testsuite/27_io/basic_ifstream/2.cc: Same.
- * testsuite/27_io/basic_fstream/2.cc: Same.
- * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
-
- * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
- unsigned against zero.
- * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
- * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
-
- * testsuite/18_support/new_delete_placement.cc: Initialize
- variables before first use.
- * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
- * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
- * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
- * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
- Same.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
- * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
- Same.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
- * testsuite/27_io/types/2.cc: Same.
-
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
- file name.
- * testsuite/27_io/fpos/14775.cc: Same.
-
-2004-04-19 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/15002 (partial)
- * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
- Special case __n2 == 1, not calling traits_type::assign/copy.
-
-2004-04-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/stl_bvector.h: Use _M_impl._M_start.
-
-2004-04-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config (_GLIBCXX_STD): New.
- * src/list.cc: Use it.
- * include/std/std_bitset.h: Same.
- * include/bits/vector.tcc: Same.
- * include/bits/stl_set.h: Same.
- * include/bits/stl_multiset.h: Same.
- * include/bits/stl_multimap.h: Same.
- * include/bits/stl_map.h: Same.
- * include/bits/stl_list.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/bits/stl_bvector.h: Same.
- * include/bits/stl_deque.h: Same.
- * include/bits/deque.tcc: Same.
- * include/bits/list.tcc: Same.
- * include/debug/vector: Same.
- * include/debug/set.h: Same.
- * include/debug/multiset.h: Same.
- * include/debug/multimap.h: Same.
- * include/debug/map.h: Same.
- * include/debug/list: Same.
- * include/debug/deque: Same.
- * include/debug/bitset: Same.
- * include/debug/formatter.h (__gnu_debug): Remove using directive.
- Add using declaration for std::type_info.
- * include/debug/safe_iterator.h: Add using declaration for
- std::iterator_traits and std::pair.
- * src/debug_list.cc: New.
- * src/Makefile.am: Add debug_list.cc.
- * src/Makefile.in: Regenerate.
- * config/linker-map.gnu: Add _List_node_base exports for std and
- __gnu_norm.
-
- * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
- idiom that other containers use.
- * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
-
-2004-04-16 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14975
- * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
- in case of error.
- * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
-
-2004-04-16 Paolo Carlini <pcarlini@suse.de>
-
- * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
- used anymore.
- * config.h.in: Regenerate.
-
-2004-04-16 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/monetary_members.cc
- (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
- btowc unnecessarily, just cast to wchar_t (the concerned chars
- all belong to the basic character set).
- * config/locale/generic/numeric_members.cc
- (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
- * config/locale/gnu/numeric_members.cc
- (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
-
-2004-04-15 Paolo Carlini <pcarlini@suse.de>
-
- * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
- avoid constructing unnecessarily this->name().
-
-2004-04-14 Zack Weinberg <zack@codesourcery.com>
-
- * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
- Change definition of CXX to use $(shell) instead of backticks.
- * testsuite/Makefile.in: Regenerate.
-
-2004-04-12 Dhruv Matani <dhruvbird@gmx.net>
-
- * testsuite/performance/20_util/allocator/list_sort_search.cc:
- Minor formatting fixes.
- * testsuite/performance/20_util/allocator/map_mt_find.cc:
- Likewise.
-
-2004-04-12 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/numeric_members.cc
- (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
- in __uselocale, since btowc is called for chars belonging to
- the basic character set.
-
-2004-04-09 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
- * testsuite/22_locale/messages/members/char/2.cc: Ditto.
- * testsuite/22_locale/messages/members/char/3.cc: Ditto.
- * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
- * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
- * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
- * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
- * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
- * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
- * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
- * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
- * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
- * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
-
-2004-04-07 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/time_members.cc
- (__timepunct<char>::_M_initialize_timepunct,
- __timepunct<wchar_t>::_M_initialize_timepunct): the correct
- _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
- * config/locale/gnu/time_members.cc
- (__timepunct<char>::_M_initialize_timepunct,
- __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
- * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
-
- * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
- * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
- * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
- * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
- * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
-
- * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
-
-2004-04-07 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
- _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
- and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
- _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
- * config/locale/gnu/numeric_members.cc
- (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
- and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
-
-2004-04-06 Benjamin Kosnik <bkoz@redhat.com>
-
- Fixups for EDG front end.
- * include/ext/rope: Instead of non-existent function
- _Data_allocate, use allocator's allocate. Use this.
- (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
- enumerations from _Rope_RopeRep here.
- * include/ext/ropeimpl.h: Same.
- * src/ext-inst.cc (_S_min_len): Fix up definition.
-
- * config/locale/gnu/ctype_members.cc: Qualify base class members
- with this.
- * config/locale/generic/ctype_members.cc: Same.
- * config/locale/gnu/messages_members.h: Same.
- * config/locale/generic/messages_members.h: Same.
- * src/ctype.cc: Same.
- * include/bits/codecvt.h: Same.
-
- * include/bits/boost_concept_check.h: Declare.
- (__error_type_must_be_an_unsigned_integer_type): Remove this.
- (__error_type_must_be_an_integer_type): Remove this.
- (__error_type_must_be_a_signed_integer_type): Remove this.
-
- * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
-
- * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
- specification to definition.
- (__cxa_allocate_exception): Same.
- * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
- * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
- (__cxa_get_globals): Same.
-
- * libsupc++/del_op.cc: Add comment about freestanding.
-
-2004-04-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
- The critical section is actually very small, only two assignments.
-
-2004-04-04 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
- adapted from libstdc++/11378.
-
-2004-04-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
- some duplicated code.
- (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
- in the single threaded case.
- * testsuite/performance/20_util/allocator/list_sort_search.cc:
- Reorder and renumber the tests consistently with the other testfiles.
- * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
- * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
- * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
-
-2004-04-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
- Rearrange arithmetic to avoid computing two divisions at
- each deallocation.
-
-2004-04-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
- Streamline the second half, wrapping it in a single
- '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
- conditionals inside loops.
-
-2004-04-01 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14775
- * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
- * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
- GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
- to _GLIBCXX_RES_LIMITS.
- (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
- HAVE_LIMIT_*.
- * testsuite/testsuite_hooks.h: Declare set_file_limit.
- * testsuite/testsuite_hooks.cc: Define it, using getrlimit
- and setrlimit(RLIMIT_FSIZE).
- * testsuite/27_io/fpos/14775.cc: New.
- * config.h.in: Regenerate.
- * configure: Likewise.
-
-2004-03-31 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
- In v3 uses of sscanf, the special floating-point numbers INF,
- INFINITY, etc., cannot occur in input, therefore, if the latter
- is too large, ERANGE is always stored in errno, no need of finitel.
-
-2004-03-30 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/14783
- * include/bits/stl_tree.h: Adjust initialization list order.
-
-2004-03-29 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
-
-2004-03-29 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
- on allocator behavior, the memory pointed by data2 may well be not
- trashed.
-
-2004-03-28 Chavdar Botev <cbotev@yahoo.com>
-
- PR libstdc++/14245
- * include/bits/basic_string.tcc
- (basic_string::basic_string(const basic_string&)): Pass to
- _Rep::_M_grab the actual allocator of the string being constructed
- not the default constructed one.
-
-2004-03-27 Benjamin Kosnik <bkoz@redhat.com>
-
- libstdc++ PR/13598
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h
- (__enc_traits::_M_destroy): New.
- (__enc_traits::~__enc_traits): Use it.
- (__enc_traits::operator=): Use _M_destroy, _M_init.
- (__enc_traits::__enc_traits): Same.
-
-2004-03-27 Petur Runolfsson <peturr02@ru.is>
-
- * testsuite/ext/enc_filebuf/char/13598.cc: New.
-
-2004-03-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h: Uglify consistently names of
- variables, members and classes; tidy.
-
-2004-03-27 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
- Deallocation loop rewrote.
-
-2004-03-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
- __mt_alloc<>::deallocate): Protect two instances of
- block->thread_id with __GTHREADS.
-
-2004-03-25 Gawain Bolton <gp.bolton@computer.org>
-
- * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
- default argument in constructors.
- (_Rb_tree::_M_empty_initialize): Remove.
-
-2004-03-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
- * testsuite/23_containers/set/operators/1_neg.cc: Same.
-
-2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/bits/cpp_type_traits.h: Changed __is_pod
- completely. Now, it does not use any of the previous type_traits
- to detect the pod types, and it also detects function pointers as
- POD types.
-
- * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
- which encapsulates the internal implementation of an rb_tree. Made
- the allocator a base class of this class instead of the rb_tree,
- which was not conforming. This _Rb_tree_impl class is also
- specialized on whether the _Compare parameter is a POD type or
- not. If so, then it maintains the comparison function as a data
- member, otherwise it makes the _Compare parameter a base class of
- itself. Also, _M_key_compare is now a function instead of a data
- member, so that the above trick can work properly. Delegated the
- initialization of the other data members to this newly created
- class. Also, now other member functions of rb_tree must refer to
- _M_key_compare as _M_impl._M_key_compare(). The other data members
- (*) can be referenced to as _M_impl.(*), where
- (*) includes _M_header, and _M_node_count.
-
-2004-03-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::tune):
- Add _M_min_bin, the size in bytes of the smallest bin.
- (__mt_alloc<>::tune()): Tweak accordingly.
- (__mt_alloc<>::tune(size_t, ...)): Likewise.
- (__mt_alloc<>::block_record): Change to a union: members next
- and thread_id are never used at the same time.
- (__mt_alloc<>::allocate): Update consistently.
- (__mt_alloc<>::deallocate): Likewise.
- (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
- _S_bin_size for the configurable _M_min_size.
-
-2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/bits/stl_list.h: Created a _List_impl class and made it
- derive from the allocator, instead of the list deriving from the
- allocator class, which was not conformant. Changed all references
- from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
- as above (changed all references to the concerned variables).
-
-2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/bits/stl_deque.h: Created a _Deque_impl class and made
- it derive from the allocator, instead of the deque deriving from
- the allocator class, which was not conformant. Changed all
- references to the _M_start, _M_finish, _M_map, and _M_map_size to
- _M_impl.*.
- (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
- qualification in 2 places where it was missing.
- (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
- above.
- * include/bits/deque.tcc: Same as above (changed all references to
- the concerned variables).
-
-2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/bits/stl_vector.h: Created a _Vector_impl class and made
- it derive from the allocator, instead of the _Vector_base class,
- deriving from the allocator which was not conformant. Changed all
- references to the _M_start, _M_finish, and _M_end_of_storage to
- _M_impl.*.
- * include/bits/vector.tcc: Same as above (changed all references
- to the concerned variables).
-
-2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
-
- * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
- * testsuite/23_containers/list/cons/clear_allocator.cc: New.
- * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
-
-2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/ext/malloc_allocator.h: Fixed the construct function to
- call global placement new instead of assignment. Added a check
- after the return from malloc to check whether returned pointer is
- NULL, and if so, throw std::bad_alloc().
- * include/ext/debug_allocator.h: Added a check in the deallocate
- function to check whether the user has passed a NULL pointer or
- not.
-
-2004-03-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/20_util/allocator.html: Add bitmap_allocator links.
-
-2004-03-24 Andreas Schwab <schwab@suse.de>
-
- * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
- warning from IA64 assembler.
-
-2004-03-24 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
- function call __builtin_ctz instead of the while loop.
- (allocate) -> If condition has __builtin_expect.
- (deallocate) -> Ditto.
- Renamed a few left-over variables and typedefs according to the
- C++STYLE mentioned in the documentation.
- Protected calls to __gthread* by __gthread_active_p(), whose value
- is cached in the local variable __threads_active.
-
-2004-03-24 Felix Yen <fwy@alumni.brown.edu>
-
- * testsuite/performance/20_util/allocator/producer_consumer.cc:
- Use linear algorithm for producer.
-
-2004-03-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
- __mt_alloc<>::deallocate): Avoid redundant conditionals.
-
-2004-03-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/locale_facets.h: Tweaks for 80 column.
- (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
- (__moneypunct_cache::_M_cache): Same.
- (num_get): Don't inherit from __num_base.
- (num_put): Same.
- (money_get): Don't inherit from money_base.
- (money_put): Same.
- (__timepunct::_M_am_pm_format): New.
- (time_get::_M_extract_num): Return iterator, use ios_base as argument.
- (time_get::_M_extract_name): Same.
- (time_get::_M_extract_via_format): Same.
- * include/bits/locale_facets.tcc: Tweaks for 80 column.
- Use _M_getloc instead of getloc.
- * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
- * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
- * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
-
-2004-03-22 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
- * configure: Regenerate.
- * config/allocator/pool_allocator_base.h: New.
- * include/ext/pool_allocator.h: Convert to a standard-conforming
- allocator.
- * src/allocator.cc: Tweak instantiations.
- * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
- * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
- * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
- * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
- * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
- * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
-
-2004-03-22 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
- inline" and attribute-unused. Qualify parameter __mem with
- "volatile".
- (__exchange_and_add): Ditto. Add back memory clobber to asm.
-
-2004-03-20 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
- Remove junk.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
- Likewise.
-
-2004-03-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_valarray.h: Document DR389 [Ready].
- * docs/html/ext/howto.html: Add an entry for DR389.
-
-2004-03-19 Michael Eager <eager@mvista.com>
-
- * config/cpu/mips/atomicity.h: Prevent reg loads between LL and
- SC instructions.
-
-2004-03-19 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
- static_cast-s.
- * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
-
-2004-03-19 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/12077
- * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
- no way to find out the conversion used by the underlying FILE*.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
- * testsuite/27_io/objects/char/9.cc: Tweak.
-
-2004-03-19 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14648
- * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
- memory allocation/deallocation calls.
- * testsuite/ext/14648.cc: New.
-
-2004-03-19 Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
-
- PR libstdc++/14647
- * include/backward/bvector.h (bit_vector): Allocator is in std
- namespace.
-
-2004-03-19 Phil Edwards <phil@codesourcery.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV,
- not libiconv. SUBST this variable as well.
- * testsuite/Makefile.am (site.exp): New target, based on that
- created by automake. Also set libiconv.
-
- * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
- libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
- testsuite/Makefile.in: Regenerate.
-
-2004-03-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
- new_allocator for all hosts.
- * configure: Regenerate.
-
-2004-03-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
- * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
-
-2004-03-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- Adjust the logic underlying the parsing of symbol to deal
- correctly with an optional sign component (i.e., when either
- negative_sign or positive_sign is empty)
- * testsuite/22_locale/money_get/get/char/19.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
-
-2004-03-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- Do not accept an incomplete currency symbol.
- * testsuite/22_locale/money_get/get/char/18.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
-
-2004-03-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/allocator: New.
- * config/allocator/bitmap_allocator_base.h: New.
- * config/allocator/malloc_allocator_base.h: New.
- * config/allocator/mt_allocator_base.h: New.
- * config/allocator/new_allocator_base.h: New.
- * include/bits/allocator.h: Include c++allocator.h.
- * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
- * aclocal.m4: Regenerate.
- * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
- * configure: Regenerate.
- * include/Makefile.am (host_headers_extra): Add c++allocator.h.
- * include/Makefile.in: Regenerate.
- * docs/html/configopts.html: Add enable-libstdcxx-allocator.
-
-2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/allocator.h: Revert.
-
-2004-03-12 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
- * include/bits/gslice_array.h: Add comment about DR 253.
- * include/bits/indirect_array.h: Likewise.
- * include/bits/mask_array.h: Likewise.
- * include/bits/slice_array.h: Likewise.
-
-2004-03-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/20_util/allocator/14176.cc: New.
- * include/ext/mt_allocator.h: Formatting fixes.
-
-2004-03-11 Dhruv Matani <dhruvbird@HotPOP.com>
-
- * include/Makefile.am (ext_headers): Add
- ${ext_srcdir}/bitmap_allocator.h .
- * include/Makefile.in: Regenerate.
- * docs/html/ext/ballocator_doc.txt: New file.
- * include/ext/bitmap_allocator.h: New file.
- * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
- test.
- * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
- * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
- test for the bitmap_allocator<>.
- * testsuite/performance/20_util/allocator/insert.cc: Likewise.
- * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
- * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
-
-2004-03-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_complex.h (pow(const complex&, const _Tp&),
- pow(const _Tp&, const complex&), pow(const complex&,
- const complex&)): Fully qualify with std:: a few calls.
- * testsuite/26_numerics/complex/13450.cc: Minor tweak.
-
-2004-03-11 Steven Bosscher <stevenb@suse.de>
-
- PR libstdc++/11706
- * include/c_std/cmath.tcc (__cmath_power): Define inline.
-
-2004-03-10 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Bump AC_PREREQ to 2.59.
-
-2004-03-10 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
-
-2004-03-10 Paul Kienzle <pkienzle@nist.gov>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13450
- * include/std/std_complex.h (pow(const complex&, const _Tp&),
- pow(const _Tp&, const complex&)): Use cmath pow only when safe.
- * testsuite/26_numerics/complex/13450.cc: New.
-
- * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
- * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
-
-2004-03-10 Jerry Quinn <jlquinn@optonline.net>
-
- PR libstdc++/3247
- * include/bits/gslice_array.h (gslice_array()): Make public.
- (operator=(gslice_array)): Make public. Implement.
- * include/bits/indirect_array.h (indirect_array()): Make public.
- * include/bits/mask_array.h (mask_array()): Make public.
- (operator=(mask_array)): Make public. Implement.
- * include/bits/valarray_array.tcc (__valarray_copy):
- Comment. Add versions for gslice_array and mask_array.
- * testsuite/26_numerics/valarray_subset_assignment.cc: New test.
-
-2004-03-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
- non-weak systems.
- * testsuite/23_containers/vector/modifiers/swap.cc: Same.
- * testsuite/23_containers/set/modifiers/swap.cc: Same.
- * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
- * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
- * testsuite/23_containers/map/modifiers/swap.cc: Same.
- * testsuite/23_containers/list/modifiers/swap.cc: Same.
-
- * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
-
-2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
-
- PR c++/13658
- * testsuite/23_containers/deque/modifiers/swap.cc: New.
- * testsuite/23_containers/list/modifiers/swap.cc: New.
- * testsuite/23_containers/map/modifiers/swap.cc: New.
- * testsuite/23_containers/multimap/modifiers/swap.cc: New.
- * testsuite/23_containers/multiset/modifiers/swap.cc: New.
- * testsuite/23_containers/set/modifiers/swap.cc: New.
- * testsuite/23_containers/vector/modifiers/swap.cc: New.
-
-2004-03-08 Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/12658
- * testsuite/22_locale/locale/cons/12658_thread.cc: New.
-
-2004-03-08 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/howto.html: Add entry for DR 103 [WP].
- * include/bits/stl_multiset.h: Add comment about DR 103.
- * include/bits/stl_set.h: Likewise.
-
-2004-03-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- The value _space_ indicates that at least one space is required
- at that position.
- * testsuite/22_locale/money_get/get/char/17.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
-
- * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
- * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
-
- * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
- Remove redundant conditional on __str.size().
-
-2004-03-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/allocator.h: Switch defaults to mt_alloc.
-
-2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/mt_allocator.h (_S_initialize): If
- !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
-
-2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/12658
- * src/locale_init.cc (locale::locale): Lock critical regions with
- external mutexes.
- (locale::global): Same.
- * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
- Add in once bits for cases without __GTHREAD_MUTEX_INIT.
- (__glibcxx_mutex_lock): Same.
-
- * config/cpu/generic/atomicity.h: Remove
- _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
- * src/misc-inst.cc: Move all locking bits out of this file.
-
- * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
- * src/misc-inst.cc: Same.
- * config/cpu/hppa/atomicity.h: Same.
-
- * config/linker-map.gnu: Remove types in the signature of atomic
- exports, as they may vary.
-
-2004-03-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc: Tweak the comment preceding
- has_facet: doesn't throw.
-
-2004-03-06 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
- * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
-
-2004-03-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
- num_get<>::_M_extract_int, num_get<>::do_get(bool&),
- __pad<>::_S_pad): Prefer plain operator== to traits::eq().
- * testsuite/testsuite_character.h (struct __gnu_test::character):
- Provide operator==.
- * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
- Likewise.
-
-2004-03-05 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
-
-2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/23_containers/multiset/insert/1.cc: Test result string.
-
- * testsuite/23_containers/bitset/invalidation/1.cc: Main always
- returns 0.
- * testsuite/23_containers/deque/invalidation/4.cc: Same.
- * testsuite/23_containers/list/invalidation/1.cc: Same.
- * testsuite/23_containers/list/invalidation/2.cc: Same.
- * testsuite/23_containers/list/invalidation/3.cc: Same.
- * testsuite/23_containers/list/invalidation/4.cc: Same.
- * testsuite/23_containers/map/invalidation/2.cc: Same.
- * testsuite/23_containers/multimap/invalidation/1.cc: Same.
- * testsuite/23_containers/multimap/invalidation/2.cc: Same.
- * testsuite/23_containers/multiset/invalidation/1.cc: Same.
- * testsuite/23_containers/multiset/invalidation/2.cc: Same.
- * testsuite/23_containers/set/invalidation/1.cc: Same.
- * testsuite/23_containers/set/invalidation/2.cc: Same.
- * testsuite/23_containers/vector/invalidation/1.cc: Same.
- * testsuite/23_containers/vector/invalidation/2.cc: Same.
- * testsuite/23_containers/vector/invalidation/3.cc: Same.
- * testsuite/23_containers/vector/invalidation/4.cc: Same.
-
-2004-03-04 Paolo Carlini <pcarlini@suse.de>
-
- * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
- CXXFLAGS_save.
- * testsuite/lib/libstdc++.exp: Don't add it conditionally to
- DEFAULT_CXXFLAGS.
- * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
- from the dg-options.
- * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
- * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
- * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
- * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
- * testsuite/23_containers/vector/resize/1.cc: Likewise.
- * testsuite/26_numerics/complex_value.cc: Likewise.
- * testsuite/27_io/ios_base/storage/1.cc: Likewise.
- * testsuite/27_io/ios_base/storage/2.cc: Likewise.
- * testsuite/27_io/ios_base/storage/3.cc: Likewise.
- * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
- * testsuite/27_io/objects/char/5.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
- * testsuite/backward/11460.cc: Likewise.
- * testsuite/thread/pthread7-rope.cc: Likewise.
-
- * testsuite/21_strings/basic_string/compare/char/1.cc: Add
- missing test variable.
- * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
- missing test variable.
-
-2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/20_util/allocator/1.cc: Provide explicit
- instantiations for non-weak systems.
- * testsuite/20_util/binders.cc: Same.
- * testsuite/20_util/allocator/8230.cc: Same.
- * testsuite/20_util/allocator/10378.cc: Same.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
- * testsuite/22_locale/ctype/is/char/2.cc: Same.
- * testsuite/thread/pthread7-rope.cc: Same.
- * testsuite/thread/pthread6.cc: Same.
- * testsuite/thread/pthread5.cc: Same.
- * testsuite/thread/pthread4.cc: Same.
- * testsuite/thread/pthread1.cc: Same.
- * testsuite/ext/rope.cc: Same.
- * testsuite/ext/hash_set.cc: Same.
- * testsuite/ext/hash_map.cc: Same.
- * testsuite/ext/concept_checks.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
- * testsuite/25_algorithms/unique/2.cc: Same.
- * testsuite/25_algorithms/unique/1.cc: Same.
- * testsuite/25_algorithms/rotate.cc: Same.
- * testsuite/25_algorithms/min_max.cc: Same.
- * testsuite/25_algorithms/equal.cc: Same.
- * testsuite/24_iterators/rel_ops.cc: Same.
- * testsuite/24_iterators/iterator.cc: Same.
- * testsuite/24_iterators/insert_iterator.cc: Same.
- * testsuite/24_iterators/front_insert_iterator.cc: Same.
- * testsuite/24_iterators/back_insert_iterator.cc: Same.
- * testsuite/23_containers/vector/resize/1.cc: Same.
- * testsuite/23_containers/vector/modifiers/2.cc: Same.
- * testsuite/23_containers/vector/modifiers/1.cc: Same.
- * testsuite/23_containers/vector/invalidation/4.cc: Same.
- * testsuite/23_containers/vector/invalidation/3.cc: Same.
- * testsuite/23_containers/vector/invalidation/2.cc: Same.
- * testsuite/23_containers/vector/invalidation/1.cc: Same.
- * testsuite/23_containers/vector/element_access/1.cc: Same.
- * testsuite/23_containers/vector/cons/6513.cc: Same.
- * testsuite/23_containers/vector/cons/3.cc: Same.
- * testsuite/23_containers/vector/cons/2.cc: Same.
- * testsuite/23_containers/vector/cons/1.cc: Same.
- * testsuite/23_containers/vector/capacity/8230.cc: Same.
- * testsuite/23_containers/vector/capacity/1.cc: Same.
- * testsuite/23_containers/vector/bool/6886.cc: Same.
- * testsuite/23_containers/stack/members/7158.cc: Same.
- * testsuite/23_containers/set/invalidation/2.cc: Same.
- * testsuite/23_containers/set/invalidation/1.cc: Same.
- * testsuite/23_containers/queue/members/7157.cc: Same.
- * testsuite/23_containers/priority_queue/members/7161.cc: Same.
- * testsuite/23_containers/multiset/invalidation/2.cc: Same.
- * testsuite/23_containers/multiset/invalidation/2.cc: Same.
- * testsuite/23_containers/multiset/insert/1.cc: Same.
- * testsuite/23_containers/multimap/invalidation/2.cc: Same.
- * testsuite/23_containers/multimap/invalidation/2.cc: Same.
- * testsuite/23_containers/map/operators/1.cc: Same.
- * testsuite/23_containers/map/invalidation/2.cc: Same.
- * testsuite/23_containers/map/invalidation/1.cc: Same.
- * testsuite/23_containers/map/insert/1.cc: Same.
- * testsuite/23_containers/list/operators/4.cc: Same.
- * testsuite/23_containers/list/operators/3.cc: Same.
- * testsuite/23_containers/list/operators/2.cc: Same.
- * testsuite/23_containers/list/operators/1.cc: Same.
- * testsuite/23_containers/list/modifiers/3.cc: Same.
- * testsuite/23_containers/list/modifiers/2.cc: Same.
- * testsuite/23_containers/list/modifiers/1.cc: Same.
- * testsuite/23_containers/list/invalidation/4.cc: Same.
- * testsuite/23_containers/list/invalidation/3.cc: Same.
- * testsuite/23_containers/list/invalidation/2.cc: Same.
- * testsuite/23_containers/list/invalidation/1.cc: Same.
- * testsuite/23_containers/list/cons/9.cc: Same.
- * testsuite/23_containers/list/cons/8.cc: Same.
- * testsuite/23_containers/list/cons/7.cc: Same.
- * testsuite/23_containers/list/cons/6.cc: Same.
- * testsuite/23_containers/list/cons/5.cc: Same.
- * testsuite/23_containers/list/cons/4.cc: Same.
- * testsuite/23_containers/list/cons/3.cc: Same.
- * testsuite/23_containers/list/cons/2.cc: Same.
- * testsuite/23_containers/list/cons/1.cc: Same.
- * testsuite/23_containers/list/capacity/1.cc: Same.
- * testsuite/23_containers/deque/operators/1.cc: Same.
- * testsuite/23_containers/deque/invalidation/4.cc: Same.
- * testsuite/23_containers/deque/invalidation/3.cc: Same.
- * testsuite/23_containers/deque/invalidation/2.cc: Same.
- * testsuite/23_containers/deque/invalidation/1.cc: Same.
- * testsuite/23_containers/deque/cons/2.cc: Same.
- * testsuite/23_containers/deque/cons/1.cc: Same.
-
- * src/allocator.cc: Add char, wchar_t instantiations
- to match extern template declarations in memory.h.
-
-2004-03-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_put<>::_M_insert):
- Fix warning regression.
-
-2004-03-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_put<>::_M_insert):
- Deal properly with empty __digits and negative frac_digits,
- clean-up a bit.
-
-2004-03-03 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/documentation.html: Regenerate.
-
-2004-03-02 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14320
- * include/bits/postypes.h (class streamoff): Remove, now
- streamoff is just typedef a 64 bit signed integer type.
- (class fpos): Tweak consistently.
- * testsuite/27_io/fpos/14320-1.cc: New.
- * testsuite/27_io/fpos/14320-2.cc: New.
- * testsuite/27_io/fpos/14320-3.cc: New.
- * testsuite/27_io/fpos/14320-4.cc: New.
- * testsuite/27_io/fpos/14320-5.cc: New.
- * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
-
-2004-03-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- Reorganize a bit the main parsing loop, thus early detecting
- an empty value component.
- * testsuite/22_locale/money_get/get/char/16.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
-
-2004-03-02 Benjamin Kosnik <bkoz@redhat.com>
-
- Support automake 1.8.2
- * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
- * po/Makefile.am (EXTRA_DIST): New.
- * po/Makefile.in: Regenerate.
- * Makefile.in: Same.
- * include/Makefile.in: Same.
- * libmath/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * src/Makefile.in: Same.
- * testsuite/Makefile.in: Same.
-
- * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
- __GXX_WEAK__ instead of SUPPORTS_WEAK.
- (${host_builddir}/gthr-default.h): Same.
- (${host_builddir}/gthr.h): Same.
- * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
- _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
- -fno-weak.
- * aclocal.m4: Regenerate.
- * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
- * config.h.in: Regenerate.
- * configure: Same.
-
-2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
-
- Support autoconf 2.59
- * acinclude.m4: Quote correctly.
- * aclocal.m4: Regenerate.
- * linkage.m4: Same.
-
-2004-03-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/test.html: Add multilib RUNTESTFLAGS example.
-
- * docs/html/18_support/howto.html: Add bit about writing to
- stderr, mostly by Zack.
-
-2004-03-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::_M_extract,
- money_get<>::do_get(string_type&)): ... and two more.
-
-2004-03-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- Fix thinkos in the switch from string_type& to string& as last
- argument.
-
-2004-03-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
- Also when parsing exponent sign, first look for thousands_sep
- and decimal_point; tweak a bit.
- * testsuite/22_locale/num_get/get/char/15.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
- num_get<>::_M_extract_int): Reorder some conditionals.
-
-2004-03-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- Consistently with numpunct, enforce the requirements in
- 22.2.6.3, p3 for the thousands separators; tweak a bit.
- * testsuite/22_locale/money_get/get/char/15.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
-
-2004-03-01 David Billinghurst <David.Billinghurst@riotinto.com>
-
- * testsuite/lib/libstdc++.exp (v3-list-tests): Use
- testsuite_files from correct multilib blddir when running
- testsuite.
-
-2004-02-29 Phil Edwards <phil@codesourcery.com>
-
- * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy
- the summary file to the logfile.
- * testsuite/Makefile.in: Regenerate.
-
-2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
- volatile.
- * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
- __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
-
-2004-02-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
- According to 22.2.3.1, p2, 'units' may be followed by 'e' with
- no 'decimal-point' in the middle: in this case too we must fix
- up __found_grouping; slightly tweak.
- * testsuite/22_locale/num_get/get/char/14.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
-
-2004-02-27 Eric Christopher <echristo@redhat.com>
- Phil Edwards <phil@codesourcery.com>
-
- * testsuite/22_locale/collate/compare/wchar_t/2.cc,
- testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
- testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
- testsuite/22_locale/collate/hash/wchar_t/2.cc,
- testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
- testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
- testsuite/22_locale/collate/transform/wchar_t/2.cc,
- testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
- testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
- Use dg-require-iconv.
- * testsuite/lib/libstdc++.exp: Load target-supports.exp.
-
-2004-02-27 Phil Edwards <phil@codesourcery.com>
- Eric Christopher <echristo@redhat.com>
-
- * testsuite/config/default.exp: Update with comments.
- (${tool}_target_compile): New wrapper routine.
- * testsuite/lib/dg-options.exp: New file, with dg-require-iconv.
- * testsuite/lib/libstdc++.exp: Update with comments and cosmetic
- fixes.
- (load_gcc_lib, v3track): New routines.
- (v3-init): Rename to libstdc++_init.
- * testsuite/libstdc++-dg/normal.exp: No longer call v3-init.
- Move DEFAULT_CXXFLAGS handling into libstdc++_init.
-
-2004-02-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
-
- * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
-
- * config/os/irix/irix5.2/atomicity.h: Merge..
- * config/os/irix/irix6.5/atomicity.h: Merge..
- * config/os/irix/atomicity.h: ...into this.
- * config/os/irix/atomic_word.h: New.
- * configure.host: Set atomic_word_dir for irix.
-
- * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
- * i386/atomicity.h: Same.
- * m68k/atomicity.h: Same.
- * sparc/atomicity.h: Same.
-
-2004-02-27 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
- static, and inline keywords.
-
-2004-02-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
- num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
- call reserve on the __tmp_gruping string.
- (num_get<>::_M_extract_float): Don't append unnecessarily a
- char() to the returned string.
- * include/bits/locale_facets.tcc: Trivial reformattings.
-
-2004-02-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h (money_get<>::_M_extract):
- Change signature: now takes a plain string&.
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- Update consistently the definition; use the moneypunct cache
- to parse the value; use swap to change __units.
- (money_get<>::do_get(long double&)): Update call of _M_extract,
- avoid ctype::narrow, not correct wrt the standard.
- (money_get<>::do_get(string_type&)): Likewise, update call
- of _M_extract, use ctype::widen.
- * src/locale-inst.cc: Tweak instantiations of _M_extract.
-
-2004-02-26 Ian Lance Taylor <ian@wasabisystems.com>
-
- * testsuite/demangle/abi_examples/01.cc: Expect error -2.
- * testsuite/demangle/abi_examples/02.cc: Likewise.
- * testsuite/demangle/regression/cw-11.cc: Likewise.
- * testsuite/demangle/regression/cw-16.cc: Change two expected
- results to match libiberty demangler output.
-
-2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/10246
- * libsupc++/Makefile.am: Use libiberty demangler.
- (c_sources): Add cp-demangle.c.
- * libsupc++/Makefile.in: Regenerate.
- * src/Makefile.am (sources): Remove demangle.cc.
- * src/Makefile.in: Regenerate.
- * include/Makefile.am (bits_headers): Move demangle.h.
- (ext_headers): ...here.
- * include/Makefile.in: Regenerate.
- * include/bits/demangle.h: Move...
- * include/ext/demangle.h: ...here.
- * src/demangle.cc: Remove.
-
-2004-02-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/demangle.h: Add type template parameter to all
- templates with just an Allocator template parameter.
-
-2004-02-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/atomicity.h: New, forward declarations for __atomic_add
- and __exchange_and_add.
- * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
- * config/cpu/cris/atomic_word.h: Same.
- * config/cpu/sparc/atomic_word.h: Same.
- * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
- Qualifiy with __gnu_cxx.
- (_Callback_list::_M_add_reference): Same.
- * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
- (locale::facet::_M_remove_reference): Same.
- (locale::_Impl::_M_add_reference): Add.
- (locale::_Impl::_M_remove_reference): Same.
- * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
- (basic_string::_Rep::_M_dispose): Same.
- * src/ios.cc (ios_base::xalloc): Same.
- * src/ios_init.cc (ios_base::Init::Init): Same.
- (ios_base::Init::~Init): Same.
- * src/locale.cc (locale::id::_M_id): Same.
- * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
- static, and inline keywords.
- * config/cpu/alpha/atomicity.h: Same.
- * config/cpu/cris/atomicity.h: Same.
- * config/cpu/generic/atomicity.h: Same.
- * config/cpu/hppa/atomicity.h: Same.
- * config/cpu/i386/atomicity.h: Same.
- * config/cpu/ia64/atomicity.h: Same.
- * config/cpu/m68k/atomicity.h: Same.
- * config/cpu/mips/atomicity.h: Same.
- * config/cpu/powerpc/atomicity.h: Same.
- * config/cpu/s390/atomicity.h: Same.
- * config/cpu/sparc/atomicity.h: Same.
-
- * src/Makefile.am (host_sources): Add atomicity.cc.
- (atomicity.cc): New rule.
- * src/Makefile.in: Regenerate.
- * include/Makefile.am (host_headers): Remove host atomicity.h.
- (host_headers): Add atomic_word.h.
- (bits_headers): Add bits atomicity.h.
- Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
- * include/Makefile.in: Regenerate.
- * configure.host (atomic_word_dir): Add.
- * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
- ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
- * configure: Regenerate.
- * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
-
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
-
-2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
- docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
- Fix markup, more <link> tags.
-
-2004-02-25 Carlo Wood <carlo@alinoe.com>
-
- * bits/demangle.h
- namespace __gnu_cxx::demangler
- (session<Allocator>::qualifier_list_Allocator): Add
- (session<Allocator>::M_qualifier_list_alloc): Add
- (session<Allocator>::decode_type_with_postfix):
- Use M_qualifier_list_alloc instead of calling operator new/delete.
-
-2004-02-24 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14252
- * include/bits/postypes.h (class streamoff): Add operator++(),
- operator++(int), operator--() and operator--(int).
- * testsuite/27_io/fpos/14252.cc: New.
-
-2004-02-24 Richard Sandiford <rsandifo@redhat.com>
-
- * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
- error in handling of hex constants.
-
-2004-02-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_put<>::_M_insert):
- Prefer basic_string::append to operator+= and a temporary.
-
-2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
- Only use fputs, not write.
-
-2004-02-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/malloc_allocator.h: Add operators ==, !=.
- * include/ext/new_allocator.h: Add operators ==, !=.
- * include/ext/mt_allocator.h (__mt_alloc::tune): New.
- (__mt_alloc::_S_get_options): New.
- (__mt_alloc::_S_set_options): New.
- (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
- (__mt_alloc::_S_no_of_bins): To _S_bin_size.
- Move functions out of line, simplify, format.
- * src/allocator.cc: Simplify explicit instantiations.
- * include/bits/allocator.h: Tweak.
-
-2004-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_put<>::_M_insert):
- Restructure formatting of value component, first dealing with
- the non-decimal digits; use reserve.
-
-2004-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h (class money_get): Inherit
- from money_base too; tweak declaration of _M_extract, now
- parameterized on _Intl too.
- * include/bits/locale_facets.tcc (money_get<>::_M_extract):
- Update definition to use the cache; call reserve on __res to
- avoid multiple reallocations; fix parsing of sign component
- according to 22.2.6.1.2, p3.
- (money_get<>::do_get(long double&),
- money_get<>::do_get(string_type&)): Update calls of _M_extract.
- * src/locale-inst.cc: Add instantiations of
- money_get::_M_extract<false> and money_get::_M_extract<true>.
- * testsuite/22_locale/money_get/get/char/14.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
-
-2004-02-21 Mark Mitchell <mark@codesourcery.com>
-
- * libsupc++/vterminate.cc
- (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
- calls to terminate.
- * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
-
- * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
- not set RLIMIT_AS on HP-UX.
-
-2004-02-21 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
- not set RLIMIT_AS on HP-UX.
-
-2004-02-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h (class money_base): Add { _S_minus,
- _S_zero, _S_end } enum, _S_atoms.
- (struct __moneypunct_cache<>): Parameterize on _Intl too; add
- _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
- _M_negative_sign_size, _M_atoms; tweak constructor consistently.
- (__moneypunct_cache<>::~__moneypunct_cache): Update.
- (__moneypunct_cache<>::_M_cache): Fill the cache.
- (class moneypunct): Tweak __cache_type typedef.
- (class money_put): Inherit from money_base too; tweak declaration
- of _M_insert, now parameterized on _Intl.
- * include/bits/locale_facets.tcc
- (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
- (money_put<>::_M_insert): Update definition to use the cache;
- call reserve on __res to avoid multiple reallocations.
- (money_put<>::do_put(long double),
- money_put<>::do_put(const string_type&): Update calls of _M_insert.
- * config/locale/generic/monetary_members.cc
- (moneypunct<char, true>::_M_initialize_moneypunct,
- moneypunct<char, false>::_M_initialize_moneypunct,
- moneypunct<wchar_t, true>::_M_initialize_moneypunct,
- moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
- * config/locale/gnu/monetary_members.cc: Likewise.
- * config/locale/gnu/monetary_members.cc
- (moneypunct<wchar_t, true>::~moneypunct(),
- moneypunct<wchar_t, false>::~moneypunct()): Likewise.
- * src/globals_locale.cc: Tweak fake_money_cache_c.
- * src/locale-inst.cc: Add instantiations for
- money_put::_M_insert<false> and money_put::_M_insert<true> and
- __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
- * src/locale_facets.cc: Define money_base::_S_atoms.
- * src/locale_init.cc: Update placement new of
- __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
- __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
-
- * config/locale/generic/numeric_members.cc: Clean up.
- * config/locale/gnu/numeric_members.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
-
-2004-02-20 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
- FIFO for writing with ios_base::in|ios_base::out.
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
- * testsuite/27_io/objects/char/7.cc: Likewise.
- * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
- with "r+".
-
-2004-02-19 David Edelsohn <edelsohn@gnu.org>
-
- * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
- from iso-8859-1 to ISO8859-1.
- * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
- * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
- * 22_locale/collate/hash/wchar_t/2.cc: Same.
- * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
- * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
- * 22_locale/collate/transform/wchar_t/2.cc: Same.
- * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
- * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
-
-2004-02-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h (money_get<>::_M_extract):
- New, helper for do_get.
- (money_put<>::_M_insert): Likewise, for do_put.
- * include/bits/locale_facets.tcc (money_get<>::_M_extract,
- money_put<>::_M_insert): Define.
- (money_get<>::do_get(long double&), money_get<>::do_get(
- string_type&), money_put::do_put(long double),
- money_put::do_put(const string_type&)): Use the helpers.
-
-2004-02-18 Paolo Carlini <pcarlini@suse.de>
-
- * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
- Rewrite, avoiding recursion.
- (__gnu_internal::xwrite): Minor tweaks.
-
-2004-02-17 Stefan Olsson <stefan@xapa.se>
-
- * include/ext/mt_allocator.h: Removed the last
- pointer. Deallocated blocks are now added to the front of
- freelists as proposed by Felix Yen. This gives roughly 10%
- performance boost and saves some memory.
- * docs/html/ext/mt_allocator.html: Change due to that deallocated
- blocks now are added to the front of freelists. The reason to this
- approach is also explained.
-
-2004-02-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
- num_get<>::_M_extract_int, money_get<>::do_get): Simplify
- grouping fidelity conditional.
-
-2004-02-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
- Qualify exception with std::.
- * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
-
-2004-02-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
- for now that the catch block is not reached.
- * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
-
-2004-02-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
- Fix parsing of the remaining sign characters.
- * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
- the input is scanned 'til eof.
- * 22_locale/money_get/get/char/4.cc: Likewise.
- * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
- * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
- * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
- not do_pos_format: the former is the only one that matters during
- input.
- * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
-
- * 22_locale/money_get/get/char/6.cc: Minor tweak.
- * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
-
-2004-02-15 David Asher <david.asher@cavium.com>
-
- PR libstdc++/11352
- * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
- access __olds beyond __oldlen.
-
-2004-02-14 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
- sure the exception is actually thrown.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
-
-2004-02-14 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13858
- * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
- In case of conversion errors, throw ios_failure; simplify.
- * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
- * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
- previously we didn't throw in case of conversion errors, instead
- just returned eof().
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
- * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
-
- * include/bits/fstream.tcc (basic_filebuf<>::overflow):
- Trivial simplification of a conditional.
-
-2004-02-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13731 (final part: writev)
- * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
- New, a wrapper around writev() handling partial writes.
- (__basic_file<char>::xwrite): Move to __gnu_internal and make
- static.
- (__basic_file<char>::xsputn): Update call.
- (__basic_file<char>::xsputn_2): Likewise.
- * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
- Don't declare, now static.
-
-2004-02-11 Stefan Olsson <stefan@xapa.se>
-
- * docs/html/ext/mt_allocator.html: New.
-
-2004-02-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/20_util/allocator.html: New file, consolidate
- allocator information here. Revamp.
- * docs/html/documentation.html: Change links.
- * docs/html/20_util/howto.html: Same.
- * docs/html/ext/howto.html: Same.
-
-2004-02-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13731 (first part: write)
- * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
- New, declare.
- * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
- Define it: a wrapper around write() handling partial write.
- (__basic_file<char>::xsputn): Use it.
- (__basic_file<char>::xsputn_2): Likewise.
-
-2004-02-11 Paolo Carlini <pcarlini@suse.de>
- Petur Runolfsson <peturr02@ru.is>
-
- PR libstdc++/14078
- * include/std/std_istream.h (operator>>(__istream_type& (*)
- (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
- operator>>(ios_base& (*)(ios_base&))): Declare inline.
- * include/std/std_ostream.h (operator<<(__ostream_type& (*)
- (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
- operator<<(ios_base& (*) (ios_base&))): Likewise.
- * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
-
-2004-02-10 Loren J. Rittle <ljrittle@acm.org>
-
- PR libstdc++/14098
- * config/linker-map.gnu: Add typeinfo and typeinfo name for
- __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
-
- PR libstdc++/14097
- * config/linker-map.gnu: Add typeinfo and typeinfo name for
- __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
-
-2004-02-09 Loren J. Rittle <ljrittle@acm.org>
-
- * include/ext/pool_allocator.h: Include c++config.h.
-
-2004-02-09 Stefan Olsson <stefan@xapa.se>
-
- * include/ext/mt_allocator.h: thread_id is unused in non threaded
- applications and now has a ifdef to remove it completely on
- compilers without thread support. Include stdlib.h due to a
- compiler warning on getenv().
-
-2004-02-09 Paul Brook <paul@codesourcery.com>
-
- * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
-
-2004-02-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14071
- * src/locale_init.cc (locale::global(const locale&)): Use
- locale::name() in order to decide whether calling setlocale.
- * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
-
- * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
- Avoid computing &= unnecessarily.
-
-2004-02-09 James E Wilson <wilson@specifixinc.com>
-
- PR libstdc++/5625
- * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
- __builtin_extend_pointer.
-
-2004-02-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14072
- * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
- Don't leave dangling pointers.
- * testsuite/27_io/basic_ios/imbue/14072.cc: New.
- * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
- facet is needed in the final test.
-
-2004-02-09 Bernardo Innocenti <bernie@develer.com>
-
- * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
- * configure: Regenerate.
-
-2004-02-08 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/14026
- * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
- uncaughtExceptions during nested catch rethrow.
- * testsuite/18_support/14026.cc: New.
-
-2004-02-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
- When working in place remember to set the state to sharable
- (otherwise, _M_mutate does it).
-
-2004-02-08 Bernardo Innocenti <bernie@develer.com>
-
- * include/bits/allocator.h, include/bits/basic_ios.h,
- include/bits/basic_ios.tcc, include/bits/basic_string.h,
- include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
- include/bits/char_traits.h, include/bits/codecvt.h,
- include/bits/concurrence.h, include/bits/cpp_type_traits.h,
- include/bits/demangle.h, include/bits/deque.tcc,
- include/bits/fstream.tcc, include/bits/functexcept.h,
- include/bits/gslice.h, include/bits/gslice_array.h,
- include/bits/indirect_array.h, include/bits/ios_base.h,
- include/bits/istream.tcc, include/bits/list.tcc,
- include/bits/locale_classes.h, include/bits/locale_facets.h,
- include/bits/locale_facets.tcc, include/bits/localefwd.h,
- include/bits/mask_array.h, include/bits/ostream.tcc,
- include/bits/postypes.h, include/bits/slice_array.h,
- include/bits/sstream.tcc, include/bits/stl_algo.h,
- include/bits/stl_algobase.h, include/bits/stl_bvector.h,
- include/bits/stl_construct.h, include/bits/stl_deque.h,
- include/bits/stl_function.h, include/bits/stl_heap.h,
- include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
- include/bits/stl_list.h, include/bits/stl_map.h,
- include/bits/stl_multimap.h, include/bits/stl_multiset.h,
- include/bits/stl_numeric.h, include/bits/stl_pair.h,
- include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
- include/bits/stl_relops.h, include/bits/stl_set.h,
- include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
- include/bits/stl_threads.h, include/bits/stl_tree.h,
- include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
- include/bits/stream_iterator.h, include/bits/streambuf.tcc,
- include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
- include/bits/type_traits.h, include/bits/valarray_after.h,
- include/bits/valarray_array.h, include/bits/valarray_array.tcc,
- include/bits/valarray_before.h, include/bits/vector.tcc: Remove
- trailing whitespace.
-
-2004-02-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h: Fix comment.
-
-2004-02-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_construct.h: Wrap overlong lines, reformat
- according to the coding standards.
- * include/bits/stl_pair.h: Likewise.
- * include/bits/stl_raw_storage_iter.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/stream_iterator.h: Likewise.
- * include/bits/streambuf_iterator.h: Likewise.
- * include/bits/type_traits.h: Likewise.
-
-2004-02-06 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/open/char/9507.cc:
- Adjust timings.
-
-2004-02-05 Loren J. Rittle <ljrittle@acm.org>
-
- * scripts/check_performance: Support PCH.
-
- * scripts/check_performance (CXX): Add -DNOTHREAD.
- * testsuite/performance/20_util/allocator/insert.cc: Integrate
- threaded tests from insert_insert.cc. Tweak iterations,
- remove special cases.
- * testsuite/performance/20_util/allocator/insert_insert.cc:
- Make all tests single-threaded. Tweak iterations.
- * testsuite/performance/20_util/allocator/map_thread.cc:
- Tweak iterations.
- * testsuite/performance/20_util/allocator/producer_consumer.cc:
- Likewise.
-
-2004-02-05 Geoffrey Keating <geoffk@apple.com>
-
- PR 12179
- * .cvsignore: New.
- * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
- 'gcc-lib'. Add comment about poorly-named variables.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2004-02-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
- Thousands-sep are always optional; thousands-sep are not allowed
- after the decimal_point.
- * testsuite/22_locale/money_get/get/char/12.cc: New.
- * testsuite/22_locale/money_get/get/char/13.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
-
- * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
- * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
-
- * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
- the standard.
- * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
-
-2004-02-05 Richard Sandiford <rsandifo@redhat.com>
-
- * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
- Define.
- * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
- it to decide whether FIONREAD should take an off_t or int argument.
-
-2004-02-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_function.h: Minor formatting changes.
-
-2004-02-04 Zack Weinberg <zack@codesourcery.com>
-
- Revert previous change to config/abi/*/baseline_symbols.txt.
-
-2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
- Zack Weinberg <zack@codesourcery.com>
-
- * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
- New function.
- (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
- (__basic_file<char>::_M_open_mode): Delete.
- * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
-
- * testsuite/27_io/basic_filebuf/close/char/9964.cc
- * testsuite/27_io/basic_filebuf/open/char/9507.cc:
- Correct flags to filebuf::open calls.
-
- * config/abi/alpha-freebsd5/baseline_symbols.txt
- * config/abi/alpha-linux-gnu/baseline_symbols.txt
- * config/abi/hppa-linux-gnu/baseline_symbols.txt
- * config/abi/i386-freebsd4/baseline_symbols.txt
- * config/abi/i386-freebsd5/baseline_symbols.txt
- * config/abi/i486-linux-gnu/baseline_symbols.txt
- * config/abi/ia64-linux-gnu/baseline_symbols.txt
- * config/abi/mips-linux-gnu/baseline_symbols.txt
- * config/abi/sparc-freebsd5/baseline_symbols.txt
- * config/abi/sparc-linux-gnu/baseline_symbols.txt
- * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
- Remove entry for __basic_file<char>::_M_open_mode.
-
-2004-02-04 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
-
-2004-02-04 Felix Yen <fwy@alumni.brown.edu>
-
- * testsuite/performance/20_util/producer_consumer.cc: New.
- * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
-
-2004-02-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/performance/20_util/allocator.cc: Move to..
- * testsuite/performance/20_util/allocator/insert.cc: ...here.
- * testsuite/performance/20_util/allocator_thread.cc: Move to...
- * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
- * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
- * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
-
-2004-02-04 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
- * docs/html/faq/index.txt: Regenerate.
-
-2004-02-04 Dhruv Matani <dhruvbird@gmx.net>
-
- * include/ext/debug_allocator.h: _M_extra now stands for the
- number of extra objects instead of the number of extra bytes.
- (debug_allocator::allocate): Adjust.
- (debug_allocator::deallocate): Adjust.
-
- * include/ext/pool_allocator.h: Fix typo.
-
-2004-02-03 Felix Yen <fwy@alumni.brown.edu>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/performance/20_util/allocator.cc: Add map,
- deque, set tests.
- * testsuite/performance/20_util/allocator_thread.cc: Same.
-
-2004-02-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (insert(iterator)): Remove,
- non-standard and already scheduled for removal.
-
-2004-02-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_iterator_base_funcs.h: Minor formatting
- and indentation tweaks.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_tempbuf.h: Likewise.
-
-2004-02-02 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/gslice.h, include/bits/gslice_array.h,
- include/bits/indirect_array.h, include/bits/mask_array.h,
- include/bits/slice_array.h, include/bits/stl_numeric.h,
- include/std/std_valarray.h: Update copyright years.
-
-2004-02-02 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/gslice.h (gslice): Document.
- * include/bits/gslice_array.h (gslice_array): Document.
- * include/bits/indirect_array (indirect_array): Document.
- * include/bits/mask_array (mask_array): Document.
- * include/bits/slice_array.h (slice,slice_array): Document.
- * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
- adjacent_difference): Document
- * include/std/std_valarray.h (valarray): Document.
-
-2004-02-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/19_diagnostics/howto.html: Move verbose terminate
- documentation...
- * docs/html/18_support/howto.html: Here.
- * docs/html/documentation.html: Add reference here.
-
-2004-02-02 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/c++locale_internal.h: Remove prototypes
- of no longer used GLIBC thread locale functions.
-
-2004-02-02 Eric Christopher <echristo@redhat.com>
- Zack Weinberg <zack@codesourcery.com>
-
- * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
- -finput-charset.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
- * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
- * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
- Ditto.
-
-2004-02-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_function.h: Additional minor tweaks.
- * include/bits/stl_multiset.h: Likewise.
-
- * include/bits/stl_queue.h: Minor tweaks.
-
-2004-02-02 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13976 (continued)
- * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
- Make the second parameter unnamed, to void unused parameter
- warnings.
- * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
-
-2004-02-02 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13976
- * include/ext/malloc_allocator.h (malloc_allocator::allocate):
- Make the second parameter unnamed, to void unused parameter
- warnings.
- * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
- * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
-
-2004-02-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h: Additional minor tweaks.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_tree.h: Likewise.
-
-2004-02-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
- Remove, unused.
-
-2004-02-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_function.h: Additional minor tweaks.
-
-2004-02-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/deque.tcc: Wrap overlong lines, constify
- a few variables, reformat according to the coding standards.
- * include/bits/list.tcc: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_function.h: Likewise.
- * include/bits/stl_iterator.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
- * include/bits/stl_iterator_base_types.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_relops.h: Likewise.
- * include/bits/stl_set.h: Likewise.
-
-2004-02-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_bvector.h: Wrap overlong lines, constify
- a few variables, reformat according to the coding standards.
- * include/bits/stl_tree.h: Likewise.
-
-2004-01-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h: Minor additional reformat, add
- copyright year.
- * include/bits/stl_algobase.h: Add copyright year.
-
-2004-01-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h: Wrap overlong lines, constify
- a few variables, reformat according to the coding standards.
- * include/bits/stl_algobase.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
-
-2004-01-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
-
- * include/bits/basic_string.h: Fix two comments.
-
-2004-01-31 Per Bothner <per@bothner.com>
-
- * include/ext/mt_allocator.h
- (__mt_alloc::_S_thread_freelist_mutex): Guard with
- __GTHREAD_MUTEX_INIT.
-
-2004-01-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
-
-2004-01-30 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/21_strings/basic_string/cons/char/6.cc: New.
- * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
- * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
-
-2004-01-30 Felix Yen <fwy@alumni.brown.edu>
-
- * testsuite/performance/20_util/allocator_thread.cc (do_loop):
- Don't use clear, but instead assign. Use insert.
-
-2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/demangle.cc: Add instantiations.
- * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
- * src/Makefile.in: Regenerate.
-
-2004-01-30 David Edelsohn <edelsohn@gnu.org>
-
- * src/allocator.cc: Protect _S_get_thread_id() and
- _S_thread_key_destr() with #ifdef __GTHREADS.
-
-2004-01-30 Paolo Carlini <pcarlini@suse.de>
-
- Reshuffle performance testsuite.
- * testsuite/performance/allocator.cc, allocator_map_thread.cc,
- allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
- cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
- fstream_seek_write.cc, ifstream_extract_float.cc,
- ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
- list_create_fill_sort.cc, map_create_fill.cc,
- narrow_widen_char.cc, narrow_widen_wchar_t.cc,
- ofstream_insert_float.cc, ofstream_insert_int.cc,
- string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
- wchar_t_out.cc: Split into...
- * testsuite/performance/20_util/allocator.cc: New.
- * testsuite/performance/20_util/allocator_map_thread.cc: New.
- * testsuite/performance/20_util/allocator_thread.cc: New.
- * testsuite/performance/21_strings/string_append: New.
- * testsuite/performance/22_locale/is_wchar_t.cc: New.
- * testsuite/performance/22_locale/narrow_widen_char.cc: New.
- * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
- * testsuite/performance/22_locale/wchar_t_in.cc: New.
- * testsuite/performance/22_locale/wchar_t_length.cc: New.
- * testsuite/performance/22_locale/wchar_t_out.cc: New.
- * testsuite/performance/23_containers/container_benchmark.cc: New.
- * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
- * testsuite/performance/23_containers/map_create_fill.cc: New.
- * testsuite/performance/26_numerics/complex_norm.cc: New.
- * testsuite/performance/27_io/cout_insert_int.cc: New.
- * testsuite/performance/27_io/filebuf_copy.cc: New.
- * testsuite/performance/27_io/filebuf_sputc.cc: New.
- * testsuite/performance/27_io/fstream_seek_write.cc: New.
- * testsuite/performance/27_io/ifstream_extract_float.cc: New.
- * testsuite/performance/27_io/ifstream_extract_int.cc: New.
- * testsuite/performance/27_io/ifstream_getline.cc: New.
- * testsuite/performance/27_io/ofstream_insert_float.cc: New.
- * testsuite/performance/27_io/ofstream_insert_int.cc: New.
-
-2004-01-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_Rep::_S_create):
- Never allocate a string bigger than max_size(); always keep
- __capacity and __size in sync to avoid memory leaks at
- deallocation time.
-
-2004-01-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_S_construct(_InIterator,
- _InIterator, const _Alloc&, input_iterator_tag)): Simplify
- the double loop, streamline.
-
- * include/bits/basic_string.tcc: Very minor tweaks.
-
-2004-01-30 Loren J. Rittle <ljrittle@acm.org>
-
- * scripts/check_performance: Only compile with $THREAD_FLAG
- when test is marked to require it. Allow multiple
- compilations/executions of marked tests.
- * testsuite/testsuite_performance.h (report_performance):
- Report dynamic thread support status.
- (report_header): Likewise.
- * testsuite/performance/allocator.cc: Stabilize iteration
- count. Support more allocators. Mark each allocator test to
- run and report independently.
- * testsuite/performance/allocator_map_thread.cc: Likewise.
- * testsuite/performance/allocator_thread.cc: Likewise.
-
-2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
-
- * config/local/generic/c_locale.h: Change ::malloc() to new char[].
- * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
- * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
- std::get_temporary_buffer() instead of duplicating its code.
- Update to C++STYLE conventions.
- * include/std/std_memory.h (get_temporary_buffer): Use ::operator
- new() instead of std::malloc().
- (return_temporary_buffer): Use ::operator delete() instead of
- std::free().
-
-2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/allocator.h: Temporary switch to new_allocator as
- the default to unjam bootstraps.
-
-2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (bits_headers): Remove allocator_traits.h.
- * include/Makefile.in: Regenerate.
- * include/bits/allocator_traits.h: Remove.
- * include/bits/allocator.h: Remove allocator_traits.h include, and
- relevant comments.
- (allocator): Empty base class, inherit from the underlying allocator.
- * src/allocator-inst.cc: Move __pool_alloc instantiation to...
- * src/allocator.cc: ...here. New. For the underlying allocators.
- Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
- * config/linker-map.gnu: Remove __pool_alloc bits.
- * src/Makefile.am (sources): Add allocator.cc.
- * src/Makefile.in: Regenerate.
- * testsuite/20_util/allocator/1.cc: Split second test into...
- * testsuite/20_util/allocator/8230.cc: ...this.
- * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
- typedef to use std::allocatore. Format.
- * include/ext/pool_allocator.h: Remove allocator_traits.h include,
- _Alloc_traits.
- * include/ext/mt_allocator.h (__gnu_cxx): Qualify
- __throw_bad_alloc calls. Don't include <memory>.
- * include/ext/malloc_allocator.h: Remove <memory> include.
- * include/ext/new_allocator.h (new_allocator): Same.
- * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
- declaration. Switch __alloc to _Alloc.
- * include/ext/hashtable.h: Remove __alloc.
- * include/backward/alloc.h: Only inject allocator, not
- implementation details.
-
- * include/ext/mt_allocator.h: Replace free with delete.
-
-2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/globals_io.cc: Change to __gnu_internal namespace.
- * src/globals_locale.cc: Same.
- * src/locale_init.cc: Same.
- * src/ios_init.cc: Same.
-
-2004-01-28 Stefan Olsson <stefan@snon.net>
-
- * include/ext/mt_allocator.h: Replaced all malloc() calls with
- operator new(). Added support for the env variable
- GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
- one in allocate() as well). Fix typos.
-
-2004-01-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_S_create(size_t,
- const _Alloc&): Change signature to take two size_type
- arguments.
- * include/bits/basic_string.tcc (_S_construct(_InIterator,
- _InIterator, const _Alloc&, input_iterator_tag)): Update
- call, tweak a bit.
- (_S_construct(_InIterator, _InIterator, const _Alloc&,
- forward_iterator_tag)): Likewise.
- (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
- (_M_mutate(size_type, size_type, size_type)): Don't
- implement the exponential growth policy, demand it to
- _S_create, update call and simplify.
- (_M_clone(const _Alloc&, size_type)): Likewise.
- (_S_create(size_type, size_type, const _Alloc&)): Implement
- the growth policy, simplify otherwise.
-
- * include/bits/basic_string.h (_Rep::operator[]): Tweak
- signature to take a size_type, consistently with the other
- members.
-
-2004-01-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
- delete declarations, add include and test variable.
-
-2003-01-27 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/codecvt.h, include/bits/locale_facets.h,
- include/bits/postypes.h, include/bits/stl_bvector.h,
- include/bits/stl_multiset.h, include/bits/stl_set.h,
- include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
- include/std/std_complex.h: Document.
-
-2004-01-27 Jerry Quinn <jlquinn@optonline.net>
-
- PR libstdc++/11584
- * include/bits/ios_base.h (ios_base::_M_grow_words): Add
- iword/pword selector.
- (ios_base::iword, ios_base::pword): Use it.
- * src/ios.cc (ios_base::_M_grow_words): Clear _M_word_zero
- iword or pword member on alloc failure.
- * testsuite/27_io/ios_base/storage/11584.cc: New test.
-
-2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
- PJ Darcy <darcypj@us.ibm.com>
-
- * configure.host: Add support for *-tpf.
- * crossconfig.m4: Likewise.
- * configure: Regenerate.
- * config/os/tpf: New directory.
- * config/os/tpf/os_defines.h: New file.
- * config/os/tpf/ctype_base.h: Likewise.
- * config/os/tpf/ctype_inline.h: Likewise.
- * config/os/tpf/ctype_noninline.h: Likewise.
-
-2004-01-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13884
- * include/bits/sstream.tcc: Guard use of extern template.
-
-2004-01-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc
- (basic_string(const basic_string&, size_type, size_type),
- basic_string(const basic_string&, size_type, size_type,
- const _Alloc&)): Avoid unnecessarily constructing iterators.
-
-2004-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/c_locale.cc: Fix throw messages
- to use the __N marker.
- * config/locale/gnu/c_locale.cc: Likewise.
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
- Likewise.
- * docs/html/17_intro/C++STYLE: Likewise.
- * include/bits/basic_ios.tcc: Likewise.
- * include/bits/fstream.tcc: Likewise.
- * include/bits/vector.tcc: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/std/std_bitset.h: Likewise.
- * src/ios.cc: Likewise.
- * src/locale.cc: Likewise.
- * src/localename.cc: Likewise.
-
-2004-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_M_replace_aux): Use the
- __N marker in throw message.
- * include/bits/basic_string.tcc (assign(const _CharT*,
- size_type), insert(size_type, const _CharT*, size_type),
- replace(size_type, size_type, const _CharT*, size_type),
- reserve, _Rep::_S_create, resize, _M_replace_dispatch):
- Likewise.
-
- * include/bits/basic_string.h, include/bits/basic_string.tcc:
- Fold overlong lines, minor formatting changes.
-
-2004-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (replace(iterator, iterator,
- const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
- (replace(iterator, iterator, const _CharT*)): Ditto.
- (replace(iterator, iterator, const _CharT*, size_type)):
- Add missing _GLIBCXX_DEBUG_PEDASSERT.
-
-2004-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (replace(size_type,
- size_type, const _CharT*, size_type)): Implement optimized
- in-place algorithm for non-overlapping ranges.
- * testsuite/21_strings/basic_string/replace/char/6.cc: New.
- * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
-
- * include/bits/basic_string.tcc (insert(size_type,
- const _CharT*, size_type)): Tweak slightly.
-
-2004-01-26 Andreas Schwab <schwab@suse.de>
-
- * config/locale/gnu/monetary_members.cc: Restore locale before
- rethrowing exception.
-
-2004-01-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
- Define inline here.
- * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
- Move inline.
-
- * include/bits/basic_string.tcc: Very minor tweaks.
-
-2004-01-25 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/string_append.cc: Increase number
- of iterations.
-
-2004-01-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (erase(size_type, size_type),
- erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
- instead, thus avoiding redundant check for length_error.
-
- * include/bits/basic_string.h: Tweak some comments.
-
-2004-01-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (operator+(const _CharT*,
- const basic_string&)): No need to go through the append
- taking two iterators.
-
-2004-01-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
- Revert last change to use std::min: machine language is worse.
- (find_last_of(const _CharT*, size_type, size_type)): Ditto.
- (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
- (find_last_not_of(_CharT, size_type)): Ditto.
-
- * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
- size_type)): Discard the value returned by _M_check.
- (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
- (append(const basic_string&, size_type, size_type)): Ditto.
- (copy(_CharT*, size_type, size_type)): Ditto.
- (compare(size_type, size_type, const basic_string&)): Ditto.
- (compare(size_type, size_type, const basic_string&,
- size_type, size_type)): Ditto.
- (compare(size_type, size_type, const _CharT*)): Ditto.
- (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
-
-2004-01-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (insert(size_type,
- const basic_string&, size_type, size_type)): Define inline here.
- * include/bits/basic_string.tcc (insert(size_type,
- const basic_string&, size_type, size_type)): Move inline.
-
-2004-01-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (assign(const basic_string&,
- size_type, size_type)): Define inline here.
- (replace(size_type, size_type, const basic_string&,
- size_type, size_type)): Ditto.
- (_M_replace_dispatch(iterator, iterator, _InputIterator,
- _InputIterator, __false_type)): Only declare.
- (_M_replace(iterator, iterator, _InputIterator,
- _InputIterator)): Remove.
- * include/bits/basic_string.tcc (assign(const basic_string&,
- size_type, size_type)): Move inline.
- (replace(size_type, size_type, const basic_string&,
- size_type, size_type)): Ditto.
- (_M_replace_dispatch(iterator, iterator, _InputIterator,
- _InputIterator, __false_type)): Define, now does also what
- _M_replace did before.
- * src/string-inst.cc (_M_replace): Don't instantiate.
-
- * include/bits/basic_string.tcc (find(const _CharT*,
- size_type, size_type)): Tidy.
- (rfind(_CharT, size_type)): Ditto.
- (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
- (find_first_not_of(_CharT, size_type)): Ditto.
- (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
- (find_last_not_of(_CharT, size_type)): Ditto.
-
-2004-01-23 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13838
- * include/debug/bitset (operator|=): Fix typo.
- * testsuite/23_containers/bitset/operations/13838.cc: New.
-
-2004-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (insert(size_type,
- const _CharT*, size_type __n)): Fix length_error check.
- (replace(size_type, size_type, const _CharT*, size_type):
- Ditto; call _M_replace_safe.
- (_M_replace_aux(size_type, size_type, size_type, _CharT):
- Fix length_error check.
- (_M_replace(iterator, iterator, _InputIterator,
- _InputIterator)): Ditto, tweak.
- (_M_replace_safe(size_type, size_type, const _CharT*,
- size_type)): Remove length_error check.
-
- * include/bits/basic_string.tcc (append(const basic_string&),
- append(const basic_string&, size_type, size_type)): Tweak
- comment.
-
- * include/bits/basic_string.tcc (copy(_CharT*, size_type,
- size_type)): If __n == 0 don't call traits::copy.
-
-2004-01-23 Stefan Olsson <stefan@snon.net>
-
- * include/ext/mt_allocator.h: Reduce lock contention.
-
-2004-01-23 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13831
- * include/bits/fstream.tcc (underflow): Remove unused
- variable.
- * include/bits/streambuf_iterator.h (equal): Ditto.
- * include/bits/locale_facets.h (_M_convert_from_char):
- Ditto.
-
-2004-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR c/13814
- * config/linker-map.gnu (nan): Delete.
- * libmath/mathconf.h (NAN, nan): Delete.
- * linkage.m4 (nan): Don't check for it.
- * libmath/nan.c: Delete file.
-
- * config.h.in, configure: Regenerate.
-
-2004-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (push_back(_CharT)):
- Call _M_replace_aux.
- (insert(size_type, const basic_string&)): Trivial tweak.
- (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
- (insert(iterator, _CharT)): Ditto.
- (erase(size_type, size_type)): Ditto.
- (erase(iterator)): Ditto.
- (erase(iterator, iterator)): Ditto.
- (replace(size_type, size_type, size_type, _CharT)): Ditto.
-
-2004-01-23 Loren J. Rittle <ljrittle@acm.org>
-
- libstdc++/13823
- * testsuite/performance/allocator_map_thread.cc: New test.
-
-2004-01-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc
- (money_put::do_put(..., long double)): Use the basic_string
- constructor for char arrays, not that for C-strings, to pass
- __digits to do_put(..., const string_type&): __ws isn't
- null-terminated.
-
-2004-01-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_M_replace_safe): Change
- signatures to take size_types and const _CharT*.
- (_M_replace_aux): Likewise, takes size_types instead of
- iterators.
- (append(size_type, _CharT)): Update call.
- (assign(size_type, _CharT)): Ditto.
- (replace(iterator, iterator, size_type, _CharT)): Ditto.
- (_M_replace_dispatch(iterator, iterator, _Integer,
- _Integer, __true_type)): Ditto.
- * include/bits/basic_string.tcc (assign(const _CharT*,
- size_type)): Ditto.
- (insert(size_type, const _CharT*, size_type)): Ditto.
- (replace(size_type, size_type, const _CharT*,
- size_type)): Ditto.
- (_M_replace(iterator, iterator, _InputIterator,
- _InputIterator)): Ditto.
- (append(const basic_string&)): Ditto.
- (append(const basic_string&, size_type, size_type): Ditto.
- (append(const _CharT*, size_type): Ditto.
- (_M_replace_safe, _M_replace_safe): Change definitions
- accordingly, simplify.
- * string-inst.cc (_M_replace_safe): Don't instantiate.
-
-2004-01-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (append(const basic_string&)):
- Revert previous change.
- (append(const basic_string&, size_type, size_type)): Revert
- previous change, use _M_check and _M_limit.
-
-2004-01-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_M_check): Change to return
- a checked __pos and take an additional const char* argument.
- (_M_fold): Rename to _M_limit, change to return a size_type,
- corresponding to the __off limited to the actual length.
- (insert(size_type, size_type, _CharT)): Update call, call
- replace.
- (insert(iterator, _CharT)): Call replace(iterator, iterator,
- size_type, _CharT) instead.
- (erase(size_type, size_type)): Update calls.
- (replace(size_type, size_type, size_type, _CharT)): Ditto.
- (substr(size_type, size_type)): Use _M_check.
- * include/bits/basic_string.tcc (basic_string(const basic_string&,
- size_type, size_type)): Update calls.
- (basic_string(const basic_string&, size_type, size_type,
- const _Alloc&)): Ditto.
- (assign(const basic_string&, size_type, size_type)): Use the
- new _M_check and _M_limit.
- (insert(size_type, const basic_string&, size_type, size_type):
- Ditto.
- (insert(size_type, const _CharT*, size_type)): Ditto.
- (replace(size_type, size_type, const _CharT*, size_type): Ditto.
- (replace(size_type, size_type, const basic_string&,
- size_type, size_type)): Ditto.
- (append(const basic_string&)): Ditto.
- (append(const basic_string&, size_type, size_type)): Ditto.
- (copy(_CharT*, size_type, size_type)): Ditto.
- (compare(size_type, size_type, const basic_string&)): Ditto.
- (compare(size_type, size_type, const basic_string&,size_type,
- size_type)): Ditto.
- (compare(size_type, size_type, const _CharT*)): Ditto.
- (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
-
-2004-01-19 Stefan Olsson <stefan@snon.net>
-
- * include/ext/mt_allocator.h: If a thread, when it dies, still has
- memory on it's freelist this memory is not returned to global
- list. Simplification of deallocate so that memory is always
- returned to the calling thread id's freelist instead of to
- global. Fix typos. Add volatile where appropriate.
-
-2004-01-19 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
- * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
- use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
-
-2004-01-19 Paolo Carlini <pcarlini@suse.de>
-
- * src/debug.cc: Make sure all the names are prefixed with
- double (or single) underscore.
-
-2004-01-19 Paolo Carlini <pcarlini@suse.de>
-
- * src/debug.cc: Trivial formatting change.
-
-2004-01-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_S_construct(size_type,
- _CharT, const _Alloc&)): Remove redundant try/catch.
- (_M_mutate(size_type, size_type, size_type)): Ditto.
- (_M_clone(const _Alloc&, size_type)): Ditto.
-
-2004-01-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (c_str()): Simplify, due to
- 21.3.4 the internal representation is always kept null-terminated.
- * include/bits/basic_string.tcc (_M_clone): Null-terminate.
- * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
- * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
- Ditto.
-
-2004-01-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (append(size_type, _CharT)):
- Moved inline, just call _M_replace_aux, no source iterators at
- risk of being clobbered.
- (assign(size_type, _CharT)): Call directly _M_replace_aux.
- (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
- input_iterator_tag)): Remove fifth unused argument.
- (_M_replace_dispatch(iterator, iterator, _InputIterator,
- _InputIterator, __false_type)): Update call.
- * include/bits/basic_string.tcc (replace(size_type, size_type,
- const _CharT*, size_type)): Update call.
- (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
- throw string literal.
- (_M_replace_safe(iterator, iterator, _ForwardIterator,
- _ForwardIterator)): Likewise.
- (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
- input_iterator_tag)): Remove fifth unused argument.
- (append(size_type __n, _CharT __c)): Move inline.
- * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
- const C*, const C*, input_iterator_tag)): Remove fifth unused
- argument.
-
-2004-01-16 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
- * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
-
-2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
-
- * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
- mkfifo for mingw32.
-
-2004-01-15 Stefan Olsson <stefan@snon.net>
-
- * include/ext/mt_allocator.h: Reuse thread id's as soon as
- possible by changing the behaviour of thread_freelist to do
- push_front when threads die instead of push_back.
-
-2004-01-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h (struct __numpunct_cache):
- Add member _M_grouping_size, caching the length of _M_grouping.
- (__numpunct_cache<>::_M_cache): Assign the latter.
- (__verify_grouping): Move declaration...
- * include/bits/locale_facets.tcc (__verify_grouping):
- ... here, change signature to take a const char* and a size_t
- for the grouping; not a template anymore.
- (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
- Likewise change signature and tweak consistently.
- (num_get::_M_extract_float, num_get::_M_extract_int,
- num_put::_M_insert_int, num_put::_M_insert_float,
- money_get::do_get(string_type&), money_get::do_put(string_type)):
- Update callers.
- * config/locale/generic/numeric_members.cc
- (numpunct<>::_M_initialize_numpunct): Assign the new member.
- * config/locale/gnu/numeric_members.cc
- (numpunct<>::_M_initialize_numpunct): Likewise.
- * src/locale-inst.cc (__add_grouping): Tweak signature.
- (__verify_grouping): Don't instantiate, not a template anymore.
-
- * include/bits/locale_facets.h: Rename _M_truename_len ->
- _M_truename_size, _M_falsename_len -> _M_falsename_size.
- * include/bits/locale_facets.tcc: Likewise.
- * config/locale/generic/numeric_members.cc: Likewise.
- * config/locale/gnu/numeric_members.cc: Likewise.
-
-2004-01-14 Stefan Olsson <stefan@snon.net>
-
- * include/ext/mt_allocator.h: Fixups.
- * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
- * testsuite/performance/allocator_thread.cc: Same.
-
-2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/performance/ifstream_extract_float.cc: Add higher
- precision tests.
- * testsuite/performance/ofstream_insert_float.cc: Same.
-
-2004-01-13 Paolo Carlini <pcarlini@suse.de>
-
- * src/locale-misc-inst.cc (__convert_from_v(long),
- __convert_from_v(unsigned long), __convert_from_v(long long),
- __convert_from_v(unsigned long long)): Remove, unused.
-
-2004-01-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/performance/ifstream_extract_float.cc: New.
- * testsuite/performance/ofstream_insert_float.cc: Float generation
- matches above.
-
- * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
- * 20_util/auto_ptr/1.cc: ...this.
- * 20_util/auto_ptr/2.cc: Same.
- * 20_util/auto_ptr/3.cc: Same.
- * 20_util/auto_ptr/3946.cc: Same.
- * 20_util/auto_ptr/4.cc: Same.
- * 20_util/auto_ptr/5.cc: Same.
- * 20_util/auto_ptr/6.cc: Same.
- * 20_util/auto_ptr/7.cc: Same.
- * 20_util/auto_ptr/assign_neg.cc
- * 20_util/pairs.cc: Break into...
- * 20_util/pair/1.cc: ...this.
- * 20_util/pair/2.cc: Same.
- * 20_util/pair/3.cc: Same.
- * 20_util/pair/4.cc: Same.
-
-2004-01-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
- Set correctly just basefield, the only group that matters.
-
-2004-01-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
- (_Rope_rep_base): Inherit directly from the rope allocator;
- use rebinding instead of _Alloc_traits; pick up data member
- from _Rope_rep_alloc_base.
- (_Rope_alloc_base): Eliminate.
- (_Rope_base): Inherit directly from the rope allocator; use
- rebinding instead of _Alloc_traits; pick up data member from
- _Rope_alloc_base.
- (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
- rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
-
-2004-01-13 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13650
- * include/bits/basic_string.tcc (compare(size_type, size_type,
- const _CharT*, size_type)): Implement correctly the resolution
- of DR 5: basically, s is a char array, -not- a C string.
- * include/bits/basic_string.h: Tweak some comments.
- * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
- * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
-
-2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
-
- * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
- Solaris.
-
-2004-01-12 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
- Use try_mkfifo.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
- Likewise.
-
-2004-01-12 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.h (struct __numpunct_cache):
- Add members _M_truename_len and _M_falsename_len, caching
- the lengths of _M_truename and _M_falsename.
- (__numpunct_cache<>::_M_cache): Assign the latter.
- * include/bits/locale_facets.tcc (num_get::do_get(bool&),
- num_put::do_put(bool)): Use the new members, thus avoiding
- computing string lengths again and again.
- * config/locale/generic/numeric_members.cc
- (numpunct<>::_M_initialize_numpunct): Assign the new members.
- * config/locale/gnu/numeric_members.cc
- (numpunct<>::_M_initialize_numpunct): Likewise.
-
-2004-01-12 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
- * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
- it.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
- and remove Cygwin XFAIL.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
- * testsuite/27_io/objects/char/7.cc: Likewise.
- * testsuite/27_io/objects/char/9661-1.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
-2004-01-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/std/std_complex.h (std::complex<>::real): Return a
- reference. Add non-const overload.
- (std::complex<>::real): Likewise.
- (std::real): Likewise.
- (std::imag): Likewise.
- (std::operator+): Tidy.
- (std::operator-): Likewise.
- (std::operator*): Likewise.
- (std::operator/): Likewise.
- (std::operator>>): Likewise.
-
-2004-01-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13582
- * include/bits/fstream.tcc (imbue): Exploit the external
- buffer to imbue 'on the fly' a new locale and convert its
- remainder with the new codecvt facet.
- (underflow): Tweak slightly to deal with this special case.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
- * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
- * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
-
-2004-01-10 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
- Import Revision 28.
-
-2004-01-10 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13630
- * include/bits/locale_classes.h (class locale): Fix category
- typedef.
- * testsuite/22_locale/locale/13630.cc: Add.
-
-2004-01-10 Giovanni Bajo <giovannibajo@gcc.gnu.org>
-
- * include/bits/locale_facets.h: Make a name really dependent. This
- will be needed when Core Issue 224 is implemented.
-
-2004-01-09 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
- * testsuite/performance/allocator_thread.cc: Likewise.
-
-2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * crossconfig.m4: Add LFS, io bits to linux cross config.
- * acconfig.h: Remove obsolete bits, reorder.
- * config.h.in: Regenerate.
- * aclocal.m4: Same.
- * configure: Same.
-
-2004-01-07 Gawain Bolton <gp.bolton@computer.org>
-
- * include/bits/stl_list.h:
- * include/bits/list.tc:
- * src/list.cc:
- Performance enhancements for destructor, push_front(),
- push_back(), pop_front(), pop_back(), sort()
- Eliminated static_casts where possible.
- Moved code out of header files into new src/list.cc
- implementation file for library where possible.
- Remove inheritance from iterator class and create separate
- classes for non-constant and constant iterators.
- * include/bits/stl_tree.h (_Rb_tree class):
- * src/tree.cc:
- Only erase contents in destructor.
- Eliminate unnecessary initialization in assignment operator.
- Optimize for the nominal case by not checking whether
- container is empty in clear().
- Re-order test in _M_insert() to improve performance.
- Move initialization of new node's left & right pointers to
- src/tree.cc to where new node's colour is initialized
- and to reduce the amount of inline code.
- Use _M_leftmost() and _M_end() to improve readability where
- appropriate.
- Create separate classes for non-constant and constant
- iterators to clarify code, avoid extra template parameters and
- casting away constness.
-
-2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (sources): Add list.cc, tree.cc.
- * src/stl_tree.cc: Move to...
- * src/tree.cc: ...here.
- * src/list.cc: Add.
- * config/linker-map.gnu: Tweaks.
- * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
- * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
-
- * bits/stl_vector.h: Column wrap comments.
-
-2004-01-07 Loren J. Rittle <ljrittle@acm.org>
-
- (re-open) PR libstdc++/12658
- * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
- (locale::global): Likewise.
-
-2004-01-07 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
- Remove redundant #include.
- * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
- re-enable normal testing.
- * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
- #include.
- * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
- More properly, #include <locale>.
- * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
- Remove redundant #include.
- * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
- redundant DejaGnu directive.
- * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
- redundant #include.
-
-2004-01-06 Benjamin Kosnik <bkoz@redhat.com>
- Stefan Olsson <stefan@snon.net>
-
- * scripts/check_performance: Use -pthread.
- * testsuite/performance/allocator.cc: Tweaks, add list.
- * testsuite/performance/allocator_thread.cc: New.
-
-2004-01-06 Jerry Quinn <jlquinn@optonline.net>
-
- * include/bits/locale_facets.h: Document public classes and
- functions.
- * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
- Add comment.
-
-2004-01-06 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
- Remove redundant #includes.
- * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
- Likewise.
- * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
- * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
- * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
- * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
- * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
- * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
- * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
- * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
- * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
- Likewise.
- * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
- Likewise.
- * testsuite/27_io/basic_istream/readsome/char/8258.cc:
- Likewise.
- * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
- Likewise.
- * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
- Likewise.
- * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
-
-2004-01-04 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
- Remove redundant #includes.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
- Likewise.
-
-2004-01-04 Mark Mitchell <mark@codesourcery.com>
-
- PR c++/12226
- * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
- constructor.
- * testsuite/27_io/basic_fstream/4.cc: Likewise.
- * testsuite/27_io/basic_ifstream/4.cc: Likewise.
- * testsuite/27_io/basic_ios/4.cc: Likewise.
- * testsuite/27_io/basic_iostream/4.cc: Likewise.
- * testsuite/27_io/basic_istream/4.cc: Likewise.
- * testsuite/27_io/basic_istingstream/4.cc: Likewise.
- * testsuite/27_io/basic_ofstream/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/4.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
- * testsuite/27_io/basic_stringstream/4.cc: Likewise.
-
-2004-01-04 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
- Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
- always use double underscored names.
- * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
- Likewise.
- * include/bits/locale_facets.h (struct __numpunct_cache):
- Dimension _M_atoms_out and _M_atoms_in one position smaller.
- (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
- and _M_atoms_in.
diff --git a/contrib/libstdc++/ChangeLog-2005 b/contrib/libstdc++/ChangeLog-2005
deleted file mode 100644
index ef546e60d770..000000000000
--- a/contrib/libstdc++/ChangeLog-2005
+++ /dev/null
@@ -1,5468 +0,0 @@
-2005-12-28 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 40.
-
-2005-12-28 Chris Jefferson <chris@bubblescope.net>
-
- * testsuite/testsuite_allocator.h (check_deallocate_null): Return true.
-
-2005-12-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_bitset.h (bitset<>::_M_copy_from_string,
- bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop.
-
- * testsuite/25_algorithms/heap/heap.cc (test01): Always enable
- complexity checks.
- * testsuite/18_support/numeric_limits/specialization.cc: Avoid
- unused parameter warning.
- * testsuite/18_support/numeric_limits/traps.cc: Acoid unused variable
- warning.
- * testsuite/ext/malloc_allocator/deallocate_global.cc: Fix format
- string.
- * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
- * testsuite/ext/array_allocator/2.cc: Remove unused variable.
- * testsuite/tr1/3_function_objects/mem_fn.cc: Avoid unused variable
- warnings.
- * testsuite/tr1/6_containers/unordered/instantiate/set.cc: Just
- instantiate.
- * testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
- Likewise.
- * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
- Likewise.
- * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
- Avoid unused variable warnings.
- * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
- Likewise.
- * testsuite/thread/18185.cc: Likewise.
- * testsuite/27_io/ios_base/storage/11584.cc: Likewise; avoid comparison
- between signed and unsigned warning.
- * testsuite/27_io/types/1.cc: Avoid unused variable warnings.
- * testsuite/testsuite_allocator.h (check_new): Likewise.
- (check_deallocate_null): Adjust return type.
- * testsuite/testsuite_hooks.h (bitmask_operators): Avoid unused
- variable warnings.
- * testsuite/21_strings/c_strings/wchar_t/24559.cc: Avoid unused
- variable warning.
-
-2005-12-28 Chris Jefferson <chris@bubblescope.net>
-
- * include/std/std_bitset.h (bitset<0>::set, bitset<0>::reset,
- bitset<0>::flip, bitset<0>::test): Add inline specializations for
- bitset<0>.
-
- * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
- (test01): Add static cast.
- * testsuite/tr1/6_containers/unordered/insert/set_range.cc
- (test01): Likewise.
- * testsuite/testsuite_hooks.h (operator==(NonDefaultConstructible,
- NonDefaultConstructible), operator<(NonDefaultConstructible,
- NonDefaultConstrictible)): Avoid unused parameter warning.
-
-2005-12-26 Chris Jefferson <chris@bubblescope.net>
-
- * include/ext/mt_allocator.h (__mt_alloc::__mt_alloc): Remove
- name of unused parameter.
- * include/bits/stream_iterator.h (istream_iterator::istream_iterator):
- Construct _M_value.
- * include/debug/functions.h (__check_valid_range): Add
- __attribute__((unused)).
- * include/tr1/hashtable (hashtable::end): Remove name of unused
- parameter.
- * include/tr1/tuple_iterate.h (tuple::tuple): Likewise.
- (tuple::operator=): Add __attribute__((unused)).
- * include/tr1/functional (Fnv_hash<4>::hash): Add static_cast.
- (Fnv_hash<8>::hash): Likewise.
-
- * testsuite/25_algorithms/iter_swap/20577.cc (swap): Remove name of
- unused parameter.
- * testsuite/25_algorithms/unique_copy/check_type.cc (S2::S2,X2::X2):
- Likewise.
- * testsuite/22_locale/ctype/narrow/char/19955.cc (do_narrow): Likewise.
- * testsuite/22_locale/ctype/is/char/9858.cc (Derived::do_is,
- Derived::do_scan_is, Derived::do_scan_not, Derived2::do_is,
- Derived2::do_scan_is, Derived2::do_scan_not): Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc (TP::do_put):
- Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc (TP::do_put):
- Likewise.
- * testsuite/22_locale/time_put/put/char/12439_1.cc (TP::do_put):
- Likewise.
- * testsuite/22_locale/time_put/put/char/12439_3.cc (TP::do_put):
- Likewise.
- * testsuite/testsuite_io.h (fail_num_get::do_get, fail_num_put::do_put):
- Likewise.
- * testsuite/25_algorithms/find/17441.cc (find): Likewise.
- * testsuite/23_containers/vector/cons/clear_allocator.cc
- (clear_alloc::clear_alloc): Likewise.
- * testsuite/23_containers/vector/bool/clear_allocator.cc
- (clear_alloc::clear_alloc): Likewise.
- * testsuite/23_containers/list/cons/clear_allocator.cc
- (clear_alloc::clear_alloc): Likewise.
- * testsuite/23_containers/set/modifiers/16728.cc (test_container):
- Likewise.
- * testsuite/27_io/basic_ios/cons/char/3.cc (char_traits::to_char_type,
- to_int_type): Likewise.
- * testsuite/27_io/basic_filebuf/imbue/12206.cc (codecvt::do_out, do_in,
- do_unshift, do_length): Likewise.
- * testsuite/21_strings/basic_string/capacity/1.cc
- (operator==(A<T>,A<T>), operator<(A<T>,A<T>),
- char_traits::to_char_type, char_traits::to_int_type): Likewise
- * testsuite/testsuite_character.h (ctype::do_is, ctype::do_scan_is,
- ctype::do_scan_not, do_toupper, do_tolower): Likewise.
- * testsuite/25_algorithms/replace_copy/check_type.cc (Z::operator=):
- Add missing return statement.
- * testsuite/25_algorithms/replace_copy_if/check_type.cc (Z::operator=):
- Likewise.
- * testsuite/testsuite_iterators.h (output_iterator_wrapper::operator=,
- random_access_iterator_wrapper::operator==): Likewise.
- * testsuite/20_util/functional/binders/1.cc (s::f_int_int_const,
- s::f_int_int, s::f_int_void_const, s::f_int_void): Likewise.
- * testsuite/27_io/types/1.cc (test01): Likewise.
- * testsuite/27_io/basic_ostream/write/wchar_t/1.cc (test01): Likewise.
- * testsuite/27_io/basic_ostream/write/char/1.cc (test01): Likewise.
- * testsuite/21_strings/c_strings/wchar_t/24559.cc (main): Likewise.
- * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc (check): Add static
- cast.
- * testsuite/27_io/basic_istream/ignore/char/2.cc (check): Likewise.
- * testsuite/27_io/basic_istream/getline/wchar_t/5.cc (check): Likewise.
- * testsuite/27_io/basic_istream/getline/char/5.cc (check): Likewise.
- * testsuite/testsuite_allocator.h (check_new): Likewise.
- (check_deallocate_null): Add missing return value.
- * testsuite/ext/pool_allocator/allocate_chunk.cc (test01):
- Make variable unsigned.
- * testsuite/23_containers/vector/modifiers/erase/1.cc (N,N1,N2,N3,N4,
- N5,test01): Likewise.
- * testsuite/26_numerics/valarray/valarray_subset_assignment.cc
- (check_array): Likewise.
- (main): Removed unused variable.
- * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc (test05):
- Removed unused variable.
- * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc (test01): Likewise.
- * testsuite/27_io/basic_ostream/flush/char/1.cc (test01): Likewise.
- * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc (test01): Likewise.
- * testsuite/27_io/basic_ostream/endl/char/1.cc (test01): Likewise.
- * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc (test01): Likewise.
- * testsuite/27_io/basic_ostream/ends/char/1.cc (test01): Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/
- assign/shared_ptr.cc (test01): Correct return type.
- * testsuite/27_io/basic_filebuf/close/char/2.cc (test_02):
- Add default value to close_num.
-
-2005-12-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (fill(const _Deque_iterator&,
- const _Deque_iterator&, const _Tp&)): Deal, correctly, only
- with iterators (leave const_iterators alone).
-
-2005-12-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
- const _Deque_iterator<>&, const _Tp&)): Add.
-
- * testsuite/23_containers/deque/cons/assign/1.cc: New.
-
-2005-12-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_deque.h (deque<>::resize, _M_fill_assign):
- Avoid troubles with ADL, user defined operators and _Deque_iterator.
- (operator-(const _Deque_iterator<>&, const _Deque_iterator<>&):
- Add overload for left and right iterators of the same type.
- * include/bits/deque.tcc (erase(iterator)): Avoid troubles with ADL,
- user defined operators and _Deque_iterator.
- * testsuite/23_containers/deque/types/1.cc: Add.
-
- * include/bits/deque.tcc (_M_insert_aux(iterator, size_type,
- const value_type&)): Qualify with std:: fill call.
-
-2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config: Add in revised namespace associations.
- _GLIBCXX_BEGIN_NAMESPACE: New macro.
- _GLIBCXX_END_NAMESPACE: Same.
- _GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
- _GLIBCXX_END_NESTED_NAMESPACE: Same.
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
- * configure: Regenerated.
- * config.h.in: Same.
- * config/abi/pre/gnu-versioned-namespace.ver: New.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
- debug mode items.
- * include/Makefile.am (${host_builddir}/c++config.h): Fill in
- values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
- * include/Makefile.in: Regnerate.
- * src/compatibility.cc: Alias new, nested definitions to exported
- symbols from non-nested __gnu_debug.
- * src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
- * src/Makefile.in: Regenerate.
-
- * docs/html/debug_mode.html: Revise for nested design.
- * docs/html/debug.html: Use debug qualifications instead of
- __gnu_debug.
- * docs/html/configopts.html: Revise documentation for
- --enable-symvers.
-
- * include/debug/formatter: Simplify namespace qualifications for
- current, nested-only reality. Add top-level namespace alias,
- namespace debug, for debug-mode containers.
- * include/debug/safe_iterator.h: Same.
- * include/debug/set.h: Same.
- * include/debug/hash_multimap.h: Same.
- * include/debug/hash_set.h: Same.
- * include/debug/bitset
- * include/debug/safe_sequence.h: Same.
- * include/debug/multiset.h: Same.
- * include/debug/safe_base.h: Same.
- * include/debug/functions.h: Same.
- * include/debug/safe_iterator.tcc
- * include/debug/hash_multiset.h: Same.
- * include/debug/vector
- * include/debug/map.h: Same.
- * include/debug/deque
- * include/debug/hash_map.h: Same.
- * include/debug/string
- * include/debug/macros.h: Same.
- * include/debug/list
- * include/debug/debug.h: Same.
- * include/debug/multimap.h: Same.
- * src/debug.cc: Same.
- * testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
- * testsuite/23_containers/vector/invalidation/2.cc: Same.
- * testsuite/23_containers/vector/invalidation/3.cc: Same.
- * testsuite/23_containers/vector/invalidation/4.cc: Same.
- * testsuite/23_containers/deque/invalidation/1.cc: Same.
- * testsuite/23_containers/deque/invalidation/2.cc: Same.
- * testsuite/23_containers/deque/invalidation/3.cc: Same.
- * testsuite/23_containers/deque/invalidation/4.cc: Same.
- * testsuite/23_containers/multiset/invalidation/1.cc: Same.
- * testsuite/23_containers/multiset/invalidation/2.cc: Same.
- * testsuite/23_containers/multimap/invalidation/1.cc: Same.
- * testsuite/23_containers/multimap/invalidation/2.cc: Same.
- * testsuite/23_containers/bitset/invalidation/1.cc: Same.
- * testsuite/23_containers/bitset/cons/16020.cc: Same.
- * testsuite/23_containers/bitset/operations/13838.cc: Same.
- * testsuite/23_containers/list/invalidation/1.cc: Same.
- * testsuite/23_containers/list/invalidation/2.cc: Same.
- * testsuite/23_containers/list/invalidation/3.cc: Same.
- * testsuite/23_containers/list/invalidation/4.cc: Same.
- * testsuite/23_containers/set/invalidation/1.cc: Same.
- * testsuite/23_containers/set/invalidation/2.cc: Same.
- * testsuite/23_containers/map/invalidation/1.cc: Same.
- * testsuite/23_containers/map/invalidation/2.cc: Same.
- * testsuite/23_containers/map/insert/16813.cc: Same.
-
- * include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
- friends.
- * include/bits/stl_list.h: Same.
- * include/bits/stl_map.h: Same.
- * include/bits/stl_algobase.h: Same.
- * include/bits/localefwd.h: Same.
- * include/bits/valarray_array.tcc: Same.
- * include/bits/valarray_after.h: Same.
- * include/bits/gslice_array.h: Same.
- * include/bits/stl_queue.h: Same.
- * include/bits/gslice.h: Same.
- * include/bits/locale_facets.tcc: Same.
- * include/bits/locale_classes.h: Same.
- * include/bits/stl_set.h: Same.
- * include/bits/locale_facets.h: Same.
- * include/bits/stl_stack.h: Same.
- * include/bits/stl_iterator_base_types.h: Same.
- * include/bits/stl_heap.h: Same.
- * include/bits/indirect_array.h: Same.
- * include/bits/atomicity.h: Same.
- * include/bits/stream_iterator.h: Same.
- * include/bits/concurrence.h: Same.
- * include/bits/basic_string.h: Same.
- * include/bits/stl_multimap.h: Same.
- * include/bits/stl_pair.h: Same.
- * include/bits/basic_ios.tcc: Same.
- * include/bits/stl_raw_storage_iter.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/bits/stl_numeric.h: Same.
- * include/bits/ios_base.h: Same.
- * include/bits/stl_deque.h: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/postypes.h: Same.
- * include/bits/stl_multiset.h: Same.
- * include/bits/mask_array.h: Same.
- * include/bits/stl_uninitialized.h: Same.
- * include/bits/ostream.tcc: Same.
- * include/bits/slice_array.h: Same.
- * include/bits/boost_concept_check.h: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/stl_iterator_base_funcs.h: Same.
- * include/bits/char_traits.h: Same.
- * include/bits/stl_algo.h: Same.
- * include/bits/stringfwd.h: Same.
- * include/bits/c++config
- * include/bits/stl_iterator.h: Same.
- * include/bits/valarray_array.h: Same.
- * include/bits/stl_tempbuf.h: Same.
- * include/bits/vector.tcc: Same.
- * include/bits/deque.tcc: Same.
- * include/bits/stl_bvector.h: Same.
- * include/bits/basic_string.tcc: Same.
- * include/bits/list.tcc: Same.
- * include/bits/streambuf_iterator.h: Same.
- * include/bits/valarray_before.h: Same.
- * include/bits/stl_construct.h: Same.
- * include/bits/stl_function.h: Same.
- * include/bits/cpp_type_traits.h: Same.
- * include/bits/streambuf.tcc: Same.
- * include/bits/allocator.h: Same.
- * include/bits/stl_tree.h: Same.
- * include/bits/fstream.tcc: Same.
- * include/bits/stl_relops.h: Same.
- * include/bits/functexcept.h: Same.
- * include/std/std_valarray.h: Same.
- * include/std/std_iostream.h: Same.
- * include/std/std_streambuf.h: Same.
- * include/std/std_bitset.h: Same.
- * include/std/std_iosfwd.h: Same.
- * include/std/std_iomanip.h: Same.
- * include/std/std_fstream.h: Same.
- * include/std/std_limits.h: Same.
- * include/std/std_stdexcept.h: Same.
- * include/std/std_istream.h: Same.
- * include/std/std_complex.h: Same.
- * include/std/std_memory.h: Same.
- * include/std/std_ostream.h: Same.
- * include/std/std_sstream.h: Same.
- * include/c_std/std_csignal.h: Same.
- * include/c_std/std_cstdlib.h: Same.
- * include/c_std/std_cstdio.h: Same.
- * include/c_std/std_cstdarg.h: Same.
- * include/c_std/std_cctype.h: Same.
- * include/c_std/std_cmath.h: Same.
- * include/c_std/std_ctime.h: Same.
- * include/c_std/std_clocale.h: Same.
- * include/c_std/std_csetjmp.h: Same.
- * include/c_std/std_cwchar.h: Same.
- * include/c_std/std_cstring.h: Same.
- * include/c_std/std_cstddef.h: Same.
- * include/c_std/std_cwctype.h: Same.
- * include/backward/iterator.h: Same.
- * include/backward/set.h: Same.
- * include/backward/hashtable.h: Same.
- * include/backward/fstream.h: Same.
- * include/backward/tempbuf.h: Same.
- * include/backward/istream.h: Same.
- * include/backward/bvector.h: Same.
- * include/backward/stack.h: Same.
- * include/backward/rope.h: Same.
- * include/backward/complex.h: Same.
- * include/backward/ostream.h: Same.
- * include/backward/heap.h: Same.
- * include/backward/iostream.h: Same.
- * include/backward/function.h: Same.
- * include/backward/multimap.h: Same.
- * include/backward/pair.h: Same.
- * include/backward/stream.h: Same.
- * include/backward/iomanip.h: Same.
- * include/backward/strstream
- * include/backward/slist.h: Same.
- * include/backward/tree.h: Same.
- * include/backward/vector.h: Same.
- * include/backward/deque.h: Same.
- * include/backward/multiset.h: Same.
- * include/backward/list.h: Same.
- * include/backward/map.h: Same.
- * include/backward/algobase.h: Same.
- * include/backward/hash_map.h: Same.
- * include/backward/algo.h: Same.
- * include/backward/queue.h: Same.
- * include/backward/streambuf.h: Same.
- * src/allocator-inst.cc: Same.
- * src/complex_io.cc: Same.
- * src/localename.cc: Same.
- * src/limits.cc: Same.
- * src/ios_failure.cc: Same.
- * src/locale-misc-inst.cc: Same.
- * src/streambuf-inst.cc: Same.
- * src/misc-inst.cc: Same.
- * src/concept-inst.cc: Same.
- * src/ios_locale.cc: Same.
- * src/pool_allocator.cc: Same.
- * src/fstream-inst.cc: Same.
- * src/istream-inst.cc: Same.
- * src/string-inst.cc: Same.
- * src/locale_init.cc: Same.
- * src/ctype.cc: Same.
- * src/strstream.cc: Same.
- * src/ostream-inst.cc: Same.
- * src/functexcept.cc: Same.
- * src/streambuf.cc: Same.
- * src/sstream-inst.cc: Same.
- * src/ios.cc: Same.
- * src/valarray-inst.cc: Same.
- * src/locale.cc: Same.
- * src/tree.cc: Same.
- * src/stdexcept.cc: Same.
- * src/istream.cc: Same.
- * src/compatibility.cc: Same.
- * src/locale-inst.cc: Same.
- * src/globals_io.cc: Same.
- * src/list.cc: Same.
- * src/ios_init.cc: Same.
- * src/locale_facets.cc: Same.
- * src/codecvt.cc: Same.
-
- * include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
- * include/tr1/boost_shared_ptr.h: Same.
- * include/tr1/tuple
- * include/tr1/hashtable
- * include/tr1/type_traits_fwd.h: Same.
- * include/tr1/unordered_set
- * include/tr1/functional
- * include/tr1/ref_fwd.h: Same.
- * include/tr1/utility
- * include/tr1/type_traits
- * include/tr1/array
-
- * include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
- * include/ext/typelist.h: Same.
- * include/ext/hash_map: Same.
- * include/ext/rc_string_base.h: Same.
- * include/ext/pool_allocator.h: Same.
- * include/ext/iterator: Same.
- * include/ext/rb_tree: Same.
- * include/ext/numeric: Same.
- * include/ext/vstring.tcc: Same.
- * include/ext/sso_string_base.h: Same.
- * include/ext/stdio_filebuf.h: Same.
- * include/ext/algorithm: Same.
- * include/ext/codecvt_specializations.h: Same.
- * include/ext/new_allocator.h: Same.
- * include/ext/array_allocator.h: Same.
- * include/ext/vstring_util.h: Same.
- * include/ext/vstring_fwd.h: Same.
- * include/ext/mt_allocator.h: Same.
- * include/ext/debug_allocator.h: Same.
- * include/ext/slist: Same.
- * include/ext/stdio_sync_filebuf.h: Same.
- * include/ext/hash_fun.h: Same.
- * include/ext/malloc_allocator.h: Same.
- * include/ext/functional: Same.
- * include/ext/bitmap_allocator.h: Same.
- * include/ext/pod_char_traits.h: Same.
- * include/ext/vstring.h: Same.
- * include/ext/ropeimpl.h: Same.
- * include/ext/hash_set: Same.
- * include/ext/memory: Same.
- * include/ext/rope: Same.
- * include/bits/boost_concept_check.h: Same.
- * include/bits/stl_iterator.h: Same.
- * include/bits/char_traits.h: Same.
- * include/bits/cpp_type_traits.h: Same.
- * include/bits/concurrence.h: Same.
- * include/bits/atomicity.h: Same.
- * config/locale/gnu/numeric_members.cc: Same.
- * config/locale/gnu/collate_members.cc: Same.
- * config/locale/gnu/ctype_members.cc: Same.
- * config/locale/gnu/c_locale.cc: Same.
- * config/locale/gnu/codecvt_members.cc: Same.
- * config/locale/gnu/messages_members.cc: Same.
- * config/locale/gnu/c_locale.h: Same.
- * config/locale/gnu/monetary_members.cc: Same.
- * config/locale/gnu/time_members.cc: Same.
- * config/locale/ieee_1003.1-2001/c_locale.h: Same.
- * config/locale/generic/numeric_members.cc: Same.
- * config/locale/generic/collate_members.cc: Same.
- * config/locale/generic/ctype_members.cc: Same.
- * config/locale/generic/c_locale.cc: Same.
- * config/locale/generic/codecvt_members.cc: Same.
- * config/locale/generic/messages_members.cc: Same.
- * config/locale/generic/c_locale.h: Same.
- * config/locale/generic/monetary_members.cc: Same.
- * config/locale/generic/time_members.cc: Same.
- * config/os/aix/atomicity.h: Same.
- * config/os/irix/atomicity.h: Same.
- * config/cpu/powerpc/atomicity.h: Same.
- * config/cpu/cris/atomicity.h: Same.
- * config/cpu/ia64/atomicity.h: Same.
- * config/cpu/alpha/atomicity.h: Same.
- * config/cpu/m68k/atomicity.h: Same.
- * config/cpu/hppa/atomicity.h: Same.
- * config/cpu/mips/atomicity.h: Same.
- * config/cpu/sparc/atomicity.h: Same.
- * config/cpu/i386/atomicity.h: Same.
- * config/cpu/i486/atomicity.h: Same.
- * config/cpu/sh/atomicity.h: Same.
- * config/cpu/generic/atomicity.h: Same.
- * config/cpu/s390/atomicity.h: Same.
- * config/io/c_io_stdio.h: Same.
- * config/io/basic_file_stdio.cc: Same.
- * config/io/basic_file_stdio.h: Same.
- * src/misc-inst.cc: Same.
- * src/concept-inst.cc: Same.
- * src/ext-inst.cc: Same.
- * src/string-inst.cc: Same.
- * src/pool_allocator.cc: Same.
- * src/bitmap_allocator.cc: Same.
- * src/mt_allocator.cc: Same.
- * libsupc++/exception: Same.
- * libsupc++/vterminate.cc: Same.
- * testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
- * testsuite/ext/hash_map/14648.cc: Same.
-
- * libsupc++/eh_alloc.cc: Correct comment line spacing.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (__copy_normal::copy_n): Uglify
- to __copy_n.
- (__copy_backward::copy_b): Likewise to __copy_b.
- (__copy_backward_normal::copy_b_n): Likewise to __copy_b_n.
- (copy, __copy_backward_aux, copy_backward): Adjust.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (partial_sort_copy): Add
- _BinaryPredicateConcept<_Compare, _InputValueType, _OutputValueType>
- (merge, set_union, set_symmetric_difference): Add
- _OutputIteratorConcept<_OutputIterator, _ValueType2>.
- (binary_search): Remove redundant _BinaryPredicateConcept<_Compare,
- _ValueType, _Tp>, taken care by lower_bound.
- * include/bits/stl_algo.h: Cosmetic changes.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
- Howard Hinnant <hhinnant@apple.com>
-
- * include/bits/stl_algo.h (merge, includes, set_union,
- set_intersection, set_difference, set_symmetric_difference):
- Fix concept checks.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (partial_sort_copy, lower_bound,
- upper_bound, equal_range, binary_search): Fix concept checks.
-
-2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/post: New.
- * config/abi/*-linux-gnu: Move to..
- * config/abi/post/*-linux-gnu: ... here.
- * config/abi/pre: New.
- * config/linker-map.gnu: Move to ..
- * config/abi/pre/gnu.ver: ... here.
- * config/linker-map.dummy: Move to..
- * config/abi/pre/none.ver: ... here.
- * src/Makefile.am: Use ENABLE_SYMVERS_GNU,
- ENABLE_SYMVERS_DARWIN, ENABLE_SYMVERS_GNU_NAMESPACE.
- Use libstdc++-symbols.ver instead of libstdc++-symbol.ver.
- * src/Makefile.in: Regnerate.
- * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Adjust paths for new
- placement of abi baseline files.
- (GLIBCXX_ENABLE_SYMVERS): Add ENABLE_SYMVERS, ENABLE_SYMVERS_GNU,
- ENABLE_SYMVERS_DARWIN. SYMVER_MAP to SYMVER_FILE.
- * configure: Regnerate.
- * config.h.in: Regnerate.
- * src/compatibility.cc: Adjust macro usage.
-
-2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/io-inst.cc: Separate instantiations into...
- * src/ios-inst.cc: .. this.
- * src/iostream-inst.cc: ... and this.
- * src/Makefile.am (sources): Update.
- * src/Makefile.in: Regenerate.
-
-2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/25472
- * include/c_std/std_cstdlib.h: Fix for freestanding.
-
-2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/libstdc++-dg/normal.exp: Rename to..
- * testsuite/libstdc++-dg/conformance.exp: ... this.
-
-2005-12-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_vector.h (vector(const vector&)): Use
- _M_get_Tp_allocator.
- * include/bits/stl_deque.h (deque(const deque&)): Likewise.
- (_M_destroy_data): Adjust.
-
-2005-12-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_deque.h (deque<>::_M_erase_at_end,
- _M_erase_at_begin, _M_destroy_data, _M_destroy_data_dispatch,
- _M_destroy_data_aux): New, optimize erase at begin() / end() and
- consistently use the "segmented iterator" optimization.
- (deque<>::~deque(), resize, clear, _M_assign_aux, _M_fill_assign):
- Use the above.
- * include/bits/deque.tcc (deque<>::operator=, _M_assign_aux): Same.
- (erase(iterator, iterator)): Likewise, clean-up.
- (erase(iterator)): Tweak, don't call copy unnecessarily.
- (_M_destroy_data_aux): Define.
- * testsuite/23_containers/deque/modifiers/erase/1.cc: New.
- * testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
-
-2005-12-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/bits/valarray_after.h (_Expr<>::operator[](slice)):
- Don't assume the closure implements general indexing, as a matter
- of fact, most of them don't.
- (_Expr<>::operator[](const gslice&)): Likewise.
- (_Expr<>::operator[](const valarray<bool>&)): Likewise.
- (_Expr<>::operator[](const valarray<size_t>&)): Likewise.
- (_Expr<>::shift): Fix thinko.
- (_Expr<>::cshift): Likewise.
- (_Expr<>::apply): Likewise.
-
-2005-12-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc:
- Fix class NonEmptyClassTwo.
-
-2005-12-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change
- to return by ref and add non const version.
- * include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise.
-
-2005-12-15 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/25421
- * config/locale/gnu/c_locale.cc (_S_destroy_c_locale): Check
- for null argument.
- * testsuite/22_locale/facet/25421.cc: New.
-
-2005-12-13 Carlos O'Donell <carlos@codesourcery.com>
-
- * include/std/std_limits.h (struct numeric_limits):
- Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
-
-2005-12-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_compare):
- Add, specialized for char and wchar_t to immediately return true
- when a string is compared to itself.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_compare):
- Likewise, for the same _Rep.
- * include/ext/vstring.h (compare(const string&)): Use it.
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
- Deallocate passed size + 1.
- (_M_dispose, _M_reserve): Adjust.
-
-2005-12-09 Paolo Carlini <pcarlini@suse.de>
- Howard Hinnant <hhinnant@apple.com>
-
- PR libstdc++/25288
- * include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
- Remove.
- (_M_initialize_dispatch, _M_fill_initialize): Add.
- (list(size_type, const value_type&, const allocator_type&),
- list(const list&), list(_InputIterator, _InputIterator,
- const allocator_type&): Use the latter.
- (insert(iterator, size_type, const value_type&), insert(iterator,
- _InputIterator, _InputIterator)): Use construction & splice.
- * testsuite/23_containers/list/modifiers/insert/25288.cc: New.
- * testsuite/testsuite_allocator.h (class throw_allocator): Add.
-
- * include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
-
-2005-12-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_vector.h (vector<>::size, resize, capacity,
- operator[]): Avoid troubles with ADL, user defined operators
- and __normal_iterator.
- (_M_erase_at_end): Fix to take a pointer.
- (clear): Adjust call.
- * include/bits/vector.tcc (vector<>::insert(iterator, const
- value_type&), erase(iterator, iterator), operator=(const
- vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
- _M_fill_insert, _M_range_insert): Likewise.
- (_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
- _M_erase_at_end call.
- * testsuite/23_containers/vector/types/1.cc: New.
-
-2005-12-08 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24617
- * include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
- (vector<>::clear, resize): Use it.
- * include/bits/vector.tcc (vector<>::erase(iterator, iterator),
- _M_fill_assign, _M_assign_aux): Likewise.
-
- * testsuite/23_containers/vector/modifiers/erase/1.cc: New.
-
-2005-12-07 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/configopts.html ([--enable-libstdcxx-allocator]):
- Mention the SGI pooled allocator.
-
-2005-12-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (insert(iterator, _CharT),
- erase(iterator), erase(iterator, iterator)): Avoid troubles
- with ADL, user defined operators and __normal_iterator.
- * include/bits/stl_iterator.h (operator-(const __normal_iterator
- <_Iterator, _Container>&, const __normal_iterator<_Iterator,
- _Container>&)): Add overload for left and right iterators of
- the same type.
- * include/debug/safe_iterator.h (operator-(const _Safe_iterator
- <_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
- _Sequence>&)): Likewise.
- * testsuite/21_strings/basic_string/types/1.cc: New.
-
-2005-12-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
- Simplify, avoid pointless reallocations.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
- Simplify.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/vstring.h (__versa_string<>::operator+, all
- versions): Move out of line...
- * include/ext/vstring.tcc (__versa_string<>::operator+): ...
- here; consistently use reserve for the benefit of sso_string_base;
- prefer push_back to single-char append when appropriate.
-
- * include/ext/vstring.h (__versa_string<>::push_back): Don't
- call _M_reserve, _M_mutate instead.
- (reserve): Just forward to _M_reserve.
- * include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
- do the initial checks (first on length, in case __res == capacity).
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
- Likewise; don't call _M_set_length unnecessarily.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/vstring.h (__versa_string<>::_M_append): New.
- (append(const __versa_string&), append(const __versa_string&,
- size_type, size_type), append(const _CharT*, size_type),
- append(const _CharT*)): Use it.
- (append(size_type, _CharT)): Delegate to _M_replace_aux.
- (assign(const __versa_string&, size_type, size_type),
- assign(const _CharT*), replace(size_type, size_type,
- const _CharT*, size_type)): Forward to _M_replace.
- * include/ext/vstring.tcc (__versa_string<>::_M_append):
- Define, core append functionality.
- (_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
- (_M_replace_aux): Reorganize, don't call _M_replace.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/vstring.tcc (__versa_string<>::_M_replace):
- Perform _M_check_length at the beginning and remove it from ...
- (replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
- (assign): Now move inline.
- (resize): Don't call _M_check_length redundantly, append does.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
- Add non const version.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
- Likewise.
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
- (_M_leak_hard): Use it.
- * include/ext/vstring.h (__versa_string<>::clear, erase, all
- versions): Use it.
- * include/ext/vstring.tcc (__versa_string<>::resize): Likewise.
-
- * include/ext/vstring.h (__versa_string<>::_M_replace_safe):
- Remove.
- * include/ext/vstring.h (__versa_string<>::_M_replace): New, does
- the in-place work or delegates to _M_mutate in case of reallocation.
- * include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
- Remove.
- * include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
- (assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
- Change to manage only reallocations.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
- Likewise.
-
- * include/ext/vstring.h (__versa_string<>::insert(size_type,
- const __versa_string&), insert(size_type, const __versa_string&,
- size_type, size_type), insert(size_type, const _CharT*, size_type),
- insert(size_type, const _CharT*)): Delegate to replace.
-
- * include/ext/vstring.h (__versa_string<>::reserve): Move out of
- line.
- * include/ext/vstring.tcc (__versa_string<>::reserve): Do the
- checks and call _M_reserve.
- * include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
- instead of reserve.
- * include/ext/vstring.tcc (__versa_string<>::append, all versions):
- Likewise.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
- Adjust.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
- Likewise.
-
-2005-12-02 David Billinghurst (David.Billinghurst@riotinto.com)
-
- PR testsuite/25193
- * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Catch
- error if file cannot be deleted.
-
-2005-11-23 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24975 (basic_string)
- * include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
- strict-aliasing warnings.
-
-2005-11-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24975
- * include/bits/stl_set.h (insert(iterator, const value_type&),
- erase(iterator), erase(iterator, iterator)): Don't break aliasing
- rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
- * include/bits/stl_multiset.h (insert(iterator, const value_type&),
- erase(iterator), erase(iterator, iterator)): Likewise.
- * include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
- _Const_Base_ptr, const value_type&), insert_unique(const_iterator,
- const value_type&), insert_equal(const_iterator, const value_type&),
- erase(const_iterator), erase(const_iterator, const_iterator)): New,
- _Rb_tree<>::const_iterator counterparts of existing facilities.
-
-2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
- Ulrich Drepper <drepper@redhat.com>
-
- PR libstdc++/23591
- * scripts/create_testsuite_files: Support for "C" test files.
- * testsuite/lib/libstdc++.exp: Same.
- * testsuite/libstdc++-dg/normal.exp: Same.
- * testsuite/ext/mt_allocator/22309_thread.cc: Update names.
- * testsuite/19_diagnostics/23591_thread-1.c: New.
- * testsuite/testsuite_shared.cc: Add tests, rename existing functions.
- * libsupc++/eh_globals.cc: Make global thread local if possible.
- * configure.ac: Use GCC_CHECK_TLS.
- * acinclude.m4: Include tls.m4.
- * configure: Regenerate.
- * config.h.in: Same.
-
-2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/del_op.cc: Include c++config.h first.
- * libsupc++/eh_alloc.cc: Same.
- * libsupc++/new_opv.cc: Same.
- * libsupc++/eh_throw.cc: Same.
- * libsupc++/new_op.cc: Same.
- * libsupc++/del_opv.cc: Same.
- * libsupc++/eh_catch.cc: Same.
- * libsupc++/guard.cc: Same.
- * libsupc++/del_opnt.cc: Same.
- * libsupc++/eh_exception.cc: Same.
- * libsupc++/new_opvnt.cc: Same.
- * libsupc++/eh_term_handler.cc: Same.
- * libsupc++/eh_personality.cc: Same.
- * libsupc++/eh_call.cc: Same.
- * libsupc++/new_opnt.cc: Same.
- * libsupc++/del_opvnt.cc: Same.
-
-2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
- * libsupc++/Makefile.am: Same.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Same.
-
-2005-11-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
- (__sso_string_base<>::_M_get_allocator): Return by const ref.
- * include/ext/rc_string_base.h: Likewise.
- (__rc_string_base<>::_M_get_allocator): Return by const ref.
- (__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
- (__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
- (__rc_string_base<>::~__rc_string_base,
- __rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
- _M_mutate): Adjust.
- * include/ext/vstring_util.h: Minor stylistic fixes.
-
-2005-11-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
- anonymous struct extension, adjust everywhere.
-
- * include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
- Just use a static member.
- (__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
-
- * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use
- anonymous union together with _CharT to fix alignment issues,
- rebind to _Rep and rename _Raw_alloc to _Rep_alloc_type.
- (__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
-
- * include/ext/vstring_util.h (__is_null_p): Move inside struct
- __vstring_utility as static _S_is_null_pointer.
- * include/ext/sso_string.h
- (__sso_string_base<>::_M_construct(std::forward_iterator_tag): Adjust.
- * include/ext/rc_string_base.h
- (__rc_string_base<>::_S_construct(std::forward_iterator_tag): Likewise.
-
- Implement Option 3 of DR 431 for ext/vstring - both available bases.
- * include/bits/cpp_type_traits.h (struct __is_empty): Add.
- * include/ext/vstring.h (__versa_string<>::swap): Delegate to
- this->_M_swap.
- * include/ext/vstring.tcc (__versa_string<>::swap): Remove.
- * include/ext/vstring_util.h (struct __vstring_utility<>): Add struct
- _Alloc_hider<>, augmented of allocator swapping facility, specialized
- to nop for empty allocators.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Use it.
- (__rc_string_base<>::_M_is_leaked, _M_set_sharable): Change to private.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
- Likewise.
- (__sso_string_base<>::_M_is_leaked, _M_set_sharable): Remove, unused.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_data(_CharT*):
- Return void.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_data(_CharT*):
- Likewise.
-
-2005-11-17 Geoffrey Keating <geoffk@apple.com>
-
- * config/os/bsd/darwin/ppc-extra.ver: New.
- * src/Makefile.am (libstdc++-symbol.ver): Move outside conditionals,
- and make dependent on port symbol files.
- (libstdc++-symbol.explist): Use the generated .ver file, not
- the template.
- * src/compatibility.cc [APPLE] (__eprintf): New.
- * src/Makefile.in: Regenerate.
- * configure.host (powerpc*-*-darwin*): Define
- port_specific_symbol_files.
-
-2005-11-16 Nathan Sidwell <nathan@codesourcery.com>
-
- * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Remember a
- foreign exception too.
- (__gnu_end_cleanup): Recover a foreign exception too.
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Cope
- with forced unwinding.
- * libsupc++/eh_throw.cc (__cxxabiv1::__cxa_rethrow): Use
- _Unwind_Resume_or_Rethrow for ARM EABI.
-
-2005-11-14 Geoffrey Keating <geoffk@apple.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
- shared libgcc for darwin exports.
- * configure: Regenerate.
-
-2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/boost_shared_ptr.h (get_deleter):
- Declare before shared_ptr.
- (shared_ptr<>): Declare get_deleter as friend.
- (shared_ptr<>:_M_get_deleter): Private.
-
-2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
-
- PR libstdc++/24818
- * include/tr1/ref_wrap_iterate.h
- (reference_wrapper::operator()()): Don't dereferene the result of
- get() before calling it; it's already a reference.
- * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
- Test nullary calls to reference_wrappers.
-
-2005-11-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24808
- * include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
- (with complemented logic).
- (is_function): Use it, don't use __conv_helper.
- (is_abstract): Adjust.
- (__conv_helper): Rename to __is_convertible_simple.
- (is_convertible): Adjust.
- * testsuite/testsuite_tr1.h (class IncompleteClass): Add.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
- 24808.cc: New.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
- 24808.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
- 24808.cc: Likewise.
-
-2005-11-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24799
- * include/tr1/functional (hash): Inherit from std::unary_function.
- * testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
-
- PR libstdc++/24805
- * include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
- swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
- 24805.cc: New.
-
- PR libstdc++/24809
- * include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
- * testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
- 24809.cc: New.
-
-2005-11-10 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared2.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared3.cc: Likewise.
-
-2005-11-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
- weak_release): Protect barriers with __GTHREADS.
-
-2005-11-10 Paolo Carlini <pcarlini@suse.de>
- Peter Dimov <pdimov@mmltd.net>
-
- * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release):
- Optimize by manually inlining weak_release.
-
- * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
- weak_release): Use explicit memory barriers.
-
-2005-11-09 Benjamin Kosnik <bkoz@redhat.com>
- Paolo Carlini <pcarlini@suse.de>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/22203
- * numeric_limits.cc: Split into...
- * numeric_limits/specialization.cc: ..this.
- * numeric_limits/is_iec559.cc: Same.
- * numeric_limits/sign.cc: Same.
- * numeric_limits/quiet_NaN.cc: Same.
- * numeric_limits/digits10.cc: Same.
- * numeric_limits/denorm_min.cc: Same.
- * numeric_limits/min_max.cc: Same.
- * numeric_limits/epsilon.cc: Same.
- * numeric_limits/infinity.cc: Same.
- * numeric_limits/traps.cc: New.
-
-2005-11-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
-
-2005-11-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Use
- exe as the executable extension.
-
- * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Change gnu defaults to
- new.
- (GLIBCXX_ENABLE_PCH): Adjust message order.
- * configure: Regenerate.
-
- * scripts/testsuite_flags.in (query): Correct print_usagex typo.
-
- * include/bits/functexcept.h: Remove argument names.
-
- * src/mt_allocator.cc: Adjust comment.
-
-2005-11-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/18174
- * include/bits/stl_queue.h (priority_queue): Tweak a bit the
- comment describing the container.
-
-2005-11-05 Paolo Carlini <pcarlini@suse.de>
-
- * configure.host: Add | rs6000 to the cpu_defines_dir switch,
- consistently with the try_cpu one.
-
-2005-11-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/22203
- * include/bits/c++config: Include cpu_defines.h.
- * include/Makefile.am: Add cpu_defines.h to host_headers.
- * configure.host: Add cpu_defines_dir.
- * configure.ac: Use it.
- * config/cpu/powerpc/cpu_defines.h: New.
- * config/cpu/generic/cpu_defines.h: Likewise.
- * configure: Regenerate.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-11-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
- Change the various traits_type::copy call to always copy the
- entire local buffer; return early and don't do a full swap on
- the lengths for two common cases; change two _S_copy to plain
- traits_type::copy.
-
-2005-11-02 Thomas Kho <tkho@ucla.edu>
-
- PR libstdc++/23425
- * include/bits/stl_vector.h (vector<>::clear): Open code
- in terms of _Destroy.
-
-2005-11-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/vector.tcc (vector<>::_M_fill_assign): Qualify fill_n.
-
-2005-11-01 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24595
- * include/tr1/boost_shared_ptr.h (shared_ptr<>::get_deleter):
- Move out of shared_ptr.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc:
- New.
-
-2005-10-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20213
- * include/c_std/std_csignal.h: Adjust comment as per 17.4.1.2/4.
- * include/c_std/std_cstdlib.h: Likewise.
- * include/c_std/std_cstdio.h: Likewise.
- * include/c_std/std_cstdarg.h: Likewise.
- * include/c_std/std_cctype.h: Likewise.
- * include/c_std/std_cerrno.h: Likewise.
- * include/c_std/std_cmath.h: Likewise.
- * include/c_std/std_ciso646.h: Likewise.
- * include/c_std/std_ctime.h: Likewise.
- * include/c_std/std_clocale.h: Likewise.
- * include/c_std/std_climits.h: Likewise.
- * include/c_std/std_cassert.h: Likewise.
- * include/c_std/std_csetjmp.h: Likewise.
- * include/c_std/std_cwchar.h: Likewise.
- * include/c_std/std_cfloat.h: Likewise.
- * include/c_std/std_cstring.h: Likewise.
- * include/c_std/std_cstddef.h: Likewise.
- * include/c_std/std_cwctype.h: Likewise.
-
-2005-10-29 Carey Evans <carey.evans@gmail.com>
-
- PR libstdc++/22087
- * config/os/djgpp/ctype_inline.h: Fix.
- * config/os/djgpp/ctype_noninline.h: Likewise.
-
-2005-10-28 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24559
- * include/c_std/std_cwchar.h (wcspbrk): Adjust signature.
- * testsuite/21_strings/c_strings/wchar_t/24559.cc: New.
-
-2005-10-25 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 39.
- * docs/html/ext/howto.html: Adjust.
-
-2005-10-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24450
- * config/locale/generic/time_members.h (__timepunct<>::
- __timepunct(__c_locale, const char*, size_t)): Avoid leaking
- memory if new throws inside _M_initialize_timepunct.
- * config/locale/gnu/time_members.h (__timepunct<>::
- __timepunct(__c_locale, const char*, size_t)): Likewise.
- * config/locale/gnu/message_members.h (messages<>::
- messages(__c_locale, const char*, size_t)): Rearrange to
- avoid memory leaks.
-
-2005-10-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (_M_swap): Rewrite.
-
-2005-10-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rc_string_base.h (_S_terminal): Remove.
- (_M_set_length): Adjust.
- (_S_max_size): Change to anonymous enum.
- (_M_max_size()): Add, returns the latter.
- * include/ext/sso_string_base.h: Likewise.
- * include/ext/vstring.h (max_size): Adjust.
-
-2005-10-17 Jonathan Wakely <redi@gcc.gnu.org>
-
- PR libstdc++/24244
- * include/tr1/boost_shared_ptr.h
- (_Sp_counted_base::_Sp_counted_base()): When __GTHREAD_MUTEX_INIT
- is defined, initialize the mutex.
-
-2005-10-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/functional: Add missing #pragma GCC system_header.
-
-2005-10-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
- (hashtable::erase(iterator), erase(const_iterator)): Adjust.
-
-2005-10-13 Richard Earnshaw <richard.earnsahw@arm.com>
-
- PR libstdc++/23926
- * acinclude.m4 (port_specific_symbol_files): More symbol versioning
- fixes.
- * configure: Regenerate.
-
-2005-10-13 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Require
- native testing before setting v3-sharedlib to 1.
-
-2005-10-12 Joe Buck <Joe.Buck@synopsys.com>
-
- * docs/html/27_io/howto.html: Use reference to ifstream when
- including iosfwd.
-
-2005-10-11 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR libstdc++/23926
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Fix typo in check
- for GNU LD.
- * configure: Regenerate.
-
-2005-10-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (libtool_VERSION): To 6:7:0.
- * configure: Regenerate.
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.7.
- * config/linker-map.gnu: Export locale::_Impl::_M_install_cache.
-
-2005-10-10 Ian Lance Taylor <ian@airs.com>
-
- PR libstdc++/13583
- * include/bits/locale_classes.h (locale::_Impl::_M_install_cache):
- Move out of line.
- * src/locale.cc: Define here, add mutex.
-
-2005-10-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24061 (issue 6.19)
- * include/tr1/hashtable (struct node_const_iterator, struct
- hashtable_const_iterator): New, add const variants to enable separate
- overloadings for iterator and const_iterator in unordered_set and
- unordered_multiset (as required by issue 6.19).
- (class hashtable): Change the mutable_iterators template parameter
- to constant_iterators and adjust throughout the logic.
- (hashtable::insert(iterator, const value_type&), erase(iterator)
- erase(iterator, iterator)): New, as per issue 6.19.
- (hashtable::m_erase(node*, node**)): New, called by erase(iterator)
- and erase(const_iterator).
- (hashtable::Insert_Conv_Type): New, used by insert(iterator,
- const value_type&) and insert(const_iterator, const value_type&)
- to delegate the work to insert(const value_type&).
- * include/tr1/unordered_map (class unordered_map, unordered_multimap):
- Adjust typedefs.
- * include/tr1/unordered_set (class unordered_set, unordered_multiset):
- Likewise.
- * testsuite/tr1/6_containers/unordered/erase/24061-map.cc: New.
- * testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc: New.
- * testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc: New.
- * testsuite/tr1/6_containers/unordered/erase/24061-set.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-map.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-set.cc: New.
-
-2005-10-08 Kazu Hirata <kazu@codesourcery.com>
-
- Merge from csl-arm-branch:
- 2004-12-15 Daniel Jacobowitz <dan@codesourcery.com>
- * libstdc++-v3/config/linker-map.gnu: Add ARM EABI symbols.
-
-2005-10-07 Paolo Carlini <pcarlini@suse.de>
-
- Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior
- of basic_string pre-2003-06-13; remove fully-dynamic-string stuff.
- * include/ext/rc_string_base.h (_M_refcopy): Move inside the
- _Rep class and remove code in macro.
- (__rc_string_base()): Construct with _S_empty_rep()._M_refcopy().
- (_M_dispose, _M_leak_hard): Remove code in macro.
- (_S_construct): Return _S_empty_rep()._M_refcopy() for empty string.
- (_M_grab): Adjust.
-
- * include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
- mark throw().
-
-2005-10-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/user.cfg.in: Update to Doyxygen 1.4.4.
-
-2005-10-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (struct __sso_string_local):
- Remove, actually POD types cannot have user defined constructors
- (being aggregates) and therefore can always be members of unions.
- (class __sso_string_base): Adjust consistently.
-
-2005-10-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24198
- * testsuite/27_io/basic_filebuf/3.cc: Use __gnu_test::pod_ushort
- instead.
- * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
- * testsuite/27_io/basic_fstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ifstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ios/3.cc: Likewise.
- * testsuite/27_io/basic_iostream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_istream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_istringstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ofstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ostream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ostringstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_streambuf/3.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/3.cc: Likewise.
- * testsuite/27_io/basic_stringstream/3.cc: Likewise; run the test.
-
-2005-10-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11729 (DR 280, [Ready])
- * include/bits/stl_iterator.h: Add reverse_iterator global
- functions with two template parameters (operator==, !=, <,
- >, <=, >=, -).
- * testsuite/24_iterators/reverse_iterator/11729.cc: New.
- * docs/html/ext/howto.html: Add an entry for issue 280.
-
-2005-10-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable
- (node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to
- take a "false" (i.e., is_const == false) node_iterator.
- (hashtable_iterator::hashtable_iterator(const hashtable_iterator<,
- true,>&)): Likewise for hashtable_iterator.
- (hashtable::const_local_iterator): Fix typedef (is_const == true).
- (hashtable::const_iterator): Likewise.
- * testsuite/tr1/6_containers/unordered/types/map_iterator.cc: New.
- * testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc: New.
- * testsuite/tr1/6_containers/unordered/types/set_iterator.cc: New.
- * testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc: New.
-
-2005-10-02 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24054
- * include/tr1/hashtable (erase(const key_type&)): Return the
- number of elements erased.
- * testsuite/tr1/6_containers/unordered/hashtable/24054.cc: New.
-
-2005-10-01 Kenny Simpson <theonetruekenny@yahoo.com>
-
- * include/tr1/tuple_iterate.h (tuple::operator=(const std::pair<>&)):
- Add missing return.
-
-2005-09-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24064
- * include/tr1/hashtable (hash_code_base<>::store_code): Add.
- (hashtable<>::insert(const value_type&)): Use it.
- * testsuite/tr1/6_containers/unordered/hashtable/24064.cc: New.
-
-2005-09-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23953
- * include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache,
- __moneypunct_cache<>::_M_cache): Check that grouping()[0] > 0.
- (__verify_grouping): Do the last check only if __grouping[__min] > 0.
- (__add_grouping<>): End recursion if *__gbeg <= 0.
- * testsuite/22_locale/num_get/get/char/23953.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
-
-2005-09-29 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/23978
- * include/tr1/tuple_iterate.h (tuple): Add operator=(std::pair).
- * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: New.
-
- * include/tr1/functional (ref, cref): Make inline.
- * include/tr1/tuple_iterate.h (tie): Correct formatting.
- (make_tuple): Make inline.
-
-2005-09-25 Benjamin Kosnik <bkoz@redhat.com>
- Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * include/ext/mt_allocator.h
- (__per_type_pool<...true>::_S_initialize_once): Always call
- _M_initialize_once.
- (__common_pool<...true>::_S_initialize_once): Same.
-
-2005-09-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/mt_allocator/tune-1.cc: Clarify for single-thread.
- * testsuite/ext/mt_allocator/tune-2.cc: Same.
- * testsuite/ext/mt_allocator/tune-3.cc: Same.
- * testsuite/ext/mt_allocator/tune-4.cc: Same.
-
-2005-09-21 Guillaume Melquiond <guillaume.melquiond@ens-lyon.fr>
-
- PR libstdc++/23956
- * include/ext/mt_allocator.h: Remove excess
- policy_type::_S_get_pool calls in constructors.
-
-2005-09-18 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23417 (cont)
- * include/bits/stl_tree.h (_Rb_tree_impl<true>): Use member
- initialization list for -Weffc++.
-
-2005-09-16 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc:
- New.
-
-2005-09-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21674
- PR libstdc++/22205
- PR libstdc++/22222
- * include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__.
- Add in check for __NO_INLINE__ for warning.
- * testsuite/lib/dg-options.exp (dg-require-debug-mode): New.
- * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New.
- * testsuite/21_strings/basic_string/element_access/char/21674.cc:
- Use it.
- * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
- Use it.
-
-2005-09-15 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23875
- * include/std/std_ostream.h (operator<<(short), operator<<(unsigned
- short), operator<<(int), operator<<(unsigned int), operator<<(float)):
- Don't call operator<<(long), operator<<(unsigned long), or
- operator<<(double), do the work mandated by the resolution of DR117...
- * include/bits/ostream.tcc (operator<<(short), operator<<(unsigned
- short), operator<<(int), operator<<(unsigned int), operator<<(float)):
- ... here.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: New.
-
-2005-09-15 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_character.h: Specialize character<>
- templates in __gnu_cxx, not in __gnu_test.
-
-2005-09-13 Jonathan Wakely <cow@compsoc.man.ac.uk>
- Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21674
- * testsuite/21_strings/basic_string/element_access/char/21674.cc: New.
- * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
- New.
-
-2005-09-12 David Edelsohn <dje@gcc.gnu.org>
-
- PR libstdc++/22554
- PR libstdc++/23734
- * include/Makefile.am (stamp-assoc): Install each subgroup
- of headers separately.
- * include/Makefile.in: Regenerate.
-
-2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/mt_allocator/22309_thread.cc: Remove dg-do run.
- * testsuite/lib/libstdc++.exp ( proc libstdc++_init): Enable
- shared only for linux.
-
-2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
- David Edelsohn <dje@gcc.gnu.org>
-
- PR libstdc++/22554
- PR libstdc++/23734
- * include/Makefile.am (assoc_headers): Break into five sub values.
- (install-headers): Use them.
- (stamp-assoc): Same.
- * include/Makefile.in: Regenerate.
-
-2005-09-12 Chris Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algo.h (search_n): Delegate to specializations.
- (search_n(,,,,binary_predicate)): Likewise.
- (__search_n(forward_iterator_tag)): Original search_n, tweak to
- remove an unnecessary comparison.
- (__search_n(,,,,binary_predicate,forward_iterator_tag)): Likewise.
-
-2005-09-12 Jim Xochellis <jimxoch@yahoo.gr>
-
- * include/bits/stl_algo.h
- (__search_n(std::random_access_iterator_tag)): Add specialization.
- (__search_n(,,,,binary_predicate,std::random_access_iterator_tag)):
- Likewise.
-
-2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/23417
- * include/bits/stl_list.h (_List_impl): Use member initialization
- list for -Weffc++.
- * include/bits/stl_tree.h (_Rb_tree_impl): Same.
-
-2005-09-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23767
- * include/bits/stl_iterator.h (__normal_iterator::
- __normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
- Enable only when _Iter is equal to _Container::pointer.
- * testsuite/21_strings/basic_string/types/23767.cc: New.
- * testsuite/23_containers/vector/types/23767.cc: Likewise.
- * testsuite/ext/vstring/types/23767.cc: Likewise.
-
-2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/19265
- PR libstdc++/22309
- * include/ext/mt_allocator.h
- (__gnu_cxx::__create_handler): Remove.
- (__pool<true>::_M_destroy_thread_key): Compatibility only.
- (__pool<true>::_M_initialize(__destroy): Same.
- (__pool<true>::_M_initialize): New.
- (__pool<true>::_M_initialize_once): Nothing fancy.
- (__pool<true>::_M_once): Remove.
- (__common_pool): New.
- (__common_pool_base): New.
- (__per_type_pool): New.
- (__per_type_pool_base): New.
- * src/mt_allocator.cc: Same.
- * config/linker-map.gnu (__pool<true>::_M_initialize()): Add.
-
-2005-09-11 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/19265
- PR libstdc++/22309
- * src/mt_allocator.cc (__gnu_internal::freelist_mutex): Make static.
- (__gnu_internal::__freelist): New type.
- (__gnu_internal::freelist): New variable.
- (__gnu_internal::_M_destroy_thread_key): New function.
- (__gnu_cxx::__pool<true>::_M_destroy): Don't delete
- _M_thread_freelist_initial.
- (__gnu_cxx::__pool<true>::_M_initialize): Make argument nameless.
- Don't use _M_thread_freelist and _M_thread_freelist_initial
- __pool<true> fields, instead use __gnu_internal::freelist fields, call
- gthread_key_create just once. Use
- __gnu_internal::_M_destroy_thread_key as key destructor.
- (__gnu_cxx::__pool<true>::_M_get_thread_id): Store size_t id
- rather than _Thread_record* in the thread specific value. Don't
- use _M_thread_freelist __pool<true> field, instead use
- __gnu_internal::freelist fields.
- (__gnu_cxx::__pool<true>::_M_destroy_thread_key): Do nothing.
-
-2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/19265
- PR libstdc++/22309
- * testsuite/testsuite_shared.cc: New.
- * testsuite/lib/dg-options.exp (dg-require-sharedlib): New.
- * testsuite/lib/libstdc++.exp (libstdc++_init): Look for shared
- library, and set v3-sharedlib based on this.
- (check_v3_target_sharedlib): New.
- (proc v3-build_support): Build shared objects.
- * testsuite/ext/mt_allocator/22309_thread.cc: New, use above.
-
-2005-09-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23781
- * include/bits/stl_list.h (_List_iterator<>::
- _List_iterator(_List_node_base*), _List_const_iterator<>::
- _List_const_iterator(const _List_node_base*)): Make explicit.
- (list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
- consistently.
- * include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
- consistently.
- * include/bits/stl_tree.h (_Rb_tree_iterator<>::
- _Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
- _Rb_tree_const_iterator(_Link_type)): Make explicit.
- (_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
- * include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
- Make explicit.
- (slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
- Adjust consistently.
- * include/tr1/hashtable (hashtable_iterator<>::
- hashtable_iterator(hash_node<>**)): Make explicit.
- * testsuite/23_containers/list/23781.cc: New.
- * testsuite/23_containers/map/23781.cc: Likewise.
- * testsuite/23_containers/multimap/23781.cc: Likewise.
- * testsuite/23_containers/multiset/23781.cc: Likewise.
- * testsuite/23_containers/set/23781.cc: Likewise.
- * testsuite/ext/slist/23781.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
- * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
- line numbers.
- * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
-
- * include/tr1/array (array<>::begin(), array<>::end()): Adjust
- stylistically for consistency with the other containers.
-
-2005-09-10 Joseph S. Myers <joseph@codesourcery.com>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
- XFAIL on *-*-linux*, not *-*-linux-gnu.
-
-2005-09-09 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * src/debug.cc (iterator_base_mutex): Make static for internal
- linkage.
- * src/locale_init.cc (locale_mutex): Same.
- * src/mt_allocator.cc (freelist_mutex): Same.
- * src/pool_allocator.cc (palloc_init_mutex): Same.
-
-2005-09-02 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
- Reduce maximum size and lf.
-
-2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/std_cmath.h: Declare C99 functions and helper
- functions as inline.
-
-2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
- comment.
-
-2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): New.
- * testsuite/lib/dg-options.exp (dg-require-cxa-atexit): New.
- * testsuite/ext/mt_allocator/deallocate_local-6.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local-8.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: New.
- * docs/html/ext/mt_allocator.html: Add link to examples.
- * testsuite/testsuite_allocator.h: Tweak.
- * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
- * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
- * testsuite/ext/new_allocator/deallocate_global.cc: Same.
- * testsuite/ext/new_allocator/deallocate_local.cc: Same.
-
-2005-08-31 Paolo Carlini <pcarlini@suse.de>
- Kaspar Fischer <fischerk@inf.ethz.ch>
-
- PR libstdc++/23632
- * include/bits/stl_bvector.h (_Bit_iterator::operator[],
- _Bit_const_iterator::operator[]): Const-ify.
- * testsuite/23_containers/vector/bool/23632.cc: New.
-
-2005-08-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23578 (cont)
- * include/bits/stl_bvector.h (class vector<bool>): Add
- a dummy data() to avoid problems in debug-mode.
-
-2005-08-30 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/hash_map/23528.cc: New.
-
-2005-08-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_map.h (class map): ... and a missing @a.
-
-2005-08-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_map.h (class map): Add missing % in comment.
-
-2005-08-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23578 (DR 464 [Ready])
- * include/bits/stl_map.h (class map): Add at(const key_type&)
- member functions.
- * include/bits/stl_vector.h (class vector): Add data() member
- functions.
- * include/debug/map.h (class map): Adjust consistently.
- * include/debug/vector (class vector): Likewise.
- * testsuite/23_containers/map/element_access/1.cc: New.
- * testsuite/23_containers/vector/data_access/1.cc: Likewise.
- * docs/html/ext/howto.html: Add an entry for DR 464.
-
-2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/20534 (contd)
- * src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
- Remove cstdio and cstdlib includes.
- * include/debug/debug.h: Define inline here. Remove
- _GLIBCXX_DEBUG_ABORT.
- * include/debug/macros.h: Remove __fancy_abort declaration,
- _GLIBXX_DEBUG_ABORT definition.
- * config/linker-map.gnu: Remove export.
-
-2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/check_compile (UNIQUE_ID): New. Use to name output files.
-
-2005-08-26 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23081
- * include/tr1/array: Implement members back(), front(), data(),
- and the tuple interface; tidy.
- * testsuite/tr1/6_containers/array/element_access/back.cc: New.
- * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
- * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
- * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
- * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
- Likewise.
- * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
- Likewise.
-
-2005-08-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable: Use __throw_exception_again,
- not naked throw, in the catch clauses.
-
-2005-08-24 Lawrence Lim <llim@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/23550
- * testsuite/21_strings/char_traits/requirements/char/1.cc
- (test01): Simplify counting.
- * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
- (test02): Same.
-
-2005-08-24 Paolo Carlini <pcarlini@suse.de>
- Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/23465
- * include/tr1/hashtable (hash_code_base::m_swap): Use
- std::swap.
- (hashtable<>::hashtable(const hashtable&)): Use copy_code;
- fix m_allocate_node call.
- * testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
-
-2005-08-23 Kelley Cook <kcook@gcc.gnu.org>
-
- PR libstdc++/23462
- * testsuite/data/sgetn.txt: Revert to previous FSF address.
-
-2005-08-23 Thomas Kho <tkho@ucla.edu>
-
- PR libstdc++/23358
- * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
- _ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
-
-2005-08-22 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
- * testsuite/27_io/ios_base/storage/2.cc: Likewise.
-
-2005-08-19 J"orn Rennecke <joern.rennecke@st.com>
-
- * config/cpu/sh/atomicity.h: Replace broken generic code with current
- copy of generic/atomicity.h .
-
-2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * All files: Update FSF address.
-
-2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
- xfail on *-*-darwin*.
-
-2005-08-03 Geoffrey Keating <geoffk@apple.com>
-
- * configure.ac: Don't use GCC_NO_EXECUTABLES or clear
- GLIBCXX_IS_NATIVE on Darwin crosses.
- * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring
- the testsuite just because there's no symbol versioning.
- * configure: Regenerate.
-
- * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print
- status messages.
- (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise.
- (GLIBCXX_CHECK_POLL): Likewise.
- (GLIBCXX_CHECK_WRITEV): Likewise.
- (GLIBCXX_CHECK_INT64_T): Likewise.
- (GLIBCXX_CHECK_LFS): Likewise.
- * configure: Regenerate.
-
-2005-07-30 Andrew Pinski <pinskia@physics.uc.edu>
-
- * scripts/make_exports.pl: Pass --strip-underscores to c++filt.
-
-2005-07-29 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libstdc++/22284
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
- the change to info.ttype_base.
-
-2005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- * include/std/std_valarray.h: Fix grammar in comments.
-
-2005-07-25 Geoffrey Keating <geoffk@apple.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
- and make it the default for Darwin.
- * scripts/make-exports.pl: New.
- * src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
- Handle darwin-export.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2005-07-25 Dave Odell <evilalias@hotmail.com>
-
- PR libstdc++/23053
- * include/tr1/hashtable (hashtable<>::find_node): Const-ify.
- * testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
-
-2005-07-25 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/22515
- * include/bits/basic_string.h: Declare the specialization
- operator>>(basic_istream<char>&, basic_string<char>&).
- * include/std/std_istream.h: Declate the specialization
- operator>>(basic_istream<char>&, char*).
- * include/std/std_streambuf.h (basic_streambuf): Add friend
- declarations for the above.
- * src/istream.cc: Define the above.
- * testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
- Likewise.
- * testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.
-
-2005-07-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/streambuf.tcc (xsgetn, xsputn): Use streamsize
- instead of size_t.
- * src/streambuf.cc (__copy_streambufs): Likewise.
-
-2005-07-18 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/ctype_members.cc (do_is(mask, wchar_t)):
- Speed-up for the common case of mask == ctype_base::space;
- otherwise, exit the loop earlier if the mask is one of the
- elementary ones.
-
-2005-07-14 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21193 (float, double, long double)
- * include/tr1/functional (hash<float>, hash<double>):
- Reimplement exploiting the Fnv_hash<>::hash helper.
- (hash<long double>): Reimplement using frexp (in this
- case, due to random padding bits, the former approach
- is not generally viable).
-
-2005-07-13 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21193 (string & wstring)
- * include/tr1/functional (hash<string>, hash<wstring>):
- Reimplement using the FNV hash.
-
- * include/tr1/functional: Trivial formatting fixes.
-
-2005-07-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/ostream.tcc (basic_ostream<>::operator<<(long),
- basic_ostream<>::operator<<(long long)): Don't deal with oct
- and hex and casts to unsigned here...
- * include/bits/locale_facets.tcc (__int_to_char(_CharT*, long,
- const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long
- long, const _CharT*, ios_base::fmtflags)): ... do that here,
- instead, as per Table 57.
- (num_put<>::_M_insert_int): Tidy treatment of numeric base and
- sign.
- * include/std/std_ostream.h (operator<<(short), operator<<(int)):
- Adjust logic, as per the letter of the resolution of DR117 [WP].
- * testsuite/22_locale/num_put/put/char/10.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
- Likewise.
-
-2005-07-07 David Edelsohn <edelsohn@gnu.org>
-
- * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc:
- Change map_t to map_type.
-
-2005-07-05 Paolo Carlini <pcarlini@suse.de>
-
- Add class __versa_string, a versatile "basic_string-type" class:
- an additional, non-standard, template parameter allows to specify
- the preferred base class. Two are provided: __rc_string_base,
- which implements a behavior very similar to our standard string,
- and __sso_string_base, not reference-counted and optimized for
- short strings.
- * include/ext/rc_string_base.h: New.
- * include/ext/sso_string_base.h: Likewise.
- * include/ext/vstring.h: Likewise.
- * include/ext/vstring.tcc: Likewise.
- * include/ext/vstring_fwd.h: Likewise.
- * include/ext/vstring_util.h: Likewise.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * testsuite/ext/vstring/explicit_instantiation/1.cc: New.
- * testsuite/ext/vstring/explicit_instantiation/2.cc: Likewise.
- * testsuite/ext/vstring/explicit_instantiation/char/1.cc: Likewise.
- * testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc: Likewise.
-
- * Makefile.in: Regenerate with autotools 1.9.3 (to date, the version
- officially used by v3).
- * aclocal.m4: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-07-01 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2004-10-28 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/17441
- * include/bit/stl_algo.h (find(,,,input_iterator_tag),
- find(,,,random_access_interator_tag),
- find_if(,,,input_iterator_tag),
- find_if(,,,random_access_iterator_tag)): Uglify function name.
- (find, find_if): Use new uglified specialisation names.
- * testsuite/25_algorithms/find/17441.cc: New.
-
-2005-06-30 Ulrich Weigand <uweigand@de.ibm.com>
-
- * include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
- (PB_ASSOC_CLASS_C_DEC::s_highest_bit_1): Cast constant 1 to target
- type before shifting.
-
-2005-06-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21244 (cont^2)
- * include/ext/bitmap_allocator.h: Convert everywhere
- bits_per_block to size_t.
-
-2005-06-29 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/basic_string.h, include/bits/locale_facets.h: Fix
- Doxygen comments that use wrong parameter and function names.
-
-2005-06-29 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 37.
- * docs/html/ext/howto.html: Adjust.
-
-2005-06-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/22131
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
- num_get<>::_M_extract_float, money_get<>::_M_extract):
- Adjust to assign the result also when digit grouping is
- wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
- (NB: consistently for money_get too).
- * config/locale/generic/c_locale.cc (__convert_to_v): Do
- not check ios_base::failbit at the outset.
- * config/locale/gnu/c_locale.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/22131.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/12.cc: Adjust.
- * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
- Likewise.
-
-2005-06-28 Paul Brook <paul@codesourcery.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
- __cxa_end_cleanup.
- * libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
- * libsupc++/eh_arm.cc: New file.
- * libsupc++/eh_call.cc: New file.
- * libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
- __gxx_caught_object.
- (__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
- _Unwind_Complete when using the ARM EABI.
- (__cxa_end_catch): Use __is_gxx_exception_class.
- * libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
- using the ARM EABI.
- (save_caught_exception, restore_caught_exception): New functions.
- (_throw_typet): New typedef.
- (get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
- EABI implementations.
- (PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI
- unwinding libary.
- (__cxa_unexpected): Disable when using the ARM EABI.
- * libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
- (__cxa_rethrow): Use __is_gxx_exception_class. Call
- _Unwind_RaiseException when using the ARM EABI.
- * libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
- EABI semantics.
- (struct __cxa_eh_globals): Ditto.
- (__cxa_call_terminate): Add prototype.
- (__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
- prototypes.
- (__get_exception_header_from_obj, __get_exception_header_from_ue):
- Move earlier in file.
- (__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
- __gxx_caught_object): New functions.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * src/Makefie.in: Regenerate.
- * testsuite/makefile.in: Regenerate.
-
-2005-06-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/22102
- * include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
- insert_equal((iterator, const _Val&)): Reimplement to check both
- before and after, as per the algorithm "ignore hint if wrong" of
- ISO paper N1780.
-
-2005-06-27 Benjamin Kosnik <bkoz@redhat.com>
- Ami Tavory <pbassoc@gmail.com>
-
- * docs/html/documentation.html: Add link for policy based
- associative containers docs.
- * docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
- * docs/html/ext/pb_assoc/acks.html: New.
- * docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
- * docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
- * docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
- * docs/html/ext/pb_assoc/basic_ds_tag.html: New.
- * docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
- * docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
- * docs/html/ext/pb_assoc/basic_ms_tag.html: New.
- * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/
- basic_tree_assoc_cntnr_const_node_iterator.html: New.
- * docs/html/ext/pb_assoc/
- basic_tree_assoc_cntnr_node_iterator.html: New.
- * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
- * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
- * docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
- * docs/html/ext/pb_assoc/
- cc_hash_max_collision_check_resize_trigger.html: New.
- * docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/cd.jpg: New.
- * docs/html/ext/pb_assoc/component_requirements.html: New.
- * docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
- * docs/html/ext/pb_assoc/compound_data_type.html: New.
- * docs/html/ext/pb_assoc/compound_ds_tag.html: New.
- * docs/html/ext/pb_assoc/concepts.html: New.
- * docs/html/ext/pb_assoc/contact.html: New.
- * docs/html/ext/pb_assoc/counter_update_metadata.html: New.
- * docs/html/ext/pb_assoc/counter_update_policy.html: New.
- * docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
- * docs/html/ext/pb_assoc/design.html: New.
- * docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
- * docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
- * docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
- * docs/html/ext/pb_assoc/disclaimer.html: New.
- * docs/html/ext/pb_assoc/ds_gen.html: New.
- * docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
- * docs/html/ext/pb_assoc/ds_traits.html: New.
- * docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
- * docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
- * docs/html/ext/pb_assoc/examples.html: New.
- * docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
- * docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
- * docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
- * docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
- * docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
- * docs/html/ext/pb_assoc/generics.html: New.
- * docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
- * docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
- * docs/html/ext/pb_assoc/hash_based_containers.html: New.
- * docs/html/ext/pb_assoc/hash_cd.jpg: New.
- * docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
- * docs/html/ext/pb_assoc/hash_fn.html: New.
- * docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
- * docs/html/ext/pb_assoc/hash_policies.html: New.
- * docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
- * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
- * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
- * docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
- * docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
- * docs/html/ext/pb_assoc/home.html: New.
- * docs/html/ext/pb_assoc/index.html: New.
- * docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
- * docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
- * docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
- * docs/html/ext/pb_assoc/insert_type_methods.html: New.
- * docs/html/ext/pb_assoc/interface.html: New.
- * docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/introduction.html: New.
- * docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
- * docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
- * docs/html/ext/pb_assoc/lib_download.html: New.
- * docs/html/ext/pb_assoc/linear_probe_fn.html: New.
- * docs/html/ext/pb_assoc/list_updates.html: New.
- * docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/lu_based_containers.html: New.
- * docs/html/ext/pb_assoc/lu_cd.jpg: New.
- * docs/html/ext/pb_assoc/lu_ds_tag.html: New.
- * docs/html/ext/pb_assoc/lu_ops.jpg: New.
- * docs/html/ext/pb_assoc/mmap_value_utils.html: New.
- * docs/html/ext/pb_assoc/motivation.html: New.
- * docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
- * docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
- * docs/html/ext/pb_assoc/ms_cd.jpg: New.
- * docs/html/ext/pb_assoc/ms_gen.html: New.
- * docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
- * docs/html/ext/pb_assoc/ms_traits.html: New.
- * docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
- * docs/html/ext/pb_assoc/node_invariants.html: New.
- * docs/html/ext/pb_assoc/node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/non_unique_mapping.html: New.
- * docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
- * docs/html/ext/pb_assoc/null_data_type.html: New.
- * docs/html/ext/pb_assoc/null_hash_fn.html: New.
- * docs/html/ext/pb_assoc/null_probe_fn.html: New.
- * docs/html/ext/pb_assoc/order_by_key.html: New.
- * docs/html/ext/pb_assoc/order_statistics_key.html: New.
- * docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
- * docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
- * docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/overview.html: New.
- * docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
- * docs/html/ext/pb_assoc/portability.html: New.
- * docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
- * docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
- * docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
- * docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/reference_iterator.jpg: New.
- * docs/html/ext/pb_assoc/references.html: New.
- * docs/html/ext/pb_assoc/regression_tests.html: New.
- * docs/html/ext/pb_assoc/resize_general.html: New.
- * docs/html/ext/pb_assoc/resize_policies.html: New.
- * docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
- * docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
- * docs/html/ext/pb_assoc/sample_probe_fn.html: New.
- * docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
- * docs/html/ext/pb_assoc/sample_range_hashing.html: New.
- * docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
- * docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
- * docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
- * docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
- * docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
- * docs/html/ext/pb_assoc/sample_resize_policy.html: New.
- * docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
- * docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
- * docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
- * docs/html/ext/pb_assoc/size_policies_general.html: New.
- * docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/timing_tests.html: New.
- * docs/html/ext/pb_assoc/toc.html: New.
- * docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/
- tree_assoc_cntnr_const_node_iterator.html: New.
- * docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
- * docs/html/ext/pb_assoc/tree_based_containers.html: New.
- * docs/html/ext/pb_assoc/tree_cd.jpg: New.
- * docs/html/ext/pb_assoc/trigger_policies_general.html: New.
- * docs/html/ext/pb_assoc/tutorial.html: New.
- * docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
- * include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
- assoc_headers.
- * include/Makefile.in: Regenerate.
- * include/ext/typelist.h: New.
- * include/ext/pb_assoc/assoc_cntnr.hpp: New.
- * include/ext/pb_assoc/data_type.hpp: New.
- * include/ext/pb_assoc/ds_trait.hpp: New.
- * include/ext/pb_assoc/exception.hpp: New.
- * include/ext/pb_assoc/hash_policy.hpp: New.
- * include/ext/pb_assoc/lu_policy.hpp: New.
- * include/ext/pb_assoc/ms_trait.hpp: New.
- * include/ext/pb_assoc/tree_policy.hpp: New.
- * include/ext/pb_assoc/trivial_iterator_def.hpp: New.
- * include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
- * include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
- * include/ext/pb_assoc/detail/map_debug_base.hpp: New.
- * include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
- * include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
- * include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
- * include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
- * include/ext/pb_assoc/detail/standard_policies.hpp: New.
- * include/ext/pb_assoc/detail/standard_sizes.hpp: New.
- * include/ext/pb_assoc/detail/type_utils.hpp: New.
- * include/ext/pb_assoc/detail/typelist.hpp: New.
- * include/ext/pb_assoc/detail/types_traits.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- d_find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- d_insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
- resize_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- node_iteration_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- r_erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- r_range_iteration_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- range_iteration_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- bin_search_tree_.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- cond_dtor_entry_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- cond_key_dtor_entry_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- r_erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- cond_key_dtor_entry_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- constructor_destructor_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- debug_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- debug_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- erase_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- erase_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- find_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- find_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- insert_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- insert_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- resize_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- resize_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
- * include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
- * include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
- * include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- constructor_destructor_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- debug_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- debug_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- erase_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- erase_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- find_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- find_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- insert_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- insert_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- resize_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- resize_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/
- direct_mask_range_hashing_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/
- direct_mod_range_hashing_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/
- mask_based_range_hashing.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
- * include/ext/pb_assoc/detail/lu_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_assoc_cntnr/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_policy/
- counter_lu_metadata_imp.hpp: New.
- * include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- cc_hash_max_collision_resize_trigger_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_exponential_size_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_load_check_resize_trigger_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_prime_size_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_standard_resize_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- ht_prime_size_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/tree_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/tree_policy/
- null_node_updator_imp.hpp: New.
- * include/ext/pb_assoc/detail/tree_policy/
- order_statistics_imp.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
- * include/ext/pb_assoc/detail/typelist/
- typelist_typelist_append.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/
- const_find_iterator.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/
- const_iterator.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/
- find_iterator.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- constructor_destructor_and_related.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- erase_if_pred.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- invalidation_guarantee_selector.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- it_value_type_traits.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- iterator_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- value_type_adapter.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- value_type_traits.hpp: New.
- * testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/testsuite_common_types.h: New.
- * testsuite/testsuite_visualization.h: New.
- * testsuite/ext/pb_assoc/example/basic_map.cc: New.
- * testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
- * testsuite/ext/pb_assoc/example/basic_set.cc: New.
- * testsuite/ext/pb_assoc/example/ds_traits.cc: New.
- * testsuite/ext/pb_assoc/example/erase_if.cc: New.
- * testsuite/ext/pb_assoc/example/extract_key.cc: New.
- * testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
- * testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
- * testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
- * testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
- * testsuite/ext/pb_assoc/example/hash_mod.cc: New.
- * testsuite/ext/pb_assoc/example/hash_resize.cc: New.
- * testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
- * testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
- * testsuite/ext/pb_assoc/example/mapping_level.cc: New.
- * testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
- * testsuite/ext/pb_assoc/example/ms_traits.cc: New.
- * testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
- * testsuite/ext/pb_assoc/example/store_hash.cc: New.
- * testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
- * testsuite/ext/pb_assoc/example/tree_join.cc: New.
- * testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
- * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
- * testsuite/ext/pb_assoc/example/tree_split.cc: New.
- * testsuite/performance/20_util/allocator/(insert.cc,
- insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
- producer_consumer.cc): Recast to use typelists and move to...
- * testsuite/performance/23_containers/find/map.cc: New.
- * testsuite/performance/23_containers/index/map.cc: New.
- * testsuite/performance/23_containers/insert/associative.cc: New.
- * testsuite/performance/23_containers/insert/sequence.cc: New.
- * testsuite/performance/23_containers/insert_erase/associative.cc: New.
- * testsuite/performance/23_containers/producer_consumer/
- (associative.cc, sequence.cc): New.
- * testsuite/performance/23_containers/sort_search/list.cc: New.
- * testsuite/performance/23_containers/container_benchmark.cc: Remove.
- * testsuite/performance/23_containers/map_create_fill.cc: Move...
- * testsuite/performance/23_containers/create/map.cc: ...here.
- * testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
- * testsuite/performance/23_containers/create_from_sorted/set.cc: here.
- * testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
- * testsuite/performance/23_containers/create_sort/list.cc: ...here.
- * testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
- * testsuite/performance/23_containers/insert_from_sorted/set.cc: here.
-
-2005-06-23 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/22109
- * src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
- (istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
- _M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
- _M_set_length_and_sharable, ignore, eq): Define to XX suffixed
- variants.
- (ignore (streamsize)): Remove _W prefixed aliases.
- (_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
- _GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
- (_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
- Use #XXname instead of #name as the alias argument.
- * config/abi/compatibility.h: Replace uses of
- _GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER. Always
- pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
- * include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
- change.
- * acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
- * configure: Rebuilt.
-
-2005-06-19 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/22111
- * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
- GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
- Don't enable abi testing unless versioned.
- * configure: Regenerate.
- * testsuite/Makefile.am (check-abi): Remove conditional.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/libstdc++-abi/abi.exp: Call build_support, then check
- v3-symver before proceeding.
- * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
- if _GLIBCXX_SYMVER.
-
-2005-06-17 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2005-01-12 Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_function.h (mem_fun_t, const_mem_fun_t,
- mem_fun_ref_t, const_mem_fun_ref_t, mem_fun1_t, const_mem_fun1_t,
- mem_fun1_ref_t, const_mem_fun1_ref_t): Remove overloads for void
- return type, just an old HP/SGI workaround.
- * testsuite/20_util/functional/binders.cc: Move to...
- * testsuite/20_util/functional/binders/3113.cc: ...here.
- * testsuite/20_util/functional/binders/1.cc: New.
-
-2005-06-17 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/21_strings/gotw29a.txt: Update code to corrected version.
-
-2005-06-17 Jakub Jelinek <jakub@redhat.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/hppa-linux-gnu/baseline_symbols.txt: Same.
- * config/abi/mips-linux-gnu/baseline_symbols.txt: Same.
- * config/abi/sparc-linux-gnu/baseline_symbols.txt: Same.
-
- * config/abi/alpha-freebsd5/baseline_symbols.txt: Remove.
- * config/abi/i386-freebsd4/baseline_symbols.txt: Same.
- * config/abi/i386-freebsd5/baseline_symbols.txt: Same.
- * config/abi/sparc-freebsd5/baseline_symbols.txt: Same.
-
- * config/abi/arm-linux-gnu/baseline_symbols.txt: Remove.
- * config/abi/m68k-linux-gnu/baseline_symbols.txt: Same.
-
-2005-06-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/s390x-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/s390-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
- * config/abi/powerpc-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/i486-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/i386-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/powerpc64-linux-gnu/baseline_symbols.txt: New file.
- * config/abi/powerpc64-linux-gnu/32/baseline_symbols.txt: New file.
-
-2005-06-16 Jakub Jelinek <jakub@redhat.com>
-
- * src/compatibility.cc: Include bits/c++config.h first.
- (_GLIBCXX_SYMVER_COMPATIBILITY): Define if _GLIBCXX_SYMVER
- and PIC are both defined.
- * include/bits/char_traits.h (char_traits::eq): Rename
- only if _GLIBCXX_SYMVER_COMPATIBILITY is defined.
-
-2005-06-16 Jakub Jelinek <jakub@redhat.com>
-
- * acinclude.m4 ((GLIBCXX_ENABLE_SYMVERS): Rename _GLIBCXX_SIZE_T_IS_INT
- to _GLIBCXX_SIZE_T_IS_UINT. Define _GLIBCXX_PTRDIFF_T_IS_INT.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * src/compatibility.cc (istream:ignore(streamsize)): Use
- _GLIBCXX_PTRDIFF_T_IS_INT instead of _GLIBCXX_SIZE_T_IS_INT.
- * config/abi/compatibility.h: Rename _GLIBCXX_SIZE_T_IS_INT
- to _GLIBCXX_SIZE_T_IS_UINT. Use _GLIBCXX_PTRDIFF_T_IS_INT
- instead for symbols with streamsize arguments.
-
-2005-06-16 Jakub Jelinek <jakub@redhat.com>
-
- * config/linker-map.gnu: Also export
- _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].
-
-2005-06-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (libtool_VERSION): To 6:6:0.
- * configure: Regenerate.
- * config/linker-map.gnu: Edit.
- * src/istream.cc: Move istream::ignore(streamsize) specializations...
- * src/compatibility.cc: ...here. New.
- * include/bits/char_traits.h (char_traits::eq): Rename when
- appropriate.
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_SIZE_T_IS_INT.
- Bump glibcxx_min_gnu_ld_version to 21590.
- * configure: Regenerate.
- * acconfig.h: Remove _GLIBCXX_ASM_SYMVER.
- * config.h.in: Regenerate.
- * src/Makefile.am (sources): Add compatibility.cc.
- * src/Makefile.in: Regenerate.
- * include/Makefile.am (host_headers_noinst): Add compatibility.h.
- * include/Makefile.in: Regenerate.
- * testsuite/testsuite_abi.h (symbol): Add data members.
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5,
- GLIBCXX_3.4.6. Remove deprecated versions. Do a better job
- version checking.
-
-2005-06-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable: Trivial formatting fixes.
- * include/tr1/unordered_map: Likewise.
- * include/tr1/unordered_set: Likewise.
-
-2005-06-14 Tom Tromey <tromey@redhat.com>
-
- PR libgcj/19877:
- * configure, aclocal.m4: Rebuilt.
- * Makefile.in, include/Makefile.in, libmath/Makefile.in,
- libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
- testsuite/Makefile.in: Likewise.
-
-2005-06-08 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21955
- * include/std/std_sstream.h (basic_stringbuf::showmanyc): Add.
- Remove unnecessary this->_M_mode decoration.
- * include/bits/fstream.tcc: Adjust line spacing.
- * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: New, test
- base class behavior.
- * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: New.
- * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Match
- filebuf behavior.
- * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/str/char/1.cc: Same.
- * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Move...
- * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: ...here.
-
-2005-06-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_C99): Use C++ compiler for complex
- tests.
- * configure: Regenerated.
-
-2005-06-07 Adrian Straetling <straetling@de.ibm.com>
-
- * config/cpu/s390/atomicity.h: (__exchange_and_add,
- __atomic_add): Use the builtins for atomic memory operations.
-
-2005-06-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21770 (cont: __gnu_debug::string)
- * include/debug/string: Use _Base typedefs for pointer, const_pointer,
- reference, const_reference, size_type, difference_type.
- * testsuite/21_strings/basic_string/2.cc: New.
-
-2005-06-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21770 (cont: debug-mode)
- * include/debug/deque: Use _Base typedefs for pointer, const_pointer,
- reference, const_reference.
- * include/debug/list: Likewise.
- * include/debug/map.h: Likewise.
- * include/debug/multimap.h: Likewise.
- * include/debug/multiset.h: Likewise.
- * include/debug/set.h: Likewise.
- * include/debug/vector: Likewise.
-
-2005-06-06 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2004-09-24 Paolo Carlini <pcarlini@suse.de>
- Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/stl_list.h (list::list(size_type, value_type,
- const allocator_type&): Implement according to the letter of the
- standard, i.e., don't use two overloads, not equivalent in case
- of non default constructible T.
- (list::resize(size_type, const value_type&)): Fix the signature:
- according to the standard the second argument is by value; also,
- don't use two overloads.
- * include/bits/list.tcc (list::resize(size_type, const value_type&)):
- Adjust consistently the signature.
- * include/bits/stl_deque.h (deque::deque(size_type, value_type,
- const allocator_type&)): Likewise.
- (deque::resize(size_type, const value_type&)): Likewise.
- * include/bits/stl_vector.h (vector::vector(size_type, value_type,
- const allocator_type&)): Likewise.
- (vector::resize(size_type, const value_type&)): Likewise.
- * testsuite/testsuite_hooks.h: Add NonDefaultConstructible test type.
- * testsuite/23_containers/deque/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/list/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/map/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/multimap/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/multiset/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/set/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/vector/explicit_instantiation/2.cc: New.
-
- * include/bits/deque.tcc: Minor formatting fix.
-
-2005-06-06 Peter Doerfler <doerfler@techinfo.rwth-aachen.de>
-
- * include/bits/stl_function.h: ... and another one.
-
-2005-06-06 Peter Doerfler <doerfler@techinfo.rwth-aachen.de>
-
- * include/bits/stl_function.h: Fix typo in comment.
-
-2005-06-05 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Check clog, clogf, clogl
- too for ac_c99_complex.
- * configure: Regenerate.
-
-2005-06-03 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21770
- * include/bits/stl_deque.h: Add concept-check. In class _Deque_base
- rebind _Alloc to _Tp_alloc_type, change _Deque_impl to inherit from
- the latter and add _M_get_Tp_allocator() which returns it. Use
- everywhere _M_get_Tp_allocator() instead of get_allocator().
- * include/bits/deque.tcc: Likewise, use _M_get_Tp_allocator().
- * include/bits/stl_list.h: Add concept-check. In class _List_base
- rebind _Alloc to _Tp_alloc_type and add _M_get_Tp_allocator(), which
- returns the allocator (of type _Node_alloc_type) converted to
- _Tp_alloc_type. Use everywhere _M_get_Tp_allocator() instead of
- get_allocator().
- * include/bits/list.tcc: Likewise, use _M_get_Tp_allocator().
- * include/bits/stl_vector.h: Add concept-check. In class _Vector_base
- rebind _Alloc to _Tp_alloc_type, change _Vector_impl to inherit from
- the latter and add _M_get_Tp_allocator() which returns it. Use
- everywhere _M_get_Tp_allocator() instead of get_allocator().
- * include/bits/vector.tcc: Likewise, use _M_get_Tp_allocator().
- * include/bits/stl_map.h: Add concept-check. Rebind _Alloc to
- _Pair_alloc_type and use it for _Rb_tree.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Add concept-check. Rebind _Alloc to
- _Key_alloc_type and use it for _Rb_tree.
- * include/bits/stl_set.h: Likewise.
- * include/bits/basic_string.h: Rebind _Alloc to _CharT_alloc_type and
- use it for the allocator typedefs.
- * testsuite/21_strings/basic_string/1.cc: New.
- * testsuite/23_containers/deque/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/deque/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/deque/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/list/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/list/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/list/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/map/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/map/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/map/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/multimap/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/multimap/explicit_instantiation/1.cc: .. here.
- * testsuite/23_containers/multimap/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/multiset/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/multiset/explicit_instantiation/1.cc: .. here.
- * testsuite/23_containers/multiset/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/set/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/set/explicit_instantiation/1.cc: .. here.
- * testsuite/23_containers/set/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/vector/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/vector/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/vector/explicit_instantiation/3.cc: New.
-
-2005-06-02 Nathan Sidwell <nathan@codesourcery.com>
-
- PR c++/21280
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust expected errors.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
-
-2005-05-31 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20534 (contd)
- * include/debug/macros.h: Add _GLIBCXX_DEBUG_ABORT, using
- __gnu_debug::__fancy_abort.
- * src/debug.cc: Define the latter.
- * include/debug/debug.h: Use _GLIBCXX_DEBUG_ABORT instead of
- assert.
- * config/linker-map.gnu (__gnu_debug::__fancy_abort): Add.
-
-2005-05-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_complex.h (log(const complex<_Tp>&)): When
- _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.
-
-2005-05-28 Paolo Carlini <pcarlini@suse.de>
-
- Revert:
- 2005-05-18 Paolo Carlini <pcarlini@suse.de>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/19495
- * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
- size_type instead of char and rename to _Raw_alloc.
- * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
- Use the above.
- * src/bitmap_allocator.cc: Add instantiation for size_type.
- * src/mt_allocator.cc: Likewise.
- * src/pool_allocator.cc: Likewise.
- * include/ext/array_allocator.h: Tweak slightly, avoid assuming
- the existence of an _Array::begin() and size() members.
- * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
- of size_type, instead of char, thus avoiding problems with
- rebinds, not treated correctly by array_allocator.
-
-2005-05-27 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/abi.html: Mention 3.4.0 as the current baseline; add
- a notice about the configure options.
-
-2005-05-27 Mark Mitchell <mark@codesourcery.com>
-
- * docs/html/test.html: Mention PCH_CXXFLAGS.
- * testsuite/lib/libstdc++.exp: Set PCH_CXXFLAGS by probing for an
- available stcd++.h PCH.
- * testsuite/libstdc++-dg/normal.exp: Use PCH_CXXFLAGS.
-
-2005-05-27 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * src/misc-inst.cc: Remove unnecessary included files.
-
-2005-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21674
- * include/bits/c++config: Remove extern template use when in debug
- mode, disable for non-weak systems.
-
-2005-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/20534
- * include/debug/debug.h: Forwarding header, that pulls in details
- only if in debug mode.
- * include/debug/macros.h: ...transfer all the internal macros here.
- * include/debug/functions.h: ...transfer all the functions here.
- * include/debug/safe_iterator.h: Add functions.h, macros.h includes.
- * include/debug/safe_sequence.h: Same.
- * include/debug/vector: Tweak.
- * include/Makefile.am (debug_headers): Add new includes.
- * include/Makefile.in: Regenerate.
- * testsuite/17_intro/no_assert_neg.cc: Add.
-
- * include/ext/hash_set: Add debug mode include.
- * include/ext/hash_map: Same.
- * include/debug/hash_map: Fix included files to match actual files.
- * include/debug/hash_set: Same.
-
-2005-05-26 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/13943
- * include/c_std/std_cstdlib.h: Do not open code llabs and lldiv,
- available when _GLIBCXX_USE_C99 is defined.
- * testsuite/26_numerics/cstdlib/13943.cc: New.
-
- * acinclude.m4 ([GLIBCXX_ENABLE_C99]): For completeness, check
- also strtoll and strtoull for ac_c99_stdlib.
- * configure: Regenerate.
-
-2005-05-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Add linkage support for no extern templates.
- (std::ios_base::_M_call_callbacks): Add.
- (std::ios_base::_M_dispose_callbacks): Add.
- (std::locale::facet::_S_get_c_name): Add.
- (std::__copy_streambufs): Add.
- * configure.ac (libtool_VERSION): To 6:5:0.
- * configure: Regenerate.
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5.
-
-2005-05-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_Rep::_M_set_length_and_sharable):
- Use, consistently, traits_type::assign.
-
-2005-05-25 Paolo Carlini <pcarlini@suse.de>
-
- * config/cpu/alpha/atomicity.h: Use the builtins for
- atomic memory operations.
- * config/cpu/powerpc/atomicity.h: Likewise.
- * config/cpu/ia64/atomicity.h: Do not include ia64intrin.h.
-
-2005-05-24 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/25_algorithms/equal.cc: Move to...
- * testsuite/25_algorithms/equal: ... here.
- * testsuite/25_algorithms/lower_bound.cc: Move to...
- * testsuite/25_algorithms/lower_bound: ... here.
-
-2005-05-24 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2005-20-05 Chris Jefferson <chris@bubblescope.net>
-
- * testsuite/25_algorithms/heap.cc: Move to...
- * testsuite/25_algorithms/heap/heap.cc: ...here.
- * testsuite/25_algorithms/partition.cc: Move to...
- * testsuite/25_algorithms/partition/partition.cc: ...here.
-
- 2005-03-29 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/25_algorithms/includes/1.cc: Add tests.
- * testsuite/25_algorithms/search/1.cc: Likewise.
- * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
- * testsuite/25_algorithms/swap_ranges/1.cc: New.
- * testsuite/25_algorithms/swap_ranges/check_type.cc: New.
- * testsuite/25_algorithms/rotate.cc: Move to...
- * testsuite/25_algorithms/rotate/rotate.cc: ... here.
- * testsuite/25_algorithms/rotate/1.cc: New.
- * testsuite/25_algorithms/rotate/check_type.cc: New.
- * testsuite/25_algorithms/search_n/iterator.cc: Fix typo.
-
- 2005-03-14 Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algo.h (replace_copy, replace_copy_if):
- Don't assume that __new_value and *__first are convertible to
- each other.
-
- * testsuite/25_algorithms/find/1.cc: New.
- * testsuite/25_algorithms/find/check_type.cc: New.
- * testsuite/25_algorithms/find_if/1.cc: New.
- * testsuite/25_algorithms/find_if/check_type.cc: New.
- * testsuite/25_algorithms/replace/1.cc: New.
- * testsuite/25_algorithms/replace/check_type.cc: New.
- * testsuite/25_algorithms/replace_if/1.cc: New.
- * testsuite/25_algorithms/replace_if/check_type.cc: New.
- * testsuite/25_algorithms/replace_copy/1.cc: New.
- * testsuite/25_algorithms/replace_copy/check_type.cc: New.
- * testsuite/25_algorithms/replace_copy_if/1.cc: New.
- * testsuite/25_algorithms/replace_copy_if/check_type.cc: New.
- * testsuite/25_algorithms/remove/1.cc: New.
- * testsuite/25_algorithms/remove/check_type.cc: New.
- * testsuite/25_algorithms/remove_if/1.cc: New.
- * testsuite/25_algorithms/remove_if/check_type.cc: New.
- * testsuite/25_algorithms/count/1.cc: New.
- * testsuite/25_algorithms/count/check_type.cc: New.
- * testsuite/25_algorithms/count_if/1.cc: New.
- * testsuite/25_algorithms/count_if/check_type.cc: New.
-
- 2005-02-27 Christopher Jefferson <chris@bubblescope.net>
- Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/is_heap/check_type.cc: New.
-
- 2005-02-27 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/is_heap/1.cc: New.
-
- 2005-02-01 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/ext/median.cc: New.
- * testsuite/25_algorithms/adjacent_find/1.cc: New.
- * testsuite/25_algorithms/adjacent_find/check_type.cc: New.
- * testsuite/25_algorithms/search/1.cc: New.
- * testsuite/25_algorithms/search/check_type.cc: New.
- * testsuite/25_algorithms/unique_copy/1.cc: New.
- * testsuite/25_algorithms/unique_copy/check_type.cc: New.
- * testsuite/25_algorithms/partial_sort/1.cc: New.
- * testsuite/25_algorithms/partial_sort/check_type.cc: New.
- * testsuite/25_algorithms/partial_sort_copy/1.cc: New.
- * testsuite/25_algorithms/partial_sort_copy/check_type.cc: New.
- * testsuite/25_algorithms/lower_bound/1.cc: New.
- * testsuite/25_algorithms/lower_bound/check_type.cc: New.
- * testsuite/25_algorithms/upper_bound/1.cc: New.
- * testsuite/25_algorithms/upper_bound/check_type.cc: New.
- * testsuite/25_algorithms/merge/1.cc: New.
- * testsuite/25_algorithms/merge/check_type.cc: New.
- * testsuite/25_algorithms/inplace_merge/1.cc: New.
- * testsuite/25_algorithms/inplace_merge/check_type.cc: New.
- * testsuite/25_algorithms/stable_sort/1.cc: New.
- * testsuite/25_algorithms/stable_sort/check_type.cc: New.
- * testsuite/25_algorithms/nth_element/1.cc: New.
- * testsuite/25_algorithms/nth_element/check_type.cc: New.
- * testsuite/25_algorithms/equal_range/1.cc: New.
- * testsuite/25_algorithms/equal_range/check_type.cc: New.
- * testsuite/25_algorithms/binary_search/1.cc: New.
- * testsuite/25_algorithms/binary_search/check_type.cc: New.
- * testsuite/25_algorithms/includes/1.cc: New.
- * testsuite/25_algorithms/includes/check_type.cc: New.
- * testsuite/25_algorithms/set_union/1.cc: New.
- * testsuite/25_algorithms/set_union/check_type.cc: New.
- * testsuite/25_algorithms/set_intersection/1.cc: New.
- * testsuite/25_algorithms/set_intersection/check_type.cc: New.
- * testsuite/25_algorithms/set_difference/1.cc: New.
- * testsuite/25_algorithms/set_difference/check_type.cc: New.
- * testsuite/25_algorithms/set_symmetric_difference/1.cc: New.
- * testsuite/25_algorithms/set_symmetric_difference/check_type.cc: New.
- * testsuite/25_algorithms/min_element/1.cc: New.
- * testsuite/25_algorithms/min_element/check_type.cc: New.
- * testsuite/25_algorithms/max_element/1.cc: New.
- * testsuite/25_algorithms/max_element/check_type.cc: New.
- * testsuite/25_algorithms/prev_permutation/1.cc: New.
- * testsuite/25_algorithms/prev_permutation/check_type.cc: New.
- * testsuite/25_algorithms/next_permutation/1.cc: New.
- * testsuite/25_algorithms/next_permutation/check_type.cc: New.
- * testsuite/25_algorithms/find_first_of/1.cc: New.
- * testsuite/25_algorithms/find_first_of/check_type.cc: New.
- * testsuite/25_algorithms/find_end/1.cc: New.
- * testsuite/25_algorithms/find_end/check_type.cc: New.
- * testsuite/25_algorithms/equal/check_type.cc: Insert iterator type.
- * testsuite/25_algorithms/lexicographical_compare/check_type.cc:
- Likewise.
-
- 2005-01-10 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/25_algorithms/lexicographical_compare/check_type.cc: New.
- * testsuite/25_algorithms/lexicographical_compare/1.cc: Likewise.
- * testsuite/25_algorithms/mismatch/check_type.cc: Likewise.
- * testsuite/25_algorithms/mismatch/1.cc: Likewise.
- * testsuite/25_algorithms/equal/check_type.cc: New.
- * testsuite/25_algorithms/equal/1.cc: New.
-
-2005-05-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/allocator.h: Change ___glibcxx_base_allocator to
- __glibcxx_base_allocator.
- * config/allocator/bitmap_allocator_base.h: Same.
- * config/allocator/malloc_allocator_base.h: Same.
- * config/allocator/mt_allocator_base.h: Same.
- * config/allocator/new_allocator_base.h: Same.
- * config/allocator/pool_allocator_base.h: Same.
-
-2005-05-24 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/debug/string (class basic_string): Add missing
- default template arguments; provide typedefs for char
- and wchar_t.
- (operator[]): Allow s[s.size()] in debug mode, but not
- pedantic mode.
-
-2005-05-24 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2005-04-25 Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algo.h (count): Correct concept checks.
- (search_n) : Likewise.
- * testsuite/25_algorithms/search_n/check_type.cc: New.
-
- * testsuite/testsuite_iterators.h
- (random_access_iterator_wrapper::operator+): Move out of
- class to external function, and add symmetric version.
-
- 2005-03-14 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/testsuite_iterators.h (WritableObject::WritableObject):
- Add const.
-
- 2005-02-01 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/testsuite_iterators.h (random_access_iterator_wrapper::
- operator--): Fix typo.
- (OutputContainer::OutputContainer): Correct zeroing array.
- (WritableObject::operator==): Fix typo.
- (WritableObject::operator=): make operator= templated
- to allow differing types to be assigned.
- (WritableObject::operator++): Fix checking if iterator is
- written to multiple times.
- (random_access_iterator_wrapper::operator+): Add const.
- (random_access_iterator_wrapper::operator-): Likewise.
- (random_access_iterator_wrapper::operator[]): Add dereference.
-
-2005-05-23 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/debug.html: Explain that _GLIBXX_DEBUG_PEDANTIC
- had to be defined for pedantic mode in 3.4 and 4.0.0.
-
-2005-05-20 Jan Beulich <jbeulich@novell.com>
-
- * libmath/stubs.c: Also implement fabsf/fabsl if not present in the
- system libraries.
-
-2005-05-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (__rotate<_RandomAccessIterator>):
- Don't qualify __tmp as const, _ValueType is not necessarily
- Assignable.
- * include/bits/stl_algobase.h (swap, __iter_swap<false>):
- Likewise, as an harmless extension.
-
-2005-05-19 Richard Henderson <rth@redhat.com>
-
- * libsupc++/unwind-cxx.h: Revert gcc_unreachable change.
-
-2005-05-19 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/basic_string.h (operator[]): Allow s[s.size()] in
- debug mode, but not pedantic mode.
-
-2005-05-19 Jan Beulich <jbeulich@novell.com>
-
- * libsupc++/unwind-cxx.h: Include cstdlib.
- (gcc_unreachable): #define.
- * libsupc++/eh_personality.cc (gcc_unreachable): Remove #define.
-
-2005-05-18 Paolo Carlini <pcarlini@suse.de>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/19495
- * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
- size_type instead of char and rename to _Raw_alloc.
- * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
- Use the above.
- * src/bitmap_allocator.cc: Add instantiation for size_type.
- * src/mt_allocator.cc: Likewise.
- * src/pool_allocator.cc: Likewise.
- * include/ext/array_allocator.h: Tweak slightly, avoid assuming
- the existence of an _Array::begin() and size() members.
- * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
- of size_type, instead of char, thus avoiding problems with
- rebinds, not treated correctly by array_allocator.
-
-2005-05-18 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/ctype/is/char/2.cc: Adjust dg-require-namedlocale.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Add
- missing dg-require-namedlocale.
- * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
- Likewise.
-
-2005-05-18 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_hooks.cc: Remove try_named_locale.
- * testsuite/testsuite_hooks.h: Remove try_named_locale.
- * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): New.
- * testsuite/lib/dg-options.exp (dg-require-namedlocale): New, uses
- the above.
- * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc: Use
- dg-require-namedlocale.
- * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
- * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/facet/2.cc: Likewise.
- * testsuite/22_locale/locale/cons/12352.cc: Likewise.
- * testsuite/22_locale/locale/cons/12438.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
- * testsuite/22_locale/locale/cons/2.cc: Likewise.
- * testsuite/22_locale/locale/cons/4.cc: Likewise.
- * testsuite/22_locale/locale/cons/5.cc: Likewise.
- * testsuite/22_locale/locale/cons/7.cc: Likewise.
- * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
- * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
- * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
- * testsuite/22_locale/messages/members/char/1.cc: Likewise.
- * testsuite/22_locale/messages/members/char/2.cc: Likewise.
- * testsuite/22_locale/messages/members/char/3.cc: Likewise.
- * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/messages/members/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
- * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
- Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
-
-2005-05-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * libsupc++/eh_personality.cc (gcc_unreachable): Define.
-
-2005-05-16 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/install.html: Update list of required named
- locales, add "es_ES".
-
-2005-05-13 Magnus Fromreide <magfr@lysator.liu.se>
-
- * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Use
- initialization instead of copying as the string is used only once.
- * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
-
-2005-05-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/create_testsuite_files: Fix.
-
-2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/18_support/numeric_limits.cc (dg-options): Add
- -mieee to options on sh*-*-*.
-
-2005-05-10 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/debug/debug.h: Fix typo in macro name.
-
-2005-05-09 Paolo Carlini <pcarlini@suse.de>
- Giovanni Bajo <giovannibajo@gcc.gnu.org>
-
- PR libstdc++/18604
- * include/bits/deque.tcc: Fully qualify names from namespace std.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/vector.tcc: Likewise.
- * include/std/std_bitset.h: Likewise.
- * testsuite/23_containers/bitset/18604.cc: New.
- * testsuite/23_containers/deque/18604.cc: Likewise.
- * testsuite/23_containers/list/18604.cc: Likewise.
- * testsuite/23_containers/map/18604.cc: Likewise.
- * testsuite/23_containers/set/18604.cc: Likewise.
- * testsuite/23_containers/vector/18604.cc: Likewise.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-09 Jonathan Wakely <redi@gcc.gnu.org>
-
- DR 434. bitset::to_string() hard to use [Ready]
- * include/debug/bitset (to_string): Add three overloads, taking
- fewer template arguments.
-
-2005-05-06 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_hooks.cc (try_mkfifo): Remove.
- * testsuite/testsuite_hooks.h (try_mkfifo): Likewise.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
- dg-require-fork and dg-require-mkfifo. Replace try_mkfifo with
- mkfifo.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
- * testsuite/27_io/objects/char/7.cc: Likewise.
- * testsuite/27_io/objects/char/9661-1.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
-2005-05-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: Remove testsuite_wchar_t and testsuite_thread.
- * testsuite/Makefile.am: Same.
- * scripts/create_testsuite_files: Same.
- * Makefile.in: Regenerate.
- * configure: Same.
- * include/Makefile.in: Same.
- * libmath/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * po/Makefile.in: Same.
- * src/Makefile.in: Same.
-
-2005-05-04 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Look for
- __GTHREADS, rather than _GLIBCXX_HAVE_GTHR_DEFAULT, to determine
- whether or not thread support is available.
-
- * docs/html/test.html: Explain how to run the testsuite on an
- installed directory.
-
-2005-05-01 Paolo Carlini <pcarlini@suse.de>
-
- * config/os/aix/os_defines.h: Remove obsolete __off_t,
- __off64_t, __ssize_t defines.
- * config/os/djgpp/os_defines.h: Likewise.
- * config/os/hpux/os_defines.h: Likewise.
- * config/os/irix/irix5.2/os_defines.h: Likewise.
- * config/os/irix/irix6.5/os_defines.h: Likewise.
- * config/os/solaris/solaris2.5/os_defines.h: Likewise.
- * config/os/solaris/solaris2.6/os_defines.h: Likewise.
- * config/os/solaris/solaris2.7/os_defines.h: Likewise.
- * docs/html/17_intro/porting.html: Don't discuss the defines.
- * docs/html/17_intro/porting.texi: Likewise.
-
-2005-04-29 Paolo Carlini <pcarlini@suse.de>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/21286
- * include/bits/fstream.tcc (basic_filebuf<>::xsgetn):
- Loop on short reads; remove the work-around for
- libstdc++/20806, not needed anymore.
-
-2005-04-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21238
- * include/bits/locale_facets.tcc (num_get::_M_extract_float,
- num_get::_M_extract_int, num_get::do_get(bool&),
- num_put::_M_insert_int, num_put::_M_insert_float,
- num_put::do_put(bool), money_get::_M_extract,
- money_put::_M_insert): Adjust the __cache_type typedef not to
- forward to a numpunct/moneypunct typedef.
- * testsuite/testsuite_character.h: Add pod_uint and its numpunct
- and moneypunct specializations.
- * testsuite/testsuite_character.cc: Add numpunct<pod_uint>::id
- and moneypunct<pod_uint>::id.
- * testsuite/22_locale/num_get/3.cc: New.
- * testsuite/22_locale/num_put/3.cc: Likewise.
- * testsuite/22_locale/money_get/3.cc: Likewise.
- * testsuite/22_locale/money_put/3.cc: Likewise.
-
- * include/bits/locale_facets.tcc (money_put::_M_insert,
- time_get::_M_extract_name): Prefer operator== to operator!=
- on char_types.
-
-2005-04-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_convertible): Adjust according
- to the resolution of TR1 issue 3.20.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_convertible/is_convertible.cc: Add tests.
-
-2005-04-28 Paolo Carlini <pcarlini@suse.de>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/21244 (cont)
- * include/bits/cpp_type_traits.h (struct __traitor): Convert
- to bool the values.
- * include/bits/stl_algo.h: Convert _S_threshold to int.
- * include/bits/stl_bvector.h: Revert previous change, convert
- _S_word_bit to int.
- * include/debug/formatter.h: Convert __max_parameters to
- size_t.
- * include/ext/mt_allocator.h: Likewise for _S_chunk_size.
- * include/ext/pool_allocator.h: Likewise for _S_max_bytes and
- _S_align.
- * include/ext/rope: Likewise for _S_alloc_granularity; convert
- _S_max_rope_depth to int.
- * include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
- _S_max_rope_depth to int; _S_copy_max to size_t.
-
-2005-04-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/user.cfg.in: Update to doxygen-1.4.2.
- * docs/doxygen/doxygroups.cc: Update namespace comments.
-
-2005-04-27 Dominik Strasser <dominik.strasser@infineon.com>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21244
- * include/bits/stl_bvector.h: Change the anonymous enum
- at namespace scope to _S_word_bit_enum.
- * testsuite/23_containers/vector/bool/21244.cc: New.
-
-2005-04-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (has_trivial_copy, has_trivial_assign,
- has_nothrow_copy, has_nothrow_assign): Adjust according to the
- resolution of TR1 issue 3.21.
- * testsuite/testsuite_tr1.h (test_copy_property,
- test_assign_property): Remove.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_assign/has_nothrow_assign.cc: Adjust.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_copy/has_nothrow_copy.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_assign/has_trivial_assign.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_copy/has_trivial_copy.cc: Likewise.
-
-2005-04-26 Jones Desougi <jones@ingate.com>
-
- PR libstdc++/21131
- * linkage.m4: Fix comments.
-
-2005-04-26 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21209
- * include/bits/locale_facets.tcc (_M_extract_int): Avoid signed
- integer overflow, always use a suited unsigned type in the main
- parsing loop.
- (struct __to_unsigned_type): New.
- * testsuite/22_locale/num_get/get/char/16.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
-
-2005-04-25 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21035
- * include/bits/basic_string.h (compare): Adjust the documentation
- to match the implementation and the standard.
-
-2005-04-24 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 35.
-
-2005-04-20 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/ext/bitmap_allocator/check_allocate_max_size.cpp: Add
- explicit instantiations for systems without weak symbols.
- * testsuite/ext/bitmap_allocator/check_deallocate_null.cc:
- Likewise.
-
-2005-04-18 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/stl_algo.h (rotate_copy): Add missing std qualification.
-
-2005-04-17 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20914
- * include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT,
- const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric
- base or sign here, instead...
- (_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here,
- after adding the grouping. This fixes the bug and also allows to
- clean-up the code dealing with integer types.
- (_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*,
- _CharT*, int&)): Simplify, remove bits dealing with numeric base.
- (__int_to_char(_CharT*, unsigned long, const _CharT*,
- ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long,
- const _CharT*, ios_base::fmtflags)): Remove hackish fix for
- libstdc++/15565.
- (__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags),
- __int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)):
- Simplify, don't pass the sign.
- (_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)):
- Deal with a sign at the beginning of __cs; robustify the grouping
- check.
- * testsuite/22_locale/num_put/put/char/20914.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
-
-2005-04-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/bitmap_allocator.h
- (__gnu_cxx::free_list::_M_get_mutex): New.
- (__gnu_cxx::free_list::_M_get_free_list): New.
- (__gnu_cxx::free_list::_S_bfl_mutex): Remove.
- (__gnu_cxx::free_list::_S_free_list): Remove.
- * src/bitmap_allocator.cc: Same.
- * config/linker-map.gnu: Remove free_list and mutex export.
-
-2005-04-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pod_char_traits.h (__gnu_cxx::character): Add char_type.
- (character::to): New.
- (character::from): New.
- (operator==): Add state parameter.
- (operator<): Same.
- (char_traits::copy): Use std::copy.
- (char_traits::assign): Use std::fill_n.
- (char_traits::to_char_type): Use character::from.
- (char_traits::to_int_type): Use character::to.
- * testsuite/testsuite_character.h (__gnu_test::character): Remove.
- (__gnu_test::conversion_state): Remove.
- (__gnu_test::pod_char): Remove.
- (pod_char): New typedef.
- (pod_uchar): New typedef.
- (pod_ushort): New typedef.
- * testsuite/testsuite_character.cc: Fixups.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-in.cc: Same.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-out.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/1.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/2.cc: Same.
- * testsuite/27_io/basic_filebuf/close/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/open/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Same.
- * testsuite/27_io/basic_ios/imbue/14072.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/pod/
- 3983-1.cc: Same.
- * testsuite/27_io/basic_istream/extractors_character/pod/
- 3983-2.cc: Same.
- * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
- * testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
- * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-04-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am: Remove libv3test.a.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.
-
-2005-04-08 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20909
- * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
- Don't even try to group numbers like 2e20, i.e., no decimal
- point, scientific notation.
- * testsuite/22_locale/num_put/put/char/20909.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_ASM_SYMVER.
- * acconfig.h: Delete file.
- * Makefile.in, acinclude.m4, configure: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): New macro.
- (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1,
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2,
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3,
- GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1,
- GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Use it.
- (GLIBCXX_CHECK_MATH_SUPPORT): Delete obsolete comment.
- * acconfig.h: Delete redundant macros.
- * config.h.in, configure: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate
- a subshell and if test fails, test for same functions with
- leading underscore.
- (GLIBCXX_CHECK_MATH_SUPPORT): Eliminate seperate checks for _funcs.
- * configure: Regenerate.
-
-2005-04-08 Danny Smith <dannysmith@users.sourceforge.net>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20806
- * config/os/mingw32/os_defines.h: Define
- _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM.
- * config/os/newlib/os_defines.h: Likewise, for __CYGWIN__.
- * include/bits/fstream.tcc (basic_filebuf<>::showmanyc()):
- Use it.
- (basic_filebuf<>::xsgetn(_CharT*, streamsize)): Likewise.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h: Sort the bottom section.
- * config.h.in: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h: Remove redundant HAVE_FLOAT_H.
- * config.h.in: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Create template for PACKAGE and VERSION.
- Update comment on how to regenerate file. Update minimum
- automake version to 1.9.3.
- * acconfig.h: Remove PACKAGE and VERSION.
- * aclocal.m4, configure, Makefile.in, po/Makefile.in,
- src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
- testsuite/Makefile.in, config.h.in: Regenerate.
-
-2005-04-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/test.html: Update.
- * testsuite/printnow.c: Remove.
- * scripts/check_survey.in: Remove.
-
- * testsuite/abi_check.cc: To...
- * testuite/testsuite_abi_check.cc: ...here.
- * testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
- testsuite_abi_check.cc.
-
- * testsuite/testsuite_hooks.h: Move character related bits to...
- * testsuite/testsuite_character.h: ...here.
- * testsuite/testsuite_character.cc: ... and here.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-in.cc: Use testsuite_character.h.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-out.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/1.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/2.cc: Same.
- * testsuite/27_io/basic_filebuf/2.cc: Same.
- * testsuite/27_io/basic_fstream/2.cc: Same.
- * testsuite/27_io/basic_istream/2.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/pod/
- 3983-1.cc: Same.
- * testsuite/27_io/basic_istream/extractors_character/char/
- 9826.cc: Same.
- * testsuite/27_io/basic_istream/extractors_character/pod/
- 3983-2.cc: Same.
- * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
- * testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
- * testsuite/27_io/basic_ostream/2.cc: Same.
- * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
- * testsuite/27_io/basic_streambuf/2.cc: Same.
- * testsuite/27_io/basic_stringbuf/2.cc: Same.
- * testsuite/27_io/basic_stringbuf/4.cc: Same.
- * testsuite/27_io/basic_stringstream/2.cc: Same.
- * testsuite/27_io/fpos/1.cc: Same.
- * testsuite/ext/mt_allocator/tune-1.cc: Same.
- * testsuite/ext/mt_allocator/tune-2.cc: Same.
- * testsuite/ext/stdio_filebuf/char/1.cc: Same.
- * testsuite/lib/libstdc++.exp (v3-build_support): Add
- testsuite_character.cc.
- * testsuite/Makefile.am (libv3test_a_SOURCES): Add
- testsuite_character.cc.
- * testsuite/Makefile.in: Regenerate.
-
- * configure.ac: Remove use of check_survey.
- * configure: Regenerate.
- * testsuite/Makefile.am: Remove check-script and
- check-script-install rules.
- * testsuite/Makefile.in: Regenerate.
-
-2005-04-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory"
- clobber to inline assembly statement.
-
-2005-04-06 Kelley Cook <kcook@gcc.gnu.org>
-
- * acinclude.m4 (_GLIBCXX_USE_LONG_LONG,
- _GLIBCXX_USE_WCHAR_T, _GLIBCXX_USE_C99, _GLIBCXX_USE_C99_MATH,
- _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_RES_LIMITS, _GLIBCXX_CONCEPT_CHECKS,
- _GLIBCXX_SYMVER, _GLIBCXX_USE_LFS, _GLIBCXX_FULLY_DYNAMIC_STRING,
- _GLIBCXX_USE_NLS, HAVE_GTHR_DEFAULT, HAVE_MBSTATE_T, HAVE_POLL,
- HAVE_S_ISREG, HAVE_S_IFREG, HAVE_WRITEV, HAVE_INT64_T,
- HAVE_LC_MESSAGES): Use long form of AC_DEFINE ...
- * acconfig.h: ... to eliminate them from here.
- (_GLIBCXX_ASM_SYMVER): Move definition below @BOTTOM@.
- * config.h.in, configure: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am (ACLOCAL_AMFLAGS): Define.
- * crossconfig.m4: Wrap file into new GLIBCXX_CROSSCONFIG macro.
- * configure.ac: Use it.
- * acinclude.m4: Delete explicit m4_includes and sincludes.
- * aclocal.m4, configure, Makefile.in, po/Makefile.in,
- src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
- testsuite/Makefile.in: Regenerate.
-
-2005-04-05 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
- to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
- to destroy resources by testing for equality, not inequality. Add
- empty critical sections to solve memory visibility issues.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
- explicitly listing line numbers which need to be kept in sync.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_neg.cc: Same.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
- -fno-exceptions.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared.cc: Add explanatory comments.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared2.cc: Same.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared3.cc: Same.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h: Delete macros already AC_DEFINED.
- * config.h.in: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h (HAVE_MODF): Remove.
- * linkage.m4: Check for modf.
- * config.h.in, configure: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h (ENABLE_NLS, HAVE_CATGETS): Remove.
- (HAVE_GETTEXT, HAVE_STPCPY): Likewise.
- * config.h.in: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Use m4 translit macro
- to convert to uppercase instead of shelling out to tr.
- * acconfig.h: Remove now redundant HAVE__BUILTINS_*.
- * configure, config.h.in: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h (HAVE_TANL): Correct cut-and-paste typo.
- * config.h.in: Regenerate.
-
-2005-04-04 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/Makefile.am (check-local): Remove.
- (curent_symbols.txt): Likewise.
- (check-abi): Do not depend on current_symbols.txt.
- * testsuite/Makefile.in: Regenerated.
- * testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt.
-
-2005-04-02 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/tuple_iterate.h (tuple_element): Use new macro
- _GLIBCXX_T_NUM_ARGS_PLUS_1 because _T is a macro on Darwin.
- * include/tr1/repeat.h (_GLIBCXX_T_NUM_ARGS_PLUS_1): Define for
- each iteration.
- * scripts/gen_includers.h: Define _GLIBCXX_T_NUM_ARGS_PLUS_1 for
- each iteration.
-
-2005-04-01 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/functional (_Maybe_wrap_member_pointer): Wrap up
- member pointers in _Mem_fn but let other function objects pass
- through unchanged.
- * include/tr1/functional_iterator (bind): Reduce number of bind()
- overloads to two to eliminate ambiguities. Use
- _Maybe_wrap_member_pointer to handle member pointers gracefully.
-
-2005-04-01 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/Makefile.am (noinst_PROGRAMS): Remove.
- (site.exp): Write out the path to the baseline file.
- (check-abi): Use DejaGNU.
- (check-abi-verbose): Remove.
- * testsuite/Makefile.in: Regenerated.
- * testsuite/abi_check.cc (main): Check the return value from
- compare_symbols.
- * testsuite/testsuite_abi.cc (compare_symbols): Return a value.
- * testsuite/testsuite_abi.h (compare_symbols): Adjust prototype.
- * testsuite/libstdc++-abi/abi.exp: New file.
-
-2005-03-31 Chris Jefferson <chris@bubblescope.net>
-
- * include/tr1/tuple: Support iteration via tuple_iterate.h.
- * include/tr1/tuple_iterate.h: Iteration file for tuple.
-
-2005-03-31 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/Makefile.am (tr1_headers): Add bind and mu repetition
- headers and reference_wrapper<> forwarding header.
- * include/Makefile.in: Regenerate.
- * include/tr1/bind_iterate.h: Implementation of function call
- operators for the function object returned from tr1::bind().
- * include/tr1/bind_repeat.h: Bind-specific repetition header,
- akin to include/tr1/repeat.h.
- * include/tr1/functional (_Mem_fn): Bug fix: declare result member
- template for use with result_of.
- (is_bind_expression): New.
- (is_placeholder): New.
- (_Placeholder): New. Placeholder type for bind.
- (_Mu): New. Implementation detail of bind.
- (_Bind, _Bind_result): New. Function objects returned by bind.
- (_GLIBCXX_JOIN): New. Required to create bind placeholders.
- * include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
- New. Implementation of tr1::bind.
- * include/tr1/mu_iterate.h (_Mu): result template and operator()
- for the _Mu helper to bind.
- * include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
- used by tuple header.
- (ref): Ditto.
- (cref): Ditto.
- * include/tr1/repeat.h: Add bind-specific repetition macros.
- * include/tr1/tuple: Use reference_wrapper forwarding header for
- initial definitions, then include <tr1/functional> at the end, to
- make the circular dependencies work.
- (tie): Support zero-argument tie() function.
- * testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
- bind() functionality with parameters bound.
- * testsuite/tr1/3_function_objects/bind/nested.cc: New test of
- nested bind() expressions.
- * testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
- of bind() placeholders.
- * testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
- with arguments bound via reference_wrapper<>.
- * scripts/gen_includers.pl: Generate the repetitive part of
- include/tr1/repeat.h.
- * scripts/gen_bind_includers.pl: Generate the repetitive part of
- include/tr1/bind_repeat.h.
-
-2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * testsuite/Makefile.am (CXX): Use ${SHELL}.
- (GLIBCXX_INCLUDES): Same.
- (AM_CXXFLAGS): Same.
- * testsuite/Makefile.in: Regenerate.
-
-2005-03-25 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Define LOCALEDIR
- when testing an installed compiler.
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Pass -w when
- compiling support objects.
-
-2005-03-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/memory: Forward to...
- * include/tr1/boost_shared_ptr.h: ...here. Add Boost Software License.
- * include/Makefile.am (tr1_headers): Add boost_shared_ptr.h.
- * include/Makefile.in: Regenerate.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
- auto_ptr_neg.cc: Adjust line numbers.
-
-2005-03-23 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/Makefile.am (all-local): Do not build testsuite_files.
- * testsuite/Makefile.in: Regenerated.
-
-2005-03-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: Adjust so that _GLIBCXX_USE_C99 implies
- using _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_USE_C99_MATH, and
- _GLIBCXX_USE_C99_WCHAR.
- Remove GLIBCXX_ENABLE_C_MBCHAR, consolidate in GLIBCXX_ENABLE_C99
- and GLIBCXX_ENABLE_WCHAR_T.
- Take C99 bits from GLIBCXX_CHECK_WCHAR_T_SUPPORT and put in
- GLIBCXX_ENABLE_C99.
- Change remaining parts of GLIBCXX_CHECK_WCHAR_T_SUPPORT to
- GLIBCXX_CHECK_ICONV_SUPPORT.
- * configure.ac: Remove GLIBCXX_ENABLE_C_MBCHAR, use
- GLIBCXX_CHECK_ICONV_SUPPORT and GLIBCXX_ENABLE_WCHAR_T.
- * crossconfig.m4: Same.
- * acconfig.h: Same, adjust comments.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * docs/html/configopts.html: Change --enable-c-mbchar to
- --enable-wchar_t.
-
- * config/locale/gnu/c++locale_internal.h: Guard wide functions
- with _GLIBCXX_USE_WCHAR_T.
- * include/c_std/std_cwctype.h: Alphabetize, remove duplicates.
- * include/c_std/std_cstdio.h: Spacing.
-
- * config/locale/gnu/c_locale.h: Tweaks for unused warnings.
- * src/debug.cc: Same.
-
-2005-03-23 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/libstdc++-dg/normal.exp: Read testsuite_files, if it
- exists.
-
- * testsuite/lib/libstdc++.exp (libstdc++_wchar_t): Rename to ...
- (v3-wchar_t): ... this.
- (libstdc++_threads): Rename to ...
- (v3-threads): ... this.
- (libstdc++_test_objs): Rename to ...
- (v3-test_objs): ... this.
- (libstdc++_build_support): Rename to ...
- (v3-build_support): ... this.
- * testsuite/libstdc++-dg/normal.exp: Adjust to use new names.
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Improve handling
- of compilers not in the build directory.
- (libstdc++_wchar_t): New variable.
- (libstdc++_threads): Likewise.
- (libstdc++_test_objs): Likewise.
- (v3_target_compile): Use libstdc++_test_objs.
- (v3-list-tests): Remove.
- (listdc++_build_support): New function.
- * testsuite/libstdc++-dg/normal.exp: Rework to dynamically
- generate list of tests.
-
-2005-03-21 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/20577
- * include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
- to swap when the iterator's reference_type is a reference to its
- value_type.
- * testsuite/25_algorithms/iter_swap/20577.cc: New.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
- (GLIBCXX_EXPORT_INSTALL_INFO): Adjust quotation so ${gcc_version}
- is expanded by the Makefiles, not by configure.
- * fragment.am: Set gcc_version.
- * libmath/Makefile.am: Likewise.
- * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in
- * libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in
- * testsuite/Makefile.in: Regenerate.
-
-2005-03-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/20_util/functional/binders.cc: Remove explicit
- instantiations for non-weak systems.
- * testsuite/20_util/memory/allocator/1.cc: Likewise.
- * testsuite/20_util/memory/allocator/10378.cc: Likewise.
- * testsuite/20_util/memory/allocator/10416.cc: Likewise.
- * testsuite/20_util/memory/allocator/8230.cc: Likewise.
- * testsuite/20_util/utility/rel_ops.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
- * testsuite/23_containers/deque/cons/1.cc: Likewise.
- * testsuite/23_containers/deque/cons/2.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/1.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/2.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/3.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/4.cc: Likewise.
- * testsuite/23_containers/deque/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/deque/operators/1.cc: Likewise.
- * testsuite/23_containers/list/capacity/1.cc: Likewise.
- * testsuite/23_containers/list/cons/1.cc: Likewise.
- * testsuite/23_containers/list/cons/2.cc: Likewise.
- * testsuite/23_containers/list/cons/3.cc: Likewise.
- * testsuite/23_containers/list/cons/4.cc: Likewise.
- * testsuite/23_containers/list/cons/5.cc: Likewise.
- * testsuite/23_containers/list/cons/6.cc: Likewise.
- * testsuite/23_containers/list/cons/7.cc: Likewise.
- * testsuite/23_containers/list/cons/8.cc: Likewise.
- * testsuite/23_containers/list/cons/9.cc: Likewise.
- * testsuite/23_containers/list/invalidation/1.cc: Likewise.
- * testsuite/23_containers/list/invalidation/2.cc: Likewise.
- * testsuite/23_containers/list/invalidation/3.cc: Likewise.
- * testsuite/23_containers/list/invalidation/4.cc: Likewise.
- * testsuite/23_containers/list/modifiers/1.cc: Likewise.
- * testsuite/23_containers/list/modifiers/2.cc: Likewise.
- * testsuite/23_containers/list/modifiers/3.cc: Likewise.
- * testsuite/23_containers/list/operators/1.cc: Likewise.
- * testsuite/23_containers/list/operators/2.cc: Likewise.
- * testsuite/23_containers/list/operators/3.cc: Likewise.
- * testsuite/23_containers/list/operators/4.cc: Likewise.
- * testsuite/23_containers/map/insert/1.cc: Likewise.
- * testsuite/23_containers/map/invalidation/1.cc: Likewise.
- * testsuite/23_containers/map/invalidation/2.cc: Likewise.
- * testsuite/23_containers/map/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/map/operators/1.cc: Likewise.
- * testsuite/23_containers/multimap/invalidation/1.cc: Likewise.
- * testsuite/23_containers/multimap/invalidation/2.cc: Likewise.
- * testsuite/23_containers/multimap/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/multiset/insert/1.cc: Likewise.
- * testsuite/23_containers/multiset/insert/2.cc: Likewise.
- * testsuite/23_containers/multiset/invalidation/1.cc: Likewise.
- * testsuite/23_containers/multiset/invalidation/2.cc: Likewise.
- * testsuite/23_containers/multiset/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/priority_queue/members/7161.cc: Likewise.
- * testsuite/23_containers/queue/members/7157.cc: Likewise.
- * testsuite/23_containers/set/insert/1.cc: Likewise.
- * testsuite/23_containers/set/invalidation/1.cc: Likewise.
- * testsuite/23_containers/set/invalidation/2.cc: Likewise.
- * testsuite/23_containers/set/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/stack/members/7158.cc: Likewise.
- * testsuite/23_containers/vector/bool/6886.cc: Likewise.
- * testsuite/23_containers/vector/capacity/1.cc: Likewise.
- * testsuite/23_containers/vector/capacity/8230.cc: Likewise.
- * testsuite/23_containers/vector/cons/1.cc: Likewise.
- * testsuite/23_containers/vector/cons/2.cc: Likewise.
- * testsuite/23_containers/vector/cons/3.cc: Likewise.
- * testsuite/23_containers/vector/cons/6513.cc: Likewise.
- * testsuite/23_containers/vector/element_access/1.cc: Likewise.
- * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
- * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
- * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
- * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
- * testsuite/23_containers/vector/modifiers/1.cc: Likewise.
- * testsuite/23_containers/vector/modifiers/2.cc: Likewise.
- * testsuite/23_containers/vector/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/vector/resize/1.cc: Likewise.
- * testsuite/24_iterators/back_insert_iterator.cc: Likewise.
- * testsuite/24_iterators/front_insert_iterator.cc: Likewise.
- * testsuite/24_iterators/insert_iterator.cc: Likewise.
- * testsuite/24_iterators/iterator.cc: Likewise.
- * testsuite/25_algorithms/copy/1.cc: Likewise.
- * testsuite/25_algorithms/copy/2.cc: Likewise.
- * testsuite/25_algorithms/copy/3.cc: Likewise.
- * testsuite/25_algorithms/copy/4.cc: Likewise.
- * testsuite/25_algorithms/equal.cc: Likewise.
- * testsuite/25_algorithms/fill/1.cc: Likewise.
- * testsuite/25_algorithms/fill/2.cc: Likewise.
- * testsuite/25_algorithms/min_max.cc: Likewise.
- * testsuite/25_algorithms/rotate.cc: Likewise.
- * testsuite/25_algorithms/unique/1.cc: Likewise.
- * testsuite/25_algorithms/unique/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
- * testsuite/ext/concept_checks.cc: Likewise.
- * testsuite/ext/hash_map/1.cc: Likewise.
- * testsuite/ext/hash_set/1.cc: Likewise.
- * testsuite/ext/rope/1.cc: Likewise.
- * testsuite/ext/rope/2.cc: Likewise.
- * testsuite/ext/rope/3.cc: Likewise.
- * testsuite/thread/pthread1.cc: Likewise.
- * testsuite/thread/pthread4.cc: Likewise.
- * testsuite/thread/pthread5.cc: Likewise.
- * testsuite/thread/pthread6.cc: Likewise.
- * testsuite/thread/pthread7-rope.cc: Likewise.
-
-2005-03-15 Zack Weinberg <zack@codesourcery.com>
-
- * include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
- subdirectory. Generate #define of __GLIBCXX__ from contents of
- that file.
- * include/Makefile.in: Regenerate.
- * include/bits/c++config: Do not define __GLIBCXX__.
-
-2005-03-15 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20352
- * include/std/std_complex.h (pow(const complex<_Tp>&,
- const _Tp&)): On non-c99 platforms, don't try to compute
- log of complex zero.
-
-2005-03-10 Ben Elliston <bje@au.ibm.com>
-
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Don't XFAIL
- on GNU/Linux.
-
-2005-03-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_polymorphic): Don't forget
- the virtual destructor, thus avoiding warnings.
- * testsuite/testsuite_tr1.h (class AbstractClass,
- class PolymorphicClass): Likewise.
-
-2005-03-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_complex.h (pow(const complex<_Tp>&,
- const complex<_Tp>&)): Dispatch to either __complex_pow(__x.__rep(),
- __y.__rep()) or __complex_pow(__x, __y) depending on the macro
- _GLIBCXX_USE_C99_COMPLEX.
-
-2005-03-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_fstream.h (basic_fstream<>::open,
- basic_ifstream<>::open, basic_ofstream<>::open): Implement the
- resolution of DR 409 [Ready], call clear() on success.
- * docs/html/ext/howto.html: Add an entry for DR 409.
- * docs/html/faq/index.html (4_4): Clarify the new behavior.
- * testsuite/27_io/basic_ifstream/open/char/1.cc: Adjust.
- * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
-
-2005-03-05 Joseph S. Myers <joseph@codesourcery.com>
-
- * testsuite/22_locale/collate/compare/wchar_t/2.cc,
- testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
- testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
- testsuite/22_locale/collate/hash/wchar_t/2.cc,
- testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
- testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
- testsuite/22_locale/collate/transform/wchar_t/2.cc,
- testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
- testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
- XFAIL on *-*-hpux11.23.
-
-2005-03-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Add is_base_of.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_base_of/is_base_of.cc: New.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_base_of/typedefs.cc: Likewise.
-
-2005-03-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/functional: Convert relative path.
-
- * docs/doxygen/user.cfg.in: Add tr1 includes.
-
-2005-03-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implemenet is_polymorphic.
- (is_empty): Minor tweaks.
- * testsuite/testsuite_tr1.h: Add test types.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_polymorphic/is_polymorphic.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_polymorphic/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_union_or_class/is_union_or_class.cc: Add tests.
-
-2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/functional (_Has_result_type): Cleanup.
- (_Result_of_impl): Handle member data pointers correctly.
- (reference_wrapper): Support invocation.
- Move repetition code into new file include/tr1/repeat.h.
- * include/tr1/functional_iterate.h (reference_wrapper): Support
- invocation. Cleanup long lines.
- * include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare
- invocation operators.
- * include/tr1/repeat.h: Code repetition header.
- * include/Makefile.am: Add ref_wrap_iterate.h, repeat.h.
- * include/Makefile.in: Add ref_wrap_iterate.h, repeat.h.
- * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
- New test of reference_wrapper invocation.
- * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
- New test of reference_wrapper typedefs and base classes.
- * testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup
- (e-mail address).
-
-2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/function (result_of): New class template.
- * include/tr1/functional/iterator.h: Implementation of TR1
- result_of.
- * testsuite/tr1/3_function_objects/result_of.cc: New test
-
-2005-03-01 Vladimir Merzliakov <wanderer@rsu.ru>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c.cc: Tweak.
-
-2005-02-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/
- cons/auto_ptr_neg.cc: Correct line numbers.
-
- * testsuite/testsuite_abi.cc: Add CXXABI_1.3.1.
-
-2005-02-28 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory: Replace checked_deleter with (unchecked)
- _Sp_deleter as GCC warns about delete on incomplete types anyway.
-
-2005-02-28 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory: Add missing "inline" to __throw_bad_weak_ptr.
-
-2005-02-28 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/19065
- * config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
- 'Q' constraint, not 'm'.
-
-2005-02-26 Earl Chew <earl_chew@agilent.com>
- Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_tree.h (_Rb_tree<>::_M_insert): Don't leak
- memory if _M_key_compare throws.
-
-2005-02-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Add the trivial is_union and is_class;
- add the __is_union_or_class extension.
- (is_enum, is_empty): Use the latter.
- * include/tr1/type_traits_fwd.h: Add __is_union_or_class.
- * testsuite/testsuite_tr1.h: Add UnionType; trivial formatting
- fixes.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_union_or_class/is_union_or_class.cc: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_union_or_class/typedefs.cc: Likewise.
-
-2005-02-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Guard
- wchar_t use with _GLIBCXX_USE_WCHAR_T.
-
-2005-02-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_complex.h: _GLIBCXX_USE_C99_COMPLEX_MATH to
- _GLIBCXX_USE_C99_COMPLEX.
- * acinclude.m4: Same.
- * acconfig.h: Same.
- * configure: Regenerate.
- * config.h.in: Same.
-
-2005-02-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/functional (mem_fn): Avoid _T, badname on
- Darwin.
-
-2005-02-23 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/functional (function): New class template.
- (mem_fn): New function template.
- Implementations of TR1 function and mem_fn facilities.
- * include/tr1/functional_iterate.h: Implementations of TR1
- function and mem_fn facilities.
- * testsuite/tr1/3_function_objects/function/1.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/2.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/3.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/4.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/5.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/6.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/7.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/8.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/9.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/mem_fn.cc: New test of
- std::tr1::mem_fn.
-
-2005-02-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_convertible.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_convertible/is_convertible.cc: New.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_convertible/typedefs.cc: Likewise.
- * testsuite/testsuite_tr1.h: Add class DerivedType.
-
- * include/tr1/type_traits (is_function): Don't mistake references
- to function types for function types.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_function/is_function.cc: Add testcase.
-
-2005-02-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/check_performance: Tweaks.
-
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: Name
- output file with extension that clean rules can find.
-
-2005-02-22 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/20091
- * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
- decrement of uncaughtExceptions for rethrow.
-
-2005-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/functional: Fix License to GPL with exception.
- * include/tr1/hashtable: Likewise.
- * include/tr1/tuple: Likewise.
- * include/tr1/type_traits: Likewise.
- * include/tr1/type_traits_fwd.h: Likewise.
- * include/tr1/unordered_map: Likewise.
- * include/tr1/unordered_set: Likewise.
- * include/tr1/utility: Likewise.
-
-2005-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
- auto_ptr_neg.cc: Add missing dg-do compile directive.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
- auto_ptr_rvalue_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
- shared_ptr_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
- auto_ptr_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
- reset_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
- swap_neg.cc: Likewise.
-
-2005-02-22 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/Makefile.am, include/Makefile.in: Fix accidental extra
- change from previous commit.
-
-2005-02-21 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory: New file.
- * include/Makefile.am, include/Makefile.in: Add new TR1 header.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared2.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared3.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/shared.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/still_shared.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/assign.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_rvalue_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/shared_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/shared_ptr_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/comparison/cmp.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/auto_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/auto_ptr_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/copy.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/default.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/pointer.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/weak_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/weak_ptr_expired.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/dest/dest.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/misc/io.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/misc/swap.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/reset.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/reset_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/swap.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/swap_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/bool_conv.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/get.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/unique.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/use_count.cc: New test.
-
-2005-02-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_member_function_pointer):
- Remove ugly workaround for c++/19076.
-
-2005-02-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_Rep::_M_destroy): Don't
- check for this == &_S_empty_rep, it's always false, here.
-
-2005-02-19 Matt Austern <austern@gmail.com>
-
- * include/tr1/functional (tr1_hashtable_define_trivial_hash): Make
- hash<T>::operator() a const member function for T a fundamental type
- * include/tr1/hashtable (extract1st::operator()): Declare const.
- (hash_code_base): Declare all member functions const
- (hashtable::find): fix call to this->bucket_count()
- (hashtable::count): Likewise.
- (hashtable::equal_range): m_incr_bucket applies to iterator, not node.
- * testsuite/tr1/6_containers/unordered/find/set1.cc: New test.
- * testsuite/tr1/6_containers/unordered/find/map1.cc: New test.
- * testsuite/tr1/6_containers/unordered/find/multimap1.cc: New test.
- * testsuite/tr1/6_containers/unordered/find/multiset1.cc: New test.
-
-2005-02-19 Hans-Peter Nilsson <hp@axis.com>
-
- PR libstdc++/20071
- * include/tr1/functional (hash<std::wstring>): Wrap in #ifdef
- _GLIBCXX_USE_WCHAR_T.
-
-2005-02-18 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/10606
- * config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr.
- * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment
- uncaughtExceptions here instead of ...
- * libsupc++/eh_throw.cc (__cxa_throw) ... here.
- (__cxa_rethrow): Increment uncaughtExceptions here instead of ...
- * libsupc++/eh_catch.cc (__cxa_end_catch): ... here.
- (__cxa_get_exception_ptr): New.
- * libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare.
-
-2005-02-18 Matt Austern <austern@apple.com>
-
- * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: Fix
- test case to use assignment instead of ==
- * testsuite/tr1/6_containers/unordered/insert/map_range.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multimap_range.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/set_range.cc: New test.
-
-2005-02-18 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/thread/pthread1.cc: Do not invoke pthread_setconcurrency
- on Solaris 2.6 and below.
- * testsuite/thread/pthread2.cc: Likewise.
- * testsuite/thread/pthread3.cc: Likewise.
- * testsuite/thread/pthread4.cc: Likewise.
- * testsuite/thread/pthread5.cc: Likewise.
- * testsuite/thread/pthread6.cc: Likewise.
- * testsuite/thread/pthread7-rope.cc: Likewise.
-
-2005-02-17 Matt Austern <austern@apple.com>
-
- * include/tr1/functional (hash): New function object.
- * include/tr1/hashtable: New file.
- * include/tr1/unordered_set: New file.
- * include/tr1/unordered_map: New file.
- * include/Makefile.am: Add three new TR1 headers.
- * include/Makefile.in: Likewise.
- * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/map_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multimap_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multiset_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/set_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/map.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/set.cc: New test.
-
-2005-02-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/23_containers/set/modifiers/16728.cc:
- Remove redundant include <testsuite_performance.h>.
-
-2005-02-16 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19829
- * testsuite/21_strings/basic_string/find/char/3.cc: Fix the test
- at line #66 to not access str_lit01 beyond its end.
- * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise.
-
-2005-02-15 Paolo Carlini <pcarlini@suse.de>
- Jon Grimm <jgrimm2@us.ibm.com>
-
- PR libstdc++/19955
- * include/bits/locale_facets.h (ctype<char>::_M_narrow_init()):
- Fix the logic setting _M_narrow_ok: first check whether the
- transformation is trivial with a dflt == 0, then deal with the
- special case of zero.
- * testsuite/22_locale/ctype/narrow/char/19955.cc: New.
-
- * include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
- Tweak consistently to use memcmp; minor formatting fixes.
-
-2005-02-15 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/19946
- * testsuite/demangle/abi_examples/01.cc (main): Adjust for 2005-02-13
- demangler change.
- * testsuite/demangle/abi_examples/02.cc (main): Likewise.
-
-2005-02-13 Richard Guenther <rguenth@gcc.gnu.org>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11706
- * include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
- for integer overloads.
-
- * testsuite/26_numerics/cmath/powi.cc: New.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/26_numerics/complex/13450.cc: Fix XFAIL selector.
- * testsuite/26_numerics/complex/complex_value.cc: Ditto.
- * testsuite/26_numerics/complex/pow.cc: Ditto.
-
- * testsuite/lib/libstdc++.exp: Load target-supports-dg.exp.
- * testsuite/26_numerics/complex/13450.cc: XFAIL for broken_cplxf_arg.
- * testsuite/26_numerics/complex/complex_value.cc: Ditto.
- * testsuite/26_numerics/complex/pow.cc: Ditto.
-
-2005-02-09 Mike Stump <mrs@apple.com>
-
- * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.
-
-2005-02-09 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/ext/array_allocator/2.cc: XFAIL for powerpc*-*-linux*.
-
-2005-02-08 Mark Mitchell <mark@codesourcery.com>
-
- * config/linker-map.gnu (GLIBCXX_3.4): Add _ZNSdC* and _ZNSdD*.
-
-2005-02-07 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Make buf static.
- * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Make ref and
- src static.
-
-2005-02-02 Brad Spencer <spencer@infointeractive.com>
-
- * debug.html: Fix broken tags.
- * documentation.html: Same.
-
-2005-02-02 Andreas Jaeger <aj@suse.de>
-
- * testsuite/lib/libstdc++.exp: Revert Geoffrey Keating's patch
- from 2005-01-28.
- * testsuite/Makefile.am: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-02-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/cpp_type_traits.h: Rename _M_type fields to
- __value, except for __enable_if, _M_type -> __type, consistently
- with the other traits.
- * include/bits/stl_algobase.h: Tweak consistently.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/valarray_array.h: Likewise.
- * include/c_std/std_cmath.h: Likewise.
- * include/debug/safe_iterator.h: Likewise.
- * include/std/std_complex.h: Likewise.
-
-2005-01-31 Brad Spencer <spencer@infointeractive.com>
-
- * crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
- * configure: Regenerated.
-
-2005-01-31 Mark Mitchell <mark@codesourcery.com>
-
- * include/std/std_limits.h (numeric_limits<float>::has_denorm):
- Add required cast.
- (numeric_limits<double>::has_denorm): Likewise.
- (numeric_limits<long double>::has_denorm): Likewise.
-
-2005-01-31 Paolo Carlini <pcarlini@suse.de>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/bits/cpp_type_traits.h: Add types to the structs thus
- making type_traits.h redundant; exploit new __truth_type and
- __traitor helpers.
- * include/bits/type_traits.h: Remove.
- * include/Makefile.am: Update.
- * include/Makefile.in: Regenerate.
- * include/backward/tempbuf.h: Include cpp_type_traits.h instead.
- * include/bits/basic_string.h (replace(iterator, iterator,
- _InputIterator, _InputIterator), _S_construct(_InIterator,
- _InIterator, const _Alloc&)): Use __is_integer instead.
- * include/bits/stl_bvector.h (vector(_InputIterator,
- _InputIterator, const allocator_type&), assign(_InputIterator,
- _InputIterator), insert(iterator, _InputIterator, _InputIterator)):
- Likewise.
- * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
- _ForwardIterator)): Use __is_scalar.
- * include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
- const allocator_type&), assign(_InputIterator, _InputIterator),
- insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
- * include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
- insert(iterator, _InputIterator, _InputIterator)): Likewise.
- * include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
- _ForwardIterator)): Use __is_scalar.
- * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
- _InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
- _ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
- _Size, const _Tp&)): Likewise.
- * include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
- const allocator_type&), assign(_InputIterator, _InputIterator),
- insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
- * include/debug/debug.h (__valid_range(const _InputIterator&,
- const _InputIterator&)): Use __is_integer.
- * include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
- * include/std/std_string.h: Include cpp_type_traits.h instead.
-
-2005-01-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19642
- * config/locale/generic/c_locale.h (__convert_from_v): Switch only
- LC_NUMERIC, and only when actually != "C".
-
-2005-01-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_function): Minor consistency tweaks.
-
-2005-01-28 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
- for the compiler. Don't set cxxflags.
- (v3_target_compile): Search for libv3test.a relative to $objdir.
- (lsearch_all_inline): New.
- (lsearch_all_inline_not): New.
- (v3-list-tests): Rewrite to not need generated files.
- * testsuite/Makefile.am (IGNORE_WCHAR_T): New.
- (IGNORE_THREAD): New.
- (TESTS_TO_IGNORE): New.
- (site.exp): Set tests_to_ignore, cxxflags.
- * aclocal.m4: Regenerate.
- * Makefile.in: Regenerate.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-01-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_empty.
- * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
- is_empty.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
- typedefs.cc: Likewise.
-
- * include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
-
-2005-01-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_abstract, by exploiting the
- resolution of DR core/337.
- * testsuite/testsuite_tr1.h: Add AbstractClass.
- * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
- is_abstract.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
- typedefs.cc: Likewise.
-
- * include/tr1/type_traits (is_function): Rewrite, use the conversion
- F& -> F* instead, thus avoiding problems with abstract classes.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_function/is_function.cc: Add a test for tricky AbstractClass.
-
-2005-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h
- (struct __per_type_pool_policy<,, false>::_S_get_pool,
- struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
- _M_chunk_size too with sizeof(_Tp), otherwise the allocator
- breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
- reduce to 64 the multiplier for _M_max_bytes (safer wrt
- _Binmap_type being a short); trivial reformattings.
- * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.
-
-2005-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
- to the final test for enable_c99, thus robustifying it; remove
- duplicate final test on ac_99_math.
- * configure: Regenerate.
-
- * include/std/std_complex.h: Remove usages of the dead
- _GLIBCXX_BUGGY_COMPLEX macro.
-
- * testsuite/26_numerics/cmath/19322.cc: Protect with
- _GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
- since only C99 math facilities are involved.
- * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
- Likewise.
-
-2005-01-25 Loren J. Rittle <ljrittle@acm.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin
- instead of generic. Change autoconf report to "darwin or freebsd".
- * configure: Regenerate.
- * config/os/bsd/freebsd/ctype_inline.h (ctype<wchar_t>::do_is): Add.
- (ctype<wchar_t>::do_scan_is): Likewise.
- (ctype<wchar_t>::do_scan_not): Likewise.
-
-2005-01-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
- functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
- * acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/std/std_complex.h: Protect complex builtins with
- _GLIBCXX_USE_C99_COMPLEX_MATH.
-
-2005-01-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_signed and is_unsigned.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_signed/is_signed.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_signed/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_unsigned/is_unsigned.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_unsigned/typedefs.cc: Likewise.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New.
- * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/4402.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/6.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/9555-oa.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/6.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/9555-oc.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/9318-out.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/9424-out.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/9555-oo.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- error_failbit.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- exceptions_null.cc: Likewise.
- * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/
- 2346-fstream.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/
- 2346-sstream.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
-
- * testsuite/data/wostream_inserter_char-1.tst: Likewise.
- * testsuite/data/wostream_inserter_char-1.txt: Likewise.
- * testsuite/data/wostream_inserter_other-1.tst: Likewise.
- * testsuite/data/wostream_inserter_other-2.tst: Likewise.
- * testsuite/data/wostream_seeks-1.tst: Likewise.
-
- * testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks.
- * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/4402.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/6.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- char/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- 2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- 5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- error_failbit.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- exceptions_null.cc: Likewise.
- * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (aligned_storage): Use __aligned__ instead
- of aligned.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
- Andreas Jaeger <aj@suse.de>
-
- PR libstdc++/19343
- * include/bits/functexcept.h: Mark the helpers as 'noreturn'.
-
-2005-01-21 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow
- lseek on fifo to succeed. Thus, check for consistent report.
-
-2005-01-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- PR libstdc++/19510
- * include/bits/stl_list.h (_List_iterator): Initialize _M_node
- in constructor.
- (_List_const_iterator): Likewise.
- * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
- (_Rb_tree_const_iterator): Likewise.
-
- * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
- * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
-
-2005-01-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am (check-compile): New.
- * testsuite/Makefile.in: Regenerate.
- * scripts/check_compile_time: New.
- * scripts/check_performance: Tweaks.
-
-2005-01-19 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19535
- * include/tr1/utility (struct __pair_get<1>::__get, __const_get):
- Fix typo in the return type.
- * testsuite/tr1/6_containers/utility/19535.cc: New.
-
-2005-01-19 Loren J. Rittle <ljrittle@acm.org>
-
- * include/ext/array_allocator.h (array_allocator<>::allocate):
- Avoid __used. Use __array_used instead.
- * docs/html/17_intro/BADNAMES: Add list for FreeBSD.
-
-2005-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete.
- (_XOPEN_SOURCE_EXTENDED): Delete.
-
-2005-01-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_performance.h (time_counter::start):
- Clear. Tweaks.
- (clear_counters): Inline.
- (start_counters): Inline.
- (stop_counters): Inline.
- * testsuite/performance/20_util/allocator/map_thread.cc: Return.
- * testsuite/performance/20_util/allocator/insert.cc: Remove bogus
- return, add return.
- * testsuite/performance/20_util/allocator/map_thread.cc: Same.
-
-2005-01-17 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19433
- * include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
- const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
- Obtain amortized constant complexity if t is inserted right after
- p - not before p - as per Table 69.
- * testsuite/performance/23_containers/set_insert_from_sorted.cc: New.
-
- * testsuite/23_containers/multiset/insert/2.cc: New.
- * testsuite/23_containers/set/insert/1.cc: Likewise.
-
- * testsuite/performance/23_containers/set_create_from_sorted.cc:
- Simplify.
-
- * include/bits/stl_tree.h: Add a few missing std:: qualifications.
-
-2005-01-16 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
- * testsuite/ext/rope/4.cc: Add.
-
-2005-01-16 Lorenz Minder <lminder@gmx.net>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19322
- * include/c_std/std_cmath.h: Define the C99 classification facilities
- directly inside namespace std:.
- * testsuite/26_numerics/cmath/19322.cc: New.
-
-2005-01-15 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/aix/os_defines.h (_G_USING_THUNKS): Delete.
-
-2005-01-14 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19422
- * include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
- _Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
- respectively) with hint (end()).
- * testsuite/performance/23_containers/set_create_from_sorted.cc: New.
-
-2005-01-13 Geoffrey Keating <geoffk@apple.com>
-
- * configure.host (darwin): On darwin8 or later, no need to build
- libstdc++ with -flat_namespace.
-
-2005-01-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES.
-
-2005-01-13 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
- Re-enable commented-out test for double type.
-
-2005-01-11 Paolo Carlini <pcarlini@suse.de>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): In case
- more than numeric_limits<streamsize>::max() chars are skipped,
- set _M_gcount = max().
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise; keep simple, don't forward.
-
-2005-01-11 Paolo Carlini <pcarlini@suse.de>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): Revert
- 2005-01-05 change: actually, the previous behavior is conforming
- and consistent with that of get(char_type*, streamsize, char_type),
- albeit slightly different from that of 3.3/3.4 in a corner case
- due to the use of snextc.
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise.
- * testsuite/27_io/basic_istream/ignore/char/4.cc: Remove.
- * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
-
-2005-01-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement alignment_of and aligned_storage.
- * testsuite/tr1/4_metaprogramming/other_transformations/
- aligned_storage/aligned_storage.cc: New.
- * testsuite/tr1/4_metaprogramming/other_transformations/
- aligned_storage/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- alignment_of/alignment_of.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- alignment_of/typedefs.cc: Likewise.
-
-2005-01-10 Paolo Carlini <pcarlini@suse.de>
-
- * Makefile.in: Regenerate.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-01-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (lexicographical_compare):
- Fix concept check.
-
-2005-01-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: Remove CCODECVT_H.
- * configure: Regenerate.
- * include/Makefile.am (host_headers_extra): Move to...
- (ext_headers): ...here.
- * include/Makefile.in: Regenerate.
- * include/ext/enc_filebuf: Remove enc_filebuf, consolidate
- enc_traits to...
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
- * include/ext/codecvt_specializations.h: ...here. Remove
- _GLIBCXX_USE___ENC_TRAITS.
- (__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
- (enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
- namespace.
- * config/locale/generic/codecvt_specializations.h: Remove.
- * include/bits/codecvt.h: Remove codecvt_specializations.h include.
- * src/codecvt.cc: Remove __enc_traits::_S_max_size.
-
-2005-01-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fstream.tcc: Remove unnecessary qualifications for
- uglified data members of basic_filebuf, including _M_buf,
- _M_buf_size, _M_mode, _M_pback_init.
- * include/std/std_fstream.h: Same.
-
-2005-01-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_hooks.h:
- (copy_constructor::mark_call): Use __throw_runtime_error.
- (assignment_operator::mark_call): Same.
- * testsuite/testsuite_hooks.cc (verify_demangle): Same.
- (locale_data): Remove, just use runtime_error directly.
- (environment_variable): Same.
- (not_found): Same.
- (run_tests_wrapped_locale): Use __throw_runtime_error.
- (run_tests_wrapped_env): Same.
- (semaphore::semaphore): Same.
- (semaphore::signal): Same.
- (semaphore::wait): Same.
- * testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error.
- * testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error.
- (create_symbols): Use __throw_runtime_error.
- * src/bitmap_allocator.cc: Use __throw_bad_alloc.
-
-2005-01-05 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
- process.
-
-2005-01-05 Paolo Carlini <pcarlini@suse.de>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
- first check _M_gcount vs __n.
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise.
- * testsuite/27_io/basic_istream/ignore/char/4.cc: New.
- * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
-
-2005-01-03 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_hooks.cc: Use __throw_exception_again
- instead of just throw.
-
- * testsuite/testsuite_hooks.cc: Update coypright and follow style
- guidelines.
- * testsuite/testsuite_hooks.h: Likewise.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
- semaphores, not sleep.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
- * testsuite/27_io/objects/char/7.cc: Likewise.
- * testsuite/27_io/objects/char/9661-1.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
- * configure.ac: Check for sys/ipc.h and sys/sem.h.
- * config.h.in: Regenerated.
- * configure: Likewise.
- * testsuite/testsuite_hooks.cc (_GLIBCXX_SYSV_SEM): Conditionally
- define.
- (sys/types.h): Include.
- (sys/ipc.h): Likewise.
- (sys/sem.h): Likewise.
- (__gnu_test::semun): New type.
- (__gnu_test::semaphore::sempaphore): New function.
- (__gnu_test::semaphore::~semaphore): Likewise.
- (__gnu_test::semaphore::wait): Likewise.
- (__gnu_test::semaphore::signal): Likewise.
- * testsuite/testsuite_hooks.h (__gnu_test::semaphore): New class.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
- semaphores, not sleep.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
- * testsuite/27_io/objects/char/7.cc: Likewise.
- * testsuite/27_io/objects/char/9661-1.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
-2005-01-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Reset _M_gcount to numeric_limits<streamsize>::min().
- * src/istream.cc (basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): Likewise.
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize)): Likewise; fix a typo.
-
-2005-01-02 Paolo Carlini <pcarlini@suse.de>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
- _M_gcount overflows.
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise; use snextc in the main loop, consistently
- with the specializations above.
-
-2005-01-02 Chris Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algobase.h (mismatch): Correct concept check.
-
-2005-01-01 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include
- testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
- * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
-
-2005-01-01 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/extractors_character/char/1.cc: Fix,
- null-terminate array1 at the outset.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
- Likewise.
diff --git a/contrib/libstdc++/ChangeLog-2006 b/contrib/libstdc++/ChangeLog-2006
deleted file mode 100644
index a1b886174f2e..000000000000
--- a/contrib/libstdc++/ChangeLog-2006
+++ /dev/null
@@ -1,5528 +0,0 @@
-2006-12-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/array (array<>::_M_at): Remove.
- (array<>::_M_check): Add.
- (array<>::at): Use the latter.
-
-2006-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * docs/html/27_io/howto.html: Fix typos.
- * docs/html/24_iterators/howto.html: Likewise.
- * docs/html/18_support/howto.html: Likewise.
- * docs/html/21_strings/howto.html: Likewise.
- * docs/html/ext/howto.html: Likewise.
- * docs/html/ext/ballocator_doc.html: Likewise.
- * docs/html/17_intro/porting-howto.xml: Likewise.
- * docs/html/17_intro/howto.html: Likewise.
- * docs/html/22_locale/howto.html: Likewise.
- * docs/html/faq/index.html: Likewise.
- * docs/doxygen/tables.html: Likewise.
-
-2006-12-12 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/28265
- * crossconfig.m4: Remove GLIBCXX_CHECK_ICONV_SUPPORT call for
- mingw crosses.
- * configure: Regenerate.
-
-2006-12-12 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/26497
- * crossconfig.m4: Add GLIBCXX_CHECK_LINKER_FEATURES for Solaris.
- * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
- glibcxx_gnu_ld_version only when with GNU ld confirmed.
- * configure: Regenerate.
-
-2006-12-11 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/28125
- * acinclude.m4 (GLIBCXX_CHECK_ICONV_SUPPORT): Remove link test, ie
- AC_CHECK_LIB for libiconv. Instead, use bits of AM_ICONV.
- * configure: Regenerate.
- * scripts/testsuite_flags.in (cxxldflags): Add LIBICONV bits.
-
-2006-12-08 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/util/testsuite_hooks.cc (set_memory_limits): Don't set
- RLIMIT_AS below 16MB on x86_64-linux.
-
-2006-12-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/localefwd.h: Consistent @file placement, use
- include/ as part of the path for files that have shadows instead of no
- name.
- * include/bits/valarray_after.h: Same.
- * include/bits/gslice_array.h: Same.
- * include/bits/gslice.h: Same.
- * include/bits/locale_classes.h: Same.
- * include/bits/locale_facets.h: Same.
- * include/bits/indirect_array.h: Same.
- * include/bits/basic_string.h: Same.
- * include/bits/ios_base.h: Same.
- * include/bits/postypes.h: Same.
- * include/bits/codecvt.h: Same.
- * include/bits/mask_array.h: Same.
- * include/bits/slice_array.h: Same.
- * include/bits/boost_concept_check.h: Same.
- * include/bits/char_traits.h: Same.
- * include/bits/stringfwd.h: Same.
- * include/bits/c++config: Same.
- * include/bits/valarray_array.h: Same.
- * include/bits/valarray_before.h: Same.
- * include/bits/cpp_type_traits.h: Same.
- * include/c/std_cerrno.h: Same.
- * include/precompiled/extc++.h: Same.
- * include/precompiled/stdtr1c++.h: Same.
- * include/precompiled/stdc++.h: Same.
- * include/tr1/cinttypes: Same.
- * include/tr1/fenv.h: Same.
- * include/tr1/mu_iterate.h: Same.
- * include/tr1/cstdio: Same.
- * include/tr1/limits.h: Same.
- * include/tr1/ctgmath: Same.
- * include/tr1/cstdarg: Same.
- * include/tr1/tuple: Same.
- * include/tr1/float.h: Same.
- * include/tr1/stdint.h: Same.
- * include/tr1/tuple_iterate.h: Same.
- * include/tr1/type_traits_fwd.h: Same.
- * include/tr1/hashtable_policy.h: Same.
- * include/tr1/cfenv: Same.
- * include/tr1/wctype.h: Same.
- * include/tr1/ref_fwd.h: Same.
- * include/tr1/bind_repeat.h: Same.
- * include/tr1/utility: Same.
- * include/tr1/climits: Same.
- * include/tr1/type_traits: Same.
- * include/tr1/stdlib.h: Same.
- * include/tr1/cwchar: Same.
- * include/tr1/stdio.h: Same.
- * include/tr1/ref_wrap_iterate.h: Same.
- * include/tr1/cstdint: Same.
- * include/tr1/memory: Same.
- * include/tr1/cstdbool: Same.
- * include/tr1/cwctype: Same.
- * include/tr1/bind_iterate.h: Same.
- * include/tr1/math.h: Same.
- * include/tr1/random: Same.
- * include/tr1/tuple_defs.h: Same.
- * include/tr1/cstdlib: Same.
- * include/tr1/unordered_map: Same.
- * include/tr1/boost_shared_ptr.h: Same.
- * include/tr1/cctype: Same.
- * include/tr1/random.tcc: Same.
- * include/tr1/wchar.h: Same.
- * include/tr1/hashtable: Same.
- * include/tr1/cmath: Same.
- * include/tr1/stdbool.h: Same.
- * include/tr1/ctime: Same.
- * include/tr1/functional: Same.
- * include/tr1/unordered_set: Same.
- * include/tr1/inttypes.h: Same.
- * include/tr1/functional_iterate.h: Same.
- * include/tr1/repeat.h: Same.
- * include/tr1/complex: Same.
- * include/tr1/cfloat: Same.
- * include/tr1/ctype.h: Same.
- * include/tr1/stdarg.h: Same.
- * include/tr1/tgmath.h: Same.
- * include/tr1/array: Same.
- * include/tr1/common.h: Same.
- * include/std/std_valarray.h: Same.
- * include/std/std_iostream.h: Same.
- * include/std/std_queue.h: Same.
- * include/std/std_algorithm.h: Same.
- * include/std/std_streambuf.h: Same.
- * include/std/std_iterator.h: Same.
- * include/std/std_ios.h: Same.
- * include/std/std_bitset.h: Same.
- * include/std/std_iosfwd.h: Same.
- * include/std/std_set.h: Same.
- * include/std/std_iomanip.h: Same.
- * include/std/std_fstream.h: Same.
- * include/std/std_functional.h: Same.
- * include/std/std_numeric.h: Same.
- * include/std/std_vector.h: Same.
- * include/std/std_deque.h: Same.
- * include/std/std_stdexcept.h: Same.
- * include/std/std_utility.h: Same.
- * include/std/std_stack.h: Same.
- * include/std/std_string.h: Same.
- * include/std/std_complex.h: Same.
- * include/std/std_memory.h: Same.
- * include/std/std_ostream.h: Same.
- * include/std/std_list.h: Same.
- * include/std/std_map.h: Same.
- * include/std/std_sstream.h: Same.
- * include/c_std/std_csignal.h: Same.
- * include/c_std/std_cstdlib.h: Same.
- * include/c_std/std_cstdio.h: Same.
- * include/c_std/std_cstdarg.h: Same.
- * include/c_std/std_cctype.h: Same.
- * include/c_std/std_cerrno.h: Same.
- * include/c_std/std_cmath.h: Same.
- * include/c_std/std_ctime.h: Same.
- * include/c_std/std_clocale.h: Same.
- * include/c_std/std_climits.h: Same.
- * include/c_std/std_cassert.h: Same.
- * include/c_std/cmath.tcc
- * include/c_std/std_csetjmp.h: Same.
- * include/c_std/std_cwchar.h: Same.
- * include/c_std/std_cfloat.h: Same.
- * include/c_std/std_cstring.h: Same.
- * include/c_std/std_cstddef.h: Same.
- * include/c_std/std_cwctype.h: Same.
-
- * config/locale/gnu/c_locale.h: Namespace scope in all files.
- * config/locale/gnu/messages_members.h: Same.
- * config/locale/gnu/c++locale_internal.h: Same.
- * config/locale/gnu/time_members.h: Same.
- * config/locale/ieee_1003.1-2001/c_locale.h: Same.
- * config/locale/ieee_1003.1-2001/messages_members.h: Same.
- * config/locale/generic/c_locale.h: Same.
- * config/locale/generic/messages_members.h: Same.
- * config/locale/generic/time_members.h: Same.
- * config/allocator/mt_allocator_base.h: Same.
- * config/allocator/malloc_allocator_base.h: Same.
- * config/allocator/new_allocator_base.h: Same.
- * config/allocator/pool_allocator_base.h: Same.
- * config/allocator/bitmap_allocator_base.h: Same.
- * config/os/windiss/ctype_noninline.h: Same.
- * config/os/windiss/os_defines.h: Same.
- * config/os/windiss/ctype_inline.h: Same.
- * config/os/newlib/ctype_noninline.h: Same.
- * config/os/newlib/os_defines.h: Same.
- * config/os/newlib/ctype_inline.h: Same.
- * config/os/aix/ctype_noninline.h: Same.
- * config/os/aix/os_defines.h: Same.
- * config/os/aix/ctype_inline.h: Same.
- * config/os/vxworks/ctype_noninline.h: Same.
- * config/os/vxworks/os_defines.h: Same.
- * config/os/vxworks/ctype_inline.h: Same.
- * config/os/hpux/ctype_noninline.h: Same.
- * config/os/hpux/os_defines.h: Same.
- * config/os/hpux/ctype_inline.h: Same.
- * config/os/mingw32/ctype_noninline.h: Same.
- * config/os/mingw32/os_defines.h: Same.
- * config/os/mingw32/ctype_inline.h: Same.
- * config/os/gnu-linux/ctype_noninline.h: Same.
- * config/os/gnu-linux/os_defines.h: Same.
- * config/os/gnu-linux/ctype_inline.h: Same.
- * config/os/tpf/ctype_noninline.h: Same.
- * config/os/tpf/os_defines.h: Same.
- * config/os/tpf/ctype_inline.h: Same.
- * config/os/uclibc/ctype_noninline.h: Same.
- * config/os/uclibc/os_defines.h: Same.
- * config/os/uclibc/ctype_inline.h: Same.
- * config/os/djgpp/ctype_noninline.h: Same.
- * config/os/djgpp/os_defines.h: Same.
- * config/os/djgpp/ctype_inline.h: Same.
- * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
- * config/os/qnx/qnx6.1/ctype_inline.h: Same.
- * config/os/bsd/netbsd/ctype_noninline.h: Same.
- * config/os/bsd/netbsd/ctype_inline.h: Same.
- * config/os/bsd/darwin/ctype_noninline.h: Same.
- * config/os/bsd/darwin/ctype_inline.h: Same.
- * config/os/bsd/freebsd/ctype_noninline.h: Same.
- * config/os/bsd/freebsd/ctype_inline.h: Same.
- * config/os/irix/irix5.2/ctype_noninline.h: Same.
- * config/os/irix/irix5.2/ctype_inline.h: Same.
- * config/os/irix/irix6.5/ctype_noninline.h: Same.
- * config/os/irix/irix6.5/ctype_inline.h: Same.
- * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.5/ctype_inline.h: Same.
- * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.6/ctype_inline.h: Same.
- * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
- * config/os/solaris/solaris2.7/ctype_inline.h: Same.
- * config/os/generic/ctype_noninline.h: Same.
- * config/os/generic/os_defines.h: Same.
- * config/os/generic/ctype_inline.h: Same.
- * config/cpu/arm/cxxabi_tweaks.h: Same.
- * config/cpu/powerpc/cpu_defines.h: Same.
- * config/cpu/generic/cxxabi_tweaks.h: Same.
- * config/cpu/generic/cpu_defines.h: Same.
- * config/cpu/generic/atomic_word.h: Same.
- * config/io/c_io_stdio.h: Same.
- * config/abi/compatibility.h: Same.
-
- * docs/doxygen/user.cfg.in: Adjust file list.
-
-2006-12-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/tuple: Consistent include guards.
- * include/tr1/type_traits: Same.
- * include/tr1/array: Same.
-
-2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * configure: Regenerate.
-
-2006-12-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_tree.h (_Rb_tree<>::destroy_node): Uglify.
- (_M_erase, erase(iterator), erase(const_iterator)): Adjust.
-
-2006-11-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/throw_allocator.h: Consistent @file markup.
- * include/ext/type_traits.h: Same.
- * include/debug/hash_map: Same.
- * include/debug/hash_multimap.h: Same.
- * include/debug/set.h: Same.
- * include/debug/hash_set.h: Same.
- * include/debug/formatter.h: Same.
- * include/debug/bitset: Same.
- * include/debug/set: Same.
- * include/debug/multiset.h: Same.
- * include/debug/safe_sequence.h: Same.
- * include/debug/hash_set: Same.
- * include/debug/functions.h: Same.
- * include/debug/safe_base.h: Same.
- * include/debug/hash_multiset.h: Same.
- * include/debug/safe_iterator.tcc: Same.
- * include/debug/vector: Same.
- * include/debug/map.h: Same.
- * include/debug/deque: Same.
- * include/debug/hash_map.h: Same.
- * include/debug/string: Same.
- * include/debug/macros.h: Same.
- * include/debug/list: Same.
- * include/debug/debug.h: Same.
- * include/debug/map: Same.
- * include/debug/safe_iterator.h: Same.
- * include/debug/multimap.h: Same.
- * config/cpu/generic/atomicity_mutex/atomicity.h: Same.
- * config/cpu/generic/atomicity_builtins/atomicity.h: Same.
- * config/cpu/generic/atomic_word.h: Same.
- * include/tr1/memory: Same.
- * include/tr1/random: Same.
- * include/std/std_queue.h: Same.
- * include/std/std_iterator.h: Same.
- * include/std/std_bitset.h: Same.
- * include/std/std_set.h: Same.
- * include/std/std_vector.h: Same.
- * include/std/std_deque.h: Same.
- * include/std/std_utility.h: Same.
- * include/std/std_stack.h: Same.
- * include/std/std_string.h: Same.
- * include/std/std_list.h: Same.
- * include/std/std_map.h: Same.
- * libsupc++/typeinfo: Same.
- * libsupc++/exception: Same.
- * libsupc++/exception_defines.h: Same.
- * libsupc++/new: Same.
-
- * include/ext/bitmap_allocator.h: Change namespace __balloc to
- __detail.
- * src/bitmap_allocator.cc: Same.
-
- * include/bits/cpp_type_traits.h: Change __true_type and
- __false_type from global to namespace std scope.
- * include/ext/slist: Same.
- * include/ext/vstring.h: Same.
- * include/ext/vstring.tcc: Same.
- * include/ext/rc_string_base.h: Same.
- * include/ext/sso_string_base.h: Same.
-
- * include/bits/codecvt.h: Adjust markup so that correct namespace
- scope information is in all files.
- * include/bits/locale_facets.h: Same. Include ctype_base directly.
- * config/os/windiss/ctype_base.h: Add in namespace markup.
- * config/os/newlib/ctype_base.h: Same.
- * config/os/aix/ctype_base.h: Same.
- * config/os/vxworks/ctype_base.h: Same.
- * config/os/hpux/ctype_base.h: Same.
- * config/os/mingw32/ctype_base.h: Same.
- * config/os/gnu-linux/ctype_base.h: Same.
- * config/os/tpf/ctype_base.h: Same.
- * config/os/uclibc/ctype_base.h: Same.
- * config/os/djgpp/ctype_base.h: Same.
- * config/os/qnx/qnx6.1/ctype_base.h: Same.
- * config/os/bsd/netbsd/ctype_base.h: Same.
- * config/os/bsd/darwin/ctype_base.h: Same.
- * config/os/bsd/freebsd/ctype_base.h: Same.
- * config/os/irix/irix5.2/ctype_base.h: Same.
- * config/os/irix/irix6.5/ctype_base.h: Same.
- * config/os/solaris/solaris2.5/ctype_base.h: Same.
- * config/os/solaris/solaris2.6/ctype_base.h: Same.
- * config/os/solaris/solaris2.7/ctype_base.h: Same.
- * config/os/generic/ctype_base.h: Same.
- * include/tr1/mu_iterate.h: Same.
- * include/tr1/tuple: Same.
- * include/tr1/tuple_iterate.h: Same.
- * include/tr1/tuple_defs.h: Same.
- * include/tr1/random.tcc: Same.
- * include/tr1/functional: Same.
- * include/tr1/functional_iterate.h: Same.
-
- * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
- number changes.
- * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
- * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
- * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
-
- * docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
- * docs/html/17_intro/license.html: Updated info for generated docs.
- * docs/doxygen/guide.html: Adjust.
- * docs/doxygen/run_doxygen: Adjust.
- * docs/doxygen/mainpage.html: Same.
- * docs/doxygen/doxygroups.cc: Same.
- * docs/doxygen/Intro.3: Same.
- * docs/doxygen/tables.html: Same.
-
-2006-11-22 Antony King <anthony.king@st.com>
- J"orn Rennecke <joern.rennecke@st.com>
-
- PR libstdc++/29920
- * include/Makefile.am (stamp-host): Remove CCODECVT_H line.
- * include/Makefile.in: Regenerate.
-
-2006-11-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/hashtable.h: -Wshadow fixes.
- * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/
- constructors_destructor_fn_imps.hpp: Same.
- * src/mt_allocator.cc: Same.
- * src/debug.cc: Same.
- * config/locale/gnu/codecvt_members.cc: Same.
-
-2006-11-21 Benjamin Kosnik <bkoz@redhat.com>
- Howard Hinnant <hhinnant@apple.com>
-
- * src/iostream-inst.cc: Remove iostream include.
-
-2006-11-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/functional (hash(long long), hash(unsigned long long)):
- Add specializations.
-
-2006-11-18 Joseph Myers <joseph@codesourcery.com>
-
- * config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
- Use plain sync if __NO_LWSYNC__.
-
-2006-11-14 Joseph Myers <joseph@codesourcery.com>
-
- * testsuite/26_numerics/complex/13450.cc: Do not test long double
- in IBM long double case.
-
-2006-11-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/bitmap_allocator.h: Uglify some names.
- * include/ext/concurrence.h: Likewise.
- * src/bitmap_allocator.cc: Likewise.
-
-2006-11-10 Jakub Jelinek <jakub@redhat.com>
-
- * config/locale/gnu/c_locale.cc (__convert_to_v): Prefer
- strtold_l over __strtold_l if available.
-
-2006-11-07 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/29722
- * include/ext/concurrence.h (concurrence_lock_error): New.
- (concurrence_unlock_error): New.
- (__throw_concurrence_lock_error): New.
- (__throw_concurrence_unlock_error): New.
- (__mutex): Use functions.
- (__recursive_mutex): Same.
- * testsuite/abi/cxx_runtime_only_linkage.cc: New.
-
- * include/ext/pb_ds/exception.hpp: Keep exception classes defined
- even when -fno-exceptions is passed, consistent with other usage.
-
-2006-11-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/exception.hpp (pb_ds): Modify for -fno-exceptions.
- (__throw_container_error): New. Conditionalize based on __EXCEPTIONS.
- (__throw_insert_error): New.
- (__throw_join_error): New.
- (__throw_resize_error): New.
- * include/ext/pb_ds/detail/resize_policy/
- hash_prime_size_policy_imp.hpp: Use them.
- * include/ext/pb_ds/detail/resize_policy/
- hash_exponential_size_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_load_check_resize_trigger_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_standard_resize_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
- * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp
- * include/ext/pb_ds/detail/pat_trie_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/
- split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/exception.hpp: Same.
- * src/functexcept.cc: Qualify abort with std.
-
-2006-11-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/exception.hpp: Add translation support to
- exception strings.
- * include/ext/concurrence.h: Same.
- * include/tr1/array: Same.
-
-2006-11-05 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 45.
- * docs/html/ext/lwg-closed.html: Add.
- * docs/html/ext/howto.html: Adjust.
-
-2006-10-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/utility (tuple_size<std::pair<> >::value): Provide
- definition.
-
-2006-10-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/tuple_iterate.h (tuple_size<tuple<> >::value): Provide
- definition.
- * include/tr1/functional (is_bind_expression<>::value,
- is_placeholder<>::value, + various partial specializations): Likewise.
- * include/tr1/array (tuple_size<array<> >::value): Likewise.
-
-2006-10-30 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/6_containers/array/capacity/max_size.cc: Actually
- do test max_size().
-
-2006-10-30 Joseph Myers <joseph@codesourcery.com>
-
- * testsuite/config/default.exp (${tool}_target_compile): Use
- v3_target_compile.
-
-2006-10-30 Paolo Carlini <pcarlini@suse.de>
-
- * src/debug.cc (_Safe_sequence_base::_M_revalidate_singular): Fix
- pasto, advance __iter only once per iteration.
-
-2006-10-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29520
- * include/tr1/random (geometric_distribution<>::
- operator()(_UniformRandomNumberGenerator&)): Only declare.
- * include/tr1/random.tcc (geometric_distribution<>::
- operator()(_UniformRandomNumberGenerator&),
- poisson_distribution<>::operator()(_UniformRandomNumberGenerator&),
- binomial_distribution<>::operator()(_UniformRandomNumberGenerator&)):
- Reject candidate floating point values not convertible to the
- result_type.
-
-2006-10-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/array (array<>::_M_at): New.
- (array<>::at): Fix off-by-one bug, use the above.
- * testsuite/tr1/6_containers/array/element_access/
- at_out_of_range.cc: Adjust.
-
- * include/tr1/array (class array<>): Remove non-conforming default
- for the second parameter.
- * include/ext/array_allocator.h: Adjust.
-
- * include/tr1/array (array<>::front, array<>::back): Do not return
- a reference to memory not belonging to the array when _Nm == 0.
-
-2006-10-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (money_get<>::__do_get(iter_type,
- iter_type, bool, ios_base&, ios_base::iostate&, double&),
- money_get<>::do_get(iter_type, iter_type, bool, ios_base&,
- ios_base::iostate&, long double&), money_get<>::do_get(iter_type,
- iter_type, bool, ios_base&, ios_base::iostate&, string_type&)): Tidy.
-
-2006-10-17 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26020
- * include/bits/stl_iterator_base_funcs.h (advance): Convert
- distance parameter to iterator_traits<>::difference_type.
- * testsuite/24_iterators/26020.cc: New.
-
-2006-10-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/random.tcc: Fixup long line.
-
-2006-10-17 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/28514
- * include/bits/cpp_type_traits.h (__detail): Uglify namespace.
- * include/ext/rope: Remove global-scope anonymous namespace, use
- nested __detail. Fixup resulting formatting issues.
- * include/ext/ropeimpl.h: Same.
- * include/tr1/hashtable_policy.h: Remove anonymous namespace
- nesting for __detail.
- * include/tr1/random: Revert anonymous namespace to nested
- __detail namespace.
- * include/tr1/random.tcc: Same.
- * src/ext-inst.cc: Fixups for above.
-
-2006-10-16 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/Makefile.am (tr1_headers): Add new tuple_defs.h.
- * include/Makefile.in (tr1_headers): Regenerate.
- * include/tr1/tuple (tuple): Move declaration to tuple_defs.h.
- (get): Ditto.
- (operator==): Ditto.
- (operator<): Ditto.
- (operator!=): Ditto.
- (operator>): Ditto.
- (operator<=): Ditto.
- (operator>=): Ditto.
- (__stripped_tuple_type): Ditto.
- Include tuple.defs.h
- * include/tr1/tuple_iterate.h (tuple): Use
- _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED macro instead of 10
- "typename"s.
- (tuple_element): Use _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS and
- _GLIBCXX_TYPLE_ALL_TEMPLATE_ARGS instead of 10
- parameters/arguments.
- * include/tr1/tuple_defs.h: New header, contains declarations and
- definitions for the tuple template with all arguments.
- * include/tr1/repeat.h (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS): New.
- (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED): New.
- (_GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS): New.
- (_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS): New.
- (_GLIBCXX_TEMPLATE_ARGS_STRIPPED): New.
- * scripts/gen_includers.pl: Update.
- * scripts/gen_includers2.pl: New.
-
-2006-10-16 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/29095 continued
- * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Additions
- so that testing not in the build directory works for the "C"
- target language.
-
-2006-10-16 Jakub Jelinek <jakub@redhat.com>
-
- * include/bits/basic_string.tcc (_Rep::_S_create): Call
- _M_set_sharable() for backwards compatibility.
-
-2006-10-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (getline(basic_istream<>&,
- basic_string<>&)): Move...
- * include/bits/basic_string.h: ... here.
- (operator<<(basic_ostream<>&, const basic_string<>&)): Mark inline.
-
-2006-10-15 Geoffrey Keating <geoffk@apple.com>
-
- * scripts/make_exports.pl: Use -_ rather than --strip-underscores
- or --strip-underscore.
-
-2006-10-14 Geoffrey Keating <geoffk@apple.com>
-
- * aclocal.m4: Regenerate.
- * configure: Regenerate with released autoconf-2.59.
-
-2006-10-14 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/faq/index.html: Update.
- * docs/html/faq/index.txt: Regenerate.
-
-2006-10-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/ostream.tcc (operator<<(basic_ostream<>&,
- const char*)): Further fix for throwing widen.
-
-2006-10-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/ostream.tcc (operator<<(basic_ostream<>&,
- const char*)): Fix thinko in change for libstdc++/28277,
- avoid memory leaks.
-
-2006-10-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (operator>>(__istream_type&
- (*)(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
- operator>>(ios_base& (*)(ios_base&))): Move...
- * include/std/std_istream.h: ... here.
- (operator>>(basic_istream<char,>&, unsigned char&),
- operator>>(basic_istream<char,>&, signed char&),
- operator>>(basic_istream<char,>&, unsigned char*),
- operator>>(basic_istream<char,>&, signed char*)): Mark inline.
- * include/bits/ostream.tcc (operator<<(__ostream_type&
- (*)(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
- operator<<(ios_base& (*)(ios_base&))): Move...
- * include/std/std_ostream.h: ... here.
- (operator<<(basic_ostream<>&, _CharT),
- operator<<(basic_ostream<>&, char),
- operator<<(basic_ostream<char,>&, char),
- operator<<(basic_ostream<char,>&, signed char),
- operator<<(basic_ostream<char,>&, unsigned char),
- operator<<(basic_ostream<>&, const _CharT*),
- operator<<(basic_ostream<char,>&, const char*),
- operator<<(basic_ostream<char,>&, const signed char*),
- operator<<(basic_ostream<char,>&, const unsigned char*),
- endl(basic_ostream<>&), ends(basic_ostream<>&),
- flush(basic_ostream<>&)): Mark inline.
-
-2006-10-13 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: ostream bits 2)
- * include/std/std_ostream.h (basic_ostream<>::_M_insert(const
- char_type*, streamsize)): New.
- (basic_ostream<>::_M_write(char_type, streamsize)): Likewise.
- (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&,
- char), operator<<(basic_ostream<>&, const _CharT*),
- operator<<(basic_ostream<>&, const char*)): Use the latter.
- * include/bits/ostream.tcc (basic_ostream<>::_M_insert(const
- char_type*, streamsize)): Define.
- (operator<<(basic_ostream<>&, const char*)): Use the latter.
- (operator<<(basic_ostream<>&, _CharT), operator<<(basic_ostream<>&,
- char), operator<<(basic_ostream<>&, const _CharT*),
- operator<<(basic_ostream<>&, const char*),
- operator<<(basic_ostream<>&, const basic_string<>&)): Remove.
- * include/bits/basic_string.h (operator<<(basic_ostream<>&,
- const basic_string<>&)): Use the latter, implement DR 586.
- * config/abi/pre/gnu.ver: Adjust, export the new _M_insert.
- * docs/html/ext/howto.html: Add an entry for DR 586.
- * testsuite/21_strings/basic_string/inserters_extractors/char/
- 28277.cc: New.
- * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
- 28277.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/
- 28277-3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/char/
- 28277-4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
- 28277-2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
- 28277-3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
- 28277-4.cc: Likewise.
-
-2006-10-11 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 44.
-
-2006-10-11 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/29426
- * libsupc++/guard.cc (get_static_mutex): New.
- (mutex_wrapper::mutex_wrapper): Use it to get properly initialized
- recursive mutex without ordering issues.
-
- * src/locale_init.cc (__get_locale_mutex): No need to
- uglify. Change to get_locale_mutex.
-
-2006-10-11 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/num_put/put/char/11.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/11.cc: Likewise.
-
-2006-10-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Link
- libtestc++.a, not a bunch of object files.
-
-2006-10-09 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/29118
- * src/locale_init.cc (__get_locale_mutex): New.
- (locale::locale): Use it.
- (locale::global): Use it.
-
-2006-10-09 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/29095
- * libsupc++/cxxabi.h (__cxa_cdtor_type): Explicit "C" linkage.
- * config/cpu/arm/cxxabi_tweaks.h: Same.
- * config/cpu/generic/cxxabi_tweaks.h: Same.
- * testsuite/abi: Add.
- * testsuite/abi/header_cxxabi.cc: New.
- * testsuite/demangle: Move...
- * testsuite/abi/demangle: ...here.
- * testsuite/libstdc++-dg/conformance.exp: Adjust testsuite file
- calculation.
- * scripts/create_testsuite_files: Same.
- * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): New.
- (libstdc++-dg-test): Use it.
-
-2006-10-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: __add_grouping)
- * include/bits/locale_facets.tcc (__add_grouping<>(_CharT*, _CharT,
- const char*, size_t, const _CharT*, const _CharT*)): Rewrite in
- non-recursive form.
-
-2006-10-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: money_put bits)
- * include/bits/locale_facets.tcc (money_put<>::_M_insert(iter_type,
- ios_base&, char_type, const string_type&)): Avoid __builtin_alloca
- with no limit, do the work in place.
-
- * include/bits/locale_facets.tcc (money_put<>::do_put(iter_type,
- bool, ios_base&, char_type, long double)): Avoid unnecessary
- __builtin_alloca, do the work in place.
-
-2006-10-09 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/globals_io.cc (_GLIBCXX_once): Remove, unused.
- (_GLIBCXX_mutex): Same.
- (_GLIBCXX_mutex_addres): Same.
- (_GLIBCXX_mutex_init): Same.
- (_GLIBCXX_mutex_address_init): Same.
-
-2006-10-07 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: money_get bits)
- * include/bits/locale_facets.tcc (money_get<>::do_get(iter_type,
- iter_type, bool, ios_base&, ios_base::iostate&, string_type&)):
- Avoid __builtin_alloca with no limit, do the work in place.
-
-2006-10-07 Ion Gaztanaga <igaztanaga@gmail.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_tree.h (_Rb_tree<>::erase(const _Key&)): Don't
- call std::distance unnecessarily.
-
-2006-10-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29368
- * include/bits/basic_string.h: Adjust rfind documentation.
- * include/ext/vstring.h: Likewise.
-
-2006-10-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29354
- * include/bits/sstream.tcc (basic_stringbuf<>::seekpos(pos_type,
- ios_base::openmode)): Allow for seek to pos_type(off_type(0))
- when the stream is empty.
- * testsuite/27_io/basic_stringbuf/seekpos/char/29354.cc: New.
- * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/29354.cc: New.
-
-2006-10-04 Benjamin Kosnik <bkoz@redhat.com>
- Mike Stump <mrs@apple.com>
-
- * testsuite/27_io/ios_base/storage/2.cc: Fail on Darwin 8.[0-4].* only.
- * testsuite/23_containers/vector/resize/1.cc: Same.
-
-2006-10-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util/performance/priority_queue/mem_usage/
- pop_test.hpp: Correct typo.
- * testsuite/util/performance/assoc/mem_usage/
- multimap_insert_test.hpp: Same.
- * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
-
-2006-10-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util/testsuite_allocator.h (allocation_tracker): To
- tracker_allocator_counter.
- (allocation_tracker::allocationTotal): To get_allocation_count.
- (allocation_tracker::deallocationTotal): To get_deallocation_count.
- (allocation_tracker::constructCount): To get_construct_count.
- (allocation_tracker::destructCount): To get_destruct_count.
- (allocation_tracker::resetCounts): To reset.
- (tracker_alloc): To tracker_allocator.
- * testsuite/util/performance/mem: Remove.
- * testsuite/util/performance/mem/mem_track_allocator_base.hpp: Remove.
- * testsuite/util/performance/mem/mem_track_allocator.hpp: Remove.
- * testsuite/27_io/basic_stringbuf/4.cc: Adjust for new names
- or includes.
- * testsuite/ext/hash_set/check_construct_destroy.cc: Same.
- * testsuite/ext/slist/check_construct_destroy.cc: Same.
- * testsuite/performance/ext/pb_ds/
- hash_random_int_erase_mem_usage.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_pop_mem_usage.cc: Same.
- * testsuite/23_containers/vector/capacity/2.cc: Same.
- * testsuite/23_containers/vector/cons/4.cc: Same.
- * testsuite/23_containers/vector/check_construct_destroy.cc: Same.
- * testsuite/23_containers/deque/cons/2.cc: Same.
- * testsuite/23_containers/deque/check_construct_destroy.cc: Same.
- * testsuite/23_containers/list/check_construct_destroy.cc: Same.
- * testsuite/23_containers/set/check_construct_destroy.cc: Same.
- * testsuite/util/testsuite_allocator.h
- * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp
- * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp
- * testsuite/util/performance/assoc/mem_usage/erase_test.hpp
- * testsuite/util/testsuite_allocator.cc: Same.
-
-2006-10-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util/native_type/priority_queue/native_pq_tag.hpp: Remove.
- * testsuite/util/statistic/sample_var.hpp: Rename to...
- * testsuite/util/statistic/sample_variance.hpp: ... this.
- * testsuite/util/statistic/res_recorder.hpp: Rename to...
- * testsuite/util/statistic/result_recorder.hpp: ... this.
- * testsuite/util/statistic/sample_mean.hpp: Format.
- * testsuite/util/statistic/sample_mean_confidence_checker.hpp: Same.
- * testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
- * testsuite/util/regression/trait/erase_if_fn.hpp: Same.
- * testsuite/util/regression/trait/assoc/trait.hpp: Same.
- * testsuite/util/native_type/priority_queue/
- native_priority_queue.hpp: Same.
- * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_tag.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/
- modify_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/
- subscript_insert_test.hpp: Same.
- * testsuite/util/performance/time/timing_test_base.hpp: Same.
-
-2006-10-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rc_string_base.h (_M_compare<wchar_t>):
- Protect with _GLIBCXX_USE_WCHAR_T.
- * include/ext/sso_string_base.h (_M_compare<wchar_t>):
- Likewise.
- (__sso_string_base<>::_M_destroy): Inline.
-
-2006-10-02 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/basic_types.hpp (comp_hash_): Remove,
- format.
- * include/ext/pb_ds/detail/types_traits.hpp
- (types_traits::comp_hash): Use pair typedef.
- * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
-
-2006-10-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (xor_combine<>::_M_initialize_max_aux): New.
- (xor_combine<>::operator()()): Tweak per N2079.
- * include/tr1/random.tcc (xor_combine<>::_M_initialize_max_aux):
- Define.
- (xor_combine<>::_M_initialize_max): Use it.
- * testsuite/tr1/5_numerical_facilities/random/xor_combine/
- cons/default.cc: Adjust.
- * docs/html/ext/tr1.html: Adjust.
-
-2006-10-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/type_traits.h: Avoid _T, badname for some targets;
- also avoid plain T.
-
-2006-10-01 Paolo Carlini <pcarlini@suse.de>
-
- * config/io/basic_file_stdio.cc: As an extension, and
- consistently with C facilities, allow for in|out|app and
- in|out|app|binary openmodes.
- * testsuite/27_io/basic_filebuf/open/char/4.cc: New.
-
-2006-09-30 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/types_traits.hpp (store_extra_false_type):
- To false_type.
- (store_extra_true_type): To true_type.
- (no_throw_copies_true_type): To true_type.
- (no_throw_copies_false_type): To false_type.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- entry_list_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- debug_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- find_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- debug_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
-
-2006-09-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: Formating fixes.
- * include/ext/pb_ds/detail/basic_tree_policy/
- null_node_metadata.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/basic_types.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy/
- mtf_lu_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy/
- counter_lu_metadata.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy/
- sample_update_policy.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy/
- counter_lu_policy_imp.hpp: Same.
- * include/ext/pb_ds/list_update_policy.hpp: Same.
-
-2006-09-29 Benjamin Kosnik <bkoz@redhat.com>
- Howard Hinnant <hhinnant@apple.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/type_traits.h (__remove_unsigned): Fix up for signed
- char, bool, wchar_t, and floating point types.
- (__add_unsigned): Same.
- * testsuite/ext/type_traits: New.
- * testsuite/ext/type_traits.cc: Move...
- * testsuite/ext/type_traits/numeric_traits.cc: ...here.
- * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: New.
- * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: New.
- * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: New.
- * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: New.
- * testsuite/ext/type_traits/add_unsigned.cc: New.
- * testsuite/ext/type_traits/remove_unsigned.cc: New.
-
-2006-09-29 Joseph S. Myers <joseph@codesourcery.com>
-
- * acinclude.m4 (enable_symvers): Default to no if unable to link.
- * configure: Regenerate.
-
-2006-09-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_uninitialized.h
- (__uninitialized_fill_n_a(_ForwardIterator, _Size, const _Tp&,
- allocator<>)): Inline.
-
-2006-09-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- erase_store_hash_fn_imps.hpp: Formatting fixes.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- entry_list_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- find_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- cond_key_dtor_entry_dealtor.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- debug_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- erase_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- erase_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- iterator_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- find_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- find_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- erase_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/
- policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/
- entry_metadata_base.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/
- iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
-
-2006-09-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/boost_shared_ptr.h: Use __atomic_add_dispatch and
- __exchange_and_add_dispatch everywhere.
-
-2006-09-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/typelist.h (type_to_type): Remove.
- * include/ext/throw_allocator.h (assert_allocatod): Remove.
- (check_allocated(label)): New.
- (print_to_string): Print numerical output correctly.
-
- * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Adjust line numbers.
-
- * testsuite/util/regression/rand/priority_queue/detail/
- operator_fn_imps.hpp: Set and clear label, throw
- probability. Check only allocations of the marked label.
- * testsuite/util/regression/rand/assoc/detail/
- operator_fn_imps.hpp: Same.
-
- * testsuite/performance/ext/pb_ds/text_find_timing.cc: Adjustments for
- removal of type_to_type.
- * testsuite/performance/ext/pb_ds/
- hash_random_int_erase_mem_usage.cc: Same.
- * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_push_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- random_int_subscript_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- multimap_text_insert_mem_usage.hpp: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_random_int_push_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_modify_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/
- tree_order_statistics_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_push_pop_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_join_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_random_int_push_pop_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- random_int_subscript_insert_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/
- multimap_text_insert_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_pop_mem_usage.cc: Same.
- * testsuite/performance/ext/pb_ds/
- hash_zlob_random_int_find_timing.cc: Same.
- * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/
- rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/
- constructor_destructor_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/assoc/
- container_rand_regression_test.hpp: Same.
- * testsuite/util/regression/assoc/common_type.hpp: Same.
- * testsuite/util/regression/basic_type.hpp: Same.
- * testsuite/util/common_type/assoc/common_type.hpp: Same.
- * testsuite/util/common_type/assoc/string_form.hpp: Same.
- * testsuite/util/common_type/assoc/template_policy.hpp: Same.
- * testsuite/util/common_type/assoc/native_set.hpp: Same.
- * testsuite/util/performance/priority_queue/mem_usage/
- pop_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/
- push_pop_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/
- modify_test.hpp: Same.
- * testsuite/util/performance/assoc/mem_usage/
- multimap_insert_test.hpp: Same.
- * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/
- multimap_insert_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/
- subscript_find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/
- subscript_insert_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/
- tree_order_statistics_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/
- tree_split_join_test.hpp: Same.
- * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
- * testsuite/util/testsuite_common_types.h: Same.
-
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: Typedef
- normalization, consistency in member names between cc and gp hash
- tables, formatting fixes.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- erase_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- erase_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- erase_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- erase_no_store_hash_fn_imps.hpp: Same.
-
- * include/ext/pb_ds/assoc_container.hpp: Formatting fixes.
- * include/ext/pb_ds/detail/resize_policy/
- hash_prime_size_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_standard_resize_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/types_traits.hpp: Same.
- * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/
- direct_mod_range_hashing_imp.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/
- direct_mask_range_hashing_imp.hpp: Same.
-
-2006-09-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29217
- * src/localename.cc (locale::_Impl::_M_replace_categories)):
- Compensate for the inconsistent numerical encodings of the
- collate and time categories vs the corresponding names.
- * testsuite/22_locale/locale/cons/29217.cc: New.
-
- * testsuite/22_locale/locale/cons/2.cc: Enable and split
- out the few ENC_TRAITS bits to...
- * testsuite/22_locale/locale/cons/unicode/1.cc... here.
-
-2006-09-25 Howard Hinnant <hhinnant@apple.com>
-
- PR libstdc++/29224
- * include/tr1/functional_iterate.h: Avoid -Wshadow warnings.
-
-2006-09-25 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29179
- * include/ext/mt_allocator.h (__pool_base): Adjust/extend
- documentation in comments.
-
-2006-09-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/boost_shared_ptr.h (shared_ptr<>::shared_ptr(const
- __shared_ptr<>&), shared_ptr(const __weak_ptr<>&),
- shared_ptr(const __shared_ptr<>&, __static_cast_tag),
- shared_ptr(const __shared_ptr<>&, __const_cast_tag),
- shared_ptr(const __shared_ptr<>&, __dynamic_cast_tag),
- weak_ptr<>::weak_ptr(const __shared_ptr<>&), weak_ptr(const
- __weak_ptr<>&)): Remove.
- (shared_ptr<>::shared_ptr(const shared_ptr<>&),
- shared_ptr(const weak_ptr<>&), shared_ptr(const shared_ptr<>&,
- __static_cast_tag), shared_ptr(const shared_ptr<>&,
- __const_cast_tag), shared_ptr(const shared_ptr<>&,
- __dynamic_cast_tag), static_pointer_cast(const shared_ptr<>&),
- const_pointer_cast(const shared_ptr<>&), dynamic_pointer_cast(const
- shared_ptr<>&), weak_ptr<>::weak_ptr(const shared_ptr<>&),
- weak_ptr(const weak_ptr<>&), weak_ptr<>::lock(),
- __enable_shared_from_this_helper(const __shared_count<>&, const
- enable_shared_from_this<>*, const _Tp2*)): Add.
- (class enable_shared_from_this): Add.
- * testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
- 1.cc: New.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/casts/1.cc:
- Likewise.
- * testsuite/tr1/2_general_utilities/memory/weak_ptr/lock/1.cc:
- Likewise.
-
- * include/tr1/boost_shared_ptr.h: Further formatting and
- uglification fixes.
-
-2006-09-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29134 (vector<bool> bits)
- * include/bits/stl_bvector.h (vector<bool>::max_size):
- Use allocator' max_size.
- * testsuite/23_containers/vector/bool/capacity/29134.cc: New.
-
- * testsuite/23_containers/deque/capacity/29134-2.cc: Minor tweak.
- * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
-
-2006-09-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (add_reference): Robustify vs
- reference to void.
- * testsuite/tr1/4_metaprogramming/reference_modifications/
- add_reference.cc: Add test.
-
- * include/tr1/memory: include <tr1/type_traits>.
- * include/tr1/boost_shared_ptr.h (__shared_ptr<>::operator*):
- Use add_reference instead.
- * testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/
- explicit_instantiation/1.cc: New.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/
- explicit_instantiation/1.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/weak_ptr/
- explicit_instantiation/1.cc: Likewise.
-
- * testsuite/util/testsuite_tr1.h: Tweak; avoid empty enum.
-
- * include/tr1/type_traits_fwd.h: Spelling fix.
-
- * include/tr1/boost_shared_ptr.h: Obvious stylistic fixes.
-
-2006-09-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
-
-2006-09-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/type_traits.h (__numeric_traits_integer): New.
- (__numeric_traits_floating): New.
- (__numeric_traits): Use them.
- * testsuite/ext/type_traits.cc: New.
-
-2006-09-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/hash_map: Remove forward declaration of equality
- operator, not needed for friendship of all its instances.
- * include/ext/hash_set: Likewise.
- * include/bits/stl_set.h: Likewise for equality operator and
- operator less.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_queue.h: Likewise.
- * include/bits/stl_stack.h: Likewise.
- * include/bits/streambuf_iterator.h: Likewise for copy.
- * include/std/std_streambuf.h: Likewise for __copy_aux and find.
- * include/tr1/boost_shared_ptr.h: Likewise for get_deleter.
- * include/tr1/random: Likewise, remove all forward declarations
- of inserters and extractors.
-
-2006-09-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_max_size(),
- _M_destroy, _M_create): Use _M_get_allocator.
-
-2006-09-21 Ben Elliston <bje@au.ibm.com>
-
- * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove invocations of
- GLIBCXX_CHECK_COMPILER_FEATURES.
- * configure.ac: Always invoke GLIBCXX_CHECK_COMPILER_FEATURES.
- Remove invocations elsewhere.
- * configure: Regenerate.
-
-2006-09-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29134 (ext/vstring bits)
- * include/ext/sso_string_base.h (__sso_string_base<>::_S_max_size):
- Remove.
- (__sso_string_base<>::_M_max_size): Use allocator' max_size.
- (__sso_string_base<>::_M_create): Adjust.
- * include/ext/vstring.h: Minor comment tweak.
- * testsuite/ext/vstring/capacity/29134.cc: New.
-
-2006-09-20 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29134
- * include/bits/stl_list.h (list<>::max_size): Forward to allocator'
- max_size.
- * include/bits/stl_vector.h (vector<>::max_size): Likewise.
- * include/bits/stl_deque.h (deque<>::max_size): Likewise.
- * include/bits/stl_tree.h (_Rb_tree<>::max_size): Likewise.
- * include/tr1/hashtable (_Hashtable<>::max_size): Likewise.
- * testsuite/23_containers/vector/capacity/29134.cc: Add.
- * testsuite/23_containers/deque/capacity/29134.cc: Likewise.
- * testsuite/23_containers/list/capacity/29134.cc: Likewise.
- * testsuite/23_containers/set/capacity/29134.cc: Likewise.
- * testsuite/23_containers/map/capacity/29134.cc: Likewise.
- * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
- * testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/capacity/29134-set.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/capacity/29134-map.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/capacity/29134-multiset.cc:
- Likewise.
- * testsuite/tr1/6_containers/unordered/capacity/29134-multimap.cc:
- Likewise.
-
- * include/bits/deque.tcc (deque<>::_M_new_elements_at_front,
- deque<>::_M_new_elements_at_back): Check for length errors.
- * testsuite/23_containers/deque/capacity/29134-2.cc: New.
- * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
-
- * include/tr1/hashtable (_Hashtable<>::_M_get_Value_allocator): Add.
- (_Hashtable<>::_M_allocate_node, _M_deallocate_node): Use it.
- * testsuite/tr1/6_containers/unordered/instantiate/set.cc: Add test.
- * testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
- Likewise.
- * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
- Likewise.
-
-2006-09-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/
- typelist_assoc_container.hpp: Remove, unused.
- * include/ext/pb_ds/detail/typelist/
- typelist_assoc_container_find.hpp: Same.
- * include/ext/pb_ds/detail/typelist: Remove.
- * include/ext/pb_ds/detail/typelist.hpp: Merge...
- * include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same.
- * include/ext/typelist.h: ... into this.
- * include/Makefile.am: Subtractions.
- * include/Makefile.in: Regenerate.
-
- * include/ext/pb_ds/assoc_container.hpp: Fixups for new includes,
- namespaces, and names.
- * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_prime_size_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- cc_hash_max_collision_check_resize_trigger_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- sample_resize_policy.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- sample_resize_trigger.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_exponential_size_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_load_check_resize_trigger_size_base.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_load_check_resize_trigger_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/
- hash_standard_resize_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same.
- * testsuite/performance/ext/pb_ds/text_find_timing.cc
- * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc
- * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc
- * testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc
- * testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc
- * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc
- * testsuite/performance/ext/pb_ds/random_int_find_timing.cc
- * testsuite/performance/ext/pb_ds/
- multimap_text_insert_mem_usage.hpp: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_random_int_push_timing.cc
- * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_modify_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc
- * testsuite/performance/ext/pb_ds/
- priority_queue_text_push_pop_timing.cc
- * testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc
- * testsuite/performance/ext/pb_ds/
- priority_queue_random_int_push_pop_timing.cc
- * testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc
- * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc
- * testsuite/performance/ext/pb_ds/
- multimap_text_insert_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc
- * testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc
- * testsuite/performance/23_containers/find/map.cc
- * testsuite/performance/23_containers/create/map.cc
- * testsuite/performance/23_containers/insert_erase/associative.cc
- * testsuite/performance/23_containers/insert/sequence.cc
- * testsuite/performance/23_containers/insert/associative.cc
- * testsuite/performance/23_containers/create_from_sorted/set.cc
- * testsuite/performance/23_containers/index/map.cc
- * testsuite/performance/23_containers/insert_from_sorted/set.cc
- * testsuite/performance/23_containers/create_sort/list.cc
- * testsuite/performance/23_containers/sort_search/list.cc
- * testsuite/performance/23_containers/producer_consumer/sequence.cc
- * testsuite/performance/23_containers/producer_consumer/associative.cc
- * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/
- rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
- * testsuite/util/regression/assoc/common_type.hpp: Same.
- * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
- * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
- * testsuite/util/native_type/assoc/native_set.hpp: Same.
- * testsuite/util/native_type/assoc/native_map.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_set.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
- * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
- * testsuite/util/common_type/assoc/common_type.hpp: Same.
- * testsuite/util/common_type/assoc/string_form.hpp: Same.
- * testsuite/util/common_type/assoc/template_policy.hpp: Same.
- * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
- Same.
- * testsuite/util/performance/priority_queue/timing/push_pop_test.hpp:
- Same.
- * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/modify_test.hpp:
- Same.
- * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp:
- Same.
- * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
- * testsuite/util/performance/assoc/timing/multimap_insert_test.hpp:
- Same.
- * testsuite/util/performance/assoc/timing/subscript_find_test.hpp:
- Same.
- * testsuite/util/performance/assoc/timing/find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/subscript_insert_test.hpp:
- Same.
- * testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/
- tree_order_statistics_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/tree_split_join_test.hpp:
- Same.
- * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
-
- * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Fixup line numbers.
-
-2006-09-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable_policy.h: Uglify all the names.
- * include/tr1/hashtable: Likewise.
- * include/tr1/unordered_map: Likewise.
- * include/tr1/unordered_set: Likewise.
- * include/tr1/functional: Uglify struct hash names.
- * include/tr1/cmath: Uglify namespace detail to __detail.
-
-2006-09-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util/regression/res_mng: Remove.
- * testsuite/util/regression/res_mng/dbg_ex_allocator_base.cc: Merge..
- * testsuite/util/regression/res_mng/forced_exception.hpp: Merge...
- * testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Merge..
- * testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Merge..
- * testsuite/util/testsuite_allocator.h (throw_allocator): Merge...
- * include/ext/throw_allocator.h (throw_allocator): ... into this.
- * src/throw_allocator.cc: ...and this.
- * include/Makefile.am (ext_headers): Add.
- * include/Makefile.in: Regenerate.
- * src/Makefile.am (sources): New.
- * src/Makefile.in: Regenerate.
- * testsuite/lib/libstdc++.exp: Subtract dbg_ex_allocator_base.cc.
-
- * include/ext/pb_ds/detail/map_debug_base.hpp: Adjust
- includes, names, and namespaces.
- * testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
- * testsuite/util/regression/rand/priority_queue/detail/
- erase_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/
- constructor_destructor_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/
- insert_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/
- modify_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/
- split_join_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/
- operator_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/
- container_rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/
- subscript_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/
- operator_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/erase_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/
- constructor_destructor_fn_imps.hpp
- * testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/
- split_join_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/
- container_rand_regression_test.hpp: Same.
- * testsuite/util/regression/priority_queue/common_type.hpp: Same.
- * testsuite/util/regression/assoc/common_type.hpp: Same.
- * testsuite/util/regression/basic_type.hpp: Same.
- * testsuite/util/rng/twister_rand_gen.cc: Tweak.
-
-2006-09-18 Tom Tromey <tromey@redhat.com>
-
- * configure: Rebuilt.
-
-2006-09-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (_M_group_int): Remove
- redundant using-declaration.
-
-2006-09-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/typelist.h (cond_type): Remove, use __conditional_type.
-
-2006-09-18 Benjamin Kosnik <bkoz@redhat.com>
- Peter Doerfler <gcc@pdoerfler.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/type_traits.h: New.
- (__conditional_type): New.
- (__numeric_traits): New.
- (__add_unsigned): New.
- (__remove_unsigned): New.
- (__enable_if): New.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * include/ext/pb_ds/detail/type_utils.hpp: Use ext include,
- remove duplicates.
- * include/tr1/hashtable_policy.h (IF): Use __conditional_type.
- (_Max_digits10): Same.
- (identity): Use _Identity.
- (extract1st): Use _Select1st.
- * include/tr1/random (_Select): Use __conditional_type.
- (_To_Unsigned_Type): Use __add_unsigned. Linebreak fixups.
- * include/bits/locale_facets.tcc (__to_unsigned_type): Remove, use
- __add_unsigned.
- * include/tr1/random.tcc: Fixups as above.
- * include/tr1/unordered_map: Same.
- * include/tr1/hashtable: Same.
- * include/tr1/unordered_set: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- standard_policies.hpp: Same.
- * include/ext/pb_ds/detail/standard_policies.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
- * include/ext/pb_ds/detail/type_utils.hpp: Same.
- * include/ext/pb_ds/trie_policy.hpp: Same.
- * docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
-
- * include/bits/cpp_type_traits.h (__enable_if): Move to ext, make
- boolean argument first.
- * include/bits/locale_facets.h: Fixups for __enable_if argument
- and namespace switch.
- * include/bits/stl_algobase.h: Same.
- * include/bits/stl_algo.h: Same.
- * include/bits/stl_iterator.h: Same.
- * include/bits/streambuf_iterator.h: Same.
- * include/debug/safe_iterator.h: Same.
- * include/tr1/hashtable_policy.h: Same.
- * include/tr1/cmath: Same.
- * include/tr1/functional: Same.
- * include/tr1/functional_iterate.h: Same.
- * include/std/std_streambuf.h: Same.
- * include/c_std/std_cmath.h: Same.
- * testsuite/util/testsuite_tr1.h: Same.
- * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
-
-2006-09-18 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/29063
- * include/bits/valarray_array.h: Fix typo, undefine
- _DEFINE_ARRAY_FUNCTION.
- * include/std/std_valarray.h: Undefine _DEFINE_BINARY_OPERATOR.
-
-2006-09-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/concurrence.h (__mutex::__mutex): Pass address of
- mutex to *_MUTEX_INIT_FUNCTION.
-
-2006-09-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/atomicity.h: Move to...
- * include/ext/atomicity.h: ...here.
- * include/bits/concurrence.h: Move to...
- * include/ext/concurrence.h: ...here.
- * include/Makefile.am (ext_headers): Additions.
- (bits_headers): Subtractions.
- * include/Makefile.in: Regenerate.
-
- * include/ext/bitmap_allocator.h (_Mutex), __threads_enabled,
- _Lock, _Auto_Lock): Subsume into...
- * include/bits/concurrence.h (__mutex): ..this. Error check
- locking and unlocking.
- (lock): Uglify to...
- (__scoped_lock): Use __mutex.
- (__glibcxx_mutex_define_initialized): Remove.
- (__glibcxx_mutex_type): Remove.
-
- * include/tr1/boost_shared_ptr.h: Formating tweaks, adjustments.
- (_Lock_policy): Move from here...
- * include/ext/concurrence.h: ... to here.
- (__shared_ptr_default_lock_mode): To __default_lock_policy.
- (_S_lockfree): To _S_atomic.
- Document.
-
- * libsupc++/guard.cc (static_mutex): Subsume into and fixup for...
- * include/ext/concurrence.h (__recursive_mutex): ...this. Error
- check locking and unlocking.
- * libsupc++/eh_alloc.cc: Use __scoped_lock.
-
- * config/os/aix/atomicity.h: Fixups for include paths, mutex to
- __scoped_mutex change, removal of locking defines.
- * config/os/irix/atomicity.h: Same.
- * config/cpu/cris/atomicity.h: Same.
- * config/cpu/m68k/atomicity.h: Same.
- * config/cpu/hppa/atomicity.h: Same.
- * config/cpu/mips/atomicity.h: Same.
- * config/cpu/sparc/atomicity.h: Same.
- * config/cpu/i386/atomicity.h: Same.
- * config/cpu/i486/atomicity.h: Same.
- * config/cpu/sh/atomicity.h: Same.
- * config/cpu/generic/atomicity_mutex/atomicity.h: Same.
- * include/ext/pool_allocator.h: Same.
- * include/ext/bitmap_allocator.h: Same.
- * include/ext/rc_string_base.h: Same.
- * include/ext/mt_allocator.h: Same.
- * include/bits/locale_classes.h: Same.
- * include/bits/basic_string.h: Same.
- * include/bits/ios_base.h: Same.
- * include/tr1/memory: Same.
- * src/pool_allocator.cc: Same.
- * src/mt_allocator.cc: Same.
- * src/locale_init.cc: Same.
- * src/ios.cc: Same.
- * src/locale.cc: Same.
- * src/bitmap_allocator.cc: Same.
- * src/ios_init.cc: Same.
- * src/debug.cc: Same.
-
-2006-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/eh_globals.cc: Remove __gnu_internal.
- * config/io/basic_file_stdio.cc: Same.
- * config/abi/compatibility.h: Same.
- * config/cpu/generic/atomicity_mutex/atomicity.h: Same.
- * config/cpu/sh/atomicity.h: Same.
-
-2006-09-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_heap.h (sort_heap): Iterator post-decrement is
- only required to be convertible to the iterator type.
-
-2006-09-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (poisson_distribution<>::operator()):
- Avoid potential warnings when _IntType is unsigned.
-
-2006-09-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/debug/debug.h (_GLIBCXX_DEBUG_ONLY): New.
- * include/ext/bitmap_allocator.h (_BALLOC_SANITY_CHECK,
- _BALLOC_ASSERT): Remove. Use _GLIBCXX_DEBUG,
- _GLIBCXX_DEBUG_ASSERT.
- * include/ext/pb_ds/hash_policy.hpp (PB_DS_DBG_ASSERT): Convert to
- _GLIBCXX_DEBUG_ASSERT. Formatting corrections.
- (PB_DS_DBG_VERIFY): Remove, unused.
- (PB_DS_DBG_ONLY): Convert to _GLIBCXX_DEBUG blocks.
- * include/ext/pb_ds/detail/resize_policy/
- hash_load_check_resize_trigger_imp.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/
- insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/
- binomial_heap_base_.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/
- split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- erase_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- debug_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/
- erase_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
- * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/unordered_iterator/
- const_point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/
- split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- erase_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- debug_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- erase_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/
- resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/types_traits.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
- * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- left_child_next_sibling_heap_.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- const_iterator.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
- const_point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/map_debug_base.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/
- constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/
- iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/
- rc_binomial_heap_.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/
- split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/
- constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
- * testsuite/util/regression/res_mng/forced_exception.hpp: Same.
- * testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Same.
- * testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Same.
- * testsuite/util/rng/twister_rand_gen.cc
- * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
-
-2006-09-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (find(const _CharT*, size_type,
- size_type)): Robustify.
- * include/ext/vstring.tcc (find(const _CharT*, size_type,
- size_type)): Likewise.
-
-2006-09-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (find(const _CharT*, size_type,
- size_type)): Reimplement in terms of traits::eq and traits::compare.
- * include/ext/vstring.tcc (find(const _CharT*, size_type,
- size_type)): Likewise.
- * src/string-inst.cc: Remove unneded std::search instantiation.
-
-2006-09-04 Benjamin Kosnik <bkoz@redhat.com>
-
- PR c++/28871
- * include/ext/bitmap_allocator.h: Add comment for end of anonymous
- namespace.
- * include/ext/rope: Same.
- * include/bits/cpp_type_traits.h: Same.
- * include/tr1/tuple: Same.
- * include/tr1/functional_iterate.h: Same.
-
- * include/bits/cpp_type_traits.h: Revert anonymous namespace
- change, use nested detail instead.
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): PCHFLAGS revert to
- stdc++.h.
-
-2006-09-04 Paolo Carlini <pcarlini@suse.de>
-
- * src/mt_allocator.cc (__pool<true>::_M_reclaim_block): Do
- not name a variable __used, badname on BSD.
-
-2006-09-02 Paolo Carlini <pcarlini@suse.de>
- Richard Guenther <rguenther@suse.de>
-
- PR libstdc++/24469
- * src/mt_allocator.cc (__pool<true>::_M_reserve_block,
- __pool<true>::_M_reclaim_block): Fix the logic to avoid
- races, exploit atomic counters stored in second part of
- the memory pointed by _M_used.
- (__pool<true>::_M_initialize): Adjust _M_used allocation.
- * include/ext/mt_allocator.h (__pool<true>::_Bin_record):
- Update comment.
-
-2006-08-31 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/28671 continued
- * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't use
- CXXFLAGS when checking for atomic builtins.
- * configure: Regenerate.
- * include/bits/atomicity.h: Revert.
-
-2006-08-31 Richard Guenther <rguenther@suse.de>
-
- * include/ext/mt_allocator.h: Remove volatile qualifiers
- from data members and corresponding locals and function
- signatures.
-
-2006-08-31 Paolo Carlini <pcarlini@suse.de>
-
- * config/abi/pre/gnu.ver: Correct atomic helper function signature
- for case where _Atomic_word is long.
-
-2006-08-31 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/28671
- * include/bits/atomicity.h (__exchange_and_add): Declare only.
- (__atomic_add): Same.
- * config/cpu/generic/atomicity_builtins/atomicity.h: Remove comment.
-
-2006-08-30 Benjamin Kosnik <bkoz@redhat.com>
- Richard Guenther <rguenther@suse.de>
-
- * config/abi/pre/gnu.ver: Spell out exact signatures for atomic
- access functions.
-
- * include/bits/atomicity.h (__atomic_add_dispatch): Remove
- volatile qualification for _Atomic_word argument.
- (__atomic_add_single): Same.
- (__exchange_and_add_dispatch): Same.
- (__exchange_and_add_single): Same.
-
-2006-08-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (subtract_with_carry_01<>::_M_initialize_npows):
- New.
- (subtract_with_carry_01<>::subtract_with_carry_01(),
- subtract_with_carry_01<>::subtract_with_carry_01(unsigned long),
- subtract_with_carry_01<>::subtract_with_carry_01(_Gen&)): Use it.
- * include/tr1/random.tcc: Define.
-
- * include/tr1/random (xor_combine<>::_M_initialize_max()): New.
- (xor_combine<>::xor_combine(), xor_combine<>::xor_combine(const
- base1_type&, const base2_type&), xor_combine<>::xor_combine(unsigned
- long), xor_combine<>::xor_combine(_Gen&)): Use it.
- (xor_combine<>::min, xor_combine<>::max): Adjust.
- * include/tr1/random.tcc: Define.
-
-2006-08-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4(glibcxx_PCHFLAGS): Set to stdtr1c++.h.
- * configure: Regenerate.
-
- * scripts/check_compile: Output current compile line.
-
-2006-08-28 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/23773 partial
- * docs/html/abi.html: Update.
-
-2006-08-28 Roger Sayle <roger@eyesopen.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (__heap_select, __introselect): New.
- (nth_element): New implementation.
- (partial_copy): Use __heap_select.
- * testsuite/performance/25_algorithms/nth_element_worst_case.cc: New.
-
-2006-08-28 Paolo Carlini <pcarlini@suse.de>
- Roger Sayle <roger@eyesopen.com>
-
- * testsuite/25_algorithms/nth_element/2.cc: New.
-
-2006-08-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28830
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
- lockfree_weaktoshared.cc: Rename to...
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
- default_weaktoshared.cc: ... this; test the default base class.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
- mutex_weaktoshared.cc: Run like the other thread tests.
-
-2006-08-25 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/tr1.html: Update.
-
-2006-08-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (bernoulli_distribution::operator()): Fix
- wrt generators returning integers.
- (uniform_int<>::_M_call): Add.
- (uniform_int<>::operator()): Use it.
-
- * include/tr1/random (_Adaptor<>::min, _Adaptor<>::max): Add.
- (_Adaptor<>::operator()): Allow for nonzero _M_g.min().
-
- * include/tr1/random.tcc (linear_congruential<>::min, max):
- Move inline...
- (__mod): Move ...
- * include/tr1/random: ... here.
- (struct _Mod): Declare.
-
- * include/tr1/random (struct _To_Unsigned_Type): Only declare,
- move...
- * include/tr1/random.tcc: ... here.
-
-2006-08-22 Phillip Jordan <phillip.m.jordan@gmail.com>
-
- *include/tr1/boost_shared_ptr.h: Added locking policy to
- tr1::shared_ptr<> and related classes.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread: New.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
- lockfree_weaktoshared.cc: New.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/thread/
- mutex_weaktoshared.cc: New.
- *testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
- shared_ptr_neg.cc: Modify.
-
-2006-08-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (subtract_with_carry_01<>::
- seed(_Gen&, false_type)): Fix _M_carry initialization.
-
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/cons/default.cc: Qualify 1 as 1UL.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/cons/gen1.cc: Likewise.
-
-2006-08-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (class subtract_with_carry_01<>): Add.
- * include/tr1/random.tcc (subtract_with_carry_01<>::
- seed(unsigned long), subtract_with_carry_01<>::
- seed(_Gen&, false_type), subtract_with_carry_01<>::
- operator(), operator<<(std::basic_ostream<>&, const
- subtract_with_carry_01<>&), operator>>(std::basic_istream<>&,
- subtract_with_carry_01<>&)): Define.
- * testsuite/tr1/5_numerical_facilities/random/ranlux3_01.cc:
- New.
- * testsuite/tr1/5_numerical_facilities/random/ranlux4_01.cc:
- Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/cons/seed1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/cons/seed2.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/cons/default.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/cons/gen1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/operators/equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/operators/not_equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry_01/operators/serialize.cc: Likewise.
-
- * docs/html/ext/howto.html: Add two implemented TR1 issues.
-
- * include/tr1/random.tcc (struct _To_Unsigned_Type<>): Move...
- * include/tr1/random: ... here.
- (class subtract_with_carry<>): Use it everywhere.
-
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/cons/seed1.cc: Qualify 1 as 1UL.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/cons/seed2.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/cons/default.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/cons/gen1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/operators/equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/operators/not_equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- subtract_with_carry/operators/serialize.cc: Likewise.
-
- * include/tr1/random (class binomial_distribution<>): Reorder the
- data members to save space.
-
-2006-08-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (gamma_distribution<>::_M_initialize,
- gamma_distribution<>::_M_l_d): Add.
- (gamma_distribution<>::gamma_distribution(const result_type&),
- operator>>(std::basic_istream<>&, gamma_distribution&)): Use it.
- include/tr1/random.tcc (gamma_distribution<>::_M_initialize):
- Define.
- (gamma_distribution<>::operator()): Adjust.
-
- * include/tr1/random (geometric_distribution<>::_M_initialize): Add.
- (geometric_distribution<>::geometric_distribution(const _RealType&),
- operator>>(std::basic_istream<>&, geometric_distribution&)): Use it.
-
-2006-08-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (class binomial_distribution<>): Add.
- * include/tr1/random.tcc (binomial_distribution<>::operator(),
- operator<<(std::basic_ostream<>&, const binomial_distribution<>&),
- operator>>(std::basic_istream<>&, binomial_distribution<>&,
- binomial_distribution<>::_M_waiting(), binomial_distribution<>::
- _M_initialize()): Define.
- * testsuite/tr1/5_numerical_facilities/random/binomial_distribution/
- requirements/typedefs.cc: New.
-
- * include/tr1/random (geometric_distribution<>::
- geometric_distribution(const _RealType&)): Fix DEBUG_ASSERT
- limits.
-
- * include/tr1/random (poisson_distribution): Add normal_distribution
- member, adjust consistently; minor tweaks and rearrangements of the
- arithmetic.
- (operator>>(std::basic_istream<>&, poisson_distribution<>&)): Move
- out of line.
- * include/tr1/random.tcc: Adjust.
-
- * include/tr1/random.tcc (normal_distribution<>::operator()): Minor
- tweaks.
-
-2006-08-18 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28765
- * include/ext/rc_string_base.h (_M_clear): New.
- * include/ext/sso_string_base.h (_M_clear): Likewise.
- * include/ext/vstring.h (clear): Use it.
-
-2006-08-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (poisson_distribution<>::_M_initialize): Add.
- (poisson_distribution<>::poisson_distribution(const _RealType&):
- Use it.
- (operator>>(std::basic_istream<>&, poisson_distribution<>&)):
- Likewise.
- (poisson_distribution<>::_M_large): Remove.
- * include/tr1/random.tcc (poisson_distribution<>::_M_initialize):
- Define.
- (operator<<(std::basic_ostream<>&, const poisson_distribution<>&)):
- Do not output the constants.
-
- * include/tr1/random (operator>>(std::basic_istream<>&,
- gamma_distribution&)): Minor tweak.
-
- * include/tr1/random.tcc (poisson_distribution<>::operator()):
- Minor tweak.
-
- * include/tr1/random: Consistently, all data members private.
-
-2006-08-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (mersenne_twister<>::operator()): Revert
- last change (per gcc-patches/2006-08/msg00484.html).
-
-2006-08-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (class poisson_distribution<>): Add.
- * include/tr1/random.tcc (poisson_distribution<>::operator(),
- operator<<(std::basic_ostream<>&, const poisson_distribution<>&),
- operator>>(std::basic_istream<>&, poisson_distribution<>&,
- poisson_distribution<>::poisson_distribution(const _RealType&)):
- Define.
- * testsuite/tr1/5_numerical_facilities/random/poisson_distribution/
- requirements/typedefs.cc: New.
-
- * include/tr1/random.tcc (mersenne_twister<>::operator()): Tweak
- a bit for efficiency.
-
- * include/tr1/random.tcc (operator<<(std::basic_ostream<>&,
- const normal_distribution<>&), operator>>(std::basic_istream<>&,
- normal_distribution<>&)): Do not output _M_saved unnecessarily.
-
- * include/tr1/random: Trivial formatting fixes.
- * include/tr1/cmath: Likewise.
-
-2006-08-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_bvector.h (__fill_bvector(_Bit_iterator,
- _Bit_iterator, bool)): New.
- (fill(_Bit_iterator, _Bit_iterator, const bool&)): Use it.
-
-2006-08-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (gamma_distribution<>::operator()): Fixes
- from the Errata of Devroye's book.
-
-2006-08-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_bvector.h (_Bit_iterator_base::_M_incr(ptrdiff_t)):
- Tidy a bit, thus reducing generated code size.
-
-2006-08-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_bvector.h (vector<bool>::_M_copy_aligned): New.
- (vector<bool>::vector(const vector&), operator=(const vector&),
- reserve(size_type), _M_fill_insert(iterator, size_type, bool),
- _M_insert_range(iterator, _ForwardIterator, _ForwardIterator,
- std::forward_iterator_tag), _M_insert_aux(iterator, bool)): Use it.
- * testsuite/performance/23_containers/copy_construct/
- vector_bool.cc: New.
-
- * testsuite/23_containers/vector/bool/cons/1.cc: New.
- * testsuite/23_containers/vector/bool/cons/2.cc: Likewise.
-
- * include/bits/stl_bvector.h (vector<bool>::_M_fill): Remove.
- (fill(_Bit_iterator, _Bit_iterator, const bool&)): New.
- (vector<bool>::_M_fill_insert(iterator, size_type, bool)): Adjust.
-
- * include/bits/stl_bvector.h (_M_initialize_range(_InputIterator,
- _InputIterator, std::input_iterator_tag)): Remove redundant
- assignments.
-
- * include/bits/stl_algo.h (find(istreambuf_iterator<>,
- istreambuf_iterator<>, _CharT)): Adjust signature.
- * include/bits/streambuf_iterator.h: Likewise.
- * include/std/std_streambuf.h: Likewise.
-
-2006-08-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
- const _Deque_iterator<>&, const _Tp&)): Move...
- * include/bits/deque.tcc: ... here.
- * include/bits/stl_deque.h: Declare.
-
-2006-08-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/16611
- * include/bits/stl_bvector.h (vector<bool>::operator[],
- vector<bool>::operator[] const): Do not use iterator::operator+,
- hand code.
-
-2006-08-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28587
- * include/bits/stl_bvector.h (vector<bool>::_M_fill): New.
- (vector<bool>::_M_fill_insert): Use it.
- * testsuite/performance/23_containers/resize/vector_bool.cc: New.
-
- * testsuite/23_containers/vector/bool/modifiers/insert/1.cc: New.
- * testsuite/23_containers/vector/bool/capacity/1.cc: Likewise.
-
-2006-08-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_queue.h (priority_queue<>::push,
- priority_queue<>::pop): Remove try/catch, just follow the
- letter of the Standard.
-
-2006-08-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_queue.h: Trivial formatting fixes.
- * include/bits/stl_stack.h: Likewise.
-
-2006-08-01 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- * docs/html/ext/tr1.html: Update.
-
-2006-07-31 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
- Find the decimal point in cs, instead of ws; tidy.
-
-2006-07-30 Roger Sayle <roger@eyesopen.com>
-
- * include/ext/codevt_specializations.h (__iconv_adaptor): Use
- identifier _Tp instead of _T in template argument to avoid conflict.
-
-2006-07-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (stable_sort): Uglify the buf variable.
- * include/bits/stl_tempbuf.h (_Temporary_buffer<>::
- _M_initialize_buffer): Uglify the val parameter.
-
-2006-07-27 Benjamin Kosnik <bkoz@wells.artheist.org>
-
- PR libstdc++/19664 round 3
- * include/Makefile.am (tr1_headers): Add hashtable_policy.h.
- * include/Makefile.in: Regenerate.
- * include/tr1/hashtable: Move policy classes into...
- * include/tr1/hashtable_policy.h: ... this. New.
-
- * src/globals_locale.cc: Move contents....
- * src/locale_init.cc: ... to here, put in anonymous namespace.
- * src/Makefile.am: Remove globals_locale.cc.
- * src/Makefile.in: Regenerate.
-
- * src/locale.cc: Convert __gnu_internal to anonymous namespace.
- * src/debug.cc: Same.
- * src/ext-inst.cc: Same.
- * src/mt_allocator.cc: Same.
- * src/pool_allocator.cc: Same.
-
- * include/tr1/random: Convert std::tr1::_Private to anonymous
- namespace.
- * include/tr1/random.tcc: Same.
-
- * include/tr1/hashtable: Move ::Internal to std::tr1::detail and
- enclose bits that can actually be internal in in anonymous
- namespace.
- * include/tr1/unordered_set: Adjust explicit qualifications for
- namespace changes.
- * include/tr1/unordered_map: Same.
-
- * include/tr1/cmath: Convert __gnu_internal to nested detail namespace.
-
- * include/bits/cpp_type_traits.h: Move __type_type into anonymous
- namespace.
-
- * include/ext/rope: Change _Rope_constants to anonymous namespace.
- * include/ext/ropeimpl.h: Same.
- * src/ext-inst.cc: Same.
-
-2006-07-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cinttypes: Simply protect everything with
- _GLIBCXX_USE_C99_INTTYPES_TR1.
- * include/tr1/cfenv: Likewise with _GLIBCXX_USE_C99_FENV_TR1.
- * include/tr1/cstdint: Likewise with _GLIBCXX_USE_C99_STDINT_TR1.
-
-2006-07-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/random: Make include guards consistent.
- * include/tr1/unordered_map: Same.
- * include/tr1/hashtable: Same.
- * include/tr1/unordered_set: Same.
-
-2006-07-21 Steve Ellcey <sje@cup.hp.com>
-
- PR target/26792
- * configure.ac: Use GCC_CHECK_UNWIND_GETIPINFO to
- define HAVE_GETIPINFO.
- * aclocal.m4: Add include of ../config/unwind_ipinfo.m4.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * libsupc++/eh_personality.cc: Check HAVE_GETIPINFO.
-
-2006-07-21 Jason Merrill <jason@redhat.com>
-
- PR libstdc++/19664 round 2
- * libsupc++/eh_personality.cc: Wrap extern "C" function
- definitions in namespace __cxxabiv1.
-
-2006-07-21 David Daney <ddaney@avtrex.com>
-
- PR libgcj/28426
- * acinclude.m4: Added a comment.
-
-2006-07-20 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/19664 round 1
- * acinclude.m4 (GLIBCXX_ENABLE_VISIBILITY): Check it.
- * configure.ac: Use it.
- * configure: Regenerate.
- * docs/html/configopts.html: Document it.
- * include/Makefile.am: Slip in to c++config.
- * include/Makefile.in: Regenerate.
- * include/bits/c++config (_GLIBCXX_VISIBILITY): New.
- (_GLIBCXX_BEGIN_NAMESPACE): Use it.
- (_GLIBCXX_END_NAMESPACE): Use it.
- (_GLIBCXX_BEGIN_NESTED_NAMESPACE): Use it.
- (_GLIBCXX_END_NESTED_NAMESPACE): Use it.
- * src/debug.cc: Mark __gnu_internal namespace with hidden
- visibility attribute.
- * src/ext-inst.cc: Same.
- * src/globals_io.cc: Same.
- * src/globals_locale.cc: Same.
- * src/ios_init.cc: Same.
- * src/locale.cc: Same.
- * src/mt_allocator.cc: Same.
- * src/pool_allocator.cc: Same.
-
-2006-07-16 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: valarray bits)
- * include/std/std_valarray.h (valarray<>::shift(int),
- valarray<>::cshift(int)): Avoid __builtin_alloca with no limit,
- do the work in place.
- * testsuite/26_numerics/valarray/28277.cc: New.
-
-2006-07-15 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: ostream bits 1)
- * include/bits/ostream.tcc (operator<<(basic_ostream<_CharT>&,
- const char*)): Avoid __builtin_alloca with no limit in the
- widening.
- * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
- 28277-1.cc: New.
-
-2006-07-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): New.
- * configure.ac: Use it.
- * configure: Regenerated.
- * config.h.in: Regenerated.
- * configure.host: Simplify.
- * include/bits/atomicity.h: Adjust macros.
- * config/cpu/generic/atomicity.h: Move...
- * config/cpu/generic/atomicity_mutex: New.
- * config/cpu/generic/atomicity_mutex/atomicity.h: ...here.
- * config/cpu/generic/atomic_builtins: Rename...
- * config/cpu/generic/atomicity_builtins: ...to this.
- * config/cpu/generic/atomicity_builtins/atomicity.h: Moved.
- * config/cpu/mips/atomicity.h: Comment MIPS II requirement.
-
- * scripts/testsuite_flags.in: Make --cxxflags reflect CXXFLAGS.
-
-2006-07-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (minstd_rand0, minstd_rand, ranlux3, ranlux4):
- Use unsigned long as implementation-defined type.
-
-2006-07-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (struct _To_Unsigned_Type): Add.
- (subtract_with_carry<>::seed(_Gen&, false_type)): Use an
- unsigned type in the loop, fix factor multiplier, take g
- invocations modulo 2^32.
-
- * include/tr1/random.tcc (subtract_with_carry<>::
- seed(unsigned long)): Fix value == 0 special case.
-
- * include/tr1/random (struct _Shift): Fix for large shifts.
-
-2006-07-13 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/performance/21_strings/string_copy_cons_and_dest.cc: New.
-
-2006-07-13 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (pch*_output_anchor): Add.
- (pch*_output): Use.
- (CLEANFILES): Use.
- * include/Makefile.in: Regenerate.
-
- * scripts/check_performance: Be verbose on compile error.
-
-2006-07-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am: Revert last change.
- * include/Makefile.in: Same.
-
-2006-07-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (pch_output): Don't precompile extc++.h.
- (pch_output_dirs): Same.
- * include/Makefile.in: Regenerate.
-
- * testsuite/lib/libstdc++.exp: Test PCH with stdtr1c++.h.
-
-2006-07-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/codecvt_specializations.h: Fix typo in commit
- for libstdc++/28290.
-
-2006-07-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (collate<>::do_transform(
- const _CharT*, const _CharT*)): Simplify previous fix for
- libstdc++/28277, always allocate memory dynamically.
-
-2006-07-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28344
- * include/tr1/random (gamma_distribution<>::
- gamma_distribution(const result_type&)): Don't use __alpha as
- parameter name, a predefined macro on Alpha systems.
-
-2006-07-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28290
- * include/ext/codecvt_specializations.h: Fix, adding missing
- includes and guards.
-
-2006-07-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/28277 (partial: collate bits)
- * include/bits/locale_facets.tcc (collate<>::do_transform(
- const _CharT*, const _CharT*)): Avoid __builtin_alloca with no
- limit; also avoid multiple calls (in a loop).
- * testsuite/22_locale/collate/transform/char/28277.cc: New.
- * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Likewise.
-
-2006-07-10 Mike Stump <mrs@apple.com>
-
- * libsupc++/eh_globals.cc (~__eh_globals_init): Unset _M_init.
-
-2006-07-10 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/15448
- * include/Makefile.am: Clean up pch rules.
- * include/Makefile.in: Regenerate.
-
-2006-07-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (__int_to_char<>(_CharT*,
- long, const _CharT*, ios_base::fmtflags), __int_to_char<>(_CharT*,
- unsigned long, const _CharT*, ios_base::fmtflags),
- __int_to_char<>(_CharT*, long long, const _CharT*, ios_base::fmtflags),
- __int_to_char<>(_CharT*, unsigned long long, const _CharT*,
- ios_base::fmtflags)): Remove.
- (__int_to_char<>(_CharT*, _ValueT, const _CharT*, ios_base::fmtflags,
- bool)): Adjust.
- (num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
- Likewise.
-
-2006-07-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (class gamma_distribution<>): Add.
- * include/tr1/random.tcc (gamma_distribution<>::operator(),
- operator<<(std::basic_ostream<>&, const gamma_distribution<>&)):
- Define.
- * testsuite/tr1/5_numerical_facilities/random/gamma_distribution/
- requirements/typedefs.cc: New.
-
-2006-07-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util/regression/trait/assoc/trait.hpp: Format.
- * testsuite/util/regression/rand/priority_queue/
- rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/
- assoc/container_rand_regression_test.hpp: Same.
- * testsuite/util/regression/priority_queue/common_type.hpp: Same.
- * testsuite/util/regression/assoc/common_type.hpp: Same.
- * testsuite/util/regression/basic_type.hpp: Same.
-
-2006-07-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (pch_output): New.
- (clean-local): Use it.
- * include/Makefile.in: Regenerate.
-
-2006-07-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (_Adaptor<>::operator()()): Cast 1 to
- result_type.
- (variate_generator<>::operator()(),
- variate_generator<>::operator()(_Tp)): Inline.
-
- * include/tr1/random: Minor cosmetic changes.
-
-2006-07-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rc_string_base.h (__rc_string_base::_S_max_size):
- Adjust, take into account rounding in _M_create.
- (__rc_string_base::_M_create): Add early _S_max_size check.
-
-2006-07-03 Ian Lance Taylor <ian@airs.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rc_string_base.h (__rc_string_base::_S_max_size):
- Increase by a factor of two.
- * include/ext/sso_string_base.h (__sso_string_base::_S_max_size):
- Likewise.
-
-2006-07-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base::_M_create): Never
- allocate a string bigger than _S_max_size.
-
-2006-06-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/Makefile.am (pch1_input, pch1_output_builddir,
- pch1_outputj_installdir, pch1_source): Move from pch_*.
- (pch2_input, pch2_output_builddir,
- pch2_output_installdir, pch2_source): Clone for ext.
- (pch3_input, pch3_output_builddir,
- pch3_output_installdir, pch3_source): Clone for tr1.
- (install-pch): Same.
- * include/Makefile.in: Regenerate.
-
- * include/precompiled: New directory.
- * include/stdc++.h: Move...
- * include/precompiled/stdc++.h: ... here.
- * include/precompiled/stdtr1c++.h: New.
- * include/precompiled/extc++.h: New.
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Set PCH_CXXFLAGS
- to -include bits/stdtr1c++.h.
-
-2006-06-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/lib/libstdc++.exp (v3_target_compile): Set timeout to
- 600.
-
-2006-06-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util/regression/rand/priority_queue/
- rand_regression_test.hpp: Revert.
-
-2006-06-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/typelist.h (typelist_append): To append_typelist.
- (typelist): To node.
- Enclose in namespace typelist.
- * testsuite/util/testsuite_common_types.h: Adjust names, namespaces.
- * testsuite/performance/23_containers/find/map.cc: Same.
- * testsuite/performance/23_containers/create/map.cc: Same.
- * testsuite/performance/23_containers/insert_erase/associative.cc:
- Same.
- * testsuite/performance/23_containers/insert/sequence.cc: Same.
- * testsuite/performance/23_containers/insert/associative.cc: Same.
- * testsuite/performance/23_containers/create_from_sorted/set.cc: Same.
- * testsuite/performance/23_containers/index/map.cc: Same.
- * testsuite/performance/23_containers/insert_from_sorted/set.cc: Same.
- * testsuite/performance/23_containers/create_sort/list.cc: Same.
- * testsuite/performance/23_containers/sort_search/list.cc: Same.
- * testsuite/performance/23_containers/producer_consumer/sequence.cc:
- Same.
- * testsuite/performance/23_containers/producer_consumer/associative.cc:
- Same.
-
-2006-06-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc:
- Reduce iterations by half.
- * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
-
- * testsuite/util/regression/rand/assoc/rand_regression_test.hpp:
- Set probability of compare from 1 to 0.25.
- * testsuite/util/regression/rand/priority_queue/
- rand_regression_test.hpp: Same.
-
-2006-06-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (operator<<(std::basic_ostream<>&,
- const linear_congruential<>&), operator>>(std::basic_istream<>&,
- linear_congruential<>&), operator<<(std::basic_ostream<>&,
- const mersenne_twister<>&), operator>>(std::basic_istream<>&,
- mersenne_twister<>&), operator<<(std::basic_ostream<>&,
- const subtract_with_carry<>&), operator>>(std::basic_istream<>&,
- subtract_with_carry<>&), operator<<(std::basic_ostream<>&,
- const discard_block<>&), operator>>(std::basic_istream<>&,
- discard_block<>&), operator<<(std::basic_ostream<>&,
- const xor_combine<>&), operator>>(std::basic_istream<>&,
- xor_combine<>&), operator<<(std::basic_ostream<>&,
- const uniform_int<>&), operator>>(std::basic_istream<>&,
- uniform_int<>&), operator<<(std::basic_ostream<>&,
- const bernoulli_distribution&), operator<<(std::basic_ostream<>&,
- const geometric_distribution<>&), operator<<(std::basic_ostream<>&,
- const uniform_real<>&), operator>>(std::basic_istream<>&,
- uniform_real<>&), operator<<(std::basic_ostream<>&,
- const exponential_distribution<>&), operator<<(std::basic_ostream<>&,
- const normal_distribution<>&), operator>>(std::basic_istream<>&,
- normal_distribution<>&)): Redo per TR1 specs; move out of line...
- * include/tr1/random.tcc: ... here.
-
-2006-06-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (class normal_distribution<>): Add.
- * include/tr1/random.tcc (normal_distribution<>::operator()): Define.
-
- * include/tr1/random.tcc (struct _Max): Remove, "inline" in the
- only user, mersenne_twister<>::max().
-
- * include/tr1/random.tcc (struct _Shift): Move...
- * include/tr1/random: ... here.
-
- * include/tr1/random.tcc (linear_congruential<>::
- linear_congruential(unsigned long), linear_congruential<>::
- linear_congruential(_Gen&), mersenne_twister<>::max())): Move inline...
- * include/tr1/random: ... here.
-
- * include/tr1/random (exponential_distribution<>::
- exponential_distribution(const result_type&)): Add missing
- _GLIBCXX_DEBUG_ASSERT.
-
- * testsuite/tr1/5_numerical_facilities/random/
- exponential_distribution/requirements/typedefs.cc: New.
- * testsuite/tr1/5_numerical_facilities/random/
- normal_distribution/requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- bernoulli_distribution/requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/
- geometric_distribution/requirements/typedefs.cc: Likewise.
-
-2006-06-23 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/27984
- * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust
- testing includes.
- * docs/html/test.html: Adjust for testsuite changes.
-
-2006-06-22 Jonathan Lennox <lennox@cs.columbia.edu>
- Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/pb_ds/detail/resize_policy/
- hash_prime_size_policy_imp.hpp: Cast to size_t instead.
-
-2006-06-22 Ami Tavory <atavory@gmail.com>
-
- * include/ext/pb_ds/detail/resize_policy/
- hash_prime_size_policy_imp.hpp: Fix for 64-bit machines.
-
-2006-06-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/postypes.h (operator==(const fpos<>&, const fpos<>&),
- operator!=(const fpos<>&, const fpos<>&)): Add.
- * testsuite/27_io/fpos/mbstate_t/6.cc: New.
-
-2006-06-21 Mark Mitchell <mark@codesourcery.com>
-
- * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): When
- cross-compiling, put headers in $prefix/$target/include/c++.
- * configure: Regenerated.
-
-2006-06-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (struct _Private::_Mod_w<>,
- _Private::__mod_w<>): Remove.
- (struct _Private::_Shift<>): New.
- (struct _Private::_Max_w<>): Rename to _Max, use the latter.
- (mersenne_twister<>::seed(unsigned long), seed(_Gen&, false_type),
- max()): Adjust.
-
-2006-06-20 Vladimir Prus <vladimir@codesourcery.com>
-
- * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Always return 'true'.
-
-2006-06-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (xor_combine<>::operator<<): Fix typo.
-
- * include/tr1/random (bernoulli_distribution::min(),
- bernoulli_distribution::max(), geometric_distribution<>::min(),
- geometric_distribution<>::max()): Remove.
-
- * include/tr1/random (geometric_distribution<>::operator()):
- Simplify formula.
-
- * include/tr1/random: Minor cosmetic changes.
-
- * testsuite/tr1/5_numerical_facilities/random/discard_block/
- operators/equal.cc: New.
- * testsuite/tr1/5_numerical_facilities/random/discard_block/
- operators/not_equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/discard_block/
- operators/serialize.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/xor_combine/
- operators/equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/xor_combine/
- operators/not_equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/xor_combine/
- operators/serialize.cc: Likewise.
-
-2006-06-17 Ami Tavory <atavory@gmail.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/util/rng/twister_rand_gen.cc: Adapt to simply use
- tr1::mt19937.
- * testsuite/util/rng/twister_rand_gen.hpp: Likewise.
-
-2006-06-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (uniform_real<>::uniform_real(_RealType,
- _RealType)): Implement.
- (uniform_real<>::min()): Likewise.
- (uniform_real<>::max()): Likewise.
- (uniform_real<>::reset()): Likewise.
-
- * include/tr1/random (class uniform_real<>): Minor cosmetic tweaks.
-
-2006-06-16 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format):
- Ignore the value of the __err argument.
- (time_get<>::do_get_weekday): Likewise.
- (time_get<>::do_get_monthname): Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/5.cc: New.
- * testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
-
-2006-06-15 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_ds/detail/type_utils.hpp (numeric_traits): Add,
- const expression interface to std::numeric_limits::min and max
- functions.
- * include/ext/pb_ds/trie_policy.hpp (string_trie_e_access_traits):
- Use it.
-
- * include/ext/pb_ds/detail/resize_policy/
- hash_load_check_resize_trigger_imp.hpp: Format.
- * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
-
-2006-06-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (mersenne_twister<>::operator()()):
- Reload the last position of the _M_x vector too.
-
-2006-06-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (class xor_combine): Fix result_type typedef.
- * testsuite/tr1/5_numerical_facilities/random/xor_combine/
- cons/default.cc: New.
- * testsuite/tr1/5_numerical_facilities/random/xor_combine/
- requirements/typedefs.cc: Tweak.
-
- * include/tr1/random: Minor cosmetic changes.
-
-2006-06-14 Ami Tavory <atavory@gmail.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pb_assoc: Delete.
- * include/ext/pb_ds: Add.
- * docs/html/ext/pb_assoc: Delete.
- * docs/html/ext/pb_ds: Add.
- * testsuite/ext/pb_assoc: Delete.
- * testsuite/ext/pb_ds: Add.
- * testsuite/performance/ext: Add.
- * testsuite/performance/ext/pb_ds: Add.
-
- * testsuite/util/regression: New.
- * testsuite/util/rng: New.
- * testsuite/util/native_type: New.
- * testsuite/util/common_type: New.
- * testsuite/util/performance: New.
- * testsuite/util/hash_fn: New.
- * testsuite/util/io: New.
- * testsuite/util/statistic: New.
-
- * scripts/make_graph.py: New.
- * scripts/make_graphs.py: New.
- * testsuite/data/thirty_years_among_the_dead_preproc.txt: Add.
- * testsuite/data/make_graph_htmls.xml: Add.
- * testsuite/data/make_graph_test_infos.xml: Add.
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Add in new
- object files for regression testing.
- * docs/html/documentation.html: Adjust links.
- * include/Makefile.am (install-headers): Update for new sources,
- directories.
- * include/Makefine.in: Regenerate.
- * scripts/testsuite_flags.in: Adjust to testsuite/util path.
- * scripts/check_performance: Simplify, adjust for new testsuite output.
- * testsuite/Makefile.am (check-performance): Adjust.
- (doc-performance): New.
- * testsuite/Makefile.in: Regenerate.
-
- * include/ext/pb_ds: New.
- * include/ext/pb_ds/assoc_container.hpp: Same.
- * include/ext/pb_ds/detail: New.
- * include/ext/pb_ds/detail/binomial_heap_base_: New.
- * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy: New.
- * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp: Same.
- * include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_: New.
- * include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/typelist_assoc_container.hpp: Same.
- * include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
- * include/ext/pb_ds/detail/unordered_iterator: New.
- * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
- * include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
- * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/typelist.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_: New.
- * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/head.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Same.
- * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_: New.
- * include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_: New.
- * include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp: Same.
- * include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/standard_policies.hpp: Same.
- * include/ext/pb_ds/detail/typelist: New.
- * include/ext/pb_ds/detail/typelist/typelist_flatten.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_contains.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_typelist_append.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_apply.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_filter.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_append.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_assoc_container_find.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_transform.hpp: Same.
- * include/ext/pb_ds/detail/typelist/typelist_at_index.hpp: Same.
- * include/ext/pb_ds/detail/tree_policy: New.
- * include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
- * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
- * include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Same.
- * include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp: Same.
- * include/ext/pb_ds/detail/basic_tree_policy: New.
- * include/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp: Same.
- * include/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp: Same.
- * include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: Same.
- * include/ext/pb_ds/detail/types_traits.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_: New.
- * include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy: New.
- * include/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
- * include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Same.
- * include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
- * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_: Name.
- * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
- * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_: New.
- * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
- * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/type_utils.hpp: Same.
- * include/ext/pb_ds/detail/eq_fn: New.
- * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
- * include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
- * include/ext/pb_ds/detail/basic_types.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy: New.
- * include/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp: Same.
- * include/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_: New.
- * include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_: New.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_: New.
- * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/map_debug_base.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn: New.
- * include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
- * include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_: New.
- * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
- * include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_: New.
- * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_: New.
- * include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
- * include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_: New.
- * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
- * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
- * include/ext/pb_ds/list_update_policy.hpp: Same.
- * include/ext/pb_ds/exception.hpp: Same.
- * include/ext/pb_ds/tree_policy.hpp: Same.
- * include/ext/pb_ds/tag_and_trait.hpp: Same.
- * include/ext/pb_ds/hash_policy.hpp: Same.
- * include/ext/pb_ds/trie_policy.hpp: Same.
- * include/ext/pb_ds/priority_queue.hpp: Same.
-
- * docs/html/ext/pb_ds: New.
- * docs/html/ext/pb_ds/container_tag.html: Same.
- * docs/html/ext/pb_ds/trivial_iterator_tag.html: Same.
- * docs/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png
- * docs/html/ext/pb_ds/sample_trie_e_access_traits.html: Same.
- * docs/html/ext/pb_ds/gp_hash_table.html: Same.
- * docs/html/ext/pb_ds/priority_queue_tag_cd.svg
- * docs/html/ext/pb_ds/container_cd.svg
- * docs/html/ext/pb_ds/linear_probe_fn.html: Same.
- * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_local.png
- * docs/html/ext/pb_ds/quadratic_probe_fn.html: Same.
- * docs/html/ext/pb_ds/assoc_regression_tests.html: Same.
- * docs/html/ext/pb_ds/tree_tag.html: Same.
- * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test.html: Same.
- * docs/html/ext/pb_ds/interface.html: Same.
- * docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_msvc.png
- * docs/html/ext/pb_ds/hash_random_int_subscript_find_timing_test.html: Same.
- * docs/html/ext/pb_ds/lu_based_containers.html: Same.
- * docs/html/ext/pb_ds/embedded_lists_3.png
- * docs/html/ext/pb_ds/tree_text_find_find_timing_test.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_local.png
- * docs/html/ext/pb_ds/assoc_performance_tests.html: Same.
- * docs/html/ext/pb_ds/list_update.html: Same.
- * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_gcc.png
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_local.png
- * docs/html/ext/pb_ds/point_iterators_range_ops_1.png
- * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_msvc.png
- * docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_gcc.png
- * docs/html/ext/pb_ds/text_find_timing_test_tree_like_msvc.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_local.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_local.png
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_msvc.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test.html: Same.
- * docs/html/ext/pb_ds/move_to_front_lu_policy.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_gcc.png
- * docs/html/ext/pb_ds/hash_random_int_find_find_timing_test.html: Same.
- * docs/html/ext/pb_ds/string_trie_e_access_traits.html: Same.
- * docs/html/ext/pb_ds/prerequisites.html: Same.
- * docs/html/ext/pb_ds/gp_hash_tag.html: Same.
- * docs/html/ext/pb_ds/priority_queue_tag_cd.png
- * docs/html/ext/pb_ds/container_cd.png
- * docs/html/ext/pb_ds/priority_queue_text_join_timing_test_gcc.png
- * docs/html/ext/pb_ds/container_base.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_msvc.png
- * docs/html/ext/pb_ds/tree_random_int_find_find_timing_test.html: Same.
- * docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_msvc.png
- * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_local.png
- * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_gcc.png
- * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_msvc.png
- * docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_msvc.png
- * docs/html/ext/pb_ds/text_find_timing_test_hash_local.png
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_msvc.png
- * docs/html/ext/pb_ds/ov_tree_tag.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_local.png
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_msvc.png
- * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_msvc.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png
- * docs/html/ext/pb_ds/list_update_tag.html: Same.
- * docs/html/ext/pb_ds/balls_and_bins.png
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_local.png
- * docs/html/ext/pb_ds/disclaimer.html: Same.
- * docs/html/ext/pb_ds/insert_error.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_gcc.png
- * docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_gcc.png
- * docs/html/ext/pb_ds/examples.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small.html: Same.
- * docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_gcc.png
- * docs/html/ext/pb_ds/sample_probe_fn.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_local.png
- * docs/html/ext/pb_ds/priority_queue_text_push_timing_test.html: Same.
- * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_gcc.png
- * docs/html/ext/pb_ds/null_mapped_type.html: Same.
- * docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_gcc.png
- * docs/html/ext/pb_ds/tree_order_statistics_timing_test_gcc.png
- * docs/html/ext/pb_ds/associative_container_tag.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_local.png
- * docs/html/ext/pb_ds/design.html: Same.
- * docs/html/ext/pb_ds/cc_hash_max_collision_check_resize_trigger.html: Same.
- * docs/html/ext/pb_ds/pairing_heap_tag.html: Same.
- * docs/html/ext/pb_ds/tree_text_lor_find_timing_test_gcc.png
- * docs/html/ext/pb_ds/references.html: Same.
- * docs/html/ext/pb_ds/tree_order_statistics_timing_test_msvc.png
- * docs/html/ext/pb_ds/hash_load_check_resize_trigger.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_gcc.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png
- * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_gcc.png
- * docs/html/ext/pb_ds/pq_different_underlying_dss.png
- * docs/html/ext/pb_ds/insert_resize_sequence_diagram1.png
- * docs/html/ext/pb_ds/pq_regression_tests.html: Same.
- * docs/html/ext/pb_ds/sample_tree_node_update.html: Same.
- * docs/html/ext/pb_ds/invalidation_guarantee_erase.png
- * docs/html/ext/pb_ds/basic_invalidation_guarantee.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_local.png
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_hash_gcc.png
- * docs/html/ext/pb_ds/hash_zlob_random_int_find_timing_test_local.png
- * docs/html/ext/pb_ds/point_iterators_range_ops_2.png
- * docs/html/ext/pb_ds/null_probe_fn.html: Same.
- * docs/html/ext/pb_ds/hash_prime_size_policy.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_gcc.png
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_local.png
- * docs/html/ext/pb_ds/binary_priority_queue_random_int_push_timing_test_local.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_large.html: Same.
- * docs/html/ext/pb_ds/sample_resize_policy.html: Same.
- * docs/html/ext/pb_ds/binomial_heap_tag.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test_local.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_pairing_thin_local.png
- * docs/html/ext/pb_ds/tree_text_lor_find_find_timing_test.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_join_timing_test_msvc.png
- * docs/html/ext/pb_ds/trie_based_containers.html: Same.
- * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_gcc.png
- * docs/html/ext/pb_ds/tree_split_join_timing_test_local.png
- * docs/html/ext/pb_ds/text_find_timing_test_hash_gcc.png
- * docs/html/ext/pb_ds/motivation.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_msvc.png
- * docs/html/ext/pb_ds/tree_split_join_timing_test_gcc.png
- * docs/html/ext/pb_ds/tree.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_hash_gcc.png
- * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_msvc.png
- * docs/html/ext/pb_ds/invalidation_guarantee_cd.png
- * docs/html/ext/pb_ds/tutorial.html: Same.
- * docs/html/ext/pb_ds/null_trie_node_update.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_gcc.png
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_msvc.png
- * docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_local.png
- * docs/html/ext/pb_ds/point_iterators_cd.png
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_local.png
- * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_local.png
- * docs/html/ext/pb_ds/rb_tree_tag.html: Same.
- * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_msvc.png
- * docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_msvc.png
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_pat_trie_gcc.png
- * docs/html/ext/pb_ds/exceptions.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_msvc.png
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_local.png
- * docs/html/ext/pb_ds/hash_policy_cd.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small.html: Same.
- * docs/html/ext/pb_ds/ds_gen.html: Same.
- * docs/html/ext/pb_ds/hash_exponential_size_policy.html: Same.
- * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_local.png
- * docs/html/ext/pb_ds/hash_random_int_erase_mem_usage_test_msvc.png
- * docs/html/ext/pb_ds/index.html: Same.
- * docs/html/ext/pb_ds/binary_heap_tag.html: Same.
- * docs/html/ext/pb_ds/basic_hash_tag.html: Same.
- * docs/html/ext/pb_ds/trie_order_statistics_node_update.html: Same.
- * docs/html/ext/pb_ds/sample_resize_trigger.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_push_timing_test_local.png
- * docs/html/ext/pb_ds/hash_text_find_find_timing_test.html: Same.
- * docs/html/ext/pb_ds/tree_text_insert_timing_test.html: Same.
- * docs/html/ext/pb_ds/trie_tag.html: Same.
- * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_local.png
- * docs/html/ext/pb_ds/pq_tests.html: Same.
- * docs/html/ext/pb_ds/insert_resize_sequence_diagram2.png
- * docs/html/ext/pb_ds/node_invariant_invalidations.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_down_timing_test_msvc.png
- * docs/html/ext/pb_ds/resize_policy_cd.png
- * docs/html/ext/pb_ds/embedded_lists_1.png
- * docs/html/ext/pb_ds/hash_ranged_hash_range_hashing_fns.png
- * docs/html/ext/pb_ds/null_lu_metadata.html: Same.
- * docs/html/ext/pb_ds/tree_order_statistics_timing_test.html: Same.
- * docs/html/ext/pb_ds/trie_prefix_search_node_update.html: Same.
- * docs/html/ext/pb_ds/hash_range_hashing_seq_diagram.png
- * docs/html/ext/pb_ds/point_invalidation_guarantee.html: Same.
- * docs/html/ext/pb_ds/direct_mod_range_hashing.html: Same.
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_local.png
- * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test_msvc.png
- * docs/html/ext/pb_ds/misc.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_local.png
- * docs/html/ext/pb_ds/counter_lu_policy.html: Same.
- * docs/html/ext/pb_ds/different_underlying_dss.png
- * docs/html/ext/pb_ds/restoring_node_invariants.png
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large.html: Same.
- * docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_local.png
- * docs/html/ext/pb_ds/sample_update_policy.html: Same.
- * docs/html/ext/pb_ds/pairing_priority_queue_text_push_timing_test_gcc.png
- * docs/html/ext/pb_ds/tree_order_statistics_timing_test_local.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png
- * docs/html/ext/pb_ds/simple_list.png
- * docs/html/ext/pb_ds/text_find_timing_test_hash_msvc.png
- * docs/html/ext/pb_ds/assoc_examples.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_local.png
- * docs/html/ext/pb_ds/hash_based_containers.html: Same.
- * docs/html/ext/pb_ds/text_find_timing_test_tree_like_local.png
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_local.png
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_gcc.png
- * docs/html/ext/pb_ds/tree_node_iterator.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png
- * docs/html/ext/pb_ds/trie_node_iterator.html: Same.
- * docs/html/ext/pb_ds/tree_based_containers.html: Same.
- * docs/html/ext/pb_ds/hash_random_int_subscript_insert_timing_test.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png
- * docs/html/ext/pb_ds/ccgp_hash_random_int_subscript_timing_test_insert_msvc.png
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_hash_msvc.png
- * docs/html/ext/pb_ds/priority_queue_text_push_timing_test_gcc.png
- * docs/html/ext/pb_ds/rationale_null_node_updator.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_local.png
- * docs/html/ext/pb_ds/lu.png
- * docs/html/ext/pb_ds/assoc_container_traits.html: Same.
- * docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_msvc.png
- * docs/html/ext/pb_ds/assoc_design.html: Same.
- * docs/html/ext/pb_ds/splay_tree_tag.html: Same.
- * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_find_gcc.png
- * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test.html: Same.
- * docs/html/ext/pb_ds/assoc_container_tag_cd.svg
- * docs/html/ext/pb_ds/resize_error.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_hash_msvc.png
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_gcc.png
- * docs/html/ext/pb_ds/priority_queue_text_join_timing_test.html: Same.
- * docs/html/ext/pb_ds/basic_tree_assoc_container_const_node_iterator.html: Same.
- * docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_gcc.png
- * docs/html/ext/pb_ds/trie_const_node_iterator.html: Same.
- * docs/html/ext/pb_ds/hash_zlob_random_int_find_find_timing_test.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_gcc.png
- * docs/html/ext/pb_ds/sample_size_policy.html: Same.
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_gcc.png
- * docs/html/ext/pb_ds/cc_hash_table.html: Same.
- * docs/html/ext/pb_ds/node_invariants.png
- * docs/html/ext/pb_ds/tree_split_join_timing_test_msvc.png
- * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test.html: Same.
- * docs/html/ext/pb_ds/tree_order_statistics_node_update.html: Same.
- * docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_msvc.png
- * docs/html/ext/pb_ds/cc_hash_random_int_subscript_timing_test_insert_local.png
- * docs/html/ext/pb_ds/priority_queue.html: Same.
- * docs/html/ext/pb_ds/assoc_tests.html: Same.
- * docs/html/ext/pb_ds/assoc_container_tag_cd.png
- * docs/html/ext/pb_ds/basic_hash_table.html: Same.
- * docs/html/ext/pb_ds/basic_tree_tag.html: Same.
- * docs/html/ext/pb_ds/tree_split_join_timing_test.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_local.png
- * docs/html/ext/pb_ds/insert_resize_sequence_diagram3.png
- * docs/html/ext/pb_ds/embedded_lists_2.png
- * docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_local.png
- * docs/html/ext/pb_ds/sample_ranged_probe_fn.html: Same.
- * docs/html/ext/pb_ds/random_int_find_find_timing_test_tree_gcc.png
- * docs/html/ext/pb_ds/sample_trie_node_update.html: Same.
- * docs/html/ext/pb_ds/introduction.html: Same.
- * docs/html/ext/pb_ds/pq_performance_tests.html: Same.
- * docs/html/ext/pb_ds/pat_trie.png
- * docs/html/ext/pb_ds/range_invalidation_guarantee.html: Same.
- * docs/html/ext/pb_ds/contact.html: Same.
- * docs/html/ext/pb_ds/sample_range_hashing.html: Same.
- * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_local.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png
- * docs/html/ext/pb_ds/update_seq_diagram.png
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_large_s2p_tree_gcc.png
- * docs/html/ext/pb_ds/direct_mask_range_hashing.html: Same.
- * docs/html/ext/pb_ds/tests.html: Same.
- * docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_gcc.png
- * docs/html/ext/pb_ds/tree_node_updator_policy_cd.png
- * docs/html/ext/pb_ds/text_find_timing_test_tree_like_gcc.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_large.html: Same.
- * docs/html/ext/pb_ds/trie_node_updator_policy_cd.png
- * docs/html/ext/pb_ds/priority_queue_random_int_push_timing_test_msvc.png
- * docs/html/ext/pb_ds/concepts.html: Same.
- * docs/html/ext/pb_ds/pq_examples.html: Same.
- * docs/html/ext/pb_ds/priority_queue_tag.html: Same.
- * docs/html/ext/pb_ds/priority_queue_random_int_push_pop_timing_test.html: Same.
- * docs/html/ext/pb_ds/update_policy_cd.png
- * docs/html/ext/pb_ds/thin_heap_tag.html: Same.
- * docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_msvc.png
- * docs/html/ext/pb_ds/basic_tree.html: Same.
- * docs/html/ext/pb_ds/null_hash_fn.html: Same.
- * docs/html/ext/pb_ds/null_tree_node_update.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png
- * docs/html/ext/pb_ds/trie.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_small_s2p_tree_msvc.png
- * docs/html/ext/pb_ds/rc_binomial_heap_tag.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_push_timing_test_msvc.png
- * docs/html/ext/pb_ds/pq_container_traits.html: Same.
- * docs/html/ext/pb_ds/pq_design.html: Same.
- * docs/html/ext/pb_ds/checked_by_tidy.gif
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_node_tree_local.png
- * docs/html/ext/pb_ds/multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png
- * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test.html: Same.
- * docs/html/ext/pb_ds/multimap_text_insert_timing_test_small_s2p_tree_gcc.png
- * docs/html/ext/pb_ds/pairing_priority_queue_text_push_pop_timing_test_local.png
- * docs/html/ext/pb_ds/acks.html: Same.
- * docs/html/ext/pb_ds/gp_hash_random_int_find_timing_test_local.png
- * docs/html/ext/pb_ds/cc_hash_tag.html: Same.
- * docs/html/ext/pb_ds/sample_ranged_hash_fn.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_large_s2p_tree_msvc.png
- * docs/html/ext/pb_ds/priority_queue_text_pop_mem_usage_test.html: Same.
- * docs/html/ext/pb_ds/multimap_text_find_timing_test_small.html: Same.
- * docs/html/ext/pb_ds/tree_text_lor_find_timing_test_msvc.png
- * docs/html/ext/pb_ds/hash_range_hashing_seq_diagram2.png
- * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_find_msvc.png
- * docs/html/ext/pb_ds/PythonPoweredSmall.gif
- * docs/html/ext/pb_ds/cc_hash_random_int_find_timing_test_local.png
- * docs/html/ext/pb_ds/pat_trie_tag.html: Same.
- * docs/html/ext/pb_ds/hash_standard_resize_policy.html: Same.
- * docs/html/ext/pb_ds/tree_text_insert_timing_test_vector_tree_msvc.png
- * docs/html/ext/pb_ds/gp_hash_random_int_subscript_timing_test_insert_gcc.png
- * docs/html/ext/pb_ds/join_error.html: Same.
- * docs/html/ext/pb_ds/priority_queue_text_push_pop_timing_test_gcc.png
- * docs/html/ext/pb_ds/priority_queue_text_join_timing_test_local.png
-
- * testsuite/ext/pb_ds: New.
- * testsuite/ext/pb_ds/regression: New.
- * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/associative_containers.cc: Same.
- * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/priority_queues.cc: Same.
- * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
- * testsuite/ext/pb_ds/example: New.
- * testsuite/ext/pb_ds/example/hash_shift_mask.cc: Same.
- * testsuite/ext/pb_ds/example/basic_set.cc: Same.
- * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Same.
- * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Same.
- * testsuite/ext/pb_ds/example/store_hash.cc: Same.
- * testsuite/ext/pb_ds/example/assoc_container_traits.cc: Same.
- * testsuite/ext/pb_ds/example/hash_load_set_change.cc: Same.
- * testsuite/ext/pb_ds/example/ranged_hash.cc: Same.
- * testsuite/ext/pb_ds/example/hash_resize.cc: Same.
- * testsuite/ext/pb_ds/example/tree_order_statistics.cc: Same.
- * testsuite/ext/pb_ds/example/trie_prefix_search.cc: Same.
- * testsuite/ext/pb_ds/example/basic_multiset.cc: Same.
- * testsuite/ext/pb_ds/example/priority_queue_xref.cc: Same.
- * testsuite/ext/pb_ds/example/hash_find_neg.cc: Same.
- * testsuite/ext/pb_ds/example/erase_if.cc: Same.
- * testsuite/ext/pb_ds/example/priority_queue_container_traits.cc: Same.
- * testsuite/ext/pb_ds/example/tree_join.cc: Same.
- * testsuite/ext/pb_ds/example/basic_map.cc: Same.
- * testsuite/ext/pb_ds/example/trie_split.cc: Same.
- * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: Same.
- * testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc: Same.
- * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: Same.
- * testsuite/ext/pb_ds/example/hash_mod.cc: Same.
- * testsuite/ext/pb_ds/example/tree_order_statistics_join.cc: Same.
- * testsuite/ext/pb_ds/example/trie_dna.cc: Same.
- * testsuite/ext/pb_ds/example/hash_initial_size.cc: Same.
- * testsuite/ext/pb_ds/example/basic_priority_queue.cc: Same.
- * testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
- * testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
- * testsuite/performance/ext: New.
- * testsuite/performance/ext/pb_ds: New.
- * testsuite/performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
- * testsuite/performance/ext/pb_ds/text_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
- * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp: Same.
- * testsuite/performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.
- * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
- * testsuite/data/make_graph_test_infos.xml: Same.
- * testsuite/data/thirty_years_among_the_dead_preproc.txt: New.
- * testsuite/data/make_graph_htmls.xml: Same.
- * testsuite/util/regression: New.
- * testsuite/util/regression/trait: New.
- * testsuite/util/regression/trait/priority_queue: New.
- * testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
- * testsuite/util/regression/trait/erase_if_fn.hpp: Same.
- * testsuite/util/regression/trait/assoc: New.
- * testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
- * testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
- * testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
- * testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
- * testsuite/util/regression/trait/assoc/trait.hpp: Same.
- * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
- * testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
- * testsuite/util/regression/trait/assoc/to_string.hpp: Same.
- * testsuite/util/regression/rand: New.
- * testsuite/util/regression/rand/priority_queue: New.
- * testsuite/util/regression/rand/priority_queue/detail: New.
- * testsuite/util/regression/rand/priority_queue/detail/erase_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/cmp_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/policy_access_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/defs_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/it_conversion_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/constructor_destructor_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/diagnostic_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/insert_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/clear_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/modify_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/split_join_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/detail/operator_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/priority_queue/container_rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/io: New.
- * testsuite/util/regression/rand/io/priority_queue: New.
- * testsuite/util/regression/rand/io/priority_queue/xml_formatter.hpp: Same.
- * testsuite/util/regression/rand/io/assoc: New.
- * testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: Same.
- * testsuite/util/regression/rand/io/xml_formatter.hpp: Same.
- * testsuite/util/regression/rand/assoc: New.
- * testsuite/util/regression/rand/assoc/detail: New.
- * testsuite/util/regression/rand/assoc/detail/subscript_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/cmp_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/policy_access_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/it_conversion_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/diagnostic_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/clear_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/get_set_load_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/operator_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/erase_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/resize_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/constructor_destructor_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/insert_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/split_join_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/detail/get_set_loads_fn_imps.hpp: Same.
- * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
- * testsuite/util/regression/rand/assoc/container_rand_regression_test.hpp: Same.
- * testsuite/util/regression/priority_queue: New.
- * testsuite/util/regression/priority_queue/common_type.hpp: Same.
- * testsuite/util/regression/basic_type.hpp: Same.
- * testsuite/util/regression/assoc: New.
- * testsuite/util/regression/assoc/common_type.hpp: Same.
- * testsuite/util/regression/res_mng: New.
- * testsuite/util/regression/res_mng/forced_exception.hpp: Same.
- * testsuite/util/regression/res_mng/dbg_ex_allocator_base.cc: Same.
- * testsuite/util/regression/res_mng/dbg_ex_allocator_base.hpp: Same.
- * testsuite/util/regression/res_mng/dbg_ex_allocator.hpp: Same.
- * testsuite/util/rng: New.
- * testsuite/util/rng/twister_rand_gen.cc: Same.
- * testsuite/util/rng/twister_rand_gen.hpp: Same.
- * testsuite/util/native_type: New.
- * testsuite/util/native_type/priority_queue: New.
- * testsuite/util/native_type/priority_queue/native_priority_queue.hpp: Same.
- * testsuite/util/native_type/priority_queue/native_pq_tag.hpp: Same.
- * testsuite/util/native_type/assoc: New.
- * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
- * testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
- * testsuite/util/native_type/assoc/native_set.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
- * testsuite/util/native_type/assoc/native_map.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_tag.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_set.hpp: Same.
- * testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
- * testsuite/util/common_type: New.
- * testsuite/util/common_type/priority_queue
- * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
- * testsuite/util/common_type/priority_queue/string_form.hpp: Same.
- * testsuite/util/common_type/priority_queue/detail
- * testsuite/util/common_type/priority_queue/detail/ds_string_form.hpp: Same.
- * testsuite/util/common_type/assoc: New.
- * testsuite/util/common_type/assoc/common_type.hpp: Same.
- * testsuite/util/common_type/assoc/string_form.hpp: Same.
- * testsuite/util/common_type/assoc/template_policy.hpp: Same.
- * testsuite/util/common_type/assoc/detail: New.
- * testsuite/util/common_type/assoc/detail/resize_policy_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/detail/trigger_policy_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/detail/comb_hash_fn_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/detail/size_policy_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/detail/probe_fn_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/detail/tree_supports_order_statistics.hpp: Same.
- * testsuite/util/common_type/assoc/detail/trie_supports_prefix_search.hpp: Same.
- * testsuite/util/common_type/assoc/detail/list_update_policy_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/detail/trie_supports_order_statistics.hpp: Same.
- * testsuite/util/common_type/assoc/detail/store_hash_string_form.hpp: Same.
- * testsuite/util/common_type/assoc/native_set.hpp: Same.
- * testsuite/util/performance: New.
- * testsuite/util/performance/priority_queue: New.
- * testsuite/util/performance/priority_queue/mem_usage: New.
- * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing: New.
- * testsuite/util/performance/priority_queue/timing/push_pop_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/push_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
- * testsuite/util/performance/priority_queue/timing/modify_test.hpp: Same.
- * testsuite/util/performance/io: New.
- * testsuite/util/performance/io/xml_formatter.hpp: Same.
- * testsuite/util/performance/assoc: New.
- * testsuite/util/performance/assoc/mem_usage: New.
- * testsuite/util/performance/assoc/mem_usage/multimap_insert_test.hpp: Same.
- * testsuite/util/performance/assoc/mem_usage/erase_test.hpp: Same.
- * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
- * testsuite/util/performance/assoc/timing: New.
- * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
- * testsuite/util/performance/assoc/timing/multimap_insert_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/subscript_find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/subscript_insert_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/insert_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/tree_order_statistics_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
- * testsuite/util/performance/assoc/timing/tree_split_join_test.hpp: Same.
- * testsuite/util/performance/time: New.
- * testsuite/util/performance/time/elapsed_timer.cc: Same.
- * testsuite/util/performance/time/elapsed_timer.hpp: Same.
- * testsuite/util/performance/time/timing_test_base.hpp: Same.
- * testsuite/util/performance/mem: New.
- * testsuite/util/performance/mem/mem_track_allocator_base.hpp: Same.
- * testsuite/util/performance/mem/mem_track_allocator.hpp: Same.
- * testsuite/util/hash_fn: New.
- * testsuite/util/hash_fn/limit_string_hash_fn.hpp: Same.
- * testsuite/util/hash_fn/string_ranged_hash_fn.hpp: Same.
- * testsuite/util/hash_fn/string_hash_fn.hpp: Same.
- * testsuite/util/hash_fn/string_ranged_probe_fn.hpp: Same.
- * testsuite/util/hash_fn/dna_str_limit.hpp: Same.
- * testsuite/util/io: New.
- * testsuite/util/io/prog_bar.cc: Same.
- * testsuite/util/io/prog_bar.hpp: Same.
- * testsuite/util/io/text_populate.hpp: Same.
- * testsuite/util/io/xml.hpp: Same.
- * testsuite/util/io/illegal_input_error.hpp: Same.
- * testsuite/util/io/xml_test_formatter.hpp: Same.
- * testsuite/util/io/verified_cmd_line_input.cc: Same.
- * testsuite/util/io/verified_cmd_line_input.hpp: Same.
- * testsuite/util/statistic: New.
- * testsuite/util/statistic/sample_var.hpp: Same.
- * testsuite/util/statistic/res_recorder.hpp: Same.
- * testsuite/util/statistic/sample_mean.hpp: Same.
- * testsuite/util/statistic/sample_mean_confidence_checker.hpp: Same.
-
-2006-06-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26970
- * config/locale/gnu/c_locale.h (__convert_from_v<>): Change to
- variadic function, instead of template function.
- * config/locale/generic/c_locale.h (__convert_from_v<>): Likewise.
- * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
- Adjust.
- (money_put<>::do_put(long double)): Likewise.
- * src/locale-misc-inst.cc: Remove.
- * src/Makefile.am: Adjust.
- * src/Makefile.in: Regenerate.
-
-2006-06-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (random_device::random_device(const
- std::string& = "/dev/urandom")): Open in binary mode.
-
- * include/tr1/random (random_device::random_device(const
- std::string& = "rand")): Use mersenne_twister.
- (random_device::_M_strtoul): New.
- (random_device::operator()()): Update.
-
- * include/tr1/random: Minor stylistic changes, consistently
- qualify with std::.
-
-2006-06-09 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): New, check for
- the availability of "/dev/random" and "/dev/urandom".
- * configure.ac: Use it.
- * include/tr1/random (random_device): Implement, a fall-back for
- systems not providing "/dev/random" and "/dev/urandom" included.
- * testsuite/tr1/5_numerical_facilities/random/random_device/
- cons/default.cc: New.
- * testsuite/tr1/5_numerical_facilities/random/random_device/
- cons/token.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/random_device/
- requirements/typedefs.cc: Likewise.
- * config.h.in: Regenerate.
- * configure: Likewise.
-
- * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
- cons/gen1.cc: Minor tweak, add bool test.
-
-2006-06-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/util: New directory.
- * testsuite/testsuite_hooks.cc: Move to util sub-directory.
- * testsuite/testsuite_abi_check.cc: Same.
- * testsuite/testsuite_abi.cc: Same.
- * testsuite/testsuite_tr1.h: Same.
- * testsuite/testsuite_io.h: Same.
- * testsuite/testsuite_iterators.h: Same.
- * testsuite/testsuite_allocator.cc: Same.
- * testsuite/testsuite_allocator.h: Same.
- * testsuite/testsuite_hooks.h: Same.
- * testsuite/testsuite_character.cc: Same.
- * testsuite/testsuite_abi.h: Same.
- * testsuite/testsuite_character.h: Same.
- * testsuite/testsuite_visualization.h: Same.
- * testsuite/testsuite_performance.h: Same.
- * testsuite/testsuite_shared.cc: Same.
- * testsuite/testsuite_common_types.h: Same.
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Adjust paths.
- * testsuite/libstdc++-abi/abi.exp: Same.
- * testsuite/libstdc++-dg/conformance.exp: Remove any files in the
- utilities subdirectory from the list of test cases.
-
- * scripts/testsuite_flags.in (build-includes): Adjust path for
- testsuite includes.
- * scripts/create_testsuite_files (dlist): Don't let utility files
- creep into the testsuite_files list.
-
-2006-06-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (mersenne_twister<>::operator==,
- operator!=, operator<<, operator>>): Implement.
- * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
- operators/equal.cc: New.
- * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
- operators/not_equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
- operators/serialize.cc: Likewise.
-
- * include/tr1/random (subtract_with_carry<>::operator==): Fix,
- compare the whole state; use std::equal.
-
- * include/tr1/random: Minor formatting and style changes.
-
-2006-06-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/tr1/5_numerical_facilies: Move to...
- * testsuite/tr1/5_numerical_facilities: ...this.
-
-2006-06-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random: Trivial uglification fixes.
- * include/tr1/random.tcc: Likewise.
-
- * include/tr1/random (subtract_with_carry<>::
- subtract_with_carry(_IntType)): Fix parameter type to unsigned long.
- (subtract_with_carry<>::seed(_IntType)): Likewise.
- * include/tr1/random.tcc (subtract_with_carry<>::seed(_IntType)):
- Adjust.
-
-2006-06-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random (mersenne_twister<>::seed()): Fix per
- tr1/5.1.4.2, p8.
- * include/tr1/random.tcc (mod_w): Add.
- (mersenne_twister<>::seed(unsigned long)): Fix per tr1/5.1.4.2, p9.
- (mersenne_twister<>::seed(Gen&, false_type)): Adjust to use mod_w.
- * testsuite/tr1/5_numerical_facilies/random/mt19937.cc: Fix
- expected result per tr1/5.1.5, p2.
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- cons/default.cc: Adjust.
-
- * include/tr1/random (exponential_distribution<>::operator()()): Fix.
-
-2006-06-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/random.tcc (Max::value()): Cast 1 to Tp(1) and
- adjust shift count to w; rename as Max_w.
- (struct Mod_w): New.
- (mersenne_twister<>::seed(Gen&, false_type): Use the latter.
- (mersenne_twister<>::operator()()): Fix ~0ul to ~_UInt().
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- cons/default.cc: Fix ~0ul to 2^32-1.
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- cons/gen1.cc: Likewise.
-
-2006-06-05 Stephen M. Webb <stephen.webb@bregmasoft.com>
-
- * include/tr1/random: New.
- * include/tr1/random.tcc: Likewise.
- * include/Makefile.am: Add.
- * testsuite/tr1/5_numerical_facilies/random/ranlux3.cc: New.
- * testsuite/tr1/5_numerical_facilies/random/ranlux4.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/mt19937.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/variate_generator/
- requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- cons/seed1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- cons/seed2.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- cons/default.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- cons/gen1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- operators/equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- operators/not_equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/subtract_with_carry/
- operators/serialize.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/uniform_real/
- requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/discard_block/
- requirements/requirements.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- cons/seed1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- cons/seed2.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- cons/default.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- cons/gen1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- requirements/non_uint_neg.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- operators/equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- operators/not_equal.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/linear_congruential/
- operators/serialize.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/xor_combine/
- requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/minstd_rand.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/minstd_rand0.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/uniform_int/
- cons/range.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/uniform_int/
- cons/default.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/uniform_int/
- cons/range_neg.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/uniform_int/
- requirements/typedefs.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- cons/seed1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- cons/seed2.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- cons/default.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- cons/gen1.cc: Likewise.
- * testsuite/tr1/5_numerical_facilies/random/mersenne_twister/
- requirements/typedefs.cc: Likewise.
- * include/Makefile.in: Regenerate.
- * testsuite/tr1/headers.cc: Update.
-
-2006-06-04 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/27867
- * include/bits/valarray_before.h (struct _BinClos<_Oper, _ValArray,
- _ValArray, _Tp, _Tp>): Fix value_type typedef.
- * testsuite/26_numerics/valarray/27867.cc: New.
-
-2006-05-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24692
- * include/bits/atomicity.h (__exchange_and_add_multi,
- __atomic_add_multi): New, depending on _GLIBCXX_ATOMIC_BUILTINS,
- inline the atomic builtins.
- (__exchange_and_add_dispatch, __atomic_add_dispatch): Adjust.
- * configure.ac: Define _GLIBCXX_ATOMIC_BUILTINS when the atomic
- builtins are available.
- * configure: Regenerate.
- * config.h.in: Likewise.
-
-2006-05-27 Paolo Carlini <pcarlini@suse.de>
-
- * configure.host: If the CPU provides atomic builtins select
- generic/atomic_builtins/atomicity.h.
- * config/cpu/generic/atomic_builtins/atomicity.h: Add.
- * config/cpu/powerpc/atomicity.h: Remove.
- * config/cpu/ia64/atomicity.h: Likewise.
- * config/cpu/alpha/atomicity.h: Likewise.
- * config/cpu/s390/atomicity.h: Likewise.
-
-2006-05-26 Carlos O'Donell <carlos@codesourcery.com>
-
- * Makefile.am: Add install-html target. Add install-html to .PHONY
- * Makefile.in: Regenerate.
-
-2006-05-24 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24704
- * include/bits/atomicity.h (__exchange_and_add_single,
- __atomic_add_single): New, single thread versions of the atomic
- functions.
- (__exchange_and_add_dispatch, __atomic_add_dispatch): New,
- depending on __GTHREADS and __gthread_active_p() dispatch either
- to the above or to the existing atomic functions.
- * include/ext/pool_allocator.h: Update callers.
- * include/ext/rc_string_base.h: Likewise.
- * include/bits/locale_classes.h: Likewise.
- * include/bits/basic_string.h: Likewise.
- * include/bits/ios_base.h: Likewise.
- * include/tr1/boost_shared_ptr.h: Likewise.
- * src/ios.cc: Likewise.
- * src/locale.cc: Likewise.
- * src/ios_init.cc: Likewise.
-
-2006-05-23 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_shared.cc: Fix --enable-threads=single build.
-
-2006-05-19 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Avoid leaking the
- semaphores if a VERIFY fails.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/char/9661-1.cc: Likewise.
- * testsuite/27_io/objects/char/7.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Likewise.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
-
-2006-05-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable (hashtable<>::m_find): Remove; update callers.
-
- * include/tr1/hashtable (map_base<>::operator[]): Move out of line.
-
- * include/tr1/hashtable (hashtable<>::m_insert(const value_type&,
- std::tr1::false_type)): Avoid memory leak risk for new_node.
-
-2006-05-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable (hashtable<>::m_find, m_insert_bucket): Add.
- (hashtable<>::find, m_insert(const value_type&, std::tr1::true_type),
- map_base<>::operator[]): Use the above.
- * testsuite/performance/23_containers/insert/unordered_map_array.cc:
- New.
-
- * include/tr1/hashtable (hashtable<>::find_node,
- insert(const value_type&, ...), erase_node): Rename to m_*, adjust
- callers.
- * include/tr1/hashtable: Minor cosmetic changes.
-
-2006-05-13 Peter Doerfler <gcc@pdoerfler.com>
-
- * include/tr1/hashtable (identity<>::operator(),
- extract1st<>::operator()): Return by const ref.
-
-2006-05-10 Steve Ellcey <sje@cup.hp.com>
-
- * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit):
- Move to gcc subdir.
- * testsuite/lib/dg-options.exp (dg-require-iconv): Remove.
- (dg-require-cxa-atexit): Move to gcc subdir.
-
-2006-05-10 Paolo Carlini <pcarlini@suse.de>
- Peter Doerfler <gcc@pdoerfler.com>
-
- * include/tr1/hashtable (hashtable_iterator<>::hashtable_iterator(),
- hashtable_const_iterator<>::hashtable_const_iterator(),
- node_iterator<>::node_iterator(),
- node_const_iterator<>::node_const_iterator()): Add.
- (node_iterator<>::node_iterator(hash_node<>*),
- node_const_iterator<>::node_const_iterator(hash_node<>*)): Tweak,
- remove default.
- * testsuite/tr1/6_containers/unordered/hashtable/
- iterators_default_constructor.c: New.
-
-2006-05-10 Marc Glisse <marc.glisse@normalesup.org>
-
- * include/ext/pool_allocator.h: Add missing std:: qualifications.
- * include/ext/mt_allocator.h: Likewise.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_load_check_resize_trigger_imp.hpp: Likewise.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_standard_resize_policy_imp.hpp: Likewise.
- * include/ext/pb_assoc/detail/lu_policy/
- counter_lu_metadata_imp.hpp: Likewise.
- * include/ext/pb_assoc/detail/map_debug_base.hpp: Likewise.
- * libsupc++/eh_alloc.cc: Typo: memcpy -> memset.
-
-2006-05-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (integral_constant<>::value): Define.
- * testsuite/tr1/4_metaprogramming/helper_classes/static_definition.cc:
- New.
-
-2006-05-04 Douglas Gregor <dgregor@cs.indiana.edu>
-
- PR libstdc++/27404
- * include/ext/rope (_Rope_const_iterator<>::operator*() const,
- _Rope_iterator<>::operator*() const): Add.
-
-2006-05-01 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 (GLIBCXX_ENABLE_WCHAR_T): Always check the
- presence of wctype.h, for use in GLIBCXX_ENABLE_C99.
- * configure: Regenerate.
-
-2006-04-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
- Special case main parsing loop for !_M_allocated (i.e., "C" locale).
- (num_get<>::_M_extract_int): Likewise.
- * include/bits/locale_facets.h (num_get<>::_M_find): New.
-
-2006-04-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/17_intro/TODO: Update.
-
-2006-04-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/26875
- * include/ext/array_allocator.h (array_allocator): _M_used, new
- data member.
- * testsuite/ext/array_allocator/26875.cc: New.
-
-2006-04-26 Shantonu Sen <ssen@opendarwin.org>
-
- PR libstdc++/26513
- * scripts/make_exports.pl: Use $ENV{NM_FOR_TARGET}, if present.
-
-2006-04-23 Marc Glisse <marc.glisse@normalesup.org>
-
- PR libstdc++/27199
- * ext/pool_allocator.h: Add using declarations for size_t, ptrdiff_t.
- * ext/bitmap_allocator.h: Likewise; qualify with std::.
- * ext/new_allocator.h: Likewise.
- * ext/malloc_allocator.h: Likewise.
- * ext/array_allocator.h: Likewise.
- * ext/mt_allocator.h: Likewise.
- * ext/functional: Likewise for size_t.
- * ext/debug_allocator.h: Likewise.
- * bits/char_traits.h: Qualify with std:: size_t.
- * debug/hash_multimap.h: Likewise.
-
-2006-04-23 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 42.
-
-2006-04-19 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26424
- * include/tr1/hashtable (X<>::primes): Extend for 64-bit machines.
- (X<>::n_primes): Adjust.
- (prime_rehash_policy::next_bkt, bkt_for_elements, need_rehash): Adjust.
-
-2006-04-18 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/faq/index.html ([5.5]): Adjust to mention function
- objects and reference_wrapper; minor tweaks.
- * docs/html/faq/index.txt: Regenerate.
-
-2006-04-16 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/6702 (again)
- * acinclude.m4 (GLIBCXX_ENABLE_C99): Don't check non-C99
- wchar_t functions...
- (GLIBCXX_ENABLE_WCHAR_T): ... do that here.
- * configure.ac: Adjust order of checks.
- * configure: Regenerate.
-
-2006-04-14 Douglas Gregor <dgregor@cs.indiana.edu>
-
- PR libstdc++/27162
- * include/bits/stl_algo.h (__search_n(,,,, _BinaryPredicate,
- std::forward_iterator_tag)): Use __binary_pred, not ==.
-
-2006-04-10 Matthias Klose <doko@debian.org>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Recognize multilib
- directory names containing underscores.
-
-2006-04-10 Paolo Carlini <pcarlini@suse.de>
-
- DR 538, [Ready]
- * include/bits/stl_algo.h (__unique_copy(,,, input_iterator_tag,
- output_iterator_tag), and predicated counterpart): Revert to the
- algorithm pre-DR 241, i.e., value_type of InputIterator is now
- required to be Assignable too.
- * testsuite/25_algorithms/unique_copy/3.cc: Remove.
- * docs/html/ext/howto.html: Add an entry for DR 538.
-
-2006-03-29 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/data/sgetn.txt: Correct copyright holder.
- * testsuite/data/wistream_extractor_other-1.tst: Same.
- * testsuite/data/wistream_extractor_other-2.tst: Same.
- * testsuite/data/istream_extractor_other-1.txt: Same.
- * testsuite/data/filebuf_virtuals-1.txt: Same.
- * testsuite/data/wostream_inserter_other-1.tst: Same.
- * testsuite/data/wostream_inserter_other-2.tst: Same.
- * testsuite/data/ostream_inserter_other-1.tst: Same.
- * testsuite/data/ostream_inserter_other-2.tst: Same.
- * testsuite/data/wistream_extractor_other-1.txt: Same.
- * testsuite/data/istream_extractor_other-1.tst: Same.
- * testsuite/data/istream_extractor_other-2.tst: Same.
- * testsuite/data/filebuf_virtuals-1.tst: Same.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Adjust test
- conditions.
- * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Same.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Same.
- * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Same.
-
-2006-03-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/vstring.h (operator[]): Allow s[s.size()] in
- debug mode, but not pedantic mode.
-
-2006-03-24 Mark Mitchell <mark@codesourcery.com>
- Joseph S. Myers <joseph@codesourcery.com>
-
- PR libstdc++/20448
- PR libstdc++/20451
- * scripts/testsuite_flags.in (--cxxflags): Don't define LOCALEDIR.
- * testsuite/lib/libstdc++.exp (libstdc++_init): Always define
- LOCALEDIR to ".".
- (v3-build_support): Build MO files.
-
-2006-03-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26777
- * include/bits/fstream.tcc (basic_filebuf<>::_M_seek): Check
- the return value of _M_file.seekoff.
- * testsuite/27_io/basic_filebuf/seekoff/char/26777.cc: New.
-
-2006-03-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/25482
- * include/bits/stl_algobase.h (__copy_aux(_CharT*, _CharT*,
- ostreambuf_iterator<_CharT>), __copy_aux(const _CharT*, const _CharT*,
- ostreambuf_iterator<_CharT>), __copy_aux(istreambuf_iterator<_CharT>,
- istreambuf_iterator<_CharT>, _CharT*), copy(istreambuf_iterator<_CharT>,
- istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>)): Declare.
- * include/bits/stl_algo.h (find(istreambuf_iterator<_CharT>,
- istreambuf_iterator<_CharT>, _CharT)): Likewise.
- * include/bits/streambuf_iterator.h (copy(istreambuf_iterator<_CharT>,
- istreambuf_iterator<_CharT>, ostreambuf_iterator<_CharT>),
- __copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>),
- __copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>),
- __copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
- _CharT*), find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
- _CharT)): Define.
- (class istreambuf_iterator<>, class ostreambuf_iterator<>): Declare
- friends.
- * include/std/std_streambuf.h (class basic_streambuf<>): Likewise.
- * include/bits/cpp_type_traits.h (struct __is_char<>): Add.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: New.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: New.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: New.
- * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: New.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc: New.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc: New.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc: New.
- * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: New.
- * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc: New.
- * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: New.
- * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc: New.
- * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: New.
- * testsuite/performance/25_algorithms/copy_streambuf_iterators.cc: New.
- * testsuite/performance/25_algorithms/find_istreambuf_iterators.cc: New.
-
-006-03-13 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/postypes.h (fpos<>::operator==, operator!=): Remove,
- exploit conversion to streamoff.
- * testsuite/27_io/fpos/mbstate_t/5.cc: New.
-
-2006-03-12 Howard Hinnant <hhinnant@apple.com>
-
- * testsuite/27_io/basic_filebuf/underflow/char/10097.cc:
- Fix race condition.
- * testsuite/27_io/objects/char/9661-1.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
-2006-03-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cmath: Add atan2 and pow bits; add using declarations.
- * include/tr1/math.h: Add using declarations.
- * include/tr1/complex: Add using declarations.
- * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Fully
- qualify calls.
- * testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Likewise;
- add atan2 and pow bits.
- * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
- * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Likewise;
- adjust polar bits.
-
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add checks for double_t
- and float_t typedefs.
- * include/tr1/cmath: Add double_t and float_t.
- * testsuite/tr1/8_c_compatibility/cmath/types.cc: New.
-
- * include/tr1/ctgmath: New.
- * include/tr1/tgmath.h: Likewise.
- * include/Makefile.am: Add.
- * testsuite/tr1/headers.cc: Update.
-
- * include/Makefile.in: Regenerate.
- * configure: Likewise.
-
- * docs/html/ext/tr1.html: Update.
-
-2006-03-08 Paolo Carlini <pcarlini@suse.de>
-
- Implement the resolution of DR 455, [DR].
- * src/ios_init.cc (ios_base::Init::Init()): Do it.
- * testsuite/27_io/objects/char/dr455.cc: New.
- * testsuite/27_io/objects/wchar_t/dr455.cc: Likewise.
- * docs/html/ext/howto.html: Add an entry for DR 455.
-
-2006-03-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cmath: Add C99 overloads.
- * include/tr1/common.h (struct __promote_3): Add.
- * testsuite/tr1/8_c_compatibility/cmath/overloads.cc: New.
-
- * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Tweak.
- * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: Likewise.
-
-2006-03-06 Paolo Carlini <pcarlini@suse.de>
-
- PR target/26532
- * config/io/c_io_stdio.h (struct __ios_flags): Remove.
- * include/bits/ios_base.h: Adjust consistently.
- (ios_base::_S_local_word_size): Change to an anonymous enum.
- * src/ios.cc: Do not define static const data of __ios_flags,
- likewise for ios_base::_S_local_word_size.
- * include/bits/locale_classes.h (locale::_S_categories_size):
- Change to an anonymous enum.
- * src/locale.cc: Don't define.
-
-2006-03-03 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26526
- * config/abi/pre/gnu.ver (__copy_streambufs, 64-bit version): Add
- @GLIBCXX_3.4.8; move existing symbols @GLIBCXX_3.4.8 to 3.4.9.
- * configure.ac (libtool_VERSION): To 6:9:0.
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.9.
- * configure: Regenerate.
-
-2006-03-02 Paolo Carlini <pcarlini@suse.de>
-
- * config/abi/pre/gnu.ver: Adjust __copy_streambufs_eof export
- vs 64-bit arches.
-
-2006-03-01 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 41.
-
-2006-02-27 Jakub Jelinek <jakub@redhat.com>
-
- PR other/26208
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
- _Unwind_GetIPInfo instead of _Unwind_GetIP.
-
-2006-02-27 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/14866
- * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Redirect
- stderr instead.
-
-2006-02-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cmath: Add templates (8.16.3).
- * include/tr1/cstdbool: New.
- * include/tr1/stdbool.h: Likewise.
- * include/Makefile.am: Add.
- * testsuite/tr1/8_c_compatibility/cmath/templates.cc: New.
- * testsuite/tr1/headers.cc: Update.
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdbool.h> check.
- * docs/html/ext/tr1.html: Update.
- * include/Makefile.in: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
-2006-02-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/array (array<>::swap, assign): Implement.
- * include/tr1/array (operator==, operator!=, operator<,
- operator>, operator>=, operator<=, swap, get): Inline.
- * testsuite/tr1/6_containers/array/requirements/member_swap.cc: New.
- * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
- * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
- Likewise.
-
-2006-02-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/22_locale/codecvt/in/wchar_t/1.cc (test01): Change int
- to size_t. Use explicit static_cast for casts.
- * testsuite/22_locale/codecvt/in/wchar_t/6.cc (test06): Same.
- * testsuite/22_locale/codecvt/in/wchar_t/5.cc (test05): Same.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc (test01): Same.
-
-2006-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/pb_assoc/
- basic_tree_assoc_cntnr_const_node_iterator.html:Fix links
- * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_node_iterator.html:
- Likewise.
- * docs/html/ext/pb_assoc/hash_based_containers.html: Likewise.
- * docs/html/ext/pb_assoc/hash_standard_resize_policy.html: Likewise.
- * docs/html/ext/pb_assoc/interface.html: Likewise..
- * docs/html/ext/pb_assoc/list_updates.html: Likewise.
- * docs/html/ext/pb_assoc/lu_based_containers.html: Likewise.
- * docs/html/ext/pb_assoc/resize_policies.html: Likewise.
- * docs/html/ext/pb_assoc/sample_probe_fn.html: Likewise.
- * docs/html/ext/pb_assoc/sample_range_hashing.html: Likewise.
- * docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: Likewise.
- * docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: Likewise.
- * docs/html/ext/pb_assoc/sample_resize_policy.html: Likewise.
- * docs/html/ext/pb_assoc/tree_assoc_cntnr_const_node_iterator.html:
- Likewise.
- * docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: Likewise.
-
-2006-02-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26132
- * include/tr1/hashtable (hashtable<>::rehash): Define.
- * testsuite/tr1/6_containers/unordered/hashtable/26132.cc: New.
-
- * include/tr1/hashtable: Trivial formatting and stylistic fixes.
-
- * testsuite/tr1/headers.cc: remove <tr1/hashtable>, not a tr1 header,
- only an implementation detail.
-
-2006-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/debug/list (splice): Remove splice_alloc check, redundant
- after implementing the splice bits of N1599.
-
-2006-02-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/cmath.tcc: Use _GLIBCXX_BEGIN_NAMESPACE,
- _GLIBCXX_END_NAMESPACE.
-
-2006-02-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config: Simplify debug namespaces.
- * include/ext/hash_set: Specialize insert_iterator after norm,
- debug containers have been (optionally) declared. Use nested
- namespaces.
- * include/ext/hash_map: Same.
- * include/debug/hash_map.h (insert): Add specialization for value
- pointer types.
- * include/debug/hash_set.h (insert): Same.
- * include/debug/hash_multimap.h: Change __gnu_debug_def to __debug.
- * include/debug/set.h: Same.
- * include/debug/bitset: Same.
- * include/debug/multiset.h: Same.
- * include/debug/hash_multiset.h: Same.
- * include/debug/vector: Same.
- * include/debug/map.h: Same.
- * include/debug/deque: Same.
- * include/debug/list: Same.
- * include/debug/multimap.h. Same.
- * include/debug/macros.h: Use __gnu_debug.
- * include/debug/debug.h: Same.
- * include/debug/formatter.h: Same.
- * include/debug/safe_sequence.h: Same.
- * include/debug/functions.h: Same.
- * include/debug/safe_base.h: Same.
- * include/debug/safe_iterator.h: Same.
- * include/debug/safe_iterator.tcc: Same.
- (_M_invalidate): Adjust compare order.
- * include/debug/string: Change std::__gnu_debug to __gnu_debug.
- * include/ext/hashtable.h: Formatting fixes.
- * include/bits/stl_map.h: Formatting fixes.
- * src/compatibility.cc: Adjust compatibility symbols for old debug
- mode model.
- * src/debug_list.cc: Tweak.
- * src/debug.cc: Adjust namespaces.
- * docs/html/debug_mode.html: Adjust namespace names.
- * testsuite/25_algorithms/heap/heap.cc: Restore _GLIBCXX_DEBUG
- macro guards, as count values differ when in debug mode.
- * testsuite/23_containers/vector/26412.cc: Move to...
- * testsuite/23_containers/vector/26412-1.cc: ... here.
- * testsuite/23_containers/vector/26412-2.cc: Add.
-
- * include/ext/pb_assoc/detail/standard_policies.hpp
- (PB_ASSOC_HASH_NAMESPACE): Remove, use __gnu_cxx::hash_map and
- std::equal_to.
-
- * configure.ac (libtool_VERSION): To 6:8:0.
- * configure: Regenerate.
- * config/abi/pre/gnu.ver: Revert to exporting __gnu_debug symbols.
- (GLIBCXX_3.4.8): New.
- * testsuite/testsuite_abi.cc: Add GLIBCXX_3.4.8 to known versions.
-
-2006-02-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable: Trivial formatting fixes.
-
-2006-02-20 Paolo Carlini <pcarlini@suse.de>
-
- Revert recent commit for libstdc++/26211, now suspended waiting for
- DR 342 (reopened) to reach a new resolution.
- * include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
- seekg(off_type, ios_base::seekdir)): Remove sentry.
- * testsuite/27_io/basic_istream/seekg/char/26211.cc: Remove.
- * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Revert changes.
- * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
-
-2006-02-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_sstream.h (basic_stringbuf<>::setbuf): Simply
- clear the internal _M_string, adjust _M_sync call.
- * include/bits/sstream.tcc (basic_stringbuf<>::_M_sync): Adjust
- consistently for calls from setbuf.
-
-2006-02-17 Paolo Carlini <pcarlini@suse.de>
- Howard Hinnant <hhinnant@apple.com>
-
- PR libstdc++/26250
- * include/bits/sstream.tcc (basic_stringbuf<>::overflow): Tweak
- to leave epgtr() just past the new write position, as per the
- relevant bits of 27.7.1.3/8 (not changed by DR 432).
- * testsuite/27_io/basic_stringbuf/overflow/char/26250.cc: New.
- * testsuite/27_io/basic_stringbuf/overflow/wchar_t/26250.cc: Same.
-
- * docs/html/ext/howto.html: Add entries for DR 169 and DR 432.
-
- * include/std/std_sstream.h (basic_stringbuf<>::_M_sync): Move out
- of line...
- * include/bits/sstream.tcc: ... here.
-
-2006-02-16 Joseph S. Myers <joseph@codesourcery.com>
-
- PR libstdc++/14939
- * config/os/uclibc/ctype_base.h, config/os/uclibc/ctype_inline.h,
- config/os/uclibc/ctype_noninline.h, config/os/uclibc/os_defines.h:
- New.
- * acinclude.m4 (GLIBCXX_CONFIGURE): Test whether using uClibc.
- * configure.host: Use os/uclibc for uClibc.
- * crossconfig.m4 (*-linux*): Use link tests. Don't hardcode
- presence of math functions.
- * configure: Regenerate.
-
-2006-02-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26211
- * include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
- seekg(off_type, ios_base::seekdir)): Construct a sentry, as per
- 27.6.1.3/1.
- * testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
- * testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Adjust.
- * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
- * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
- * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
-
-2006-02-10 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26181
- * include/bits/streambuf.tcc (__copy_streambufs_eof): New, like
- the existing __copy_streambufs but reporting eof in input.
- (__copy_streambufs): Just use the latter.
- * src/streambuf.cc (__copy_streambufs_eof): Adjust specializations
- of __copy_streambufs.
- * include/bits/istream.tcc (operator>>(__streambuf_type*)): Use
- __copy_streambufs_eof instead.
- * include/std/std_streambuf.h: Adjust.
- * src/streambuf-inst.cc: Adjust.
- * config/abi/pre/gnu.ver: Export the new symbols.
- * testsuite/27_io/basic_istream/extractors_other/char/26181.cc: New.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/26181.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_other/char/1.cc: Adjust.
- * testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc:
- Likewise.
-
-2006-02-08 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/26142
- * include/debug/debug.h: Move debug alias inside namespace std,
- same with namespace __gnu_cxx. Add top-level __gnu_debug
- namespace.
- * include/debug/hash_multimap.h: Nest within __gnu_cxx, not
- std. Also, change nesting namespace name from __gnu_debug_def to
- __gnu_debug.
- * include/debug/hash_map.h: Same.
- * include/debug/hash_multiset.h: Same.
- * include/debug/hash_set.h: Same.
- * docs/html/debug.html: Same.
- * testsuite/23_containers/vector/26412.cc: New.
- * testsuite/23_containers/vector/invalidation/1.cc: Correct
- qualifications for debug namespace change.
- * testsuite/23_containers/vector/invalidation/2.cc: Same.
- * testsuite/23_containers/vector/invalidation/3.cc: Same.
- * testsuite/23_containers/vector/invalidation/4.cc: Same.
- * testsuite/23_containers/deque/invalidation/1.cc: Same.
- * testsuite/23_containers/deque/invalidation/2.cc: Same.
- * testsuite/23_containers/deque/invalidation/3.cc: Same.
- * testsuite/23_containers/deque/invalidation/4.cc: Same.
- * testsuite/23_containers/multiset/invalidation/1.cc: Same.
- * testsuite/23_containers/multiset/invalidation/2.cc: Same.
- * testsuite/23_containers/multimap/invalidation/1.cc: Same.
- * testsuite/23_containers/multimap/invalidation/2.cc: Same.
- * testsuite/23_containers/bitset/invalidation/1.cc: Same.
- * testsuite/23_containers/bitset/cons/16020.cc: Same.
- * testsuite/23_containers/bitset/operations/13838.cc: Same.
- * testsuite/23_containers/list/invalidation/1.cc: Same.
- * testsuite/23_containers/list/invalidation/2.cc: Same.
- * testsuite/23_containers/list/invalidation/3.cc: Same.
- * testsuite/23_containers/list/invalidation/4.cc: Same.
- * testsuite/23_containers/set/invalidation/1.cc: Same.
- * testsuite/23_containers/set/invalidation/2.cc: Same.
- * testsuite/23_containers/map/invalidation/1.cc: Same.
- * testsuite/23_containers/map/invalidation/2.cc: Same.
- * testsuite/23_containers/map/modifiers/insert/16813.cc: Same.
- * testsuite/21_strings/basic_string/2.cc: Same.
-
-2006-02-08 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26133 (DR 241, [WP])
- * include/bits/stl_algo.h (__unique_copy(,,, forward_iterator_tag,
- output_iterator_tag), __unique_copy(,,, input_iterator_tag,
- output_iterator_tag), __unique_copy(,,, input_iterator_tag,
- forward_iterator_tag), and predicated counterparts): Add.
- (__unique_copy(,,, output_iterator_tag), __unique_copy(,,,
- forward_iterator_tag), and predicated counterparts): Remove.
- (unique_copy): Adjust, dispatch to the three helpers above.
- * testsuite/25_algorithms/unique_copy/2.cc: New.
- * testsuite/25_algorithms/unique_copy/26133.cc: Likewise.
- * testsuite/25_algorithms/unique_copy/3.cc: Likewise.
- * docs/html/ext/howto.html: Add an entry for DR 241.
-
- * testsuite/25_algorithms/unique_copy/1.cc: Minor cosmetic changes.
-
-2006-02-07 Jakub Jelinek <jakub@redhat.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
- If true, set also port_specific_symbol_files and create
- as_symver_specs.
- (GLIBCXX_LDBL_COMPAT): New GLIBCXX_CONDITIONAL.
- * configure: Rebuilt.
- * config.h.in: Rebuilt.
- * config/os/gnu-linux/ldbl-extra.ver: New file.
- * config/abi/pre/gnu.ver: Make sure no __float128 symbols are
- exported.
- * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
- _GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
- _GLIBCXX_END_LDBL_NAMESPACE): Define.
- * include/bits/localefwd.h: Use them to conditionally scope facets.
- * include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
- with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
- Surround std::{money,num}_{get,put}
- with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
- [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
- [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_put): Add __do_put method.
- [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_get): Add __do_get method.
- [_GLIBCXX_LONG_DOUBLE_COMPAT] (std::num_put): Add __do_put method.
- * include/bits/locale_facets.tcc: Surround std::{money,num}_{get,put}
- with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
- (std::money_get::__do_get, std::money_put::__do_put,
- std::num_get::__do_get, std::num_put::__do_put): New
- specializations.
- * include/Makefile.am: Conditionally define
- _GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
- * include/Makefile.in: Regenerate.
- * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
- _GLIBCXX_SYNC_ID): Define, use them.
- * src/compatibility-ldbl.cc: New file.
- * src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
- symbols.
- * src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
- Likewise.
- * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
- Likewise.
- * src/Makefile.am (libstdc++-symbol.ver): Append instead of
- insert in the middle if port specific symbol file requests it.
- (ldbl_compat_sources): New variable.
- (sources): Use it.
- (compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
- * src/Makefile.in: Rebuilt.
- * testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
- GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
-
-2006-02-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable: Trivial formatting fixes.
-
-2006-02-07 Paolo Carlini <pcarlini@suse.de>
- Zak Kipling <zak@transversal.com>
-
- PR libstdc++/26127
- * include/tr1/hashtable (hashtable<>::key_equal): Define.
- (hashtable<>::bucket, rehash_base<>::max_load_factor): Fix.
- * testsuite/tr1/6_containers/unordered/hashtable/26127.cc: New.
-
-2006-02-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cmath: New.
- * include/tr1/cstdlib: Likewise.
- * include/tr1/ctime: Likewise.
- * include/tr1/math.h: Likewise.
- * include/tr1/stdlib.h: Likewise.
- * include/Makefile.am: Add.
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <math.h> checks.
- * testsuite/tr1/8_c_compatibility/cmath/functions.cc: New.
- * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
- * testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Likewise.
- * testsuite/tr1/headers.cc: Update.
-
- * include/tr1/cinttypes: Do not provide abs and div, conflicting
- with the above overloads for _Longlong types.
- * include/tr1/inttypes.h: Adjust.
- * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Adjust.
-
- * docs/html/ext/tr1.html: Update.
-
- * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
-
- * include/Makefile.in: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
-2006-02-07 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_tr1.h (test_property): New function.
- * testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
- (test01)
-
-2006-02-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cstdio: New.
- * include/tr1/stdio.h: Likewise.
- * include/Makefile.am: Add.
- * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: New.
- * testsuite/tr1/headers.cc: Update.
- * docs/html/ext/tr1.html: Update.
-
- * include/tr1/cwchar: Simplify, use _GLIBCXX_USE_C99, consistently
- with the facilities in std::.
- * include/tr1/cwctype: Likewise.
- * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Tweak.
- * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Remove <wchar.h> and
- <wctype.h> checks.
-
- * include/Makefile.in: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
-2006-02-04 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Fix.
-
-2006-02-04 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: Avoid
- warning on string constant.
-
-2006-02-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cwchar: New.
- * include/tr1/cwctype: Likewise.
- * include/tr1/wchar.h: Likewise.
- * include/tr1/wctype.h: Likewise.
- * include/Makefile.am: Add.
- * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: New.
- * testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
- * testsuite/tr1/headers.cc: Update.
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <wchar.h> and
- <wctype.h> checks.
- * docs/html/ext/tr1.html: Update.
- * include/Makefile.in: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
- * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Cosmetic tweak.
-
-2006-02-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cfloat: New.
- * include/tr1/climits: Likewise.
- * include/tr1/cstdarg: Likewise.
- * include/tr1/ctype.h: Likewise.
- * include/tr1/fenv.h: Likewise.
- * include/tr1/float.h: Likewise.
- * include/tr1/inttypes.h: Likewise.
- * include/tr1/limits.h: Likewise.
- * include/tr1/stdint.h: Likewise.
- * include/tr1/stdarg.h: Likewise.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * docs/html/ext/tr1.html: Update.
- * testsuite/tr1/headers.cc: New.
-
- * include/tr1/cctype: Include <cctype> instead.
-
-2006-01-31 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21554
- * include/tr1/array (array<>::_M_instance): Maximally align.
- * testsuite/ext/array_allocator/2.cc: Do not xfail for powerpc.
-
-2006-01-31 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- * docs/html/faq/index.html ([1.0]): Replace references to CVS
- with appropriate references to SVN.
- ([1.3]): Likewise.
- ([1.4]): Likewise.
- ([2.3]): Likewise.
- * docs/html/faq/index.txt: Regenerated.
-
-2006-01-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/bits/valarray_array.h (__valarray_default_construct):
- Replace use __is_fundamental with __is_pod.
- (__valarray_fill_construct): Likewise.
- (__valarray_copy_construct): Likewise.
- (__valarray_destroy_elements): Likewise.
- (__valarray_copy): Likewise.
-
-2006-01-30 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Do the <inttypes.h>
- checks only if the <stdint.h> checks are successful.
- * configure: Regenerate.
-
-2006-01-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cinttypes: New.
- * include/Makefile.am: Add.
- * testsuite/tr1/8_c_compatibility/cinttypes/functions: New.
- * testsuite/tr1/8_c_compatibility/cinttypes/types: Likewise.
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <inttypes.h> checks.
- * docs/html/ext/tr1.html: Update.
- * include/Makefile.in: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
- * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Cosmetic tweak.
- * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
-
- * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Fix, check in
- std::tr1.
-
-2006-01-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cstdint: New.
- * include/Makefile.am: Add.
- * testsuite/tr1/8_c_compatibility/cstdint/types: New.
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <stdint.h> checks.
- * docs/html/ext/tr1.html: Update.
- * include/Makefile.in: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
- * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Cosmetic tweak.
-
-2006-01-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/26006
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten <ctype.h> and
- <fenv.h> checks.
- * configure: Regenerate.
-
-2006-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_bitset.h (bitset<>::_M_copy_to_string):
- Call the internal _Unchecked_set(size_t) instead of set.
-
-2006-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/install.html ([Tools you will need beforehand]):
- Clarify that the de_DE locale is used by configure; clarify
- that missing localedata leads to skipped tests, not fails.
-
-2006-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cfenv: New.
- * include/Makefile.am: Add.
- * testsuite/tr1/8_c_compatibility/cfenv/functions.cc: New.
- * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Likewise.
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Add <fenv.h> checks.
- * docs/html/ext/tr1.html: Update; add note.
- * include/Makefile.in: Regenerate.
- * config.h.in: Likewise.
- * configure: Likewise.
-
- * testsuite/tr1/8_c_compatibility/complex/functions.cc: Tweak.
- * testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
-
- * docs/html/faq/index.html: Fix link to tr1.html text; fix
- formatting.
-
-2006-01-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/cctype: New.
- * include/Makefile.am: Add.
- * testsuite/tr1/8_c_compatibility/cctype/functions.cc: New.
- * include/Makefile.in: Regenerate.
-
- * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): New, check for C99
- support to TR1, Chapter 8.
- * configure.ac: Use it.
- * include/tr1/complex: Adjust.
- * config.h.in: Regenerate.
- * configure: Likewise.
-
-2006-01-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/configopts.html: Tweak docs.
-
- * libsupc++/eh_personality.cc: Fix typos.
-
-2006-01-24 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/25649
- * include/std/std_istream.h (operator>>(short&), operator>>(int&)):
- Move out of line...
- * include/bits/istream.tcc: ... here.
- * include/std/std_ostream.h (operator<<(short), operator<<(int)):
- Move out of line...
- * include/bits/ostream.tcc: ... here.
-
-2006-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- * docs/html/faq/index.html ([5.2]): Mention TR1 and point to
- paragraph [5.5], describing it.
- ([5.5]): New.
- * docs/html/ext/tr1.html: New.
-
-2006-01-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Verbose ld version
- reporting. Disable --gc-sections for old binutils, by version.
- * configure: Regenerate.
-
-2006-01-20 Joseph S. Myers <joseph@codesourcery.com>
-
- PR libstdc++/25524
- * include/Makefile.am: Install host-specific headers in multilib
- subdirectory.
- * include/Makefile.in: Regenerate.
-
-2006-01-19 Paolo Carlini <pcarlini@suse.de>
-
- Implement list::splice (and merge) bits of N1599
- * include/bits/stl_list.h (list<>::_M_check_equal_allocators): New.
- (list<>::splice(iterator, list&), splice(iterator, list&, iterator),
- splice(iterator, list&, iterator, iterator)): Use it.
- * include/bits/list.tcc (list<>::merge(list&), merge(list&,
- _StrictWeakOrdering)): Likewise.
- * testsuite/23_containers/list/operators/5.cc: New.
-
-2006-01-19 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libstdc++/25797
- * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Remove -Werror
- from CFLAGS. Check if linker really supports --gc-sections.
- * configure: Regenerated.
-
-2006-01-18 Paul Brook <paul@codesourcery.com>
-
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
-
-2006-01-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
-
-2006-01-18 Perry Smith <pedz@easesoftware.net>
-
- PR libstdc++/25823
- PR libstdc++/25824
- * libsupc++/eh_alloc.cc: Fix return type of memset declaration.
- * libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.
-
-2006-01-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/pb_assoc/detail/value_type_adapter/
- value_type_adapter.hpp: Include <tr1/type_traits>.
- * include/ext/pb_assoc/detail/value_type_adapter/
- it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
- Use tr1::aligned_storage and tr1::alignment_of.
- (it_value_type_traits_<>::buf_t): Remove.
- (it_value_type_traits_<>::make_valid, recast): Adjust.
-
-2006-01-16 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/25797
- * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Add -Werror to
- CFLAGS for --gc-sections test. Correct compile test.
- * configure: Regenerated.
-
-2006-01-15 Paolo Carlini <pcarlini@suse.de>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/25626
- * include/std/std_valarray.h (valarray(const slice_array<>&),
- valarray(const gslice_array<>&), valarray(const mask_array<>&),
- valarray(const indirect_array<>&), valarray(const _Expr<>&)):
- Forward to __valarray_copy_construct, not __valarray_copy.
- * include/bits/valarray_array.h
- (__valarray_copy_construct(_Array<>, _Array<>, _Array<>, size_t),
- __valarray_copy_construct(_Array<>, size_t, size_t, _Array<>)):
- New.
-
-2006-01-15 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
- Fix norm test, use casts everywhere.
-
-2006-01-14 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_tr1.h: Add missing include; use std::__are_same.
-
-2006-01-14 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
- Fix wrong test (don't pick by mistake the (const complex<>&, int)
- overload); add some.
-
-2006-01-13 Paolo Carlini <pcarlini@suse.de>
- Howard Hinnant <hhinnant@apple.com>
-
- * include/tr1/complex (arg, conj, imag, norm, polar, pow, real):
- Add, implementing TR1, 8.1.9.
- (__promote_2): New.
- * include/tr1/common.h: New, provides __promote, __promote_2.
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * testsuite/testsuite_tr1.h (check_ret_type): New.
- * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: New.
- * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: New.
-
-2006-01-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Enable
- --gc-sections in more cases.
- * configure: Regenerate.
- * scripts/testsuite_flags.in: Remove SECTION_LDFLAGS.
- * scripts/testsuite_flags.in (cxxldflags): New.
- * testsuite/lib/libstdc++.exp (v3_target_compile): Add cxxldflags.
- (libstdc++_init ): Same.
-
-2006-01-12 Jan Beulich <jbeulich@novell.com>
-
- * crossconfig.m4: Add AC_DEFINE-s for HAVE_HYPOT, HAVE_ISINF, and
- HAVE_ISNAN for *-*-netware*.
- * configure: Refresh.
-
-2006-01-11 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Use -Wl,-z,relro if
- possible.
- * configure: Regenerate.
-
-2006-01-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/complex: New file, hosts the additions to header
- <complex> described in TR1, Chapter 8 [tr.c99].
- * include/Makefile.am: Add.
- * include/Makefile.in: Regenerate.
- * testsuite/tr1/8_c_compatibility/complex/functions.cc: New.
-
-2006-01-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/25658
- * testsuite/23_containers/deque/cons/assign/1.cc: Divide
- sizes by 10.
-
-2006-01-08 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/22102 (insert as close to hint as possible)
- * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_lower,
- _M_insert_equal_lower): New.
- (_M_insert_equal(iterator, const _Val&),
- _M_insert_equal(const_iterator, const _Val&)): Use the above.
- * docs/html/ext/howto.html: Add an entry for DR 233.
- * testsuite/23_containers/multiset/modifiers/insert/22102.cc: New.
- * testsuite/23_containers/multimap/modifiers/insert/22102.cc: New.
-
- * testsuite/23_containers/set/insert/: Move...
- * testsuite/23_containers/set/modifiers/insert/: ...here.
- * testsuite/23_containers/map/insert/: Move...
- * testsuite/23_containers/map/modifiers/insert/: ...here.
- * testsuite/23_containers/multiset/insert/: Move...
- * testsuite/23_containers/multiset/modifiers/insert/: ...here.
-
-2006-01-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_tree.h (_Rb_tree<>::insert_unique): Rename
- to _M_insert_unique.
- (_Rb_tree<>::insert_equal): Rename to _M_insert_equal.
- * include/bits/stl_map.h (class map<>): Update callers.
- * include/bits/stl_set.h (class set<>): Likewise.
- * include/bits/stl_multimap.h (class multimap<>): Likewise.
- * include/bits/stl_multiset.h (class multiset<>): Likewise.
-
-2006-01-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_bvector.h (vector<bool>::erase(iterator,
- iterator)): Just use _M_erase_at_end.
-
-2006-01-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_bvector.h (class vector<bool>): Move all the
- helpers under protected access mode, consistently with the primary
- vector template.
- (vector<bool>::_M_erase_at_end): Add.
- (erase(iterator, iterator), clear, resize, _M_fill_assign,
- _M_assign_aux): Use it.
- * testsuite/23_containers/vector/bool/modifiers/erase/1.cc: New.
-
-2006-01-06 Paolo Carlini <pcarlini@suse.de>
-
- Implement Option 3 of DR 431 for vector<bool>.
- * include/bits/stl_bvector.h (class _Bvector_base): Change to
- a struct, consistently with the primary vector template.
- (class vector<bool>): Adjust to protected inheritance, tidy
- typedefs.
- (_Bvector_base<>::_M_get_Bit_allocator): Add.
- (vector<bool>::vector(const vector&)): Use it.
- (_Bvector_base<>::get_allocator): Tidy.
- (vector<bool>::swap): Use __alloc_swap.
- * testsuite/23_containers/vector/bool/modifiers/swap/1.cc: New.
- * testsuite/23_containers/vector/bool/modifiers/swap/2.cc: New.
-
-2006-01-05 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_hooks.h (test_tm(unsigned)): Change to
- take all the tm members.
- * testsuite/testsuite_hooks.cc (test_tm): Adjust.
- * testsuite/22_locale/time_put/put/wchar_t/10.cc: Update.
- * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
-
-2006-01-05 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
- * testsuite/testsuite_hooks.cc (test_tm(unsigned)): Define.
- * testsuite/22_locale/time_put/put/wchar_t/10.cc: Use it.
- * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
-
-2006-01-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus):
- Use _CharT_alloc_type as base class.
- (_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust.
- * include/ext/vstring.h (get_allocator): Tidy.
-
-2006-01-04 Paolo Carlini <pcarlini@suse.de>
-
- Implement Option 3 of DR 431 for all the containers.
- * include/bits/allocator.h (struct __alloc_swap): Add, swaps
- allocators, optimized to nothing in case they are empty.
- * include/bits/stl_deque.h (deque<>::swap): Use it.
- * include/bits/stl_list.h (list<>::swap): Likewise.
- * include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise.
- * include/bits/stl_vector.h (vector<>::swap): Likewise.
- * include/tr1/hashtable (hashtable<>::swap): Likewise.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap):
- Likewise.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
- Likewise.
- * include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider):
- Clean-up (now vstring uses the generic __alloc_swap facility).
- * include/tr1/unordered_map: Adjust includes.
- * include/tr1/unordered_set: Likewise.
- * docs/html/ext/howto.html: Add an entry for DR 431.
- * testsuite/23_containers/deque/modifiers/swap.cc: Move to...
- * testsuite/23_containers/deque/modifiers/swap/1.cc: ... here.
- * testsuite/23_containers/deque/modifiers/swap/2.cc: New.
- * testsuite/23_containers/deque/modifiers/swap/3.cc: New.
- * testsuite/23_containers/list/modifiers/swap.cc: Move to...
- * testsuite/23_containers/list/modifiers/swap/1.cc: ... here.
- * testsuite/23_containers/list/modifiers/swap/2.cc: New.
- * testsuite/23_containers/list/modifiers/swap/3.cc: New.
- * testsuite/23_containers/vector/modifiers/swap.cc: Move to...
- * testsuite/23_containers/vector/modifiers/swap/1.cc: ... here.
- * testsuite/23_containers/vector/modifiers/swap/2.cc: New.
- * testsuite/23_containers/vector/modifiers/swap/3.cc: New.
- * testsuite/23_containers/set/modifiers/swap.cc: Move to...
- * testsuite/23_containers/set/modifiers/swap/1.cc: ... here.
- * testsuite/23_containers/set/modifiers/swap/2.cc: New.
- * testsuite/23_containers/set/modifiers/swap/3.cc: New.
- * testsuite/23_containers/map/modifiers/swap.cc: Move to...
- * testsuite/23_containers/map/modifiers/swap/1.cc: ... here.
- * testsuite/23_containers/map/modifiers/swap/2.cc: New.
- * testsuite/23_containers/map/modifiers/swap/3.cc: New.
- * testsuite/23_containers/multiset/modifiers/swap.cc: Move to...
- * testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here.
- * testsuite/23_containers/multiset/modifiers/swap/2.cc: New.
- * testsuite/23_containers/multiset/modifiers/swap/3.cc: New.
- * testsuite/23_containers/multimap/modifiers/swap.cc: Move to...
- * testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here.
- * testsuite/23_containers/multimap/modifiers/swap/2.cc: New.
- * testsuite/23_containers/multimap/modifiers/swap/3.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New.
- * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New.
-
-2006-01-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
- (_M_get_Tp_allocator, get_allocator): Tidy.
- (list<>::list(const list&), insert(iterator, size_type, const
- value_type&), insert(iterator, _InputIterator, _InputIterator)):
- Use _M_get_Node_allocator.
- * include/bits/stl_tree.h (_Rb_tree<>::_M_get_Node_allocator()): Add.
- (_Rb_tree(const _Rb_tree<>&): Use it.
- * include/bits/stl_deque.h (_Deque_base<>::_M_get_map_allocator,
- get_allocator): Tidy.
- * include/bits/stl_vector.h (_Vector_base<>::get_allocator): Tidy.
- * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
- line numbers.
- * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
-
- * testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.
-
- * testsuite/testsuite_allocator.h (class uneq_allocator): A simple
- non-empty testing allocator which can be endowed of a "personality"
- at construction time.
-
-2006-01-03 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_stringstream/str/char/1.cc: Initialize vars.
- * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise, tidy.
- * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
-
-2006-01-02 Mark Mitchell <mark@codesourcery.com>
-
- * src/Makefile.am (LTLDFLAGS): New variable.
- (CXXLINK): Use LTLDFLAGS.
- * src/Makefile.in: Regenerated.
- * libsupc++/Makefile.am (LTLDFLAGS): New variable.
- (CXXLINK): Use LTLDFLAGS.
- * libsupc++/Makefile.in: Regenerated.
-
-2006-01-02 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24645
- * include/std/std_istream.h (basic_istream<>::_M_extract): New.
- (operator>>(bool&), operator>>(short&), operator>>(unsigned short&),
- operator>>(int&), operator>>(unsigned int&), operator>>(long&),
- operator>>(unsigned long&), operator>>(long long&), operator>>
- (unsigned long long&), operator>>(float&), operator>>(double&),
- operator>>(long double&), operator>>(void*&)): Use it.
- * include/bits/istream.tcc (basic_istream<>::_M_extract): Define.
- * include/std/std_ostream.h (basic_ostream<>::_M_insert): New.
- (operator<<(long), operator<<(unsigned long), operator<<(bool),
- operator<<(short), operator<<(unsigned short), operator<<(int),
- operator<<(unsigned int), operator<<(long long), operator<<
- (unsigned long long), operator<<(double), operator<<(float),
- operator<<(long double), operator<<(const void*): Use it.
- * include/bits/ostream.tcc (basic_ostream<>::_M_insert): Define.
- * src/istream-inst.cc: Add _M_extract instantiations.
- * src/ostream-inst.cc: Add _M_insert instantiations.
- * config/abi/pre/gnu.ver: Export the new symbols @GLIBCXX_3.4.7;
- detail existing @GLIBCXX_3.4 exports of basic_ostream, num_put,
- money_put, etc., symbols to avoid exporting _M_insert symbols
- @GLIBCXX_3.4.
diff --git a/contrib/libstdc++/Makefile.am b/contrib/libstdc++/Makefile.am
deleted file mode 100644
index c1f17b651bc5..000000000000
--- a/contrib/libstdc++/Makefile.am
+++ /dev/null
@@ -1,118 +0,0 @@
-## Makefile for the toplevel directory of the GNU C++ Standard library.
-##
-## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
-## Free Software Foundation, Inc.
-##
-## This file is part of the libstdc++ version 3 distribution.
-## Process this file with automake to produce Makefile.in.
-
-## 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.
-
-include $(top_srcdir)/fragment.am
-
-if GLIBCXX_HOSTED
- hosted_source = libmath src po testsuite
-endif
-## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE.
-SUBDIRS = include libsupc++ $(hosted_source)
-
-ACLOCAL_AMFLAGS = -I . -I .. -I ../config
-
-# These rules are messy, but are hella worth it.
-doxygen:
- -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
- builddir=`${PWD_COMMAND}`; \
- ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
- --host_alias=${host_alias} \
- --mode=user $${srcdir} $${builddir})
-
-doxygen-maint:
- -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
- builddir=`${PWD_COMMAND}`; \
- ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
- --host_alias=${host_alias} \
- --mode=maint $${srcdir} $${builddir})
-
-doxygen-man:
- -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
- builddir=`${PWD_COMMAND}`; \
- ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
- --host_alias=${host_alias} \
- --mode=man $${srcdir} $${builddir})
-
-.PHONY: doxygen doxygen-maint doxygen-man
-
-# Handy forwarding targets.
-check-%:
- cd testsuite && $(MAKE) $@
-
-# Multilib support.
-MAKEOVERRIDES=
-
-# All the machinations with string instantiations messes up the
-# automake-generated TAGS rule. Make a simple one here.
-TAGS: tags-recursive $(LISP)
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "SHELL=$(SHELL)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "includedir=$(includedir)" \
- "prefix=$(prefix)" \
- "tooldir=$(tooldir)" \
- "gxx_include_dir=$(gxx_include_dir)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "LD=$(LD)" \
- "RANLIB=$(RANLIB)" \
- "NM=$(NM)" \
- "NM_FOR_BUILD=$(NM_FOR_BUILD)" \
- "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
- "DESTDIR=$(DESTDIR)" \
- "WERROR=$(WERROR)"
-
-# Subdir rules rely on $(FLAGS_TO_PASS)
-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
-
-# Installation of distribution html documentation not yet supported
-# TODO: Write custom install-html rule.
-.PHONY: install-html
-install-html:
-
diff --git a/contrib/libstdc++/Makefile.in b/contrib/libstdc++/Makefile.in
deleted file mode 100644
index 9339af44cddc..000000000000
--- a/contrib/libstdc++/Makefile.in
+++ /dev/null
@@ -1,800 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = .
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \
- $(srcdir)/../config.sub $(srcdir)/../install-sh \
- $(srcdir)/../ltmain.sh $(srcdir)/../missing \
- $(srcdir)/../mkinstalldirs $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(top_srcdir)/configure $(top_srcdir)/fragment.am \
- $(top_srcdir)/scripts/testsuite_flags.in ChangeLog
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
- $(top_srcdir)/../config/lead-dot.m4 \
- $(top_srcdir)/../config/multi.m4 \
- $(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../config/unwind_ipinfo.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
- $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno configure.status.lineno
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = scripts/testsuite_flags
-depcomp =
-am__depfiles_maybe =
-SOURCES =
-DIST_SOURCES =
-MULTISRCTOP =
-MULTIBUILDTOP =
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-exec-recursive install-info-recursive \
- install-recursive installcheck-recursive installdirs-recursive \
- pdf-recursive ps-recursive uninstall-info-recursive \
- uninstall-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = include libsupc++ libmath src po testsuite
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- { test ! -d $(distdir) \
- || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
-ACLOCAL = @ACLOCAL@
-ALLOCATOR_H = @ALLOCATOR_H@
-ALLOCATOR_NAME = @ALLOCATOR_NAME@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
-ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASIC_FILE_CC = @BASIC_FILE_CC@
-BASIC_FILE_H = @BASIC_FILE_H@
-CC = @CC@
-CCODECVT_CC = @CCODECVT_CC@
-CCOLLATE_CC = @CCOLLATE_CC@
-CCTYPE_CC = @CCTYPE_CC@
-CFLAGS = @CFLAGS@
-CLOCALE_CC = @CLOCALE_CC@
-CLOCALE_H = @CLOCALE_H@
-CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
-CMESSAGES_CC = @CMESSAGES_CC@
-CMESSAGES_H = @CMESSAGES_H@
-CMONEY_CC = @CMONEY_CC@
-CNUMERIC_CC = @CNUMERIC_CC@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
-CSTDIO_H = @CSTDIO_H@
-CTIME_CC = @CTIME_CC@
-CTIME_H = @CTIME_H@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-C_INCLUDE_DIR = @C_INCLUDE_DIR@
-DEBUG_FLAGS = @DEBUG_FLAGS@
-DEFS = @DEFS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
-ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
-ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
-ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@
-ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
-ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
-ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@
-ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@
-EXEEXT = @EXEEXT@
-EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
-GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
-GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
-GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
-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_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_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
-GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
-GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@
-GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LIBICONV = @LIBICONV@
-LIBMATHOBJS = @LIBMATHOBJS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
-OPT_LDFLAGS = @OPT_LDFLAGS@
-OS_INC_SRCDIR = @OS_INC_SRCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SECTION_FLAGS = @SECTION_FLAGS@
-SECTION_LDFLAGS = @SECTION_LDFLAGS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SYMVER_FILE = @SYMVER_FILE@
-TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WARN_FLAGS = @WARN_FLAGS@
-WERROR = @WERROR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__leading_dot = @am__leading_dot@
-am__tar = @am__tar@
-am__untar = @am__untar@
-baseline_dir = @baseline_dir@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-check_msgfmt = @check_msgfmt@
-datadir = @datadir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-glibcxx_MOFILES = @glibcxx_MOFILES@
-glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
-glibcxx_POFILES = @glibcxx_POFILES@
-glibcxx_builddir = @glibcxx_builddir@
-glibcxx_localedir = @glibcxx_localedir@
-glibcxx_prefixdir = @glibcxx_prefixdir@
-glibcxx_srcdir = @glibcxx_srcdir@
-glibcxx_thread_h = @glibcxx_thread_h@
-glibcxx_toolexecdir = @glibcxx_toolexecdir@
-glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
-gxx_include_dir = @gxx_include_dir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libtool_VERSION = @libtool_VERSION@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-port_specific_symbol_files = @port_specific_symbol_files@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toplevel_srcdir = @toplevel_srcdir@
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-MAINT_CHARSET = latin1
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-PWD_COMMAND = $${PWDCMD-pwd}
-STAMP = echo timestamp >
-toolexecdir = $(glibcxx_toolexecdir)
-toolexeclibdir = $(glibcxx_toolexeclibdir)
-
-# These bits are all figured out from configure. Look in acinclude.m4
-# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
-CONFIG_CXXFLAGS = \
- $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS)
-
-WARN_CXXFLAGS = \
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
-
-# -I/-D flags to pass when compiling.
-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-@GLIBCXX_HOSTED_TRUE@hosted_source = libmath src po testsuite
-SUBDIRS = include libsupc++ $(hosted_source)
-ACLOCAL_AMFLAGS = -I . -I .. -I ../config
-
-# Multilib support.
-MAKEOVERRIDES =
-
-# Work around what appears to be a GNU make bug handling MAKEFLAGS
-# values defined in terms of make variables, as is the case for CC and
-# friends when we are called from the top level Makefile.
-AM_MAKEFLAGS = \
- "AR_FLAGS=$(AR_FLAGS)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
- "CFLAGS=$(CFLAGS)" \
- "CXXFLAGS=$(CXXFLAGS)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- "INSTALL=$(INSTALL)" \
- "INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
- "LDFLAGS=$(LDFLAGS)" \
- "LIBCFLAGS=$(LIBCFLAGS)" \
- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
- "MAKE=$(MAKE)" \
- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
- "PICFLAG=$(PICFLAG)" \
- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- "SHELL=$(SHELL)" \
- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
- "exec_prefix=$(exec_prefix)" \
- "infodir=$(infodir)" \
- "libdir=$(libdir)" \
- "includedir=$(includedir)" \
- "prefix=$(prefix)" \
- "tooldir=$(tooldir)" \
- "gxx_include_dir=$(gxx_include_dir)" \
- "AR=$(AR)" \
- "AS=$(AS)" \
- "LD=$(LD)" \
- "RANLIB=$(RANLIB)" \
- "NM=$(NM)" \
- "NM_FOR_BUILD=$(NM_FOR_BUILD)" \
- "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
- "DESTDIR=$(DESTDIR)" \
- "WERROR=$(WERROR)"
-
-
-# Subdir rules rely on $(FLAGS_TO_PASS)
-FLAGS_TO_PASS = $(AM_MAKEFLAGS)
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --foreign --ignore-deps'; \
- cd $(srcdir) && $(AUTOMAKE) --foreign --ignore-deps \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign --ignore-deps Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
- @if test ! -f $@; then \
- rm -f stamp-h1; \
- $(MAKE) stamp-h1; \
- else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-scripts/testsuite_flags: $(top_builddir)/config.status $(top_srcdir)/scripts/testsuite_flags.in
- cd $(top_builddir) && $(SHELL) ./config.status $@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-
-# GNU Make needs to see an explicit $(MAKE) variable in the command it
-# runs to enable its job server during parallel builds. Hence the
-# comments below.
-all-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
-install-multi:
- $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
-
-mostlyclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
-distclean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
-maintainer-clean-multi:
- $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
-uninstall-info-am:
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- mkdir $(distdir)
- $(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/scripts
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(mkdir_p) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- distdir) \
- || exit 1; \
- fi; \
- done
- -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r $(distdir)
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
- $(am__remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__remove_distdir)
-
-dist dist-all: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && cd $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
- $(am__remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
-distuninstallcheck:
- @cd $(distuninstallcheck_dir) \
- && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile all-multi config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-multi clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-multi distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-exec-am: install-multi
-
-install-info: install-info-recursive
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-multi maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-multi mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-uninstall-info: uninstall-info-recursive
-
-.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-multi \
- am--refresh check check-am clean clean-generic clean-libtool \
- clean-multi clean-recursive ctags ctags-recursive dist \
- dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
- distcheck distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-multi distclean-recursive \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-man install-multi \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- maintainer-clean-multi maintainer-clean-recursive mostlyclean \
- mostlyclean-generic mostlyclean-libtool mostlyclean-multi \
- mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am uninstall-info-am
-
-
-# These rules are messy, but are hella worth it.
-doxygen:
- -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
- builddir=`${PWD_COMMAND}`; \
- ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
- --host_alias=${host_alias} \
- --mode=user $${srcdir} $${builddir})
-
-doxygen-maint:
- -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
- builddir=`${PWD_COMMAND}`; \
- ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
- --host_alias=${host_alias} \
- --mode=maint $${srcdir} $${builddir})
-
-doxygen-man:
- -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
- builddir=`${PWD_COMMAND}`; \
- ${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
- --host_alias=${host_alias} \
- --mode=man $${srcdir} $${builddir})
-
-.PHONY: doxygen doxygen-maint doxygen-man
-
-# Handy forwarding targets.
-check-%:
- cd testsuite && $(MAKE) $@
-
-# All the machinations with string instantiations messes up the
-# automake-generated TAGS rule. Make a simple one here.
-TAGS: tags-recursive $(LISP)
-
-# Installation of distribution html documentation not yet supported
-# TODO: Write custom install-html rule.
-.PHONY: install-html
-install-html:
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/contrib/libstdc++/README b/contrib/libstdc++/README
deleted file mode 100644
index 1064095fba74..000000000000
--- a/contrib/libstdc++/README
+++ /dev/null
@@ -1,96 +0,0 @@
-file: libstdc++-v3/README
-
-New users may wish to point their web browsers to the file
-documentation.html in the 'docs/html' subdirectory. It contains brief
-building instructions and notes on how to configure the library in
-interesting ways.
-
-Instructions for configuring and building appear in
-docs/html/install.html.
-
-This directory contains the files needed to create an ISO Standard C++
-Library.
-
-It has subdirectories:
-
- docs
- Files in HTML and text format that document usage, quirks of the
- implementation, and contributor checklists.
-
- include
- All header files for the C++ library are within this directory,
- modulo specific runtime-related files that are in the libsupc++
- directory.
-
- include/std
- Files meant to be found by #include <name> directives in
- standard-conforming user programs.
-
- include/c
- Headers intended to directly include standard C headers.
- [NB: this can be enabled via --enable-cheaders=c]
-
- include/c_std
- Headers intended to include standard C headers, and put select
- names into the std:: namespace.
- [NB: this is the default, and is the same as --enable-cheaders=c_std]
-
- include/bits
- Files included by standard headers and by other files in
- the bits directory.
-
- include/backward
- Headers provided for backward compatibility, such as <iostream.h>.
- They are not used in this library.
-
- include/ext
- Headers that define extensions to the standard library. No
- standard header refers to any of them.
-
- scripts
- Scripts that are used during the configure, build, make, or test
- process.
-
- src
- Files that are used in constructing the library, but are not
- installed.
-
- testsuites/[backward, demangle, ext, performance, thread, 17_* to 27_*]
- Test programs are here, and may be used to begin to exercise the
- library. Support for "make check" and "make check-install" is
- complete, and runs through all the subdirectories here when this
- command is issued from the build directory. Please note that
- "make check" requires DejaGNU 1.4 or later to be installed. Please
- note that "make check-script" calls the script mkcheck, which
- requires bash, and which may need the paths to bash adjusted to
- work properly, as /bin/bash is assumed.
-
-Other subdirectories contain variant versions of certain files
-that are meant to be copied or linked by the configure script.
-Currently these are:
-
- config/abi
- config/cpu
- config/io
- config/locale
- config/os
-
-In addition, two subdirectories are convenience libraries:
-
- libmath
- Support routines needed for C++ math. Only needed if the
- underlying "C" implementation is non-existent, in particular
- required or optimal long double, long long, and C99 functionality.
-
- libsupc++
- Contains the runtime library for C++, including exception
- handling and memory allocation and deallocation, RTTI, terminate
- handlers, etc.
-
-Note that glibc also has a bits/ subdirectory. We will either
-need to be careful not to collide with names in its bits/
-directory; or rename bits to (e.g.) cppbits/.
-
-In files throughout the system, lines marked with an "XXX" indicate
-a bug or incompletely-implemented feature. Lines marked "XXX MT"
-indicate a place that may require attention for multi-thread safety.
diff --git a/contrib/libstdc++/acinclude.m4 b/contrib/libstdc++/acinclude.m4
deleted file mode 100644
index 6b8aeb57f858..000000000000
--- a/contrib/libstdc++/acinclude.m4
+++ /dev/null
@@ -1,2397 +0,0 @@
-
-dnl
-dnl GLIBCXX_CONDITIONAL (NAME, SHELL-TEST)
-dnl
-dnl Exactly like AM_CONDITIONAL, but delays evaluation of the test until the
-dnl end of configure. This lets tested variables be reassigned, and the
-dnl conditional will depend on the final state of the variable. For a simple
-dnl example of why this is needed, see GLIBCXX_ENABLE_HOSTED.
-dnl
-m4_define([_m4_divert(glibcxx_diversion)], 8000)dnl
-AC_DEFUN([GLIBCXX_CONDITIONAL], [dnl
- m4_divert_text([glibcxx_diversion],dnl
- AM_CONDITIONAL([$1],[$2])
- )dnl
-])dnl
-AC_DEFUN([GLIBCXX_EVALUATE_CONDITIONALS], [m4_undivert([glibcxx_diversion])])dnl
-
-
-dnl
-dnl Check to see what architecture and operating system we are compiling
-dnl for. Also, if architecture- or OS-specific flags are required for
-dnl compilation, pick them up here.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_HOST], [
- . $glibcxx_srcdir/configure.host
- AC_MSG_NOTICE([CPU config directory is $cpu_include_dir])
- AC_MSG_NOTICE([OS config directory is $os_include_dir])
-])
-
-dnl
-dnl Initialize the rest of the library configury. At this point we have
-dnl variables like $host.
-dnl
-dnl Sets:
-dnl SUBDIRS
-dnl Substs:
-dnl glibcxx_builddir (absolute path)
-dnl glibcxx_srcdir (absolute path)
-dnl toplevel_srcdir (absolute path)
-dnl with_cross_host
-dnl with_newlib
-dnl with_target_subdir
-dnl plus
-dnl - the variables in GLIBCXX_CHECK_HOST / configure.host
-dnl - default settings for all AM_CONFITIONAL test variables
-dnl - lots of tools, like CC and CXX
-dnl
-AC_DEFUN([GLIBCXX_CONFIGURE], [
- # Keep these sync'd with the list in Makefile.am. The first provides an
- # expandable list at autoconf time; the second provides an expandable list
- # (i.e., shell variable) at configure time.
- m4_define([glibcxx_SUBDIRS],[include libmath libsupc++ src po testsuite])
- SUBDIRS='glibcxx_SUBDIRS'
-
- # These need to be absolute paths, yet at the same time need to
- # canonicalize only relative paths, because then amd will not unmount
- # drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
- glibcxx_builddir=`${PWDCMD-pwd}`
- case $srcdir in
- [\\/$]* | ?:[\\/]*) glibcxx_srcdir=${srcdir} ;;
- *) glibcxx_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
- esac
- toplevel_srcdir=${glibcxx_srcdir}/..
- AC_SUBST(glibcxx_builddir)
- AC_SUBST(glibcxx_srcdir)
- AC_SUBST(toplevel_srcdir)
-
- # We use these options to decide which functions to include. They are
- # set from the top level.
- AC_ARG_WITH([target-subdir],
- AC_HELP_STRING([--with-target-subdir=SUBDIR],
- [configuring in a subdirectory]))
-
- AC_ARG_WITH([cross-host],
- AC_HELP_STRING([--with-cross-host=HOST],
- [configuring with a cross compiler]))
-
- AC_ARG_WITH([newlib],
- AC_HELP_STRING([--with-newlib],
- [assume newlib as a system C library]))
-
- # We're almost certainly being configured before anything else which uses
- # C++, so all of our AC_PROG_* discoveries will be cached. It's vital that
- # we not cache the value of CXX that we "discover" here, because it's set
- # to something unique for us and libjava. Other target libraries need to
- # find CXX for themselves. We yank the rug out from under the normal AC_*
- # process by sneakily renaming the cache variable. This also lets us debug
- # the value of "our" CXX in postmortems.
- #
- # We must also force CXX to /not/ be a precious variable, otherwise the
- # wrong (non-multilib-adjusted) value will be used in multilibs. This
- # little trick also affects CPPFLAGS, CXXFLAGS, and LDFLAGS. And as a side
- # effect, CXXFLAGS is no longer automagically subst'd, so we have to do
- # that ourselves. Un-preciousing AC_PROG_CC also affects CC and CFLAGS.
- #
- # -fno-builtin must be present here so that a non-conflicting form of
- # std::exit can be guessed by AC_PROG_CXX, and used in later tests.
-
- m4_define([ac_cv_prog_CXX],[glibcxx_cv_prog_CXX])
- m4_rename([_AC_ARG_VAR_PRECIOUS],[glibcxx_PRECIOUS])
- m4_define([_AC_ARG_VAR_PRECIOUS],[])
- save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -fno-builtin"
- AC_PROG_CC
- AC_PROG_CXX
- CXXFLAGS="$save_CXXFLAGS"
- m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
- AC_SUBST(CFLAGS)
- AC_SUBST(CXXFLAGS)
-
- # Will set LN_S to either 'ln -s', 'ln', or 'cp -p' (if linking isn't
- # available). Uncomment the next line to force a particular method.
- AC_PROG_LN_S
- #LN_S='cp -p'
-
- AC_CHECK_TOOL(AS, as)
- AC_CHECK_TOOL(AR, ar)
- AC_CHECK_TOOL(RANLIB, ranlib, ranlib-not-found-in-path-error)
-
- AM_MAINTAINER_MODE
-
- # Set up safe default values for all subsequent AM_CONDITIONAL tests
- # which are themselves conditionally expanded.
- ## (Right now, this only matters for enable_wchar_t, but nothing prevents
- ## other macros from doing the same. This should be automated.) -pme
- need_libmath=no
-
- # Check for uClibc since Linux platforms use different configuration
- # directories depending on the C library in use.
- AC_EGREP_CPP([_using_uclibc], [
- #include <stdio.h>
- #if __UCLIBC__
- _using_uclibc
- #endif
- ], uclibc=yes, uclibc=no)
-
- # Find platform-specific directories containing configuration info.
- # Also possibly modify flags used elsewhere, as needed by the platform.
- GLIBCXX_CHECK_HOST
-])
-
-
-dnl
-dnl Tests for newer compiler features, or features that are present in newer
-dnl compiler versions but not older compiler versions still in use, should
-dnl be placed here.
-dnl
-dnl Defines:
-dnl WERROR='-Werror' if requested and possible; g++'s that lack the
-dnl new inlining code or the new system_header pragma will die on -Werror.
-dnl Leave it out by default and use maint-mode to use it.
-dnl SECTION_FLAGS='-ffunction-sections -fdata-sections' if
-dnl compiler supports it and the user has not requested debug mode.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_COMPILER_FEATURES], [
- # All these tests are for C++; save the language and the compiler flags.
- # The CXXFLAGS thing is suspicious, but based on similar bits previously
- # found in GLIBCXX_CONFIGURE.
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
-
- # Check for maintainer-mode bits.
- if test x"$USE_MAINTAINER_MODE" = xno; then
- WERROR=''
- else
- WERROR='-Werror'
- fi
-
- # Check for -ffunction-sections -fdata-sections
- AC_MSG_CHECKING([for g++ that supports -ffunction-sections -fdata-sections])
- CXXFLAGS='-Werror -ffunction-sections -fdata-sections'
- AC_TRY_COMPILE(, [int foo;], [ac_fdsections=yes], [ac_fdsections=no])
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- else
- # this is the suspicious part
- CXXFLAGS=''
- fi
- if test x"$ac_fdsections" = x"yes"; then
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- fi
- AC_MSG_RESULT($ac_fdsections)
-
- AC_LANG_RESTORE
- AC_SUBST(WERROR)
- AC_SUBST(SECTION_FLAGS)
-])
-
-
-dnl
-dnl If GNU ld is in use, check to see if tricky linker opts can be used. If
-dnl the native linker is in use, all variables will be defined to something
-dnl safe (like an empty string).
-dnl
-dnl Defines:
-dnl SECTION_LDFLAGS='-Wl,--gc-sections' if possible
-dnl OPT_LDFLAGS='-Wl,-O1' and '-z,relro' if possible
-dnl LD (as a side effect of testing)
-dnl Sets:
-dnl with_gnu_ld
-dnl glibcxx_gnu_ld_version (possibly)
-dnl
-dnl The last will be a single integer, e.g., version 1.23.45.0.67.89 will
-dnl set glibcxx_gnu_ld_version to 12345. Zeros cause problems.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
- AC_REQUIRE([AC_PROG_LD])
- AC_REQUIRE([AC_PROG_AWK])
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- AC_MSG_CHECKING([for ld version])
- changequote(,)
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
- changequote([,])
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) [$]3=0; print ([$]1*100+[$]2)*100+[$]3 }'`
- AC_MSG_RESULT($glibcxx_gnu_ld_version)
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- AC_MSG_CHECKING([for ld that supports -Wl,--gc-sections])
- AC_TRY_LINK([ int one(void) { return 1; }
- int two(void) { return 2; }
- ], [ two(); ] , [ac_gcsections=yes], [ac_gcsections=no])
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- AC_MSG_RESULT($ac_gcsections)
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- AC_MSG_CHECKING([for ld that supports -Wl,-z,relro])
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- AC_MSG_RESULT($ac_ld_relro)
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
- AC_SUBST(SECTION_LDFLAGS)
- AC_SUBST(OPT_LDFLAGS)
-])
-
-
-dnl
-dnl Check to see if this target can enable the iconv specializations.
-dnl If --disable-c-mbchar was given, no wchar_t specialization is enabled.
-dnl (This must have been previously checked, along with the rest of C99
-dnl support.) By default, iconv support is disabled.
-dnl
-dnl Defines:
-dnl _GLIBCXX_USE_ICONV if all the bits are found.
-dnl Substs:
-dnl LIBICONV to a -l string containing the iconv library, if needed.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_ICONV_SUPPORT], [
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- AC_CHECK_HEADER(iconv.h, ac_has_iconv_h=yes, ac_has_iconv_h=no)
- AC_CHECK_HEADER(langinfo.h, ac_has_langinfo_h=yes, ac_has_langinfo_h=no)
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- AC_CHECK_LIB(iconv, iconv, LIBICONV="-liconv")
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- AC_SUBST(LIBICONV)
-
- AC_CHECK_FUNCS([iconv_open iconv_close iconv nl_langinfo],
- [ac_XPG2funcs=yes], [ac_XPG2funcs=no])
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
- AC_DEFINE([_GLIBCXX_USE_ICONV],1,
- [Define if iconv and related functions exist and are usable.])
- enable_iconv=yes
- fi
- fi
- AC_MSG_CHECKING([for enabled iconv specializations])
- AC_MSG_RESULT($enable_iconv)
-])
-
-
-dnl
-dnl Check for headers for, and arguments to, the setrlimit() function.
-dnl Used only in testsuite_hooks.h. Called from GLIBCXX_CONFIGURE_TESTSUITE.
-dnl
-dnl Defines:
-dnl _GLIBCXX_RES_LIMITS if we can set artificial resource limits
-dnl various HAVE_LIMIT_* for individual limit names
-dnl
-AC_DEFUN([GLIBCXX_CHECK_SETRLIMIT_ancilliary], [
- AC_MSG_CHECKING([for RLIMIT_$1])
- AC_TRY_COMPILE(
- [#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
- ],
- [ int f = RLIMIT_$1 ; ],
- [glibcxx_mresult=1], [glibcxx_mresult=0])
- AC_DEFINE_UNQUOTED(HAVE_LIMIT_$1, $glibcxx_mresult,
- [Only used in build directory testsuite_hooks.h.])
- if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
- AC_MSG_RESULT($res)
-])
-
-AC_DEFUN([GLIBCXX_CHECK_SETRLIMIT], [
- setrlimit_have_headers=yes
- AC_CHECK_HEADERS(unistd.h sys/time.h sys/resource.h,
- [],
- [setrlimit_have_headers=no])
- # If don't have the headers, then we can't run the tests now, and we
- # won't be seeing any of these during testsuite compilation.
- if test $setrlimit_have_headers = yes; then
- # Can't do these in a loop, else the resulting syntax is wrong.
- GLIBCXX_CHECK_SETRLIMIT_ancilliary(DATA)
- GLIBCXX_CHECK_SETRLIMIT_ancilliary(RSS)
- GLIBCXX_CHECK_SETRLIMIT_ancilliary(VMEM)
- GLIBCXX_CHECK_SETRLIMIT_ancilliary(AS)
- GLIBCXX_CHECK_SETRLIMIT_ancilliary(FSIZE)
-
- # Check for rlimit, setrlimit.
- AC_CACHE_VAL(ac_setrlimit, [
- AC_TRY_COMPILE(
- [#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
- ],
- [struct rlimit r;
- setrlimit(0, &r);],
- [ac_setrlimit=yes], [ac_setrlimit=no])
- ])
- fi
-
- AC_MSG_CHECKING([for testsuite resource limits support])
- if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
- ac_res_limits=yes
- AC_DEFINE(_GLIBCXX_RES_LIMITS, 1,
- [Define if using setrlimit to set resource limits during
- "make check"])
- else
- ac_res_limits=no
- fi
- AC_MSG_RESULT($ac_res_limits)
-])
-
-
-dnl
-dnl Check whether S_ISREG (Posix) or S_IFREG is available in <sys/stat.h>.
-dnl Define HAVE_S_ISREG / HAVE_S_IFREG appropriately.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [
- AC_MSG_CHECKING([for S_ISREG or S_IFREG])
- AC_CACHE_VAL(glibcxx_cv_S_ISREG, [
- AC_TRY_LINK(
- [#include <sys/stat.h>],
- [struct stat buffer;
- fstat(0, &buffer);
- S_ISREG(buffer.st_mode);],
- [glibcxx_cv_S_ISREG=yes],
- [glibcxx_cv_S_ISREG=no])
- ])
- AC_CACHE_VAL(glibcxx_cv_S_IFREG, [
- AC_TRY_LINK(
- [#include <sys/stat.h>],
- [struct stat buffer;
- fstat(0, &buffer);
- S_IFREG & buffer.st_mode;],
- [glibcxx_cv_S_IFREG=yes],
- [glibcxx_cv_S_IFREG=no])
- ])
- res=no
- if test $glibcxx_cv_S_ISREG = yes; then
- AC_DEFINE(HAVE_S_ISREG, 1,
- [Define if S_IFREG is available in <sys/stat.h>.])
- res=S_ISREG
- elif test $glibcxx_cv_S_IFREG = yes; then
- AC_DEFINE(HAVE_S_IFREG, 1,
- [Define if S_IFREG is available in <sys/stat.h>.])
- res=S_IFREG
- fi
- AC_MSG_RESULT($res)
-])
-
-
-dnl
-dnl Check whether poll is available in <poll.h>, and define HAVE_POLL.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_POLL], [
- AC_MSG_CHECKING([for poll])
- AC_CACHE_VAL(glibcxx_cv_POLL, [
- AC_TRY_LINK(
- [#include <poll.h>],
- [struct pollfd pfd[1];
- pfd[0].events = POLLIN;
- poll(pfd, 1, 0);],
- [glibcxx_cv_POLL=yes],
- [glibcxx_cv_POLL=no])
- ])
- if test $glibcxx_cv_POLL = yes; then
- AC_DEFINE(HAVE_POLL, 1, [Define if poll is available in <poll.h>.])
- fi
- AC_MSG_RESULT($glibcxx_cv_POLL)
-])
-
-
-dnl
-dnl Check whether writev is available in <sys/uio.h>, and define HAVE_WRITEV.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_WRITEV], [
- AC_MSG_CHECKING([for writev])
- AC_CACHE_VAL(glibcxx_cv_WRITEV, [
- AC_TRY_LINK(
- [#include <sys/uio.h>],
- [struct iovec iov[2];
- writev(0, iov, 0);],
- [glibcxx_cv_WRITEV=yes],
- [glibcxx_cv_WRITEV=no])
- ])
- if test $glibcxx_cv_WRITEV = yes; then
- AC_DEFINE(HAVE_WRITEV, 1, [Define if writev is available in <sys/uio.h>.])
- fi
- AC_MSG_RESULT($glibcxx_cv_WRITEV)
-])
-
-
-dnl
-dnl Check whether int64_t is available in <stdint.h>, and define HAVE_INT64_T.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_INT64_T], [
- AC_MSG_CHECKING([for int64_t])
- AC_CACHE_VAL(glibcxx_cv_INT64_T, [
- AC_TRY_COMPILE(
- [#include <stdint.h>],
- [int64_t var;],
- [glibcxx_cv_INT64_T=yes],
- [glibcxx_cv_INT64_T=no])
- ])
- if test $glibcxx_cv_INT64_T = yes; then
- AC_DEFINE(HAVE_INT64_T, 1, [Define if int64_t is available in <stdint.h>.])
- fi
- AC_MSG_RESULT($glibcxx_cv_INT64_T)
-])
-
-
-dnl
-dnl Check whether LFS support is available.
-dnl
-AC_DEFUN([GLIBCXX_CHECK_LFS], [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -fno-exceptions"
- AC_MSG_CHECKING([for LFS support])
- AC_CACHE_VAL(glibcxx_cv_LFS, [
- AC_TRY_LINK(
- [#include <unistd.h>
- #include <stdio.h>
- #include <sys/stat.h>
- ],
- [FILE* fp;
- fopen64("t", "w");
- fseeko64(fp, 0, SEEK_CUR);
- ftello64(fp);
- lseek64(1, 0, SEEK_CUR);
- struct stat64 buf;
- fstat64(1, &buf);],
- [glibcxx_cv_LFS=yes],
- [glibcxx_cv_LFS=no])
- ])
- if test $glibcxx_cv_LFS = yes; then
- AC_DEFINE(_GLIBCXX_USE_LFS, 1, [Define if LFS support is available.])
- fi
- AC_MSG_RESULT($glibcxx_cv_LFS)
- CXXFLAGS="$ac_save_CXXFLAGS"
- AC_LANG_RESTORE
-])
-
-
-dnl
-dnl Check for whether a fully dynamic basic_string implementation should
-dnl be turned on, that does not put empty objects in per-process static
-dnl memory (mostly useful together with shared memory allocators, see PR
-dnl libstdc++/16612 for details).
-dnl
-dnl --enable-fully-dynamic-string defines _GLIBCXX_FULLY_DYNAMIC_STRING
-dnl --disable-fully-dynamic-string leaves _GLIBCXX_FULLY_DYNAMIC_STRING undefined
-dnl + Usage: GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING[(DEFAULT)]
-dnl Where DEFAULT is either `yes' or `no'.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING], [
- GLIBCXX_ENABLE(fully-dynamic-string,$1,,[do not put empty strings in per-process static memory])
- if test $enable_fully_dynamic_string = yes; then
- AC_DEFINE(_GLIBCXX_FULLY_DYNAMIC_STRING, 1,
- [Define if a fully dynamic basic_string is wanted.])
- fi
-])
-
-
-dnl
-dnl Does any necessary configuration of the testsuite directory. Generates
-dnl the testsuite_hooks.h header.
-dnl
-dnl GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE must be done before this.
-dnl
-dnl Sets:
-dnl enable_abi_check
-dnl GLIBCXX_TEST_WCHAR_T
-dnl GLIBCXX_TEST_THREAD
-dnl Substs:
-dnl baseline_dir
-dnl
-AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [
- if $GLIBCXX_IS_NATIVE ; then
- # Do checks for resource limit functions.
- GLIBCXX_CHECK_SETRLIMIT
-
- # Look for setenv, so that extended locale tests can be performed.
- GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
- fi
-
- if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
- test $enable_symvers != no; then
- case "$host" in
- *-*-cygwin*)
- enable_abi_check=no ;;
- *)
- enable_abi_check=yes ;;
- esac
- else
- # Only build this as native, since automake does not understand
- # CXX_FOR_BUILD.
- enable_abi_check=no
- fi
-
- # Export file names for ABI checking.
- baseline_dir="$glibcxx_srcdir/config/abi/post/${abi_baseline_pair}\$(MULTISUBDIR)"
- AC_SUBST(baseline_dir)
-])
-
-
-dnl
-dnl Set up *_INCLUDES variables for all sundry Makefile.am's.
-dnl
-dnl Substs:
-dnl GLIBCXX_INCLUDES
-dnl TOPLEVEL_INCLUDES
-dnl
-AC_DEFUN([GLIBCXX_EXPORT_INCLUDES], [
- # Used for every C++ compile we perform.
- GLIBCXX_INCLUDES="\
--I$glibcxx_builddir/include/$host_alias \
--I$glibcxx_builddir/include \
--I$glibcxx_srcdir/libsupc++"
-
- # For Canadian crosses, pick this up too.
- if test $CANADIAN = yes; then
- GLIBCXX_INCLUDES="$GLIBCXX_INCLUDES -I\${includedir}"
- fi
-
- # Stuff in the actual top level. Currently only used by libsupc++ to
- # get unwind* headers from the gcc dir.
- #TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include'
- TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc'
-
- # Now, export this to all the little Makefiles....
- AC_SUBST(GLIBCXX_INCLUDES)
- AC_SUBST(TOPLEVEL_INCLUDES)
-])
-
-
-dnl
-dnl Set up *_FLAGS and *FLAGS variables for all sundry Makefile.am's.
-dnl (SECTION_FLAGS is done under CHECK_COMPILER_FEATURES.)
-dnl
-dnl Substs:
-dnl OPTIMIZE_CXXFLAGS
-dnl WARN_FLAGS
-dnl
-AC_DEFUN([GLIBCXX_EXPORT_FLAGS], [
- # Optimization flags that are probably a good idea for thrill-seekers. Just
- # uncomment the lines below and make, everything else is ready to go...
- # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc
- OPTIMIZE_CXXFLAGS=
- AC_SUBST(OPTIMIZE_CXXFLAGS)
-
- WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual'
- AC_SUBST(WARN_FLAGS)
-])
-
-
-dnl
-dnl All installation directory information is determined here.
-dnl
-dnl Substs:
-dnl gxx_install_dir
-dnl glibcxx_prefixdir
-dnl glibcxx_toolexecdir
-dnl glibcxx_toolexeclibdir
-dnl
-dnl Assumes cross_compiling bits already done, and with_cross_host in
-dnl particular.
-dnl
-dnl This logic must match gcc/configure.ac's setting of gcc_gxx_include_dir.
-dnl config/gxx-include-dir.m4 must be kept consistant with this as well.
-AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [
- glibcxx_toolexecdir=no
- glibcxx_toolexeclibdir=no
- glibcxx_prefixdir=$prefix
-
- AC_MSG_CHECKING([for gxx-include-dir])
- AC_ARG_WITH([gxx-include-dir],
- AC_HELP_STRING([--with-gxx-include-dir=DIR],
- [installation directory for include files]),
- [case "$withval" in
- yes) AC_MSG_ERROR([Missing directory for --with-gxx-include-dir]) ;;
- no) gxx_include_dir=no ;;
- *) gxx_include_dir=$withval ;;
- esac],
- [gxx_include_dir=no])
- AC_MSG_RESULT($gxx_include_dir)
-
- AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
- AC_ARG_ENABLE([version-specific-runtime-libs],
- AC_HELP_STRING([--enable-version-specific-runtime-libs],
- [Specify that runtime libraries should be installed in a compiler-specific directory]),
- [case "$enableval" in
- yes) version_specific_libs=yes ;;
- no) version_specific_libs=no ;;
- *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific libs]);;
- esac],
- [version_specific_libs=no])
- AC_MSG_RESULT($version_specific_libs)
-
- # Default case for install directory for include files.
- if test $version_specific_libs = no && test $gxx_include_dir = no; then
- gxx_include_dir='include/c++/${gcc_version}'
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- gxx_include_dir='${prefix}/${target_alias}/'"$gxx_include_dir"
- else
- gxx_include_dir='${prefix}/'"$gxx_include_dir"
- fi
- fi
-
- # Version-specific runtime libs processing.
- if test $version_specific_libs = yes; then
- # Need the gcc compiler version to know where to install libraries
- # and header files if --enable-version-specific-runtime-libs option
- # is selected. FIXME: these variables are misnamed, there are
- # no executables installed in _toolexecdir or _toolexeclibdir.
- if test x"$gxx_include_dir" = x"no"; then
- gxx_include_dir='${libdir}/gcc/${host_alias}/${gcc_version}/include/c++'
- fi
- glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
- glibcxx_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)'
- fi
-
- # Calculate glibcxx_toolexecdir, glibcxx_toolexeclibdir
- # Install a library built with a cross compiler in tooldir, not libdir.
- if test x"$glibcxx_toolexecdir" = x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- glibcxx_toolexecdir='${exec_prefix}/${host_alias}'
- glibcxx_toolexeclibdir='${toolexecdir}/lib'
- else
- glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
- glibcxx_toolexeclibdir='${libdir}'
- fi
- multi_os_directory=`$CXX -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) glibcxx_toolexeclibdir=$glibcxx_toolexeclibdir/$multi_os_directory ;;
- esac
- fi
-
- AC_MSG_CHECKING([for install location])
- AC_MSG_RESULT($gxx_include_dir)
-
- AC_SUBST(glibcxx_prefixdir)
- AC_SUBST(gxx_include_dir)
- AC_SUBST(glibcxx_toolexecdir)
- AC_SUBST(glibcxx_toolexeclibdir)
-])
-
-
-dnl
-dnl GLIBCXX_ENABLE
-dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
-dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
-dnl (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
-dnl
-dnl See docs/html/17_intro/configury.html#enable for documentation.
-dnl
-m4_define([GLIBCXX_ENABLE],[dnl
-m4_define([_g_switch],[--enable-$1])dnl
-m4_define([_g_help],[AC_HELP_STRING(_g_switch$3,[$4 @<:@default=$2@:>@])])dnl
- AC_ARG_ENABLE($1,_g_help,
- m4_bmatch([$5],
- [^permit ],
- [[
- case "$enableval" in
- m4_bpatsubst([$5],[permit ])) ;;
- *) AC_MSG_ERROR(Unknown argument to enable/disable $1) ;;
- dnl Idea for future: generate a URL pointing to
- dnl "onlinedocs/configopts.html#whatever"
- esac
- ]],
- [^$],
- [[
- case "$enableval" in
- yes|no) ;;
- *) AC_MSG_ERROR(Argument to enable/disable $1 must be yes or no) ;;
- esac
- ]],
- [[$5]]),
- [enable_]m4_bpatsubst([$1],-,_)[=][$2])
-m4_undefine([_g_switch])dnl
-m4_undefine([_g_help])dnl
-])
-
-
-dnl
-dnl Check for ISO/IEC 9899:1999 "C99" support.
-dnl
-dnl --enable-c99 defines _GLIBCXX_USE_C99
-dnl --disable-c99 leaves _GLIBCXX_USE_C99 undefined
-dnl + Usage: GLIBCXX_ENABLE_C99[(DEFAULT)]
-dnl Where DEFAULT is either `yes' or `no'.
-dnl + If 'C99' stuff is not available, ignores DEFAULT and sets `no'.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_C99], [
- GLIBCXX_ENABLE(c99,$1,,[turns on ISO/IEC 9899:1999 support])
-
- if test x"$enable_c99" = x"yes"; then
-
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
- # Check for the existence of <math.h> functions used if C99 is enabled.
- AC_MSG_CHECKING([for ISO C99 support in <math.h>])
- AC_CACHE_VAL(ac_c99_math, [
- AC_TRY_COMPILE([#include <math.h>],
- [fpclassify(0.0);
- isfinite(0.0);
- isinf(0.0);
- isnan(0.0);
- isnormal(0.0);
- signbit(0.0);
- isgreater(0.0,0.0);
- isgreaterequal(0.0,0.0);
- isless(0.0,0.0);
- islessequal(0.0,0.0);
- islessgreater(0.0,0.0);
- islessgreater(0.0,0.0);
- isunordered(0.0,0.0);
- ],[ac_c99_math=yes], [ac_c99_math=no])
- ])
- AC_MSG_RESULT($ac_c99_math)
- if test x"$ac_c99_math" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_MATH, 1,
- [Define if C99 functions or macros in <math.h> should be imported
- in <cmath> in namespace std.])
- fi
-
- # Check for the existence of <complex.h> complex math functions.
- # This is necessary even though libstdc++ uses the builtin versions
- # of these functions, because if the builtin cannot be used, a reference
- # to the library function is emitted.
- AC_CHECK_HEADERS(complex.h, ac_has_complex_h=yes, ac_has_complex_h=no)
- ac_c99_complex=no;
- if test x"$ac_has_complex_h" = x"yes"; then
- AC_MSG_CHECKING([for ISO C99 support in <complex.h>])
- AC_TRY_COMPILE([#include <complex.h>],
- [typedef __complex__ float float_type; float_type tmpf;
- cabsf(tmpf);
- cargf(tmpf);
- ccosf(tmpf);
- ccoshf(tmpf);
- cexpf(tmpf);
- clogf(tmpf);
- csinf(tmpf);
- csinhf(tmpf);
- csqrtf(tmpf);
- ctanf(tmpf);
- ctanhf(tmpf);
- cpowf(tmpf, tmpf);
- typedef __complex__ double double_type; double_type tmpd;
- cabs(tmpd);
- carg(tmpd);
- ccos(tmpd);
- ccosh(tmpd);
- cexp(tmpd);
- clog(tmpd);
- csin(tmpd);
- csinh(tmpd);
- csqrt(tmpd);
- ctan(tmpd);
- ctanh(tmpd);
- cpow(tmpd, tmpd);
- typedef __complex__ long double ld_type; ld_type tmpld;
- cabsl(tmpld);
- cargl(tmpld);
- ccosl(tmpld);
- ccoshl(tmpld);
- cexpl(tmpld);
- clogl(tmpld);
- csinl(tmpld);
- csinhl(tmpld);
- csqrtl(tmpld);
- ctanl(tmpld);
- ctanhl(tmpld);
- cpowl(tmpld, tmpld);
- ],[ac_c99_complex=yes], [ac_c99_complex=no])
- fi
- AC_MSG_RESULT($ac_c99_complex)
- if test x"$ac_c99_complex" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_COMPLEX, 1,
- [Define if C99 functions in <complex.h> should be used in
- <complex>. Using compiler builtins for these functions requires
- corresponding C99 library functions to be present.])
- fi
-
- # Check for the existence in <stdio.h> of vscanf, et. al.
- AC_MSG_CHECKING([for ISO C99 support in <stdio.h>])
- AC_CACHE_VAL(ac_c99_stdio, [
- AC_TRY_COMPILE([#include <stdio.h>
- #include <stdarg.h>
- void foo(char* fmt, ...)
- {
- va_list args; va_start(args, fmt);
- vfscanf(stderr, "%i", args);
- vscanf("%i", args);
- vsnprintf(fmt, 0, "%i", args);
- vsscanf(fmt, "%i", args);
- }],
- [snprintf("12", 0, "%i");],
- [ac_c99_stdio=yes], [ac_c99_stdio=no])
- ])
- AC_MSG_RESULT($ac_c99_stdio)
-
- # Check for the existence in <stdlib.h> of lldiv_t, et. al.
- AC_MSG_CHECKING([for ISO C99 support in <stdlib.h>])
- AC_CACHE_VAL(ac_c99_stdlib, [
- AC_TRY_COMPILE([#include <stdlib.h>],
- [char* tmp;
- strtof("gnu", &tmp);
- strtold("gnu", &tmp);
- strtoll("gnu", &tmp, 10);
- strtoull("gnu", &tmp, 10);
- llabs(10);
- lldiv(10,1);
- atoll("10");
- _Exit(0);
- lldiv_t mydivt;],[ac_c99_stdlib=yes], [ac_c99_stdlib=no])
- ])
- AC_MSG_RESULT($ac_c99_stdlib)
-
- # Check for the existence in <wchar.h> of wcstold, etc.
- ac_c99_wchar=no;
- if test x"$ac_has_wchar_h" = xyes &&
- test x"$ac_has_wctype_h" = xyes; then
- AC_MSG_CHECKING([for ISO C99 support in <wchar.h>])
- AC_TRY_COMPILE([#include <wchar.h>
- namespace test
- {
- using ::wcstold;
- using ::wcstoll;
- using ::wcstoull;
- }
- ],[],[ac_c99_wchar=yes], [ac_c99_wchar=no])
-
- # Checks for wide character functions that may not be present.
- # Injection of these is wrapped with guard macros.
- # NB: only put functions here, instead of immediately above, if
- # absolutely necessary.
- AC_TRY_COMPILE([#include <wchar.h>
- namespace test { using ::vfwscanf; } ], [],
- [AC_DEFINE(HAVE_VFWSCANF,1,
- [Defined if vfwscanf exists.])],[])
-
- AC_TRY_COMPILE([#include <wchar.h>
- namespace test { using ::vswscanf; } ], [],
- [AC_DEFINE(HAVE_VSWSCANF,1,
- [Defined if vswscanf exists.])],[])
-
- AC_TRY_COMPILE([#include <wchar.h>
- namespace test { using ::vwscanf; } ], [],
- [AC_DEFINE(HAVE_VWSCANF,1,[Defined if vwscanf exists.])],[])
-
- AC_TRY_COMPILE([#include <wchar.h>
- namespace test { using ::wcstof; } ], [],
- [AC_DEFINE(HAVE_WCSTOF,1,[Defined if wcstof exists.])],[])
-
- AC_TRY_COMPILE([#include <wctype.h>],
- [ wint_t t; int i = iswblank(t);],
- [AC_DEFINE(HAVE_ISWBLANK,1,
- [Defined if iswblank exists.])],[])
-
- AC_MSG_RESULT($ac_c99_wchar)
- fi
-
- # Option parsed, now set things appropriately.
- if test x"$ac_c99_math" = x"no" ||
- test x"$ac_c99_complex" = x"no" ||
- test x"$ac_c99_stdio" = x"no" ||
- test x"$ac_c99_stdlib" = x"no" ||
- test x"$ac_c99_wchar" = x"no"; then
- enable_c99=no;
- else
- AC_DEFINE(_GLIBCXX_USE_C99, 1,
- [Define if C99 functions or macros from <wchar.h>, <math.h>,
- <complex.h>, <stdio.h>, and <stdlib.h> can be used or exposed.])
- fi
-
- AC_LANG_RESTORE
- fi
-
- AC_MSG_CHECKING([for fully enabled ISO C99 support])
- AC_MSG_RESULT($enable_c99)
-])
-
-
-dnl
-dnl Check for ISO/IEC 9899:1999 "C99" support to ISO/IEC DTR 19768 "TR1"
-dnl facilities in Chapter 8, "C compatibility".
-dnl
-AC_DEFUN([GLIBCXX_CHECK_C99_TR1], [
-
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
- # Check for the existence of <complex.h> complex math functions used
- # by tr1/complex.
- AC_CHECK_HEADERS(complex.h, ac_has_complex_h=yes, ac_has_complex_h=no)
- ac_c99_complex_tr1=no;
- if test x"$ac_has_complex_h" = x"yes"; then
- AC_MSG_CHECKING([for ISO C99 support to TR1 in <complex.h>])
- AC_TRY_COMPILE([#include <complex.h>],
- [typedef __complex__ float float_type; float_type tmpf;
- cacosf(tmpf);
- casinf(tmpf);
- catanf(tmpf);
- cacoshf(tmpf);
- casinhf(tmpf);
- catanhf(tmpf);
- typedef __complex__ double double_type; double_type tmpd;
- cacos(tmpd);
- casin(tmpd);
- catan(tmpd);
- cacosh(tmpd);
- casinh(tmpd);
- catanh(tmpd);
- typedef __complex__ long double ld_type; ld_type tmpld;
- cacosl(tmpld);
- casinl(tmpld);
- catanl(tmpld);
- cacoshl(tmpld);
- casinhl(tmpld);
- catanhl(tmpld);
- ],[ac_c99_complex_tr1=yes], [ac_c99_complex_tr1=no])
- fi
- AC_MSG_RESULT($ac_c99_complex_tr1)
- if test x"$ac_c99_complex_tr1" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_COMPLEX_TR1, 1,
- [Define if C99 functions in <complex.h> should be used in
- <tr1/complex>. Using compiler builtins for these functions
- requires corresponding C99 library functions to be present.])
- fi
-
- # Check for the existence of <ctype.h> functions.
- AC_MSG_CHECKING([for ISO C99 support to TR1 in <ctype.h>])
- AC_CACHE_VAL(ac_c99_ctype_tr1, [
- AC_TRY_COMPILE([#include <ctype.h>],
- [int ch;
- int ret;
- ret = isblank(ch);
- ],[ac_c99_ctype_tr1=yes], [ac_c99_ctype_tr1=no])
- ])
- AC_MSG_RESULT($ac_c99_ctype_tr1)
- if test x"$ac_c99_ctype_tr1" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_CTYPE_TR1, 1,
- [Define if C99 functions in <ctype.h> should be imported in
- <tr1/cctype> in namespace std::tr1.])
- fi
-
- # Check for the existence of <fenv.h> functions.
- AC_CHECK_HEADERS(fenv.h, ac_has_fenv_h=yes, ac_has_fenv_h=no)
- ac_c99_fenv_tr1=no;
- if test x"$ac_has_fenv_h" = x"yes"; then
- AC_MSG_CHECKING([for ISO C99 support to TR1 in <fenv.h>])
- AC_TRY_COMPILE([#include <fenv.h>],
- [int except, mode;
- fexcept_t* pflag;
- fenv_t* penv;
- int ret;
- ret = feclearexcept(except);
- ret = fegetexceptflag(pflag, except);
- ret = feraiseexcept(except);
- ret = fesetexceptflag(pflag, except);
- ret = fetestexcept(except);
- ret = fegetround();
- ret = fesetround(mode);
- ret = fegetenv(penv);
- ret = feholdexcept(penv);
- ret = fesetenv(penv);
- ret = feupdateenv(penv);
- ],[ac_c99_fenv_tr1=yes], [ac_c99_fenv_tr1=no])
- fi
- AC_MSG_RESULT($ac_c99_fenv_tr1)
- if test x"$ac_c99_fenv_tr1" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_FENV_TR1, 1,
- [Define if C99 functions in <fenv.h> should be imported in
- <tr1/cfenv> in namespace std::tr1.])
- fi
-
- # Check for the existence of <stdint.h> types.
- AC_MSG_CHECKING([for ISO C99 support to TR1 in <stdint.h>])
- AC_CACHE_VAL(ac_c99_stdint_tr1, [
- AC_TRY_COMPILE([#include <stdint.h>],
- [typedef int8_t my_int8_t;
- typedef int16_t my_int16_t;
- typedef int32_t my_int32_t;
- typedef int64_t my_int64_t;
- typedef int_fast8_t my_int_fast8_t;
- typedef int_fast16_t my_int_fast16_t;
- typedef int_fast32_t my_int_fast32_t;
- typedef int_fast64_t my_int_fast64_t;
- typedef int_least8_t my_int_least8_t;
- typedef int_least16_t my_int_least16_t;
- typedef int_least32_t my_int_least32_t;
- typedef int_least64_t my_int_least64_t;
- typedef intmax_t my_intmax_t;
- typedef intptr_t my_intptr_t;
- typedef uint8_t my_uint8_t;
- typedef uint16_t my_uint16_t;
- typedef uint32_t my_uint32_t;
- typedef uint64_t my_uint64_t;
- typedef uint_fast8_t my_uint_fast8_t;
- typedef uint_fast16_t my_uint_fast16_t;
- typedef uint_fast32_t my_uint_fast32_t;
- typedef uint_fast64_t my_uint_fast64_t;
- typedef uint_least8_t my_uint_least8_t;
- typedef uint_least16_t my_uint_least16_t;
- typedef uint_least32_t my_uint_least32_t;
- typedef uint_least64_t my_uint_least64_t;
- typedef uintmax_t my_uintmax_t;
- typedef uintptr_t my_uintptr_t;
- ],[ac_c99_stdint_tr1=yes], [ac_c99_stdint_tr1=no])
- ])
- AC_MSG_RESULT($ac_c99_stdint_tr1)
- if test x"$ac_c99_stdint_tr1" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_STDINT_TR1, 1,
- [Define if C99 types in <stdint.h> should be imported in
- <tr1/cstdint> in namespace std::tr1.])
- fi
-
- # Check for the existence of <math.h> functions.
- AC_MSG_CHECKING([for ISO C99 support to TR1 in <math.h>])
- AC_CACHE_VAL(ac_c99_math_tr1, [
- AC_TRY_COMPILE([#include <math.h>],
- [typedef double_t my_double_t;
- typedef float_t my_float_t;
- acosh(0.0);
- acoshf(0.0f);
- acoshl(0.0l);
- asinh(0.0);
- asinhf(0.0f);
- asinhl(0.0l);
- atanh(0.0);
- atanhf(0.0f);
- atanhl(0.0l);
- cbrt(0.0);
- cbrtf(0.0f);
- cbrtl(0.0l);
- copysign(0.0, 0.0);
- copysignf(0.0f, 0.0f);
- copysignl(0.0l, 0.0l);
- erf(0.0);
- erff(0.0f);
- erfl(0.0l);
- erfc(0.0);
- erfcf(0.0f);
- erfcl(0.0l);
- exp2(0.0);
- exp2f(0.0f);
- exp2l(0.0l);
- expm1(0.0);
- expm1f(0.0f);
- expm1l(0.0l);
- fdim(0.0, 0.0);
- fdimf(0.0f, 0.0f);
- fdiml(0.0l, 0.0l);
- fma(0.0, 0.0, 0.0);
- fmaf(0.0f, 0.0f, 0.0f);
- fmal(0.0l, 0.0l, 0.0l);
- fmax(0.0, 0.0);
- fmaxf(0.0f, 0.0f);
- fmaxl(0.0l, 0.0l);
- fmin(0.0, 0.0);
- fminf(0.0f, 0.0f);
- fminl(0.0l, 0.0l);
- hypot(0.0, 0.0);
- hypotf(0.0f, 0.0f);
- hypotl(0.0l, 0.0l);
- ilogb(0.0);
- ilogbf(0.0f);
- ilogbl(0.0l);
- lgamma(0.0);
- lgammaf(0.0f);
- lgammal(0.0l);
- llrint(0.0);
- llrintf(0.0f);
- llrintl(0.0l);
- llround(0.0);
- llroundf(0.0f);
- llroundl(0.0l);
- log1p(0.0);
- log1pf(0.0f);
- log1pl(0.0l);
- log2(0.0);
- log2f(0.0f);
- log2l(0.0l);
- logb(0.0);
- logbf(0.0f);
- logbl(0.0l);
- lrint(0.0);
- lrintf(0.0f);
- lrintl(0.0l);
- lround(0.0);
- lroundf(0.0f);
- lroundl(0.0l);
- nan(0);
- nanf(0);
- nanl(0);
- nearbyint(0.0);
- nearbyintf(0.0f);
- nearbyintl(0.0l);
- nextafter(0.0, 0.0);
- nextafterf(0.0f, 0.0f);
- nextafterl(0.0l, 0.0l);
- nexttoward(0.0, 0.0);
- nexttowardf(0.0f, 0.0f);
- nexttowardl(0.0l, 0.0l);
- remainder(0.0, 0.0);
- remainderf(0.0f, 0.0f);
- remainderl(0.0l, 0.0l);
- remquo(0.0, 0.0, 0);
- remquo(0.0f, 0.0f, 0);
- remquo(0.0l, 0.0l, 0);
- rint(0.0);
- rintf(0.0f);
- rintl(0.0l);
- round(0.0);
- roundf(0.0f);
- roundl(0.0l);
- scalbln(0.0, 0l);
- scalblnf(0.0f, 0l);
- scalblnl(0.0l, 0l);
- scalbn(0.0, 0);
- scalbnf(0.0f, 0);
- scalbnl(0.0l, 0);
- tgamma(0.0);
- tgammaf(0.0f);
- tgammal(0.0l);
- trunc(0.0);
- truncf(0.0f);
- truncl(0.0l);
- ],[ac_c99_math_tr1=yes], [ac_c99_math_tr1=no])
- ])
- AC_MSG_RESULT($ac_c99_math_tr1)
- if test x"$ac_c99_math_tr1" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_MATH_TR1, 1,
- [Define if C99 functions or macros in <math.h> should be imported
- in <tr1/cmath> in namespace std::tr1.])
- fi
-
- # Check for the existence of <inttypes.h> functions (NB: doesn't make
- # sense if the previous check fails, per C99, 7.8/1).
- ac_c99_inttypes_tr1=no;
- if test x"$ac_c99_stdint_tr1" = x"yes"; then
- AC_MSG_CHECKING([for ISO C99 support to TR1 in <inttypes.h>])
- AC_TRY_COMPILE([#include <inttypes.h>],
- [intmax_t i, numer, denom, base;
- const char* s;
- char** endptr;
- intmax_t ret = imaxabs(i);
- imaxdiv_t dret = imaxdiv(numer, denom);
- ret = strtoimax(s, endptr, base);
- uintmax_t uret = strtoumax(s, endptr, base);
- ],[ac_c99_inttypes_tr1=yes], [ac_c99_inttypes_tr1=no])
- fi
- AC_MSG_RESULT($ac_c99_inttypes_tr1)
- if test x"$ac_c99_inttypes_tr1" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_C99_INTTYPES_TR1, 1,
- [Define if C99 functions in <inttypes.h> should be imported in
- <tr1/cinttypes> in namespace std::tr1.])
- fi
-
- # Check for the existence of the <stdbool.h> header.
- AC_CHECK_HEADERS(stdbool.h)
-
- AC_LANG_RESTORE
-])
-
-dnl
-dnl Check whether "dev/random" and "dev/urandom" are available for the
-dnl random_device of "TR1" (Chapter 5.1, "Random number generation").
-dnl
-AC_DEFUN([GLIBCXX_CHECK_RANDOM_TR1], [
-
- AC_MSG_CHECKING([for "dev/random" and "dev/urandom" for TR1 random_device])
- AC_CACHE_VAL(ac_random_tr1, [
- AC_TRY_RUN([#include <stdio.h>
- int main()
- {
- return !(fopen("/dev/random", "r")
- && fopen("/dev/urandom", "r"));
- }
- ],
- [ac_random_tr1=yes], [ac_random_tr1=no],
- [ac_random_tr1=no])
- ])
- AC_MSG_RESULT($ac_random_tr1)
- if test x"$ac_random_tr1" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1, 1,
- [Define if dev/random and dev/urandom are available for
- the random_device of TR1 (Chapter 5.1).])
- fi
-
-])
-
-dnl
-dnl Check for what type of C headers to use.
-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
-AC_DEFUN([GLIBCXX_ENABLE_CHEADERS], [
- GLIBCXX_ENABLE(cheaders,$1,[=KIND],
- [construct "C" headers for g++], [permit c|c_std])
- AC_MSG_NOTICE("C" header strategy set to $enable_cheaders)
-
- C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders
-
- 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_COMPATIBILITY, test $c_compatibility = yes)
-])
-
-
-dnl
-dnl Check for which locale library to use. The choice is mapped to
-dnl a subdirectory of config/locale.
-dnl
-dnl Default is generic.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-
- # Deal with gettext issues. Default to not using it (=no) until we detect
- # support for it later. Let the user turn it off via --e/d, but let that
- # default to on for easier handling.
- USE_NLS=no
- AC_ARG_ENABLE(nls,
- AC_HELP_STRING([--enable-nls],[use Native Language Support (default)]),
- [],
- [enable_nls=yes])
-
- # Either a known packaage, or "auto"
- if test $enable_clocale = no || test $enable_clocale = yes; then
- enable_clocale=auto
- fi
- enable_clocale_flag=$enable_clocale
-
- # Probe for locale model to use if none specified.
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- enable_clocale_flag=gnu
- ;;
- darwin* | freebsd*)
- enable_clocale_flag=darwin
- ;;
- *)
- enable_clocale_flag=generic
- ;;
- esac
- fi
-
- # Sanity check model, and test for special functionality.
- if test $enable_clocale_flag = gnu; then
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
- _GLIBCXX_ok
- #endif
- ], enable_clocale_flag=gnu, enable_clocale_flag=generic)
-
- if test $enable_clocale = auto; then
- # Test for bugs early in glibc-2.2.x series
- AC_TRY_RUN([
- #define _GNU_SOURCE 1
- #include <locale.h>
- #include <string.h>
- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- extern __typeof(newlocale) __newlocale;
- extern __typeof(duplocale) __duplocale;
- extern __typeof(strcoll_l) __strcoll_l;
- #endif
- int main()
- {
- const char __one[] = "Äuglein Augmen";
- const char __two[] = "Äuglein";
- int i;
- int j;
- __locale_t loc;
- __locale_t loc_dup;
- loc = __newlocale(1 << LC_ALL, "de_DE", 0);
- loc_dup = __duplocale(loc);
- i = __strcoll_l(__one, __two, loc);
- j = __strcoll_l(__one, __two, loc_dup);
- return 0;
- }
- ],
- [enable_clocale_flag=gnu],[enable_clocale_flag=generic],
- [enable_clocale_flag=generic])
- fi
-
- # Set it to scream when it hurts.
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS="-Wimplicit-function-declaration -Werror"
-
- # Use strxfrm_l if available.
- AC_TRY_COMPILE([#define _GNU_SOURCE 1
- #include <string.h>
- #include <locale.h>],
- [char s[128]; __locale_t loc; strxfrm_l(s, "C", 5, loc);],
- AC_DEFINE(HAVE_STRXFRM_L, 1,
- [Define if strxfrm_l is available in <string.h>.]),)
-
- # Use strerror_l if available.
- AC_TRY_COMPILE([#define _GNU_SOURCE 1
- #include <string.h>
- #include <locale.h>],
- [__locale_t loc; strerror_l(5, loc);],
- AC_DEFINE(HAVE_STRERROR_L, 1,
- [Define if strerror_l is available in <string.h>.]),)
-
- CFLAGS="$ac_save_CFLAGS"
- fi
-
- # Perhaps use strerror_r if available, and strerror_l isn't.
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS="-Wimplicit-function-declaration -Werror"
- AC_TRY_COMPILE([#define _GNU_SOURCE 1
- #include <string.h>
- #include <locale.h>],
- [char s[128]; strerror_r(5, s, 128);],
- AC_DEFINE(HAVE_STRERROR_R, 1,
- [Define if strerror_r is available in <string.h>.]),)
- CFLAGS="$ac_save_CFLAGS"
-
- # Set configure bits for specified locale package
- AC_MSG_CHECKING([for C locale to use])
- case ${enable_clocale_flag} in
- generic)
- AC_MSG_RESULT(generic)
-
- CLOCALE_H=config/locale/generic/c_locale.h
- CLOCALE_CC=config/locale/generic/c_locale.cc
- CCODECVT_CC=config/locale/generic/codecvt_members.cc
- CCOLLATE_CC=config/locale/generic/collate_members.cc
- CCTYPE_CC=config/locale/generic/ctype_members.cc
- CMESSAGES_H=config/locale/generic/messages_members.h
- CMESSAGES_CC=config/locale/generic/messages_members.cc
- CMONEY_CC=config/locale/generic/monetary_members.cc
- CNUMERIC_CC=config/locale/generic/numeric_members.cc
- CTIME_H=config/locale/generic/time_members.h
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
- darwin)
- AC_MSG_RESULT(darwin or freebsd)
-
- CLOCALE_H=config/locale/generic/c_locale.h
- CLOCALE_CC=config/locale/generic/c_locale.cc
- CCODECVT_CC=config/locale/generic/codecvt_members.cc
- CCOLLATE_CC=config/locale/generic/collate_members.cc
- CCTYPE_CC=config/locale/darwin/ctype_members.cc
- CMESSAGES_H=config/locale/generic/messages_members.h
- CMESSAGES_CC=config/locale/generic/messages_members.cc
- CMONEY_CC=config/locale/generic/monetary_members.cc
- CNUMERIC_CC=config/locale/generic/numeric_members.cc
- CTIME_H=config/locale/generic/time_members.h
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-
- gnu)
- AC_MSG_RESULT(gnu)
-
- # Declare intention to use gettext, and add support for specific
- # languages.
- # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
- ALL_LINGUAS="de fr"
-
- # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
- AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
- if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
- USE_NLS=yes
- fi
- # Export the build objects.
- for ling in $ALL_LINGUAS; do \
- glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
- glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
- done
- AC_SUBST(glibcxx_MOFILES)
- AC_SUBST(glibcxx_POFILES)
-
- CLOCALE_H=config/locale/gnu/c_locale.h
- CLOCALE_CC=config/locale/gnu/c_locale.cc
- CCODECVT_CC=config/locale/gnu/codecvt_members.cc
- CCOLLATE_CC=config/locale/gnu/collate_members.cc
- CCTYPE_CC=config/locale/gnu/ctype_members.cc
- CMESSAGES_H=config/locale/gnu/messages_members.h
- CMESSAGES_CC=config/locale/gnu/messages_members.cc
- CMONEY_CC=config/locale/gnu/monetary_members.cc
- CNUMERIC_CC=config/locale/gnu/numeric_members.cc
- CTIME_H=config/locale/gnu/time_members.h
- CTIME_CC=config/locale/gnu/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
- ;;
- ieee_1003.1-2001)
- AC_MSG_RESULT(IEEE 1003.1)
-
- CLOCALE_H=config/locale/ieee_1003.1-2001/c_locale.h
- CLOCALE_CC=config/locale/ieee_1003.1-2001/c_locale.cc
- CCODECVT_CC=config/locale/generic/codecvt_members.cc
- CCOLLATE_CC=config/locale/generic/collate_members.cc
- CCTYPE_CC=config/locale/generic/ctype_members.cc
- CMESSAGES_H=config/locale/ieee_1003.1-2001/messages_members.h
- CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
- CMONEY_CC=config/locale/generic/monetary_members.cc
- CNUMERIC_CC=config/locale/generic/numeric_members.cc
- CTIME_H=config/locale/generic/time_members.h
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
- # -DLOCALEDIR define during testsuite compilation.
- glibcxx_localedir=${glibcxx_builddir}/po/share/locale
- AC_SUBST(glibcxx_localedir)
-
- # A standalone libintl (e.g., GNU libintl) may be in use.
- if test $USE_NLS = yes; then
- AC_CHECK_HEADERS([libintl.h], [], USE_NLS=no)
- AC_SEARCH_LIBS(gettext, intl, [], USE_NLS=no)
- fi
- if test $USE_NLS = yes; then
- AC_DEFINE(_GLIBCXX_USE_NLS, 1,
- [Define if NLS translations are to be used.])
- fi
-
- AC_SUBST(USE_NLS)
- AC_SUBST(CLOCALE_H)
- AC_SUBST(CMESSAGES_H)
- AC_SUBST(CCODECVT_CC)
- AC_SUBST(CCOLLATE_CC)
- AC_SUBST(CCTYPE_CC)
- AC_SUBST(CMESSAGES_CC)
- AC_SUBST(CMONEY_CC)
- AC_SUBST(CNUMERIC_CC)
- AC_SUBST(CTIME_H)
- AC_SUBST(CTIME_CC)
- AC_SUBST(CLOCALE_CC)
- AC_SUBST(CLOCALE_INTERNAL_H)
-])
-
-
-dnl
-dnl Check for which std::allocator base class to use. The choice is
-dnl mapped from a subdirectory of include/ext.
-dnl
-dnl Default is new.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_ALLOCATOR], [
- AC_MSG_CHECKING([for std::allocator base class])
- GLIBCXX_ENABLE(libstdcxx-allocator,auto,[=KIND],
- [use KIND for target std::allocator base],
- [permit new|malloc|mt|bitmap|pool|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
- # specified --disable (???), do likewise.
- if test $enable_libstdcxx_allocator = no ||
- test $enable_libstdcxx_allocator = yes;
- then
- enable_libstdcxx_allocator=auto
- fi
-
- # Either a known package, or "auto". Auto implies the default choice
- # for a particular platform.
- enable_libstdcxx_allocator_flag=$enable_libstdcxx_allocator
-
- # Probe for host-specific support if no specific model is specified.
- # Default to "new".
- if test $enable_libstdcxx_allocator_flag = auto; then
- case ${target_os} in
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- enable_libstdcxx_allocator_flag=new
- ;;
- *)
- enable_libstdcxx_allocator_flag=new
- ;;
- esac
- fi
- AC_MSG_RESULT($enable_libstdcxx_allocator_flag)
-
-
- # Set configure bits for specified locale package
- case ${enable_libstdcxx_allocator_flag} in
- bitmap)
- ALLOCATOR_H=config/allocator/bitmap_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::bitmap_allocator
- ;;
- malloc)
- ALLOCATOR_H=config/allocator/malloc_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::malloc_allocator
- ;;
- mt)
- ALLOCATOR_H=config/allocator/mt_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__mt_alloc
- ;;
- new)
- ALLOCATOR_H=config/allocator/new_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::new_allocator
- ;;
- pool)
- ALLOCATOR_H=config/allocator/pool_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__pool_alloc
- ;;
- esac
-
- AC_SUBST(ALLOCATOR_H)
- AC_SUBST(ALLOCATOR_NAME)
-])
-
-
-dnl
-dnl Check for whether the Boost-derived checks should be turned on.
-dnl
-dnl --enable-concept-checks turns them on.
-dnl --disable-concept-checks leaves them off.
-dnl + Usage: GLIBCXX_ENABLE_CONCEPT_CHECKS[(DEFAULT)]
-dnl Where DEFAULT is either `yes' or `no'.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_CONCEPT_CHECKS], [
- GLIBCXX_ENABLE(concept-checks,$1,,[use Boost-derived template checks])
- if test $enable_concept_checks = yes; then
- AC_DEFINE(_GLIBCXX_CONCEPT_CHECKS, 1,
- [Define to use concept checking code from the boost libraries.])
- fi
-])
-
-
-dnl
-dnl Check for which I/O library to use: stdio, or something specific.
-dnl
-dnl Default is stdio.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_CSTDIO], [
- AC_MSG_CHECKING([for underlying I/O to use])
- GLIBCXX_ENABLE(cstdio,stdio,[=PACKAGE],
- [use target-specific I/O package], [permit stdio])
-
- # Now that libio has been removed, you can have any color you want as long
- # as it's black. This is one big no-op until other packages are added, but
- # showing the framework never hurts.
- case ${enable_cstdio} in
- stdio)
- CSTDIO_H=config/io/c_io_stdio.h
- BASIC_FILE_H=config/io/basic_file_stdio.h
- BASIC_FILE_CC=config/io/basic_file_stdio.cc
- AC_MSG_RESULT(stdio)
- ;;
- esac
-
- AC_SUBST(CSTDIO_H)
- AC_SUBST(BASIC_FILE_H)
- AC_SUBST(BASIC_FILE_CC)
-])
-
-
-dnl
-dnl Check for "unusual" flags to pass to the compiler while building.
-dnl
-dnl --enable-cxx-flags='-foo -bar -baz' is a general method for passing
-dnl experimental flags such as -fpch, -fIMI, -Dfloat=char, etc.
-dnl --disable-cxx-flags passes nothing.
-dnl + See http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00131.html
-dnl http://gcc.gnu.org/ml/libstdc++/2000-q2/msg00284.html
-dnl http://gcc.gnu.org/ml/libstdc++/2000-q1/msg00035.html
-dnl + Usage: GLIBCXX_ENABLE_CXX_FLAGS(default flags)
-dnl If "default flags" is an empty string, the effect is the same
-dnl as --disable or --enable=no.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_CXX_FLAGS], [dnl
- AC_MSG_CHECKING([for extra compiler flags for building])
- GLIBCXX_ENABLE(cxx-flags,$1,[=FLAGS],
- [pass compiler FLAGS when building library],
- [case "x$enable_cxx_flags" in
- xno | x) enable_cxx_flags= ;;
- x-*) ;;
- *) AC_MSG_ERROR(_g_switch needs compiler flags as arguments) ;;
- esac])
-
- # Run through flags (either default or command-line) and set anything
- # extra (e.g., #defines) that must accompany particular g++ options.
- if test -n "$enable_cxx_flags"; then
- for f in $enable_cxx_flags; do
- case "$f" in
- -fhonor-std) ;;
- -*) ;;
- *) # and we're trying to pass /what/ exactly?
- AC_MSG_ERROR([compiler flags start with a -]) ;;
- esac
- done
- fi
-
- EXTRA_CXX_FLAGS="$enable_cxx_flags"
- AC_MSG_RESULT($EXTRA_CXX_FLAGS)
- AC_SUBST(EXTRA_CXX_FLAGS)
-])
-
-
-dnl
-dnl Check to see if debugging libraries are to be built.
-dnl
-dnl --enable-libstdcxx-debug
-dnl builds a separate set of debugging libraries in addition to the
-dnl normal (shared, static) libstdc++ binaries.
-dnl
-dnl --disable-libstdcxx-debug
-dnl builds only one (non-debug) version of libstdc++.
-dnl
-dnl --enable-libstdcxx-debug-flags=FLAGS
-dnl iff --enable-debug == yes, then use FLAGS to build the debug library.
-dnl
-dnl + Usage: GLIBCXX_ENABLE_DEBUG[(DEFAULT)]
-dnl Where DEFAULT is either `yes' or `no'.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_DEBUG], [
- AC_MSG_CHECKING([for additional debug build])
- GLIBCXX_ENABLE(libstdcxx-debug,$1,,[build extra debug library])
- AC_MSG_RESULT($enable_libstdcxx_debug)
- GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_DEBUG, test $enable_libstdcxx_debug = yes)
-])
-
-
-dnl
-dnl Check for explicit debug flags.
-dnl
-dnl --enable-libstdcxx-debug-flags='-O1'
-dnl is a general method for passing flags to be used when
-dnl building debug libraries with --enable-debug.
-dnl
-dnl --disable-libstdcxx-debug-flags does nothing.
-dnl + Usage: GLIBCXX_ENABLE_DEBUG_FLAGS(default flags)
-dnl If "default flags" is an empty string, the effect is the same
-dnl as --disable or --enable=no.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_DEBUG_FLAGS], [
- GLIBCXX_ENABLE(libstdcxx-debug-flags,[$1],[=FLAGS],
- [pass compiler FLAGS when building debug library],
- [case "x$enable_libstdcxx_debug_flags" in
- xno | x) enable_libstdcxx_debug_flags= ;;
- x-*) ;;
- *) AC_MSG_ERROR(_g_switch needs compiler flags as arguments) ;;
- esac])
-
- # Option parsed, now set things appropriately
- DEBUG_FLAGS="$enable_libstdcxx_debug_flags"
- AC_SUBST(DEBUG_FLAGS)
-
- AC_MSG_NOTICE([Debug build flags set to $DEBUG_FLAGS])
-])
-
-
-dnl
-dnl Check if the user only wants a freestanding library implementation.
-dnl
-dnl --disable-hosted-libstdcxx will turn off most of the library build,
-dnl installing only the headers required by [17.4.1.3] and the language
-dnl support library. More than that will be built (to keep the Makefiles
-dnl conveniently clean), but not installed.
-dnl
-dnl Sets:
-dnl is_hosted (yes/no)
-dnl
-dnl Defines:
-dnl _GLIBCXX_HOSTED (always defined, either to 1 or 0)
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_HOSTED], [
- AC_ARG_ENABLE([hosted-libstdcxx],
- AC_HELP_STRING([--disable-hosted-libstdcxx],
- [only build freestanding C++ runtime support]),,
- [case "$host" in
- arm*-*-symbianelf*)
- enable_hosted_libstdcxx=no
- ;;
- *)
- enable_hosted_libstdcxx=yes
- ;;
- esac])
- if test "$enable_hosted_libstdcxx" = no; then
- AC_MSG_NOTICE([Only freestanding libraries will be built])
- is_hosted=no
- hosted_define=0
- enable_abi_check=no
- enable_libstdcxx_pch=no
- else
- is_hosted=yes
- hosted_define=1
- fi
- GLIBCXX_CONDITIONAL(GLIBCXX_HOSTED, test $is_hosted = yes)
- AC_DEFINE_UNQUOTED(_GLIBCXX_HOSTED, $hosted_define,
- [Define to 1 if a full hosted library is built, or 0 if freestanding.])
-])
-
-
-dnl
-dnl Check for template specializations for the 'long long' type.
-dnl The result determines only whether 'long long' I/O is enabled; things
-dnl like numeric_limits<> specializations are always available.
-dnl
-dnl --enable-long-long defines _GLIBCXX_USE_LONG_LONG
-dnl --disable-long-long leaves _GLIBCXX_USE_LONG_LONG undefined
-dnl + Usage: GLIBCXX_ENABLE_LONG_LONG[(DEFAULT)]
-dnl Where DEFAULT is either `yes' or `no'.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_LONG_LONG], [
- GLIBCXX_ENABLE(long-long,$1,,[enable template specializations for 'long long'])
- if test $enable_long_long = yes; then
- AC_DEFINE(_GLIBCXX_USE_LONG_LONG, 1,
- [Define if code specialized for long long should be used.])
- fi
- AC_MSG_CHECKING([for enabled long long specializations])
- AC_MSG_RESULT([$enable_long_long])
-])
-
-
-dnl
-dnl Check for template specializations for the 'wchar_t' type.
-dnl
-dnl --enable-wchar_t defines _GLIBCXX_USE_WCHAR_T
-dnl --disable-wchar_t leaves _GLIBCXX_USE_WCHAR_T undefined
-dnl + Usage: GLIBCXX_ENABLE_WCHAR_T[(DEFAULT)]
-dnl Where DEFAULT is either `yes' or `no'.
-dnl
-dnl Necessary support must also be present.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_WCHAR_T], [
- GLIBCXX_ENABLE(wchar_t,$1,,[enable template specializations for 'wchar_t'])
-
- # Test wchar.h for mbstate_t, which is needed for char_traits and fpos.
- AC_CHECK_HEADERS(wchar.h, ac_has_wchar_h=yes, ac_has_wchar_h=no)
- AC_MSG_CHECKING([for mbstate_t])
- AC_TRY_COMPILE([#include <wchar.h>],
- [mbstate_t teststate;],
- have_mbstate_t=yes, have_mbstate_t=no)
- AC_MSG_RESULT($have_mbstate_t)
- if test x"$have_mbstate_t" = xyes; then
- AC_DEFINE(HAVE_MBSTATE_T,1,[Define if mbstate_t exists in wchar.h.])
- fi
-
- # Test it always, for use in GLIBCXX_ENABLE_C99, together with
- # ac_has_wchar_h.
- AC_CHECK_HEADERS(wctype.h, ac_has_wctype_h=yes, ac_has_wctype_h=no)
-
- if test x"$enable_wchar_t" = x"yes"; then
-
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
- if test x"$ac_has_wchar_h" = xyes &&
- test x"$ac_has_wctype_h" = xyes; then
- AC_TRY_COMPILE([#include <wchar.h>
- #include <stddef.h>
- wint_t i;
- long l = WEOF;
- long j = WCHAR_MIN;
- long k = WCHAR_MAX;
- namespace test
- {
- 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;
- using ::vswprintf;
- using ::vwprintf;
- using ::wcrtomb;
- using ::wcscat;
- using ::wcschr;
- using ::wcscmp;
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
- using ::wcsftime;
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
- using ::wcsncpy;
- using ::wcspbrk;
- using ::wcsrchr;
- using ::wcsrtombs;
- using ::wcsspn;
- using ::wcsstr;
- using ::wcstod;
- using ::wcstok;
- using ::wcstol;
- using ::wcstoul;
- using ::wcsxfrm;
- using ::wctob;
- using ::wmemchr;
- using ::wmemcmp;
- using ::wmemcpy;
- using ::wmemmove;
- using ::wmemset;
- using ::wprintf;
- using ::wscanf;
- }
- ],[],[], [enable_wchar_t=no])
- else
- enable_wchar_t=no
- fi
-
- AC_LANG_RESTORE
- fi
-
- if test x"$enable_wchar_t" = x"yes"; then
- AC_DEFINE(_GLIBCXX_USE_WCHAR_T, 1,
- [Define if code specialized for wchar_t should be used.])
- fi
-
- AC_MSG_CHECKING([for enabled wchar_t specializations])
- AC_MSG_RESULT([$enable_wchar_t])
-])
-
-
-dnl
-dnl Check to see if building and using a C++ precompiled header can be done.
-dnl
-dnl --enable-libstdcxx-pch=yes
-dnl default, this shows intent to use stdc++.h.gch If it looks like it
-dnl may work, after some light-hearted attempts to puzzle out compiler
-dnl support, flip bits on in include/Makefile.am
-dnl
-dnl --disable-libstdcxx-pch
-dnl turns off attempts to use or build stdc++.h.gch.
-dnl
-dnl Substs:
-dnl glibcxx_PCHFLAGS
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_PCH], [
- GLIBCXX_ENABLE(libstdcxx-pch,$1,,[build pre-compiled libstdc++ headers])
- if test $enable_libstdcxx_pch = yes; then
- AC_CACHE_CHECK([for compiler with PCH support],
- [glibcxx_cv_prog_CXX_pch],
- [ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -Werror -Winvalid-pch -Wno-deprecated"
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- echo '#include <math.h>' > conftest.h
- if $CXX $CXXFLAGS $CPPFLAGS -x c++-header conftest.h \
- -o conftest.h.gch 1>&5 2>&1 &&
- echo '#error "pch failed"' > conftest.h &&
- echo '#include "conftest.h"' > conftest.cc &&
- $CXX -c $CXXFLAGS $CPPFLAGS conftest.cc 1>&5 2>&1 ;
- then
- glibcxx_cv_prog_CXX_pch=yes
- else
- glibcxx_cv_prog_CXX_pch=no
- fi
- rm -f conftest*
- CXXFLAGS=$ac_save_CXXFLAGS
- AC_LANG_RESTORE
- ])
- enable_libstdcxx_pch=$glibcxx_cv_prog_CXX_pch
- fi
-
- AC_MSG_CHECKING([for enabled PCH])
- AC_MSG_RESULT([$enable_libstdcxx_pch])
-
- GLIBCXX_CONDITIONAL(GLIBCXX_BUILD_PCH, test $enable_libstdcxx_pch = yes)
- if test $enable_libstdcxx_pch = yes; then
- glibcxx_PCHFLAGS="-include bits/stdtr1c++.h"
- else
- glibcxx_PCHFLAGS=""
- fi
- AC_SUBST(glibcxx_PCHFLAGS)
-])
-
-
-dnl
-dnl Check for atomic builtins.
-dnl See:
-dnl http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html#Atomic-Builtins
-dnl
-dnl This checks to see if the host supports the compiler-generated
-dnl builtins for atomic operations. Note, this is intended to be an
-dnl all-or-nothing switch, so all the atomic operations that are used
-dnl should be checked.
-dnl
-dnl Note:
-dnl libgomp and libgfortran do this with a link test, instead of an asm test.
-dnl see: CHECK_SYNC_FETCH_AND_ADD
-dnl
-dnl Defines:
-dnl _GLIBCXX_ATOMIC_BUILTINS if the compiler on this target supports atomics.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_ATOMIC_BUILTINS], [
- AC_MSG_CHECKING([for atomic builtins])
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
- # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
- cat > conftest.$ac_ext << EOF
-[#]line __oline__ "configure"
-int main()
-{
- // NB: _Atomic_word not necessarily int.
- typedef int atomic_type;
- atomic_type c1;
- atomic_type c2;
- const atomic_type c3(0);
- if (__sync_fetch_and_add(&c1, c2) == c3)
- {
- // Do something.
- }
- return 0;
-}
-EOF
- old_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=-S
- if AC_TRY_EVAL(ac_compile); then
- if grep __sync_fetch_and_add conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtins=no
- else
- AC_DEFINE(_GLIBCXX_ATOMIC_BUILTINS, 1,
- [Define if builtin atomic operations are supported on this host.])
- enable_atomic_builtins=yes
- atomicity_dir=cpu/generic/atomicity_builtins
- fi
- fi
- CXXFLAGS="$old_CXXFLAGS"
- rm -f conftest*
-
- # Now, if still generic, set to mutex.
- if test $atomicity_dir = "cpu/generic" ; then
- atomicity_dir=cpu/generic/atomicity_mutex
- fi
- AC_LANG_RESTORE
- AC_MSG_RESULT($enable_atomic_builtins)
-])
-
-
-dnl
-dnl Check for exception handling support. If an explicit enable/disable
-dnl sjlj exceptions is given, we don't have to detect. Otherwise the
-dnl target may or may not support call frame exceptions.
-dnl
-dnl --enable-sjlj-exceptions forces the use of builtin setjmp.
-dnl --disable-sjlj-exceptions forces the use of call frame unwinding.
-dnl Neither one forces an attempt at detection.
-dnl
-dnl Defines:
-dnl _GLIBCXX_SJLJ_EXCEPTIONS if the compiler is configured for it
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_SJLJ_EXCEPTIONS], [
- AC_MSG_CHECKING([for exception model to use])
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- GLIBCXX_ENABLE(sjlj-exceptions,auto,,
- [force use of builtin_setjmp for exceptions],
- [permit yes|no|auto])
-
- if test $enable_sjlj_exceptions = auto; then
- # Botheration. Now we've got to detect the exception model. Link tests
- # against libgcc.a are problematic since we've not been given proper -L
- # bits for single-tree newlib and libgloss.
- #
- # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
- cat > conftest.$ac_ext << EOF
-[#]line __oline__ "configure"
-struct S { ~S(); };
-void bar();
-void foo()
-{
- S s;
- bar();
-}
-EOF
- old_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=-S
- if AC_TRY_EVAL(ac_compile); then
- if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then
- enable_sjlj_exceptions=yes
- elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
- enable_sjlj_exceptions=no
- elif grep __cxa_end_cleanup conftest.s >/dev/null 2>&1 ; then
- enable_sjlj_exceptions=no
- fi
- fi
- CXXFLAGS="$old_CXXFLAGS"
- rm -f conftest*
- fi
-
- # This is a tad weird, for hysterical raisins. We have to map
- # enable/disable to two different models.
- case $enable_sjlj_exceptions in
- yes)
- AC_DEFINE(_GLIBCXX_SJLJ_EXCEPTIONS, 1,
- [Define if the compiler is configured for setjmp/longjmp exceptions.])
- ac_exception_model_name=sjlj
- ;;
- no)
- ac_exception_model_name="call frame"
- ;;
- *)
- AC_MSG_ERROR([unable to detect exception model])
- ;;
- esac
- AC_LANG_RESTORE
- AC_MSG_RESULT($ac_exception_model_name)
-])
-
-
-dnl
-dnl Allow visibility attributes to be used on namespaces, objects, etc.
-dnl
-dnl --enable-visibility enables attempt to use visibility attributes.
-dnl --disable-visibility turns off all use of visibility attributes.
-dnl + Usage: GLIBCXX_ENABLE_VISIBILITY[(DEFAULT)]
-dnl Where DEFAULT is 'yes'.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_VISIBILITY], [
-GLIBCXX_ENABLE(visibility,$1,,[enables visibility safe usage])
-
-if test x$enable_visibility = xyes ; then
- dnl all hail libgfortran
- dnl Check whether the target supports hidden visibility.
- AC_CACHE_CHECK([whether the target supports hidden visibility],
- have_attribute_visibility, [
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- AC_TRY_COMPILE([void __attribute__((visibility("hidden"))) foo(void) { }],
- [], have_attribute_visibility=yes,
- have_attribute_visibility=no)
- CFLAGS="$save_CFLAGS"])
- if test $have_attribute_visibility = no; then
- enable_visibility=no
- fi
-fi
-
-GLIBCXX_CONDITIONAL(ENABLE_VISIBILITY, test $enable_visibility = yes)
-AC_MSG_NOTICE([visibility supported: $enable_visibility])
-])
-
-
-dnl
-dnl Add version tags to symbols in shared library (or not), additionally
-dnl marking other symbols as private/local (or not).
-dnl
-dnl --enable-symvers=style adds a version script to the linker call when
-dnl creating the shared library. The choice of version script is
-dnl controlled by 'style'.
-dnl --disable-symvers does not.
-dnl + Usage: GLIBCXX_ENABLE_SYMVERS[(DEFAULT)]
-dnl Where DEFAULT is either 'yes' or 'no'. Passing `yes' tries to
-dnl choose a default style based on linker characteristics. Passing
-dnl 'no' disables versioning.
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_SYMVERS], [
-
-GLIBCXX_ENABLE(symvers,$1,[=STYLE],
- [enables symbol versioning of the shared library],
- [permit yes|no|gnu|gnu-versioned-namespace|darwin|darwin-export])
-
-# If we never went through the GLIBCXX_CHECK_LINKER_FEATURES macro, then we
-# don't know enough about $LD to do tricks...
-AC_REQUIRE([GLIBCXX_CHECK_LINKER_FEATURES])
-
-# Turn a 'yes' into a suitable default.
-if test x$enable_symvers = xyes ; then
- if test $enable_shared = no || test "x$LD" = x || test x$gcc_no_link = xyes; then
- enable_symvers=no
- else
- if test $with_gnu_ld = yes ; then
- enable_symvers=gnu
- else
- case ${target_os} in
- darwin*)
- enable_symvers=darwin ;;
- *)
- enable_symvers=no ;;
- esac
- fi
- fi
-fi
-
-# Check to see if 'darwin' or 'darwin-export' can win.
-if test x$enable_symvers = xdarwin-export ; then
- enable_symvers=darwin
-fi
-
-# Check to see if 'gnu' can win.
-if test $enable_symvers = gnu || test $enable_symvers = gnu-versioned-namespace; then
- # Check to see if libgcc_s exists, indicating that shared libgcc is possible.
- AC_MSG_CHECKING([for shared libgcc])
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=' -lgcc_s'
- AC_TRY_LINK(, [return 0;], glibcxx_shared_libgcc=yes, glibcxx_shared_libgcc=no)
- CFLAGS="$ac_save_CFLAGS"
- if test $glibcxx_shared_libgcc = no; then
- cat > conftest.c <<EOF
-int main (void) { return 0; }
-EOF
-changequote(,)dnl
- glibcxx_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- -shared -shared-libgcc -o conftest.so \
- conftest.c -v 2>&1 >/dev/null \
- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
-changequote([,])dnl
- rm -f conftest.c conftest.so
- if test x${glibcxx_libgcc_s_suffix+set} = xset; then
- CFLAGS=" -lgcc_s$glibcxx_libgcc_s_suffix"
- AC_TRY_LINK(, [return 0;], glibcxx_shared_libgcc=yes)
- CFLAGS="$ac_save_CFLAGS"
- fi
- fi
- AC_MSG_RESULT($glibcxx_shared_libgcc)
-
- # For GNU ld, we need at least this version. The format is described in
- # GLIBCXX_CHECK_LINKER_FEATURES above.
- glibcxx_min_gnu_ld_version=21400
-
- # If no shared libgcc, can't win.
- if test $glibcxx_shared_libgcc != yes; then
- AC_MSG_WARN([=== You have requested GNU symbol versioning, but])
- AC_MSG_WARN([=== you are not building a shared libgcc_s.])
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- elif test $with_gnu_ld != yes ; then
- # just fail for now
- AC_MSG_WARN([=== You have requested GNU symbol versioning, but])
- AC_MSG_WARN([=== you are not using the GNU linker.])
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then
- # The right tools, the right setup, but too old. Fallbacks?
- AC_MSG_WARN(=== Linker version $glibcxx_gnu_ld_version is too old for)
- AC_MSG_WARN(=== full symbol versioning support in this release of GCC.)
- AC_MSG_WARN(=== You would need to upgrade your binutils to version)
- AC_MSG_WARN(=== $glibcxx_min_gnu_ld_version or later and rebuild GCC.)
- AC_MSG_WARN([=== Symbol versioning will be disabled.])
- enable_symvers=no
- fi
-fi
-
-# Everything parsed; figure out what file to use.
-case $enable_symvers in
- no)
- SYMVER_FILE=config/abi/pre/none.ver
- ;;
- gnu)
- SYMVER_FILE=config/abi/pre/gnu.ver
- AC_DEFINE(_GLIBCXX_SYMVER_GNU, 1,
- [Define to use GNU versioning in the shared library.])
- ;;
- gnu-versioned-namespace)
- SYMVER_FILE=config/abi/pre/gnu-versioned-namespace.ver
- AC_DEFINE(_GLIBCXX_SYMVER_GNU_NAMESPACE, 1,
- [Define to use GNU namespace versioning in the shared library.])
- ;;
- darwin)
- SYMVER_FILE=config/abi/pre/gnu.ver
- AC_DEFINE(_GLIBCXX_SYMVER_DARWIN, 1,
- [Define to use darwin versioning in the shared library.])
- ;;
-esac
-
-if test x$enable_symvers != xno ; then
- AC_DEFINE(_GLIBCXX_SYMVER, 1,
- [Define to use symbol versioning in the shared library.])
-fi
-
-AC_SUBST(SYMVER_FILE)
-AC_SUBST(port_specific_symbol_files)
-GLIBCXX_CONDITIONAL(ENABLE_SYMVERS, test $enable_symvers != no)
-GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_GNU, test $enable_symvers = gnu)
-GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_GNU_NAMESPACE, test $enable_symvers = gnu-versioned-namespace)
-GLIBCXX_CONDITIONAL(ENABLE_SYMVERS_DARWIN, test $enable_symvers = darwin)
-AC_MSG_NOTICE(versioning on shared library symbols is $enable_symvers)
-
-# Now, set up compatibility support, if any.
-# In addition, need this to deal with std::size_t mangling in
-# src/compatibility.cc. In a perfect world, could use
-# typeid(std::size_t).name()[0] to do direct substitution.
-AC_MSG_CHECKING([for size_t as unsigned int])
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Werror"
-AC_TRY_COMPILE(, [__SIZE_TYPE__* stp; unsigned int* uip; stp = uip;],
- [glibcxx_size_t_is_i=yes], [glibcxx_size_t_is_i=no])
-CFLAGS=$ac_save_CFLAGS
-if test "$glibcxx_size_t_is_i" = yes; then
- AC_DEFINE(_GLIBCXX_SIZE_T_IS_UINT, 1, [Define if size_t is unsigned int.])
-fi
-AC_MSG_RESULT([$glibcxx_size_t_is_i])
-
-AC_MSG_CHECKING([for ptrdiff_t as int])
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Werror"
-AC_TRY_COMPILE(, [__PTRDIFF_TYPE__* ptp; int* ip; ptp = ip;],
- [glibcxx_ptrdiff_t_is_i=yes], [glibcxx_ptrdiff_t_is_i=no])
-CFLAGS=$ac_save_CFLAGS
-if test "$glibcxx_ptrdiff_t_is_i" = yes; then
- AC_DEFINE(_GLIBCXX_PTRDIFF_T_IS_INT, 1, [Define if ptrdiff_t is int.])
-fi
-AC_MSG_RESULT([$glibcxx_ptrdiff_t_is_i])
-])
-
-
-dnl
-dnl Setup to use the gcc gthr.h thread-specific memory and mutex model.
-dnl We must stage the required headers so that they will be installed
-dnl with the library (unlike libgcc, the STL implementation is provided
-dnl solely within headers). Since we must not inject random user-space
-dnl macro names into user-provided C++ code, we first stage into <file>-in
-dnl and process to <file> with an output command. The reason for a two-
-dnl stage process here is to correctly handle $srcdir!=$objdir without
-dnl having to write complex code (the sed commands to clean the macro
-dnl namespace are complex and fragile enough as it is). We must also
-dnl add a relative path so that -I- is supported properly.
-dnl
-dnl Substs:
-dnl glibcxx_thread_h
-dnl
-dnl Defines:
-dnl HAVE_GTHR_DEFAULT
-dnl
-AC_DEFUN([GLIBCXX_ENABLE_THREADS], [
- AC_MSG_CHECKING([for thread model used by GCC])
- target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'`
- AC_MSG_RESULT([$target_thread_file])
-
- if test $target_thread_file != single; then
- AC_DEFINE(HAVE_GTHR_DEFAULT, 1,
- [Define if gthr-default.h exists
- (meaning that threading support is enabled).])
- fi
-
- glibcxx_thread_h=gthr-$target_thread_file.h
-
- dnl Check for __GTHREADS define.
- gthread_file=${toplevel_srcdir}/gcc/${glibcxx_thread_h}
- if grep __GTHREADS $gthread_file >/dev/null 2>&1 ; then
- enable_thread=yes
- else
- enable_thread=no
- fi
-
- AC_SUBST(glibcxx_thread_h)
-])
-
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-AC_DEFUN([AC_LC_MESSAGES], [
- AC_CHECK_HEADER(locale.h, [
- AC_CACHE_CHECK([for LC_MESSAGES], ac_cv_val_LC_MESSAGES,
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- ac_cv_val_LC_MESSAGES=yes, ac_cv_val_LC_MESSAGES=no)])
- if test $ac_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE(HAVE_LC_MESSAGES, 1,
- [Define if LC_MESSAGES is available in <locale.h>.])
- fi
- ])
-])
-
-# Macros from the top-level gcc directory.
-m4_include([../config/tls.m4])
-
diff --git a/contrib/libstdc++/aclocal.m4 b/contrib/libstdc++/aclocal.m4
deleted file mode 100644
index 45f84b2967d3..000000000000
--- a/contrib/libstdc++/aclocal.m4
+++ /dev/null
@@ -1,591 +0,0 @@
-# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005 Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION so it can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.6])])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])
-AC_SUBST([$1_FALSE])
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 12
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.58])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES(CC)],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES(CXX)],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $1 | $1:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-AC_DEFUN([AM_MAINTAINER_MODE],
-[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode is disabled by default
- AC_ARG_ENABLE(maintainer-mode,
-[ --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer],
- USE_MAINTAINER_MODE=$enableval,
- USE_MAINTAINER_MODE=no)
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST(MAINT)dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-#
-# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
-# created by `make install' are always world readable, even if the
-# installer happens to have an overly restrictive umask (e.g. 077).
-# This was a mistake. There are at least two reasons why we must not
-# use `-m 0755':
-# - it causes special bits like SGID to be ignored,
-# - it may be too restrictive (some setups expect 775 directories).
-#
-# Do not use -m 0755 and let people choose whatever they expect by
-# setting umask.
-#
-# We cannot accept any implementation of `mkdir' that recognizes `-p'.
-# Some implementations (such as Solaris 8's) are not thread-safe: if a
-# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
-# concurrently, both version can detect that a/ is missing, but only
-# one can create it and the other will error out. Consequently we
-# restrict ourselves to GNU make (using the --version option ensures
-# this.)
-AC_DEFUN([AM_PROG_MKDIR_P],
-[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-AC_SUBST([mkdir_p])])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
- [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([../config/enable.m4])
-m4_include([../config/lead-dot.m4])
-m4_include([../config/multi.m4])
-m4_include([../config/no-executables.m4])
-m4_include([../config/unwind_ipinfo.m4])
-m4_include([../libtool.m4])
-m4_include([crossconfig.m4])
-m4_include([linkage.m4])
-m4_include([acinclude.m4])
diff --git a/contrib/libstdc++/config.h.in b/contrib/libstdc++/config.h.in
deleted file mode 100644
index 4eea4e80eded..000000000000
--- a/contrib/libstdc++/config.h.in
+++ /dev/null
@@ -1,1094 +0,0 @@
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to 1 if you have the `acosf' function. */
-#undef HAVE_ACOSF
-
-/* Define to 1 if you have the `acosl' function. */
-#undef HAVE_ACOSL
-
-/* Define to 1 if you have the `asinf' function. */
-#undef HAVE_ASINF
-
-/* Define to 1 if you have the `asinl' function. */
-#undef HAVE_ASINL
-
-/* Define to 1 if you have the `atan2f' function. */
-#undef HAVE_ATAN2F
-
-/* Define to 1 if you have the `atan2l' function. */
-#undef HAVE_ATAN2L
-
-/* Define to 1 if you have the `atanf' function. */
-#undef HAVE_ATANF
-
-/* Define to 1 if you have the `atanl' function. */
-#undef HAVE_ATANL
-
-/* Define to 1 if you have the `ceilf' function. */
-#undef HAVE_CEILF
-
-/* Define to 1 if you have the `ceill' function. */
-#undef HAVE_CEILL
-
-/* Define to 1 if you have the <complex.h> header file. */
-#undef HAVE_COMPLEX_H
-
-/* Define to 1 if you have the `copysign' function. */
-#undef HAVE_COPYSIGN
-
-/* Define to 1 if you have the `copysignf' function. */
-#undef HAVE_COPYSIGNF
-
-/* Define to 1 if you have the `copysignl' function. */
-#undef HAVE_COPYSIGNL
-
-/* Define to 1 if you have the `cosf' function. */
-#undef HAVE_COSF
-
-/* Define to 1 if you have the `coshf' function. */
-#undef HAVE_COSHF
-
-/* Define to 1 if you have the `coshl' function. */
-#undef HAVE_COSHL
-
-/* Define to 1 if you have the `cosl' function. */
-#undef HAVE_COSL
-
-/* Define to 1 if you have the <endian.h> header file. */
-#undef HAVE_ENDIAN_H
-
-/* Define to 1 if you have the `expf' function. */
-#undef HAVE_EXPF
-
-/* Define to 1 if you have the `expl' function. */
-#undef HAVE_EXPL
-
-/* Define to 1 if you have the `fabsf' function. */
-#undef HAVE_FABSF
-
-/* Define to 1 if you have the `fabsl' function. */
-#undef HAVE_FABSL
-
-/* Define to 1 if you have the <fenv.h> header file. */
-#undef HAVE_FENV_H
-
-/* Define to 1 if you have the `finite' function. */
-#undef HAVE_FINITE
-
-/* Define to 1 if you have the `finitef' function. */
-#undef HAVE_FINITEF
-
-/* Define to 1 if you have the `finitel' function. */
-#undef HAVE_FINITEL
-
-/* Define to 1 if you have the <float.h> header file. */
-#undef HAVE_FLOAT_H
-
-/* Define to 1 if you have the `floorf' function. */
-#undef HAVE_FLOORF
-
-/* Define to 1 if you have the `floorl' function. */
-#undef HAVE_FLOORL
-
-/* Define to 1 if you have the `fmodf' function. */
-#undef HAVE_FMODF
-
-/* Define to 1 if you have the `fmodl' function. */
-#undef HAVE_FMODL
-
-/* Define to 1 if you have the `fpclass' function. */
-#undef HAVE_FPCLASS
-
-/* Define to 1 if you have the <fp.h> header file. */
-#undef HAVE_FP_H
-
-/* Define to 1 if you have the `frexpf' function. */
-#undef HAVE_FREXPF
-
-/* Define to 1 if you have the `frexpl' function. */
-#undef HAVE_FREXPL
-
-/* Define to 1 if you have the <gconv.h> header file. */
-#undef HAVE_GCONV_H
-
-/* Define if _Unwind_GetIPInfo is available. */
-#undef HAVE_GETIPINFO
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define if gthr-default.h exists (meaning that threading support is
- enabled). */
-#undef HAVE_GTHR_DEFAULT
-
-/* Define to 1 if you have the `hypot' function. */
-#undef HAVE_HYPOT
-
-/* Define to 1 if you have the `hypotf' function. */
-#undef HAVE_HYPOTF
-
-/* Define to 1 if you have the `hypotl' function. */
-#undef HAVE_HYPOTL
-
-/* Define to 1 if you have the `iconv' function. */
-#undef HAVE_ICONV
-
-/* Define to 1 if you have the `iconv_close' function. */
-#undef HAVE_ICONV_CLOSE
-
-/* Define to 1 if you have the `iconv_open' function. */
-#undef HAVE_ICONV_OPEN
-
-/* Define to 1 if you have the <ieeefp.h> header file. */
-#undef HAVE_IEEEFP_H
-
-/* Define if int64_t is available in <stdint.h>. */
-#undef HAVE_INT64_T
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `isinf' function. */
-#undef HAVE_ISINF
-
-/* Define to 1 if you have the `isinff' function. */
-#undef HAVE_ISINFF
-
-/* Define to 1 if you have the `isinfl' function. */
-#undef HAVE_ISINFL
-
-/* Define to 1 if you have the `isnan' function. */
-#undef HAVE_ISNAN
-
-/* Define to 1 if you have the `isnanf' function. */
-#undef HAVE_ISNANF
-
-/* Define to 1 if you have the `isnanl' function. */
-#undef HAVE_ISNANL
-
-/* Defined if iswblank exists. */
-#undef HAVE_ISWBLANK
-
-/* Define if LC_MESSAGES is available in <locale.h>. */
-#undef HAVE_LC_MESSAGES
-
-/* Define to 1 if you have the `ldexpf' function. */
-#undef HAVE_LDEXPF
-
-/* Define to 1 if you have the `ldexpl' function. */
-#undef HAVE_LDEXPL
-
-/* Define to 1 if you have the <libintl.h> header file. */
-#undef HAVE_LIBINTL_H
-
-/* Define to 1 if you have the `m' library (-lm). */
-#undef HAVE_LIBM
-
-/* Only used in build directory testsuite_hooks.h. */
-#undef HAVE_LIMIT_AS
-
-/* Only used in build directory testsuite_hooks.h. */
-#undef HAVE_LIMIT_DATA
-
-/* Only used in build directory testsuite_hooks.h. */
-#undef HAVE_LIMIT_FSIZE
-
-/* Only used in build directory testsuite_hooks.h. */
-#undef HAVE_LIMIT_RSS
-
-/* Only used in build directory testsuite_hooks.h. */
-#undef HAVE_LIMIT_VMEM
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if you have the `log10f' function. */
-#undef HAVE_LOG10F
-
-/* Define to 1 if you have the `log10l' function. */
-#undef HAVE_LOG10L
-
-/* Define to 1 if you have the `logf' function. */
-#undef HAVE_LOGF
-
-/* Define to 1 if you have the `logl' function. */
-#undef HAVE_LOGL
-
-/* Define to 1 if you have the <machine/endian.h> header file. */
-#undef HAVE_MACHINE_ENDIAN_H
-
-/* Define to 1 if you have the <machine/param.h> header file. */
-#undef HAVE_MACHINE_PARAM_H
-
-/* Define if mbstate_t exists in wchar.h. */
-#undef HAVE_MBSTATE_T
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define to 1 if you have the `modf' function. */
-#undef HAVE_MODF
-
-/* Define to 1 if you have the `modff' function. */
-#undef HAVE_MODFF
-
-/* Define to 1 if you have the `modfl' function. */
-#undef HAVE_MODFL
-
-/* Define to 1 if you have the <nan.h> header file. */
-#undef HAVE_NAN_H
-
-/* Define to 1 if you have the `nl_langinfo' function. */
-#undef HAVE_NL_LANGINFO
-
-/* Define if poll is available in <poll.h>. */
-#undef HAVE_POLL
-
-/* Define to 1 if you have the `powf' function. */
-#undef HAVE_POWF
-
-/* Define to 1 if you have the `powl' function. */
-#undef HAVE_POWL
-
-/* Define to 1 if you have the `qfpclass' function. */
-#undef HAVE_QFPCLASS
-
-/* Define to 1 if you have the `setenv' function. */
-#undef HAVE_SETENV
-
-/* Define if sigsetjmp is available. */
-#undef HAVE_SIGSETJMP
-
-/* Define to 1 if you have the `sincos' function. */
-#undef HAVE_SINCOS
-
-/* Define to 1 if you have the `sincosf' function. */
-#undef HAVE_SINCOSF
-
-/* Define to 1 if you have the `sincosl' function. */
-#undef HAVE_SINCOSL
-
-/* Define to 1 if you have the `sinf' function. */
-#undef HAVE_SINF
-
-/* Define to 1 if you have the `sinhf' function. */
-#undef HAVE_SINHF
-
-/* Define to 1 if you have the `sinhl' function. */
-#undef HAVE_SINHL
-
-/* Define to 1 if you have the `sinl' function. */
-#undef HAVE_SINL
-
-/* Define to 1 if you have the `sqrtf' function. */
-#undef HAVE_SQRTF
-
-/* Define to 1 if you have the `sqrtl' function. */
-#undef HAVE_SQRTL
-
-/* Define to 1 if you have the <stdbool.h> header file. */
-#undef HAVE_STDBOOL_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define if strerror_l is available in <string.h>. */
-#undef HAVE_STRERROR_L
-
-/* Define if strerror_r is available in <string.h>. */
-#undef HAVE_STRERROR_R
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strtof' function. */
-#undef HAVE_STRTOF
-
-/* Define to 1 if you have the `strtold' function. */
-#undef HAVE_STRTOLD
-
-/* Define if strxfrm_l is available in <string.h>. */
-#undef HAVE_STRXFRM_L
-
-/* Define to 1 if you have the <sys/filio.h> header file. */
-#undef HAVE_SYS_FILIO_H
-
-/* Define to 1 if you have the <sys/ioctl.h> header file. */
-#undef HAVE_SYS_IOCTL_H
-
-/* Define to 1 if you have the <sys/ipc.h> header file. */
-#undef HAVE_SYS_IPC_H
-
-/* Define to 1 if you have the <sys/isa_defs.h> header file. */
-#undef HAVE_SYS_ISA_DEFS_H
-
-/* Define to 1 if you have the <sys/machine.h> header file. */
-#undef HAVE_SYS_MACHINE_H
-
-/* Define to 1 if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/sem.h> header file. */
-#undef HAVE_SYS_SEM_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/uio.h> header file. */
-#undef HAVE_SYS_UIO_H
-
-/* Define if S_IFREG is available in <sys/stat.h>. */
-#undef HAVE_S_IFREG
-
-/* Define if S_IFREG is available in <sys/stat.h>. */
-#undef HAVE_S_ISREG
-
-/* Define to 1 if you have the `tanf' function. */
-#undef HAVE_TANF
-
-/* Define to 1 if you have the `tanhf' function. */
-#undef HAVE_TANHF
-
-/* Define to 1 if you have the `tanhl' function. */
-#undef HAVE_TANHL
-
-/* Define to 1 if you have the `tanl' function. */
-#undef HAVE_TANL
-
-/* Define to 1 if the target supports thread-local storage. */
-#undef HAVE_TLS
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Defined if vfwscanf exists. */
-#undef HAVE_VFWSCANF
-
-/* Defined if vswscanf exists. */
-#undef HAVE_VSWSCANF
-
-/* Defined if vwscanf exists. */
-#undef HAVE_VWSCANF
-
-/* Define to 1 if you have the <wchar.h> header file. */
-#undef HAVE_WCHAR_H
-
-/* Defined if wcstof exists. */
-#undef HAVE_WCSTOF
-
-/* Define to 1 if you have the <wctype.h> header file. */
-#undef HAVE_WCTYPE_H
-
-/* Define if writev is available in <sys/uio.h>. */
-#undef HAVE_WRITEV
-
-/* Define to 1 if you have the `_acosf' function. */
-#undef HAVE__ACOSF
-
-/* Define to 1 if you have the `_acosl' function. */
-#undef HAVE__ACOSL
-
-/* Define to 1 if you have the `_asinf' function. */
-#undef HAVE__ASINF
-
-/* Define to 1 if you have the `_asinl' function. */
-#undef HAVE__ASINL
-
-/* Define to 1 if you have the `_atan2f' function. */
-#undef HAVE__ATAN2F
-
-/* Define to 1 if you have the `_atan2l' function. */
-#undef HAVE__ATAN2L
-
-/* Define to 1 if you have the `_atanf' function. */
-#undef HAVE__ATANF
-
-/* Define to 1 if you have the `_atanl' function. */
-#undef HAVE__ATANL
-
-/* Define to 1 if you have the `_ceilf' function. */
-#undef HAVE__CEILF
-
-/* Define to 1 if you have the `_ceill' function. */
-#undef HAVE__CEILL
-
-/* Define to 1 if you have the `_copysign' function. */
-#undef HAVE__COPYSIGN
-
-/* Define to 1 if you have the `_copysignl' function. */
-#undef HAVE__COPYSIGNL
-
-/* Define to 1 if you have the `_cosf' function. */
-#undef HAVE__COSF
-
-/* Define to 1 if you have the `_coshf' function. */
-#undef HAVE__COSHF
-
-/* Define to 1 if you have the `_coshl' function. */
-#undef HAVE__COSHL
-
-/* Define to 1 if you have the `_cosl' function. */
-#undef HAVE__COSL
-
-/* Define to 1 if you have the `_expf' function. */
-#undef HAVE__EXPF
-
-/* Define to 1 if you have the `_expl' function. */
-#undef HAVE__EXPL
-
-/* Define to 1 if you have the `_fabsf' function. */
-#undef HAVE__FABSF
-
-/* Define to 1 if you have the `_fabsl' function. */
-#undef HAVE__FABSL
-
-/* Define to 1 if you have the `_finite' function. */
-#undef HAVE__FINITE
-
-/* Define to 1 if you have the `_finitef' function. */
-#undef HAVE__FINITEF
-
-/* Define to 1 if you have the `_finitel' function. */
-#undef HAVE__FINITEL
-
-/* Define to 1 if you have the `_floorf' function. */
-#undef HAVE__FLOORF
-
-/* Define to 1 if you have the `_floorl' function. */
-#undef HAVE__FLOORL
-
-/* Define to 1 if you have the `_fmodf' function. */
-#undef HAVE__FMODF
-
-/* Define to 1 if you have the `_fmodl' function. */
-#undef HAVE__FMODL
-
-/* Define to 1 if you have the `_fpclass' function. */
-#undef HAVE__FPCLASS
-
-/* Define to 1 if you have the `_frexpf' function. */
-#undef HAVE__FREXPF
-
-/* Define to 1 if you have the `_frexpl' function. */
-#undef HAVE__FREXPL
-
-/* Define to 1 if you have the `_hypot' function. */
-#undef HAVE__HYPOT
-
-/* Define to 1 if you have the `_hypotf' function. */
-#undef HAVE__HYPOTF
-
-/* Define to 1 if you have the `_hypotl' function. */
-#undef HAVE__HYPOTL
-
-/* Define to 1 if you have the `_isinf' function. */
-#undef HAVE__ISINF
-
-/* Define to 1 if you have the `_isinff' function. */
-#undef HAVE__ISINFF
-
-/* Define to 1 if you have the `_isinfl' function. */
-#undef HAVE__ISINFL
-
-/* Define to 1 if you have the `_isnan' function. */
-#undef HAVE__ISNAN
-
-/* Define to 1 if you have the `_isnanf' function. */
-#undef HAVE__ISNANF
-
-/* Define to 1 if you have the `_isnanl' function. */
-#undef HAVE__ISNANL
-
-/* Define to 1 if you have the `_ldexpf' function. */
-#undef HAVE__LDEXPF
-
-/* Define to 1 if you have the `_ldexpl' function. */
-#undef HAVE__LDEXPL
-
-/* Define to 1 if you have the `_log10f' function. */
-#undef HAVE__LOG10F
-
-/* Define to 1 if you have the `_log10l' function. */
-#undef HAVE__LOG10L
-
-/* Define to 1 if you have the `_logf' function. */
-#undef HAVE__LOGF
-
-/* Define to 1 if you have the `_logl' function. */
-#undef HAVE__LOGL
-
-/* Define to 1 if you have the `_modf' function. */
-#undef HAVE__MODF
-
-/* Define to 1 if you have the `_modff' function. */
-#undef HAVE__MODFF
-
-/* Define to 1 if you have the `_modfl' function. */
-#undef HAVE__MODFL
-
-/* Define to 1 if you have the `_powf' function. */
-#undef HAVE__POWF
-
-/* Define to 1 if you have the `_powl' function. */
-#undef HAVE__POWL
-
-/* Define to 1 if you have the `_qfpclass' function. */
-#undef HAVE__QFPCLASS
-
-/* Define to 1 if you have the `_sincos' function. */
-#undef HAVE__SINCOS
-
-/* Define to 1 if you have the `_sincosf' function. */
-#undef HAVE__SINCOSF
-
-/* Define to 1 if you have the `_sincosl' function. */
-#undef HAVE__SINCOSL
-
-/* Define to 1 if you have the `_sinf' function. */
-#undef HAVE__SINF
-
-/* Define to 1 if you have the `_sinhf' function. */
-#undef HAVE__SINHF
-
-/* Define to 1 if you have the `_sinhl' function. */
-#undef HAVE__SINHL
-
-/* Define to 1 if you have the `_sinl' function. */
-#undef HAVE__SINL
-
-/* Define to 1 if you have the `_sqrtf' function. */
-#undef HAVE__SQRTF
-
-/* Define to 1 if you have the `_sqrtl' function. */
-#undef HAVE__SQRTL
-
-/* Define to 1 if you have the `_tanf' function. */
-#undef HAVE__TANF
-
-/* Define to 1 if you have the `_tanhf' function. */
-#undef HAVE__TANHF
-
-/* Define to 1 if you have the `_tanhl' function. */
-#undef HAVE__TANHL
-
-/* Define to 1 if you have the `_tanl' function. */
-#undef HAVE__TANL
-
-/* Define if the compiler/host combination has __builtin_abs. */
-#undef HAVE___BUILTIN_ABS
-
-/* Define if the compiler/host combination has __builtin_cos. */
-#undef HAVE___BUILTIN_COS
-
-/* Define if the compiler/host combination has __builtin_cosf. */
-#undef HAVE___BUILTIN_COSF
-
-/* Define if the compiler/host combination has __builtin_cosl. */
-#undef HAVE___BUILTIN_COSL
-
-/* Define if the compiler/host combination has __builtin_fabs. */
-#undef HAVE___BUILTIN_FABS
-
-/* Define if the compiler/host combination has __builtin_fabsf. */
-#undef HAVE___BUILTIN_FABSF
-
-/* Define if the compiler/host combination has __builtin_fabsl. */
-#undef HAVE___BUILTIN_FABSL
-
-/* Define if the compiler/host combination has __builtin_labs. */
-#undef HAVE___BUILTIN_LABS
-
-/* Define if the compiler/host combination has __builtin_sin. */
-#undef HAVE___BUILTIN_SIN
-
-/* Define if the compiler/host combination has __builtin_sinf. */
-#undef HAVE___BUILTIN_SINF
-
-/* Define if the compiler/host combination has __builtin_sinl. */
-#undef HAVE___BUILTIN_SINL
-
-/* Define if the compiler/host combination has __builtin_sqrt. */
-#undef HAVE___BUILTIN_SQRT
-
-/* Define if the compiler/host combination has __builtin_sqrtf. */
-#undef HAVE___BUILTIN_SQRTF
-
-/* Define if the compiler/host combination has __builtin_sqrtl. */
-#undef HAVE___BUILTIN_SQRTL
-
-/* Define to 1 if you have the `__signbit' function. */
-#undef HAVE___SIGNBIT
-
-/* Define to 1 if you have the `__signbitf' function. */
-#undef HAVE___SIGNBITF
-
-/* Define to 1 if you have the `__signbitl' function. */
-#undef HAVE___SIGNBITL
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Version number of package */
-#undef VERSION
-
-/* Define if builtin atomic operations are supported on this host. */
-#undef _GLIBCXX_ATOMIC_BUILTINS
-
-/* Define to use concept checking code from the boost libraries. */
-#undef _GLIBCXX_CONCEPT_CHECKS
-
-/* Define if a fully dynamic basic_string is wanted. */
-#undef _GLIBCXX_FULLY_DYNAMIC_STRING
-
-/* Define to 1 if a full hosted library is built, or 0 if freestanding. */
-#undef _GLIBCXX_HOSTED
-
-/* Define if compatibility should be provided for -mlong-double-64. */
-#undef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-/* Define if ptrdiff_t is int. */
-#undef _GLIBCXX_PTRDIFF_T_IS_INT
-
-/* Define if using setrlimit to set resource limits during "make check" */
-#undef _GLIBCXX_RES_LIMITS
-
-/* Define if size_t is unsigned int. */
-#undef _GLIBCXX_SIZE_T_IS_UINT
-
-/* Define if the compiler is configured for setjmp/longjmp exceptions. */
-#undef _GLIBCXX_SJLJ_EXCEPTIONS
-
-/* Define to use symbol versioning in the shared library. */
-#undef _GLIBCXX_SYMVER
-
-/* Define to use darwin versioning in the shared library. */
-#undef _GLIBCXX_SYMVER_DARWIN
-
-/* Define to use GNU versioning in the shared library. */
-#undef _GLIBCXX_SYMVER_GNU
-
-/* Define to use GNU namespace versioning in the shared library. */
-#undef _GLIBCXX_SYMVER_GNU_NAMESPACE
-
-/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,
- <stdio.h>, and <stdlib.h> can be used or exposed. */
-#undef _GLIBCXX_USE_C99
-
-/* Define if C99 functions in <complex.h> should be used in <complex>. Using
- compiler builtins for these functions requires corresponding C99 library
- functions to be present. */
-#undef _GLIBCXX_USE_C99_COMPLEX
-
-/* Define if C99 functions in <complex.h> should be used in <tr1/complex>.
- Using compiler builtins for these functions requires corresponding C99
- library functions to be present. */
-#undef _GLIBCXX_USE_C99_COMPLEX_TR1
-
-/* Define if C99 functions in <ctype.h> should be imported in <tr1/cctype> in
- namespace std::tr1. */
-#undef _GLIBCXX_USE_C99_CTYPE_TR1
-
-/* Define if C99 functions in <fenv.h> should be imported in <tr1/cfenv> in
- namespace std::tr1. */
-#undef _GLIBCXX_USE_C99_FENV_TR1
-
-/* Define if C99 functions in <inttypes.h> should be imported in
- <tr1/cinttypes> in namespace std::tr1. */
-#undef _GLIBCXX_USE_C99_INTTYPES_TR1
-
-/* Define if C99 functions or macros in <math.h> should be imported in <cmath>
- in namespace std. */
-#undef _GLIBCXX_USE_C99_MATH
-
-/* Define if C99 functions or macros in <math.h> should be imported in
- <tr1/cmath> in namespace std::tr1. */
-#undef _GLIBCXX_USE_C99_MATH_TR1
-
-/* Define if C99 types in <stdint.h> should be imported in <tr1/cstdint> in
- namespace std::tr1. */
-#undef _GLIBCXX_USE_C99_STDINT_TR1
-
-/* Define if iconv and related functions exist and are usable. */
-#undef _GLIBCXX_USE_ICONV
-
-/* Define if LFS support is available. */
-#undef _GLIBCXX_USE_LFS
-
-/* Define if code specialized for long long should be used. */
-#undef _GLIBCXX_USE_LONG_LONG
-
-/* Define if NLS translations are to be used. */
-#undef _GLIBCXX_USE_NLS
-
-/* Define if dev/random and dev/urandom are available for the random_device of
- TR1 (Chapter 5.1). */
-#undef _GLIBCXX_USE_RANDOM_TR1
-
-/* Define if code specialized for wchar_t should be used. */
-#undef _GLIBCXX_USE_WCHAR_T
-
-#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
-# define HAVE_ACOSF 1
-# define acosf _acosf
-#endif
-
-#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL)
-# define HAVE_ACOSL 1
-# define acosl _acosl
-#endif
-
-#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF)
-# define HAVE_ASINF 1
-# define asinf _asinf
-#endif
-
-#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL)
-# define HAVE_ASINL 1
-# define asinl _asinl
-#endif
-
-#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F)
-# define HAVE_ATAN2F 1
-# define atan2f _atan2f
-#endif
-
-#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L)
-# define HAVE_ATAN2L 1
-# define atan2l _atan2l
-#endif
-
-#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF)
-# define HAVE_ATANF 1
-# define atanf _atanf
-#endif
-
-#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL)
-# define HAVE_ATANL 1
-# define atanl _atanl
-#endif
-
-#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF)
-# define HAVE_CEILF 1
-# define ceilf _ceilf
-#endif
-
-#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL)
-# define HAVE_CEILL 1
-# define ceill _ceill
-#endif
-
-#if defined (HAVE__COPYSIGN) && ! defined (HAVE_COPYSIGN)
-# define HAVE_COPYSIGN 1
-# define copysign _copysign
-#endif
-
-#if defined (HAVE__COPYSIGNL) && ! defined (HAVE_COPYSIGNL)
-# define HAVE_COPYSIGNL 1
-# define copysignl _copysignl
-#endif
-
-#if defined (HAVE__COSF) && ! defined (HAVE_COSF)
-# define HAVE_COSF 1
-# define cosf _cosf
-#endif
-
-#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF)
-# define HAVE_COSHF 1
-# define coshf _coshf
-#endif
-
-#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL)
-# define HAVE_COSHL 1
-# define coshl _coshl
-#endif
-
-#if defined (HAVE__COSL) && ! defined (HAVE_COSL)
-# define HAVE_COSL 1
-# define cosl _cosl
-#endif
-
-#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF)
-# define HAVE_EXPF 1
-# define expf _expf
-#endif
-
-#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL)
-# define HAVE_EXPL 1
-# define expl _expl
-#endif
-
-#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF)
-# define HAVE_FABSF 1
-# define fabsf _fabsf
-#endif
-
-#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL)
-# define HAVE_FABSL 1
-# define fabsl _fabsl
-#endif
-
-#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE)
-# define HAVE_FINITE 1
-# define finite _finite
-#endif
-
-#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF)
-# define HAVE_FINITEF 1
-# define finitef _finitef
-#endif
-
-#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL)
-# define HAVE_FINITEL 1
-# define finitel _finitel
-#endif
-
-#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF)
-# define HAVE_FLOORF 1
-# define floorf _floorf
-#endif
-
-#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL)
-# define HAVE_FLOORL 1
-# define floorl _floorl
-#endif
-
-#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF)
-# define HAVE_FMODF 1
-# define fmodf _fmodf
-#endif
-
-#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL)
-# define HAVE_FMODL 1
-# define fmodl _fmodl
-#endif
-
-#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS)
-# define HAVE_FPCLASS 1
-# define fpclass _fpclass
-#endif
-
-#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF)
-# define HAVE_FREXPF 1
-# define frexpf _frexpf
-#endif
-
-#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL)
-# define HAVE_FREXPL 1
-# define frexpl _frexpl
-#endif
-
-#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT)
-# define HAVE_HYPOT 1
-# define hypot _hypot
-#endif
-
-#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF)
-# define HAVE_HYPOTF 1
-# define hypotf _hypotf
-#endif
-
-#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL)
-# define HAVE_HYPOTL 1
-# define hypotl _hypotl
-#endif
-
-#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF)
-# define HAVE_ISINF 1
-# define isinf _isinf
-#endif
-
-#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF)
-# define HAVE_ISINFF 1
-# define isinff _isinff
-#endif
-
-#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL)
-# define HAVE_ISINFL 1
-# define isinfl _isinfl
-#endif
-
-#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN)
-# define HAVE_ISNAN 1
-# define isnan _isnan
-#endif
-
-#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF)
-# define HAVE_ISNANF 1
-# define isnanf _isnanf
-#endif
-
-#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL)
-# define HAVE_ISNANL 1
-# define isnanl _isnanl
-#endif
-
-#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF)
-# define HAVE_LDEXPF 1
-# define ldexpf _ldexpf
-#endif
-
-#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL)
-# define HAVE_LDEXPL 1
-# define ldexpl _ldexpl
-#endif
-
-#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F)
-# define HAVE_LOG10F 1
-# define log10f _log10f
-#endif
-
-#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L)
-# define HAVE_LOG10L 1
-# define log10l _log10l
-#endif
-
-#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF)
-# define HAVE_LOGF 1
-# define logf _logf
-#endif
-
-#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL)
-# define HAVE_LOGL 1
-# define logl _logl
-#endif
-
-#if defined (HAVE__MODF) && ! defined (HAVE_MODF)
-# define HAVE_MODF 1
-# define modf _modf
-#endif
-
-#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF)
-# define HAVE_MODFF 1
-# define modff _modff
-#endif
-
-#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL)
-# define HAVE_MODFL 1
-# define modfl _modfl
-#endif
-
-#if defined (HAVE__POWF) && ! defined (HAVE_POWF)
-# define HAVE_POWF 1
-# define powf _powf
-#endif
-
-#if defined (HAVE__POWL) && ! defined (HAVE_POWL)
-# define HAVE_POWL 1
-# define powl _powl
-#endif
-
-#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS)
-# define HAVE_QFPCLASS 1
-# define qfpclass _qfpclass
-#endif
-
-#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS)
-# define HAVE_SINCOS 1
-# define sincos _sincos
-#endif
-
-#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF)
-# define HAVE_SINCOSF 1
-# define sincosf _sincosf
-#endif
-
-#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL)
-# define HAVE_SINCOSL 1
-# define sincosl _sincosl
-#endif
-
-#if defined (HAVE__SINF) && ! defined (HAVE_SINF)
-# define HAVE_SINF 1
-# define sinf _sinf
-#endif
-
-#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF)
-# define HAVE_SINHF 1
-# define sinhf _sinhf
-#endif
-
-#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL)
-# define HAVE_SINHL 1
-# define sinhl _sinhl
-#endif
-
-#if defined (HAVE__SINL) && ! defined (HAVE_SINL)
-# define HAVE_SINL 1
-# define sinl _sinl
-#endif
-
-#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF)
-# define HAVE_SQRTF 1
-# define sqrtf _sqrtf
-#endif
-
-#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL)
-# define HAVE_SQRTL 1
-# define sqrtl _sqrtl
-#endif
-
-#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF)
-# define HAVE_STRTOF 1
-# define strtof _strtof
-#endif
-
-#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD)
-# define HAVE_STRTOLD 1
-# define strtold _strtold
-#endif
-
-#if defined (HAVE__TANF) && ! defined (HAVE_TANF)
-# define HAVE_TANF 1
-# define tanf _tanf
-#endif
-
-#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF)
-# define HAVE_TANHF 1
-# define tanhf _tanhf
-#endif
-
-#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL)
-# define HAVE_TANHL 1
-# define tanhl _tanhl
-#endif
-
-#if defined (HAVE__TANL) && ! defined (HAVE_TANL)
-# define HAVE_TANL 1
-# define tanl _tanl
-#endif
diff --git a/contrib/libstdc++/config/abi/compatibility.h b/contrib/libstdc++/config/abi/compatibility.h
deleted file mode 100644
index 7b52850f5798..000000000000
--- a/contrib/libstdc++/config/abi/compatibility.h
+++ /dev/null
@@ -1,219 +0,0 @@
-// Compatibility symbols for previous versions -*- C++ -*-
-
-// Copyright (C) 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 compatibility.h
- * This is an internal header file, included by other library sources.
- * You should not attempt to use it directly.
- */
-
-// Switch for symbol version macro.
-#ifndef _GLIBCXX_APPLY_SYMVER
-#error must define _GLIBCXX_APPLY_SYMVER before including __FILE__
-#endif
-
-/* gcc-3.4.4
-_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv
-_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv
- */
-namespace
-{
-_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIcSt11char_traitsIcEEppEv,
- _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv)
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_APPLY_SYMVER(_ZNSt21istreambuf_iteratorXXIwSt11char_traitsIwEEppEv,
- _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv)
-#endif
-} // anonymous namespace
-
-/* gcc-4.0.0
-_ZNSs4_Rep26_M_set_length_and_sharableEj
-_ZNSs7_M_copyEPcPKcj
-_ZNSs7_M_moveEPcPKcj
-_ZNSs9_M_assignEPcjc
-_ZNKSs11_M_disjunctEPKc
-_ZNKSs15_M_check_lengthEjjPKc
-_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj
-_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj
-_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj
-_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw
-_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw
-_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc
-
-_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv
-_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv
-_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv
-_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv
-_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv
-_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv
-
-_ZNSi6ignoreEi
-_ZNSi6ignoreEv
-_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi
-_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv
-
-_ZNSt11char_traitsIcE2eqERKcS2_
-_ZNSt11char_traitsIwE2eqERKwS2_
- */
-namespace
-{
-_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIcE4eqXXERKcS2_,
- _ZNSt11char_traitsIcE2eqERKcS2_)
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcj,
- _ZNSs7_M_copyEPcPKcj)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_copyXXEPcPKcm,
- _ZNSs7_M_copyEPcPKcm)
-#endif
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcj,
- _ZNSs7_M_moveEPcPKcj)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSs9_M_moveXXEPcPKcm,
- _ZNSs7_M_moveEPcPKcm)
-#endif
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcjc,
- _ZNSs9_M_assignEPcjc)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSs11_M_assignXXEPcmc,
- _ZNSs9_M_assignEPcmc)
-#endif
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSs13_M_disjunctXXEPKc,
- _ZNKSs11_M_disjunctEPKc)
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEjjPKc,
- _ZNKSs15_M_check_lengthEjjPKc)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNKSs17_M_check_lengthXXEmmPKc,
- _ZNKSs15_M_check_lengthEmmPKc)
-#endif
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
- _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEj,
- _ZNSs4_Rep26_M_set_length_and_sharableEj)
-#else
- _GLIBCXX_APPLY_SYMVER(_ZNSs4_Rep28_M_set_length_and_sharableXXEm,
- _ZNSs4_Rep26_M_set_length_and_sharableEm)
-#endif
-
-_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEv, _ZNSi6ignoreEv)
-
-#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
-_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEi, _ZNSi6ignoreEi)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSi8ignoreXXEl, _ZNSi6ignoreEl)
-#endif
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIcSt11char_traitsIcEE7is_openEv,
- _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv)
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIcSt11char_traitsIcEE7is_openEv,
- _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv)
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIcSt11char_traitsIcEE7is_openEv,
- _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv)
-
- // Support for wchar_t.
-#ifdef _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_APPLY_SYMVER(_ZNSt11char_traitsIwE4eqXXERKwS2_,
- _ZNSt11char_traitsIwE2eqERKwS2_)
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwj,
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj)
-#else
- _GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_copyXXEPwPKwm,
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm)
-#endif
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwj,
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE9_M_moveXXEPwPKwm,
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm)
-#endif
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwjw,
- _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE11_M_assignXXEPwmw,
- _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw)
-#endif
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE13_M_disjunctXXEPKw,
- _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw)
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEjjPKc,
- _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNKSbIwSt11char_traitsIwESaIwEE17_M_check_lengthXXEmmPKc,
- _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc)
-#endif
-
-#ifdef _GLIBCXX_SIZE_T_IS_UINT
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEj,
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSbIwSt11char_traitsIwESaIwEE4_Rep28_M_set_length_and_sharableXXEm,
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm)
-#endif
-
-_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEv,
- _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv)
-
-#ifdef _GLIBCXX_PTRDIFF_T_IS_INT
-_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEi,
- _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi)
-#else
-_GLIBCXX_APPLY_SYMVER(_ZNSt13basic_istreamIwSt11char_traitsIwEE8ignoreXXEl,
- _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl)
-#endif
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSt15basic_fstreamXXIwSt11char_traitsIwEE7is_openEv,
- _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv)
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ifstreamXXIwSt11char_traitsIwEE7is_openEv,
- _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv)
-
-_GLIBCXX_APPLY_SYMVER(_ZNKSt16basic_ofstreamXXIwSt11char_traitsIwEE7is_openEv,
- _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv)
-#endif
- } // anonymous namespace
-
diff --git a/contrib/libstdc++/config/abi/post/alpha-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/alpha-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 3a4568bfec64..000000000000
--- a/contrib/libstdc++/config/abi/post/alpha-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEm@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEli@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPcl@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEm@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znam@@GLIBCXX_3.4
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwm@@GLIBCXX_3.4
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSd@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:16:_ZTIa@@CXXABI_1.3
-OBJECT:16:_ZTIb@@CXXABI_1.3
-OBJECT:16:_ZTIc@@CXXABI_1.3
-OBJECT:16:_ZTId@@CXXABI_1.3
-OBJECT:16:_ZTIe@@CXXABI_1.3
-OBJECT:16:_ZTIf@@CXXABI_1.3
-OBJECT:16:_ZTIh@@CXXABI_1.3
-OBJECT:16:_ZTIi@@CXXABI_1.3
-OBJECT:16:_ZTIj@@CXXABI_1.3
-OBJECT:16:_ZTIl@@CXXABI_1.3
-OBJECT:16:_ZTIm@@CXXABI_1.3
-OBJECT:16:_ZTIs@@CXXABI_1.3
-OBJECT:16:_ZTIt@@CXXABI_1.3
-OBJECT:16:_ZTIv@@CXXABI_1.3
-OBJECT:16:_ZTIw@@CXXABI_1.3
-OBJECT:16:_ZTIx@@CXXABI_1.3
-OBJECT:16:_ZTIy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSi@@GLIBCXX_3.4
-OBJECT:16:_ZTTSo@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:280:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:280:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZTIPKa@@CXXABI_1.3
-OBJECT:32:_ZTIPKb@@CXXABI_1.3
-OBJECT:32:_ZTIPKc@@CXXABI_1.3
-OBJECT:32:_ZTIPKd@@CXXABI_1.3
-OBJECT:32:_ZTIPKe@@CXXABI_1.3
-OBJECT:32:_ZTIPKf@@CXXABI_1.3
-OBJECT:32:_ZTIPKh@@CXXABI_1.3
-OBJECT:32:_ZTIPKi@@CXXABI_1.3
-OBJECT:32:_ZTIPKj@@CXXABI_1.3
-OBJECT:32:_ZTIPKl@@CXXABI_1.3
-OBJECT:32:_ZTIPKm@@CXXABI_1.3
-OBJECT:32:_ZTIPKs@@CXXABI_1.3
-OBJECT:32:_ZTIPKt@@CXXABI_1.3
-OBJECT:32:_ZTIPKv@@CXXABI_1.3
-OBJECT:32:_ZTIPKw@@CXXABI_1.3
-OBJECT:32:_ZTIPKx@@CXXABI_1.3
-OBJECT:32:_ZTIPKy@@CXXABI_1.3
-OBJECT:32:_ZTIPa@@CXXABI_1.3
-OBJECT:32:_ZTIPb@@CXXABI_1.3
-OBJECT:32:_ZTIPc@@CXXABI_1.3
-OBJECT:32:_ZTIPd@@CXXABI_1.3
-OBJECT:32:_ZTIPe@@CXXABI_1.3
-OBJECT:32:_ZTIPf@@CXXABI_1.3
-OBJECT:32:_ZTIPh@@CXXABI_1.3
-OBJECT:32:_ZTIPi@@CXXABI_1.3
-OBJECT:32:_ZTIPj@@CXXABI_1.3
-OBJECT:32:_ZTIPl@@CXXABI_1.3
-OBJECT:32:_ZTIPm@@CXXABI_1.3
-OBJECT:32:_ZTIPs@@CXXABI_1.3
-OBJECT:32:_ZTIPt@@CXXABI_1.3
-OBJECT:32:_ZTIPv@@CXXABI_1.3
-OBJECT:32:_ZTIPw@@CXXABI_1.3
-OBJECT:32:_ZTIPx@@CXXABI_1.3
-OBJECT:32:_ZTIPy@@CXXABI_1.3
-OBJECT:32:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTISi@@GLIBCXX_3.4
-OBJECT:40:_ZTISo@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISd@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTTSd@@GLIBCXX_3.4
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSi@@GLIBCXX_3.4
-OBJECT:80:_ZTVSo@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/hppa-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/hppa-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index f4ea1e3a174e..000000000000
--- a/contrib/libstdc++/config/abi/post/hppa-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/i386-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/i386-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 6ee44ab042d8..000000000000
--- a/contrib/libstdc++/config/abi/post/i386-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3147 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/i486-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/i486-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 6ee44ab042d8..000000000000
--- a/contrib/libstdc++/config/abi/post/i486-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3147 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/ia64-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/ia64-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 2e3c5e507748..000000000000
--- a/contrib/libstdc++/config/abi/post/ia64-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3147 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEm@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEli@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPcl@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEm@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znam@@GLIBCXX_3.4
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwm@@GLIBCXX_3.4
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:112:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:112:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:112:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:112:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:112:_ZTVSi@@GLIBCXX_3.4
-OBJECT:112:_ZTVSo@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:112:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:128:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:128:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:128:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:128:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:144:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:144:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:144:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:144:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:160:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:160:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:160:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:160:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:160:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:160:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:160:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:160:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:160:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:168:_ZTVSd@@GLIBCXX_3.4
-OBJECT:168:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:168:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:168:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:168:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:168:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:168:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:16:_ZTIa@@CXXABI_1.3
-OBJECT:16:_ZTIb@@CXXABI_1.3
-OBJECT:16:_ZTIc@@CXXABI_1.3
-OBJECT:16:_ZTId@@CXXABI_1.3
-OBJECT:16:_ZTIe@@CXXABI_1.3
-OBJECT:16:_ZTIf@@CXXABI_1.3
-OBJECT:16:_ZTIh@@CXXABI_1.3
-OBJECT:16:_ZTIi@@CXXABI_1.3
-OBJECT:16:_ZTIj@@CXXABI_1.3
-OBJECT:16:_ZTIl@@CXXABI_1.3
-OBJECT:16:_ZTIm@@CXXABI_1.3
-OBJECT:16:_ZTIs@@CXXABI_1.3
-OBJECT:16:_ZTIt@@CXXABI_1.3
-OBJECT:16:_ZTIv@@CXXABI_1.3
-OBJECT:16:_ZTIw@@CXXABI_1.3
-OBJECT:16:_ZTIx@@CXXABI_1.3
-OBJECT:16:_ZTIy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSi@@GLIBCXX_3.4
-OBJECT:16:_ZTTSo@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:176:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:176:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:176:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:176:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:192:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:224:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:224:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:240:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:240:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:280:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:280:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZTIPKa@@CXXABI_1.3
-OBJECT:32:_ZTIPKb@@CXXABI_1.3
-OBJECT:32:_ZTIPKc@@CXXABI_1.3
-OBJECT:32:_ZTIPKd@@CXXABI_1.3
-OBJECT:32:_ZTIPKe@@CXXABI_1.3
-OBJECT:32:_ZTIPKf@@CXXABI_1.3
-OBJECT:32:_ZTIPKh@@CXXABI_1.3
-OBJECT:32:_ZTIPKi@@CXXABI_1.3
-OBJECT:32:_ZTIPKj@@CXXABI_1.3
-OBJECT:32:_ZTIPKl@@CXXABI_1.3
-OBJECT:32:_ZTIPKm@@CXXABI_1.3
-OBJECT:32:_ZTIPKs@@CXXABI_1.3
-OBJECT:32:_ZTIPKt@@CXXABI_1.3
-OBJECT:32:_ZTIPKv@@CXXABI_1.3
-OBJECT:32:_ZTIPKw@@CXXABI_1.3
-OBJECT:32:_ZTIPKx@@CXXABI_1.3
-OBJECT:32:_ZTIPKy@@CXXABI_1.3
-OBJECT:32:_ZTIPa@@CXXABI_1.3
-OBJECT:32:_ZTIPb@@CXXABI_1.3
-OBJECT:32:_ZTIPc@@CXXABI_1.3
-OBJECT:32:_ZTIPd@@CXXABI_1.3
-OBJECT:32:_ZTIPe@@CXXABI_1.3
-OBJECT:32:_ZTIPf@@CXXABI_1.3
-OBJECT:32:_ZTIPh@@CXXABI_1.3
-OBJECT:32:_ZTIPi@@CXXABI_1.3
-OBJECT:32:_ZTIPj@@CXXABI_1.3
-OBJECT:32:_ZTIPl@@CXXABI_1.3
-OBJECT:32:_ZTIPm@@CXXABI_1.3
-OBJECT:32:_ZTIPs@@CXXABI_1.3
-OBJECT:32:_ZTIPt@@CXXABI_1.3
-OBJECT:32:_ZTIPv@@CXXABI_1.3
-OBJECT:32:_ZTIPw@@CXXABI_1.3
-OBJECT:32:_ZTIPx@@CXXABI_1.3
-OBJECT:32:_ZTIPy@@CXXABI_1.3
-OBJECT:32:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTISi@@GLIBCXX_3.4
-OBJECT:40:_ZTISo@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISd@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTTSd@@GLIBCXX_3.4
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt8messagesIwE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/mips-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/mips-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index f4ea1e3a174e..000000000000
--- a/contrib/libstdc++/config/abi/post/mips-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index f4ea1e3a174e..000000000000
--- a/contrib/libstdc++/config/abi/post/powerpc-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
deleted file mode 100644
index f4ea1e3a174e..000000000000
--- a/contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 3a4568bfec64..000000000000
--- a/contrib/libstdc++/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEm@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEli@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPcl@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEm@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znam@@GLIBCXX_3.4
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwm@@GLIBCXX_3.4
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSd@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:16:_ZTIa@@CXXABI_1.3
-OBJECT:16:_ZTIb@@CXXABI_1.3
-OBJECT:16:_ZTIc@@CXXABI_1.3
-OBJECT:16:_ZTId@@CXXABI_1.3
-OBJECT:16:_ZTIe@@CXXABI_1.3
-OBJECT:16:_ZTIf@@CXXABI_1.3
-OBJECT:16:_ZTIh@@CXXABI_1.3
-OBJECT:16:_ZTIi@@CXXABI_1.3
-OBJECT:16:_ZTIj@@CXXABI_1.3
-OBJECT:16:_ZTIl@@CXXABI_1.3
-OBJECT:16:_ZTIm@@CXXABI_1.3
-OBJECT:16:_ZTIs@@CXXABI_1.3
-OBJECT:16:_ZTIt@@CXXABI_1.3
-OBJECT:16:_ZTIv@@CXXABI_1.3
-OBJECT:16:_ZTIw@@CXXABI_1.3
-OBJECT:16:_ZTIx@@CXXABI_1.3
-OBJECT:16:_ZTIy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSi@@GLIBCXX_3.4
-OBJECT:16:_ZTTSo@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:280:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:280:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZTIPKa@@CXXABI_1.3
-OBJECT:32:_ZTIPKb@@CXXABI_1.3
-OBJECT:32:_ZTIPKc@@CXXABI_1.3
-OBJECT:32:_ZTIPKd@@CXXABI_1.3
-OBJECT:32:_ZTIPKe@@CXXABI_1.3
-OBJECT:32:_ZTIPKf@@CXXABI_1.3
-OBJECT:32:_ZTIPKh@@CXXABI_1.3
-OBJECT:32:_ZTIPKi@@CXXABI_1.3
-OBJECT:32:_ZTIPKj@@CXXABI_1.3
-OBJECT:32:_ZTIPKl@@CXXABI_1.3
-OBJECT:32:_ZTIPKm@@CXXABI_1.3
-OBJECT:32:_ZTIPKs@@CXXABI_1.3
-OBJECT:32:_ZTIPKt@@CXXABI_1.3
-OBJECT:32:_ZTIPKv@@CXXABI_1.3
-OBJECT:32:_ZTIPKw@@CXXABI_1.3
-OBJECT:32:_ZTIPKx@@CXXABI_1.3
-OBJECT:32:_ZTIPKy@@CXXABI_1.3
-OBJECT:32:_ZTIPa@@CXXABI_1.3
-OBJECT:32:_ZTIPb@@CXXABI_1.3
-OBJECT:32:_ZTIPc@@CXXABI_1.3
-OBJECT:32:_ZTIPd@@CXXABI_1.3
-OBJECT:32:_ZTIPe@@CXXABI_1.3
-OBJECT:32:_ZTIPf@@CXXABI_1.3
-OBJECT:32:_ZTIPh@@CXXABI_1.3
-OBJECT:32:_ZTIPi@@CXXABI_1.3
-OBJECT:32:_ZTIPj@@CXXABI_1.3
-OBJECT:32:_ZTIPl@@CXXABI_1.3
-OBJECT:32:_ZTIPm@@CXXABI_1.3
-OBJECT:32:_ZTIPs@@CXXABI_1.3
-OBJECT:32:_ZTIPt@@CXXABI_1.3
-OBJECT:32:_ZTIPv@@CXXABI_1.3
-OBJECT:32:_ZTIPw@@CXXABI_1.3
-OBJECT:32:_ZTIPx@@CXXABI_1.3
-OBJECT:32:_ZTIPy@@CXXABI_1.3
-OBJECT:32:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTISi@@GLIBCXX_3.4
-OBJECT:40:_ZTISo@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISd@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTTSd@@GLIBCXX_3.4
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSi@@GLIBCXX_3.4
-OBJECT:80:_ZTVSo@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/s390-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/s390-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 8c0278771cdb..000000000000
--- a/contrib/libstdc++/config/abi/post/s390-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEm@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEm@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znam@@GLIBCXX_3.4
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwm@@GLIBCXX_3.4
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/s390x-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/s390x-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 3a4568bfec64..000000000000
--- a/contrib/libstdc++/config/abi/post/s390x-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEm@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEli@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPcl@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEm@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znam@@GLIBCXX_3.4
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwm@@GLIBCXX_3.4
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSd@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:16:_ZTIa@@CXXABI_1.3
-OBJECT:16:_ZTIb@@CXXABI_1.3
-OBJECT:16:_ZTIc@@CXXABI_1.3
-OBJECT:16:_ZTId@@CXXABI_1.3
-OBJECT:16:_ZTIe@@CXXABI_1.3
-OBJECT:16:_ZTIf@@CXXABI_1.3
-OBJECT:16:_ZTIh@@CXXABI_1.3
-OBJECT:16:_ZTIi@@CXXABI_1.3
-OBJECT:16:_ZTIj@@CXXABI_1.3
-OBJECT:16:_ZTIl@@CXXABI_1.3
-OBJECT:16:_ZTIm@@CXXABI_1.3
-OBJECT:16:_ZTIs@@CXXABI_1.3
-OBJECT:16:_ZTIt@@CXXABI_1.3
-OBJECT:16:_ZTIv@@CXXABI_1.3
-OBJECT:16:_ZTIw@@CXXABI_1.3
-OBJECT:16:_ZTIx@@CXXABI_1.3
-OBJECT:16:_ZTIy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSi@@GLIBCXX_3.4
-OBJECT:16:_ZTTSo@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:280:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:280:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZTIPKa@@CXXABI_1.3
-OBJECT:32:_ZTIPKb@@CXXABI_1.3
-OBJECT:32:_ZTIPKc@@CXXABI_1.3
-OBJECT:32:_ZTIPKd@@CXXABI_1.3
-OBJECT:32:_ZTIPKe@@CXXABI_1.3
-OBJECT:32:_ZTIPKf@@CXXABI_1.3
-OBJECT:32:_ZTIPKh@@CXXABI_1.3
-OBJECT:32:_ZTIPKi@@CXXABI_1.3
-OBJECT:32:_ZTIPKj@@CXXABI_1.3
-OBJECT:32:_ZTIPKl@@CXXABI_1.3
-OBJECT:32:_ZTIPKm@@CXXABI_1.3
-OBJECT:32:_ZTIPKs@@CXXABI_1.3
-OBJECT:32:_ZTIPKt@@CXXABI_1.3
-OBJECT:32:_ZTIPKv@@CXXABI_1.3
-OBJECT:32:_ZTIPKw@@CXXABI_1.3
-OBJECT:32:_ZTIPKx@@CXXABI_1.3
-OBJECT:32:_ZTIPKy@@CXXABI_1.3
-OBJECT:32:_ZTIPa@@CXXABI_1.3
-OBJECT:32:_ZTIPb@@CXXABI_1.3
-OBJECT:32:_ZTIPc@@CXXABI_1.3
-OBJECT:32:_ZTIPd@@CXXABI_1.3
-OBJECT:32:_ZTIPe@@CXXABI_1.3
-OBJECT:32:_ZTIPf@@CXXABI_1.3
-OBJECT:32:_ZTIPh@@CXXABI_1.3
-OBJECT:32:_ZTIPi@@CXXABI_1.3
-OBJECT:32:_ZTIPj@@CXXABI_1.3
-OBJECT:32:_ZTIPl@@CXXABI_1.3
-OBJECT:32:_ZTIPm@@CXXABI_1.3
-OBJECT:32:_ZTIPs@@CXXABI_1.3
-OBJECT:32:_ZTIPt@@CXXABI_1.3
-OBJECT:32:_ZTIPv@@CXXABI_1.3
-OBJECT:32:_ZTIPw@@CXXABI_1.3
-OBJECT:32:_ZTIPx@@CXXABI_1.3
-OBJECT:32:_ZTIPy@@CXXABI_1.3
-OBJECT:32:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTISi@@GLIBCXX_3.4
-OBJECT:40:_ZTISo@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISd@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTTSd@@GLIBCXX_3.4
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSi@@GLIBCXX_3.4
-OBJECT:80:_ZTVSo@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/sparc-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/sparc-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index f4ea1e3a174e..000000000000
--- a/contrib/libstdc++/config/abi/post/sparc-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3169 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
deleted file mode 100644
index 6ee44ab042d8..000000000000
--- a/contrib/libstdc++/config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt
+++ /dev/null
@@ -1,3147 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEj@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcjj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsj@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcj@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEjPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEjj@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEj@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwj@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEj@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPci@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEii@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPci@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcic@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPci@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs2atEj@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEj@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEjjc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEj@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEjc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcj@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjPKcj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjRKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEjjjc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEj@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcjc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcjc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEjjj@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjj@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsjjRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EjcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEj@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPci@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEj@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvjEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKai@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKci@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPaiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPciS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhiS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2Ei@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_j@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcj@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn8_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n12_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znaj@@GLIBCXX_3.4
-FUNC:_ZnajRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwj@@GLIBCXX_3.4
-FUNC:_ZnwjRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:12:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:12:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:12:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:140:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:140:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:144:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:144:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:148:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:16:_ZTIPKa@@CXXABI_1.3
-OBJECT:16:_ZTIPKb@@CXXABI_1.3
-OBJECT:16:_ZTIPKc@@CXXABI_1.3
-OBJECT:16:_ZTIPKd@@CXXABI_1.3
-OBJECT:16:_ZTIPKe@@CXXABI_1.3
-OBJECT:16:_ZTIPKf@@CXXABI_1.3
-OBJECT:16:_ZTIPKh@@CXXABI_1.3
-OBJECT:16:_ZTIPKi@@CXXABI_1.3
-OBJECT:16:_ZTIPKj@@CXXABI_1.3
-OBJECT:16:_ZTIPKl@@CXXABI_1.3
-OBJECT:16:_ZTIPKm@@CXXABI_1.3
-OBJECT:16:_ZTIPKs@@CXXABI_1.3
-OBJECT:16:_ZTIPKt@@CXXABI_1.3
-OBJECT:16:_ZTIPKv@@CXXABI_1.3
-OBJECT:16:_ZTIPKw@@CXXABI_1.3
-OBJECT:16:_ZTIPKx@@CXXABI_1.3
-OBJECT:16:_ZTIPKy@@CXXABI_1.3
-OBJECT:16:_ZTIPa@@CXXABI_1.3
-OBJECT:16:_ZTIPb@@CXXABI_1.3
-OBJECT:16:_ZTIPc@@CXXABI_1.3
-OBJECT:16:_ZTIPd@@CXXABI_1.3
-OBJECT:16:_ZTIPe@@CXXABI_1.3
-OBJECT:16:_ZTIPf@@CXXABI_1.3
-OBJECT:16:_ZTIPh@@CXXABI_1.3
-OBJECT:16:_ZTIPi@@CXXABI_1.3
-OBJECT:16:_ZTIPj@@CXXABI_1.3
-OBJECT:16:_ZTIPl@@CXXABI_1.3
-OBJECT:16:_ZTIPm@@CXXABI_1.3
-OBJECT:16:_ZTIPs@@CXXABI_1.3
-OBJECT:16:_ZTIPt@@CXXABI_1.3
-OBJECT:16:_ZTIPv@@CXXABI_1.3
-OBJECT:16:_ZTIPw@@CXXABI_1.3
-OBJECT:16:_ZTIPx@@CXXABI_1.3
-OBJECT:16:_ZTIPy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:20:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISi@@GLIBCXX_3.4
-OBJECT:24:_ZTISo@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTTSd@@GLIBCXX_3.4
-OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:28:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZTISd@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:32:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:36:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSi@@GLIBCXX_3.4
-OBJECT:40:_ZTVSo@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:44:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:44:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:44:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:52:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:56:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSd@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:64:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:8:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:8:_ZTIa@@CXXABI_1.3
-OBJECT:8:_ZTIb@@CXXABI_1.3
-OBJECT:8:_ZTIc@@CXXABI_1.3
-OBJECT:8:_ZTId@@CXXABI_1.3
-OBJECT:8:_ZTIe@@CXXABI_1.3
-OBJECT:8:_ZTIf@@CXXABI_1.3
-OBJECT:8:_ZTIh@@CXXABI_1.3
-OBJECT:8:_ZTIi@@CXXABI_1.3
-OBJECT:8:_ZTIj@@CXXABI_1.3
-OBJECT:8:_ZTIl@@CXXABI_1.3
-OBJECT:8:_ZTIm@@CXXABI_1.3
-OBJECT:8:_ZTIs@@CXXABI_1.3
-OBJECT:8:_ZTIt@@CXXABI_1.3
-OBJECT:8:_ZTIv@@CXXABI_1.3
-OBJECT:8:_ZTIw@@CXXABI_1.3
-OBJECT:8:_ZTIx@@CXXABI_1.3
-OBJECT:8:_ZTIy@@CXXABI_1.3
-OBJECT:8:_ZTTSi@@GLIBCXX_3.4
-OBJECT:8:_ZTTSo@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt b/contrib/libstdc++/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
deleted file mode 100644
index 699360653427..000000000000
--- a/contrib/libstdc++/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt
+++ /dev/null
@@ -1,3147 +0,0 @@
-FUNC:_ZN10__cxxabiv116__enum_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv116__enum_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__array_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv117__pbase_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv119__pointer_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__function_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv120__si_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv121__vmi_class_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv123__fundamental_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@@CXXABI_1.3
-FUNC:_ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@@CXXABI_1.3
-FUNC:_ZN10__gnu_norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
-FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
-FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
-FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list6_M_getEm@@GLIBCXX_3.4.4
-FUNC:_ZN9__gnu_cxx9free_list8_M_clearEv@@GLIBCXX_3.4.4
-FUNC:_ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__function_type_info15__is_function_pEv@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@@CXXABI_1.3
-FUNC:_ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@@CXXABI_1.3
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
-FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNKSi6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSi6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSo6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSs11_M_disjunctEPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs12find_last_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs13find_first_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs13get_allocatorEv@@GLIBCXX_3.4
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@@GLIBCXX_3.4.5
-FUNC:_ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs16find_last_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs17find_first_not_ofEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNKSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4_Rep12_M_is_sharedEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4copyEPcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs4findEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5c_strEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5emptyEv@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEPKcmm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindERKSsm@@GLIBCXX_3.4
-FUNC:_ZNKSs5rfindEcm@@GLIBCXX_3.4
-FUNC:_ZNKSs6_M_repEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSs6substrEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_dataEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7_M_iendEv@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSs7compareEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_checkEmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSs8_M_limitEmm@@GLIBCXX_3.4
-FUNC:_ZNKSs8capacityEv@@GLIBCXX_3.4
-FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
-FUNC:_ZNKSsixEm@@GLIBCXX_3.4
-FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIcLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb0EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE10pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE11frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_negative_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_positive_signEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10moneypunctIwLb1EE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt10ostrstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE7_M_daysEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE8_M_am_pmEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIcE9_M_monthsEPPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE7_M_daysEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE8_M_am_pmEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11__timepunctIwE9_M_monthsEPPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@@GLIBCXX_3.4
-FUNC:_ZNKSt13runtime_error4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4.5
-FUNC:_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
-FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE10do_toupperEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIcE9do_narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_tolowerEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEPwPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE10do_toupperEw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEPKwS2_Pt@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE5do_isEtw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE8do_widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@@GLIBCXX_3.4
-FUNC:_ZNKSt5ctypeIwE9do_narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale2id5_M_idEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6locale4nameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt6localeeqERKS_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4
-FUNC:_ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10_M_compareEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12_M_transformEPcPKcm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE12do_transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE4hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7compareEPKcS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE7do_hashEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIcE9transformEPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10_M_compareEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12_M_transformEPwPKwm@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE12do_transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE4hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7compareEPKwS2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE7do_hashEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7collateIwE9transformEPKwS2_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
-FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
-FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE3getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE6do_getEiiiRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIcE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE20_M_convert_from_charEPc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE4openERKSsRKSt6localePKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE5closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE7do_openERKSsRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNKSt8messagesIwE8do_closeEi@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIcE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE11do_truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE12do_falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE13thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_decimal_pointEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE16do_thousands_sepEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8groupingEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE8truenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8numpunctIwE9falsenameEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
-FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9exception4whatEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream5rdbufEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9strstream6pcountEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info14__is_pointer_pEv@@GLIBCXX_3.4
-FUNC:_ZNKSt9type_info15__is_function_pEv@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIcEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSaIwEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSaIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE2atEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE3endEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@@GLIBCXX_3.4.5
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEaSEw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSbIwSt11char_traitsIwESaIwEEpLEw@@GLIBCXX_3.4
-FUNC:_ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSdC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@@GLIBCXX_3.4
-FUNC:_ZNSi3getERc@@GLIBCXX_3.4
-FUNC:_ZNSi3getEv@@GLIBCXX_3.4
-FUNC:_ZNSi4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSi4readEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSi5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSi5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSi5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEli@@GLIBCXX_3.4
-FUNC:_ZNSi6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSi6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC1ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi6sentryC2ERSib@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPcl@@GLIBCXX_3.4
-FUNC:_ZNSi7getlineEPclc@@GLIBCXX_3.4
-FUNC:_ZNSi7putbackEc@@GLIBCXX_3.4
-FUNC:_ZNSi8readsomeEPcl@@GLIBCXX_3.4
-FUNC:_ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSiC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSiD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSiS_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSirsERPv@@GLIBCXX_3.4
-FUNC:_ZNSirsERb@@GLIBCXX_3.4
-FUNC:_ZNSirsERd@@GLIBCXX_3.4
-FUNC:_ZNSirsERe@@GLIBCXX_3.4
-FUNC:_ZNSirsERf@@GLIBCXX_3.4
-FUNC:_ZNSirsERi@@GLIBCXX_3.4
-FUNC:_ZNSirsERj@@GLIBCXX_3.4
-FUNC:_ZNSirsERl@@GLIBCXX_3.4
-FUNC:_ZNSirsERm@@GLIBCXX_3.4
-FUNC:_ZNSirsERs@@GLIBCXX_3.4
-FUNC:_ZNSirsERt@@GLIBCXX_3.4
-FUNC:_ZNSirsERx@@GLIBCXX_3.4
-FUNC:_ZNSirsERy@@GLIBCXX_3.4
-FUNC:_ZNSo3putEc@@GLIBCXX_3.4
-FUNC:_ZNSo5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSo5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSo5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSo5writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC1ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryC2ERSo@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSoC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSoD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSoS_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt8ios_baseS0_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@@GLIBCXX_3.4
-FUNC:_ZNSolsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-FUNC:_ZNSolsEb@@GLIBCXX_3.4
-FUNC:_ZNSolsEd@@GLIBCXX_3.4
-FUNC:_ZNSolsEe@@GLIBCXX_3.4
-FUNC:_ZNSolsEf@@GLIBCXX_3.4
-FUNC:_ZNSolsEi@@GLIBCXX_3.4
-FUNC:_ZNSolsEj@@GLIBCXX_3.4
-FUNC:_ZNSolsEl@@GLIBCXX_3.4
-FUNC:_ZNSolsEm@@GLIBCXX_3.4
-FUNC:_ZNSolsEs@@GLIBCXX_3.4
-FUNC:_ZNSolsEt@@GLIBCXX_3.4
-FUNC:_ZNSolsEx@@GLIBCXX_3.4
-FUNC:_ZNSolsEy@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC1EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_Alloc_hiderC2EPcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_M_leak_hardEv@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_constructEmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcPKcS1_@@GLIBCXX_3.4
-FUNC:_ZNSs13_S_copy_charsEPcS_S_@@GLIBCXX_3.4
-FUNC:_ZNSs14_M_replace_auxEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs15_M_replace_safeEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs2atEm@@GLIBCXX_3.4
-FUNC:_ZNSs3endEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_destroyERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_disposeERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refcopyEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep10_M_refdataEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep12_S_empty_repEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep13_M_set_leakedEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep15_M_set_sharableEv@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@@GLIBCXX_3.4.5
-FUNC:_ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep7_M_grabERKSaIcES2_@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep8_M_cloneERKSaIcEm@@GLIBCXX_3.4
-FUNC:_ZNSs4_Rep9_S_createEmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSs4rendEv@@GLIBCXX_3.4
-FUNC:_ZNSs4swapERSs@@GLIBCXX_3.4
-FUNC:_ZNSs5beginEv@@GLIBCXX_3.4
-FUNC:_ZNSs5clearEv@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@@GLIBCXX_3.4
-FUNC:_ZNSs5eraseEmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6appendERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6appendEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6assignERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6assignEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs6insertEmmc@@GLIBCXX_3.4
-FUNC:_ZNSs6rbeginEv@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEm@@GLIBCXX_3.4
-FUNC:_ZNSs6resizeEmc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_copyEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7_M_dataEPc@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_leakEv@@GLIBCXX_3.4
-FUNC:_ZNSs7_M_moveEPcPKcm@@GLIBCXX_3.4.5
-FUNC:_ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKc@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmPKcm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSs@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmRKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSs7replaceEmmmc@@GLIBCXX_3.4
-FUNC:_ZNSs7reserveEm@@GLIBCXX_3.4
-FUNC:_ZNSs9_M_assignEPcmc@@GLIBCXX_3.4.5
-FUNC:_ZNSs9_M_assignEPcmc@GLIBCXX_3.4
-FUNC:_ZNSs9_M_mutateEmmm@@GLIBCXX_3.4
-FUNC:_ZNSs9push_backEc@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC1ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC1IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EPKcmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmm@@GLIBCXX_3.4
-FUNC:_ZNSsC2ERKSsmmRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2EmcRKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPKcEET_S2_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsC2IPcEET_S1_RKSaIcE@@GLIBCXX_3.4
-FUNC:_ZNSsD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSsD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSsaSEPKc@@GLIBCXX_3.4
-FUNC:_ZNSsaSERKSs@@GLIBCXX_3.4
-FUNC:_ZNSsaSEc@@GLIBCXX_3.4
-FUNC:_ZNSsixEm@@GLIBCXX_3.4
-FUNC:_ZNSspLEPKc@@GLIBCXX_3.4
-FUNC:_ZNSspLERKSs@@GLIBCXX_3.4
-FUNC:_ZNSspLEc@@GLIBCXX_3.4
-FUNC:_ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10bad_typeidD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC1EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPc@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamC2EPcl@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10istrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10money_base20_S_construct_patternEccc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10moneypunctIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt10ostrstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11__timepunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@@GLIBCXX_3.4.5
-FUNC:_ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11logic_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt11range_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE2fdEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4fileEv@@GLIBCXX_3.4.1
-FUNC:_ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12__basic_fileIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12ctype_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12domain_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12length_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12out_of_rangeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7_M_freeEPc@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_allocEm@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8_M_setupEPcS0_l@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambuf9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC1El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPFPvmEPFvS0_E@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKal@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPKhl@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPalS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPclS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2EPhlS0_@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufC2El@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt12strstreambufD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13bad_exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
-FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt13runtime_errorD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14collate_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt14overflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4hookEPS_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base4swapERS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base6unhookEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base7reverseEv@@GLIBCXX_3.4
-FUNC:_ZNSt15_List_node_base8transferEPS_S0_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15messages_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15numpunct_bynameIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt15underflow_errorD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16__numpunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17__timepunct_cacheIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt17moneypunct_bynameIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIcLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb0EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18__moneypunct_cacheIwLb1EED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@@GLIBCXX_3.4.5
-FUNC:_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcE13classic_tableEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC1EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EP15__locale_structPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcEC2EPKtbm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwE19_M_initialize_ctypeEv@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2EPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2ERKS0_m@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale5facetD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6locale6globalERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6locale7classicEv@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPKc@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2EPNS_5_ImplE@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_PKci@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2ERKS_S1_i@@GLIBCXX_3.4
-FUNC:_ZNSt6localeC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt6localeaSERKS_@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIcc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7codecvtIwc11__mbstate_tED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7collateIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base4InitD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base6xallocEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7_M_initEv@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC1ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureC2ERKSs@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_base7failureD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2EP15__locale_structPKcm@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8messagesIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIcED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EP15__locale_structm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8numpunctIwED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2ERKS0_@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9exceptionD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream3strEv@@GLIBCXX_3.4
-FUNC:_ZNSt9strstream6freezeEb@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2EPciSt13_Ios_Openmode@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamC2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9strstreamD2Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD0Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD1Ev@@GLIBCXX_3.4
-FUNC:_ZNSt9type_infoD2Ev@@GLIBCXX_3.4
-FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
-FUNC:_ZSt13set_terminatePFvvE@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
-FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
-FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
-FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
-FUNC:_ZSt18__throw_bad_typeidv@@GLIBCXX_3.4
-FUNC:_ZSt18uncaught_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_ios_failurePKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt19__throw_range_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@@GLIBCXX_3.4
-FUNC:_ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_domain_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
-FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
-FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4
-FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4
-FUNC:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@@GLIBCXX_3.4
-FUNC:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt5ctypeIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7collateIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8messagesIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIcEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8numpunctIwEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9terminatev@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7collateIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@@GLIBCXX_3.4
-FUNC:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@@GLIBCXX_3.4
-FUNC:_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@@GLIBCXX_3.4
-FUNC:_ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@@GLIBCXX_3.4
-FUNC:_ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@@GLIBCXX_3.4
-FUNC:_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZThn16_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSdD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSiD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSoD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10istrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt10ostrstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD0Ev@@GLIBCXX_3.4
-FUNC:_ZTv0_n24_NSt9strstreamD1Ev@@GLIBCXX_3.4
-FUNC:_ZdaPv@@GLIBCXX_3.4
-FUNC:_ZdaPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_ZdlPv@@GLIBCXX_3.4
-FUNC:_ZdlPvRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znam@@GLIBCXX_3.4
-FUNC:_ZnamRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:_Znwm@@GLIBCXX_3.4
-FUNC:_ZnwmRKSt9nothrow_t@@GLIBCXX_3.4
-FUNC:__cxa_allocate_exception@@CXXABI_1.3
-FUNC:__cxa_bad_cast@@CXXABI_1.3
-FUNC:__cxa_bad_typeid@@CXXABI_1.3
-FUNC:__cxa_begin_catch@@CXXABI_1.3
-FUNC:__cxa_call_unexpected@@CXXABI_1.3
-FUNC:__cxa_current_exception_type@@CXXABI_1.3
-FUNC:__cxa_demangle@@CXXABI_1.3
-FUNC:__cxa_end_catch@@CXXABI_1.3
-FUNC:__cxa_free_exception@@CXXABI_1.3
-FUNC:__cxa_get_exception_ptr@@CXXABI_1.3.1
-FUNC:__cxa_get_globals@@CXXABI_1.3
-FUNC:__cxa_get_globals_fast@@CXXABI_1.3
-FUNC:__cxa_guard_abort@@CXXABI_1.3
-FUNC:__cxa_guard_acquire@@CXXABI_1.3
-FUNC:__cxa_guard_release@@CXXABI_1.3
-FUNC:__cxa_pure_virtual@@CXXABI_1.3
-FUNC:__cxa_rethrow@@CXXABI_1.3
-FUNC:__cxa_throw@@CXXABI_1.3
-FUNC:__cxa_vec_cctor@@CXXABI_1.3
-FUNC:__cxa_vec_cleanup@@CXXABI_1.3
-FUNC:__cxa_vec_ctor@@CXXABI_1.3
-FUNC:__cxa_vec_delete2@@CXXABI_1.3
-FUNC:__cxa_vec_delete3@@CXXABI_1.3
-FUNC:__cxa_vec_delete@@CXXABI_1.3
-FUNC:__cxa_vec_dtor@@CXXABI_1.3
-FUNC:__cxa_vec_new2@@CXXABI_1.3
-FUNC:__cxa_vec_new3@@CXXABI_1.3
-FUNC:__cxa_vec_new@@CXXABI_1.3
-FUNC:__dynamic_cast@@CXXABI_1.3
-FUNC:__gxx_personality_v0@@CXXABI_1.3
-OBJECT:0:CXXABI_1.3
-OBJECT:0:CXXABI_1.3.1
-OBJECT:0:GLIBCXX_3.4
-OBJECT:0:GLIBCXX_3.4.1
-OBJECT:0:GLIBCXX_3.4.2
-OBJECT:0:GLIBCXX_3.4.3
-OBJECT:0:GLIBCXX_3.4.4
-OBJECT:0:GLIBCXX_3.4.5
-OBJECT:104:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSd@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:120:_ZTVSt9strstream@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:128:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
-OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
-OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
-OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ctype_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10istrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10money_base@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt10ostrstream@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt12codecvt_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt13messages_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTISt8ios_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9exception@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9time_base@@GLIBCXX_3.4
-OBJECT:16:_ZTISt9type_info@@GLIBCXX_3.4
-OBJECT:16:_ZTIa@@CXXABI_1.3
-OBJECT:16:_ZTIb@@CXXABI_1.3
-OBJECT:16:_ZTIc@@CXXABI_1.3
-OBJECT:16:_ZTId@@CXXABI_1.3
-OBJECT:16:_ZTIe@@CXXABI_1.3
-OBJECT:16:_ZTIf@@CXXABI_1.3
-OBJECT:16:_ZTIh@@CXXABI_1.3
-OBJECT:16:_ZTIi@@CXXABI_1.3
-OBJECT:16:_ZTIj@@CXXABI_1.3
-OBJECT:16:_ZTIl@@CXXABI_1.3
-OBJECT:16:_ZTIm@@CXXABI_1.3
-OBJECT:16:_ZTIs@@CXXABI_1.3
-OBJECT:16:_ZTIt@@CXXABI_1.3
-OBJECT:16:_ZTIv@@CXXABI_1.3
-OBJECT:16:_ZTIw@@CXXABI_1.3
-OBJECT:16:_ZTIx@@CXXABI_1.3
-OBJECT:16:_ZTIy@@CXXABI_1.3
-OBJECT:16:_ZTSSt11logic_error@@GLIBCXX_3.4
-OBJECT:16:_ZTSSt11range_error@@GLIBCXX_3.4
-OBJECT:16:_ZTTSi@@GLIBCXX_3.4
-OBJECT:16:_ZTTSo@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:16:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12codecvt_base@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12domain_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12length_error@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12out_of_range@@GLIBCXX_3.4
-OBJECT:17:_ZTSSt12strstreambuf@@GLIBCXX_3.4
-OBJECT:18:_ZTSNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13bad_exception@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13messages_base@@GLIBCXX_3.4
-OBJECT:18:_ZTSSt13runtime_error@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:19:_ZTSSt14overflow_error@@GLIBCXX_3.4
-OBJECT:1:_ZNSs4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt10moneypunctIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIaE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIbE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIcE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIdE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIeE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIhE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIiE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIjE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIlE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsImE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIsE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIwE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIxE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt14numeric_limitsIyE9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIcLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb0EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt17moneypunct_bynameIwLb1EE4intlE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_boundedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base10is_integerE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base12has_infinityE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base13has_quiet_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base14is_specializedE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15has_denorm_lossE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base15tinyness_beforeE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base17has_signaling_NaNE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base5trapsE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base8is_exactE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_iec559E@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_moduloE@@GLIBCXX_3.4
-OBJECT:1:_ZNSt21__numeric_limits_base9is_signedE@@GLIBCXX_3.4
-OBJECT:1:_ZSt7nothrow@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:20:_ZTSSt15underflow_error@@GLIBCXX_3.4
-OBJECT:21:_ZTSSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:22:_ZTSNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:22:_ZTSSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:23:_ZTSSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10bad_typeid@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10istrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt10ostrstream@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11logic_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt11range_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12ctype_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12domain_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12length_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12out_of_range@@GLIBCXX_3.4
-OBJECT:24:_ZTISt12strstreambuf@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13bad_exception@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt13runtime_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt14overflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt15underflow_error@@GLIBCXX_3.4
-OBJECT:24:_ZTISt16invalid_argument@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt5ctypeIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7collateIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8bad_cast@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9bad_alloc@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:24:_ZTISt9strstream@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt4clog@@GLIBCXX_3.4
-OBJECT:272:_ZSt4cout@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcerr@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wclog@@GLIBCXX_3.4
-OBJECT:272:_ZSt5wcout@@GLIBCXX_3.4
-OBJECT:280:_ZSt3cin@@GLIBCXX_3.4
-OBJECT:280:_ZSt4wcin@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIcLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:29:_ZTSSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alnumE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5alphaE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5cntrlE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5digitE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5graphE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5lowerE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5printE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5punctE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5spaceE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base5upperE@@GLIBCXX_3.4
-OBJECT:2:_ZNSt10ctype_base6xdigitE@@GLIBCXX_3.4
-OBJECT:2:_ZTSa@@CXXABI_1.3
-OBJECT:2:_ZTSb@@CXXABI_1.3
-OBJECT:2:_ZTSc@@CXXABI_1.3
-OBJECT:2:_ZTSd@@CXXABI_1.3
-OBJECT:2:_ZTSe@@CXXABI_1.3
-OBJECT:2:_ZTSf@@CXXABI_1.3
-OBJECT:2:_ZTSh@@CXXABI_1.3
-OBJECT:2:_ZTSi@@CXXABI_1.3
-OBJECT:2:_ZTSj@@CXXABI_1.3
-OBJECT:2:_ZTSl@@CXXABI_1.3
-OBJECT:2:_ZTSm@@CXXABI_1.3
-OBJECT:2:_ZTSs@@CXXABI_1.3
-OBJECT:2:_ZTSt@@CXXABI_1.3
-OBJECT:2:_ZTSv@@CXXABI_1.3
-OBJECT:2:_ZTSw@@CXXABI_1.3
-OBJECT:2:_ZTSx@@CXXABI_1.3
-OBJECT:2:_ZTSy@@CXXABI_1.3
-OBJECT:32:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4
-OBJECT:32:_ZTIPKa@@CXXABI_1.3
-OBJECT:32:_ZTIPKb@@CXXABI_1.3
-OBJECT:32:_ZTIPKc@@CXXABI_1.3
-OBJECT:32:_ZTIPKd@@CXXABI_1.3
-OBJECT:32:_ZTIPKe@@CXXABI_1.3
-OBJECT:32:_ZTIPKf@@CXXABI_1.3
-OBJECT:32:_ZTIPKh@@CXXABI_1.3
-OBJECT:32:_ZTIPKi@@CXXABI_1.3
-OBJECT:32:_ZTIPKj@@CXXABI_1.3
-OBJECT:32:_ZTIPKl@@CXXABI_1.3
-OBJECT:32:_ZTIPKm@@CXXABI_1.3
-OBJECT:32:_ZTIPKs@@CXXABI_1.3
-OBJECT:32:_ZTIPKt@@CXXABI_1.3
-OBJECT:32:_ZTIPKv@@CXXABI_1.3
-OBJECT:32:_ZTIPKw@@CXXABI_1.3
-OBJECT:32:_ZTIPKx@@CXXABI_1.3
-OBJECT:32:_ZTIPKy@@CXXABI_1.3
-OBJECT:32:_ZTIPa@@CXXABI_1.3
-OBJECT:32:_ZTIPb@@CXXABI_1.3
-OBJECT:32:_ZTIPc@@CXXABI_1.3
-OBJECT:32:_ZTIPd@@CXXABI_1.3
-OBJECT:32:_ZTIPe@@CXXABI_1.3
-OBJECT:32:_ZTIPf@@CXXABI_1.3
-OBJECT:32:_ZTIPh@@CXXABI_1.3
-OBJECT:32:_ZTIPi@@CXXABI_1.3
-OBJECT:32:_ZTIPj@@CXXABI_1.3
-OBJECT:32:_ZTIPl@@CXXABI_1.3
-OBJECT:32:_ZTIPm@@CXXABI_1.3
-OBJECT:32:_ZTIPs@@CXXABI_1.3
-OBJECT:32:_ZTIPt@@CXXABI_1.3
-OBJECT:32:_ZTIPv@@CXXABI_1.3
-OBJECT:32:_ZTIPw@@CXXABI_1.3
-OBJECT:32:_ZTIPx@@CXXABI_1.3
-OBJECT:32:_ZTIPy@@CXXABI_1.3
-OBJECT:32:_ZTTSt10istrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt10ostrstream@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVNSt6locale5facetE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIcE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt11__timepunctIwE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt8ios_base@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:32:_ZTVSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:33:_ZTSN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:34:_ZTSSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:34:_ZTSSt9basic_iosIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:36:_ZTSN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:36:_ZTSSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:36:_ZTSSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:37:_ZTSN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:37:_ZTSN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:38:_ZTSN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:39:_ZTSSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_filebufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:39:_ZTSSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:3:_ZTSPa@@CXXABI_1.3
-OBJECT:3:_ZTSPb@@CXXABI_1.3
-OBJECT:3:_ZTSPc@@CXXABI_1.3
-OBJECT:3:_ZTSPd@@CXXABI_1.3
-OBJECT:3:_ZTSPe@@CXXABI_1.3
-OBJECT:3:_ZTSPf@@CXXABI_1.3
-OBJECT:3:_ZTSPh@@CXXABI_1.3
-OBJECT:3:_ZTSPi@@CXXABI_1.3
-OBJECT:3:_ZTSPj@@CXXABI_1.3
-OBJECT:3:_ZTSPl@@CXXABI_1.3
-OBJECT:3:_ZTSPm@@CXXABI_1.3
-OBJECT:3:_ZTSPs@@CXXABI_1.3
-OBJECT:3:_ZTSPt@@CXXABI_1.3
-OBJECT:3:_ZTSPv@@CXXABI_1.3
-OBJECT:3:_ZTSPw@@CXXABI_1.3
-OBJECT:3:_ZTSPx@@CXXABI_1.3
-OBJECT:3:_ZTSPy@@CXXABI_1.3
-OBJECT:3:_ZTSSd@@GLIBCXX_3.4
-OBJECT:3:_ZTSSi@@GLIBCXX_3.4
-OBJECT:3:_ZTSSo@@GLIBCXX_3.4
-OBJECT:40:_ZTISi@@GLIBCXX_3.4
-OBJECT:40:_ZTISo@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTISt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:40:_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:40:_ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVNSt8ios_base7failureE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt10bad_typeid@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11logic_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt11range_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12domain_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12length_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt12out_of_range@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13bad_exception@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt13runtime_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt14overflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt15underflow_error@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt16invalid_argument@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8bad_cast@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9bad_alloc@@GLIBCXX_3.4
-OBJECT:40:_ZTVSt9exception@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:41:_ZTSSt15basic_streambufIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:45:_ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:46:_ZTSN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:46:_ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:46:_ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:48:_ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:49:_ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:4:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt10money_base18_S_default_patternE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIaE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIbE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIcE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIdE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIeE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIhE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIiE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIjE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIlE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsImE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIsE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIwE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIxE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base12min_exponentE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14max_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base14min_exponent10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base5radixE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base6digitsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt21__numeric_limits_base8digits10E@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale3allE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4noneE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale4timeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale5ctypeE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7collateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale7numericE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8messagesE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt6locale8monetaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10floatfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base10scientificE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base11adjustfieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base2inE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3appE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3ateE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3begE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3curE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3decE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3endE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3hexE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3octE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base3outE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base4leftE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5fixedE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5rightE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base5truncE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6badbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6binaryE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6eofbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base6skipwsE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7failbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7goodbitE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7showposE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base7unitbufE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8internalE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base8showbaseE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9basefieldE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9boolalphaE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9showpointE@@GLIBCXX_3.4
-OBJECT:4:_ZNSt8ios_base9uppercaseE@@GLIBCXX_3.4
-OBJECT:4:_ZTSPKa@@CXXABI_1.3
-OBJECT:4:_ZTSPKb@@CXXABI_1.3
-OBJECT:4:_ZTSPKc@@CXXABI_1.3
-OBJECT:4:_ZTSPKd@@CXXABI_1.3
-OBJECT:4:_ZTSPKe@@CXXABI_1.3
-OBJECT:4:_ZTSPKf@@CXXABI_1.3
-OBJECT:4:_ZTSPKh@@CXXABI_1.3
-OBJECT:4:_ZTSPKi@@CXXABI_1.3
-OBJECT:4:_ZTSPKj@@CXXABI_1.3
-OBJECT:4:_ZTSPKl@@CXXABI_1.3
-OBJECT:4:_ZTSPKm@@CXXABI_1.3
-OBJECT:4:_ZTSPKs@@CXXABI_1.3
-OBJECT:4:_ZTSPKt@@CXXABI_1.3
-OBJECT:4:_ZTSPKv@@CXXABI_1.3
-OBJECT:4:_ZTSPKw@@CXXABI_1.3
-OBJECT:4:_ZTSPKx@@CXXABI_1.3
-OBJECT:4:_ZTSPKy@@CXXABI_1.3
-OBJECT:50:_ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:54:_ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISd@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIcLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb0EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt10moneypunctIwLb1EE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8messagesIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:56:_ZTTSd@@GLIBCXX_3.4
-OBJECT:56:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt15messages_bynameIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt7collateIwE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIcE@@GLIBCXX_3.4
-OBJECT:56:_ZTVSt8messagesIwE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:58:_ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:59:_ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:60:_ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
-OBJECT:64:_ZTVSt9type_info@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:72:_ZTVN10__cxxabiv117__pbase_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv119__pointer_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVN10__cxxabiv129__pointer_to_member_type_infoE@@CXXABI_1.3
-OBJECT:72:_ZTVSt15numpunct_bynameIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt15numpunct_bynameIwE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
-OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt13basic_fstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTTSt9strstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSi@@GLIBCXX_3.4
-OBJECT:80:_ZTVSo@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10istrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt10ostrstream@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:80:_ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
-OBJECT:88:_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv120__si_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3
-OBJECT:88:_ZTVSt14codecvt_bynameIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt14codecvt_bynameIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIcc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:88:_ZTVSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSbIwSt11char_traitsIwESaIwEE4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4_Rep11_S_max_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSs4nposE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base11_S_atoms_inE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10__num_base12_S_atoms_outE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10money_base8_S_atomsE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE10table_sizeE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt5ctypeIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIcc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7codecvtIwc11__mbstate_tE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7collateIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8messagesIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIcE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8numpunctIwE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
-OBJECT:8:_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt12ctype_bynameIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt5ctypeIcE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
-OBJECT:96:_ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
diff --git a/contrib/libstdc++/config/abi/pre/gnu-versioned-namespace.ver b/contrib/libstdc++/config/abi/pre/gnu-versioned-namespace.ver
deleted file mode 100644
index 3b9b475dcf16..000000000000
--- a/contrib/libstdc++/config/abi/pre/gnu-versioned-namespace.ver
+++ /dev/null
@@ -1,202 +0,0 @@
-## Linker script for GNU namespace versioning.
-##
-## Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-##
-## This file is part of the libstdc++ version 3 distribution.
-##
-## 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.
-
-GLIBCXX_3.7 {
-
- global:
-
- # Names inside the 'extern' block are demangled names.
- extern "C++"
- {
- std::_6::*;
- std::*
- };
-
- # operator new(size_t)
- _Znw[jm];
- # operator new(size_t, std::nothrow_t const&)
- _Znw[jm]RKSt9nothrow_t;
-
- # operator delete(void*)
- _ZdlPv;
- # operator delete(void*, std::nothrow_t const&)
- _ZdlPvRKSt9nothrow_t;
-
- # operator new[](size_t)
- _Zna[jm];
- # operator new[](size_t, std::nothrow_t const&)
- _Zna[jm]RKSt9nothrow_t;
-
- # operator delete[](void*)
- _ZdaPv;
- # operator delete[](void*, std::nothrow_t const&)
- _ZdaPvRKSt9nothrow_t;
-
- # function-scope static objects requires a guard variable.
- _ZGVNSt*;
-
- _ZTT*;
- _ZTV*;
-
- _ZTI*;
- _ZTS*;
-
- _ZTv0_n*;
-
- # std::__convert_to_v
- _ZNSt2_614__convert_to_v*;
-
- # std::__copy_streambufs
- _ZNSt2_617__copy_streambufsI[cw]NS_11char_traitsI[cw]EEEEiPNS_15basic_streambufIT_T0_EES7_;
-
- # __gnu_cxx::__atomic_add
- # __gnu_cxx::__exchange_and_add
- _ZN9__gnu_cxx2_612__atomic_addEPV[il][il];
- _ZN9__gnu_cxx2_618__exchange_and_addEPV[li][il];
-
- # __gnu_cxx::__pool
- _ZN9__gnu_cxx2_66__poolILb[01]EE13_M_initializeEv;
- _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reserve_blockE[jm][jm];
- _ZN9__gnu_cxx2_66__poolILb[01]EE16_M_reclaim_blockEPc[jm];
- _ZN9__gnu_cxx2_66__poolILb[01]EE10_M_destroyEv;
- _ZN9__gnu_cxx2_66__poolILb1EE16_M_get_thread_idEv;
-
- _ZN9__gnu_cxx2_617__pool_alloc_base9_M_refillE[jm];
- _ZN9__gnu_cxx2_617__pool_alloc_base16_M_get_free_listE[jm];
- _ZN9__gnu_cxx2_617__pool_alloc_base12_M_get_mutexEv;
-
- _ZN9__gnu_cxx2_69free_list6_M_getE[jm];
- _ZN9__gnu_cxx2_69free_list8_M_clearEv;
-
- local:
- *;
-};
-
-
-# Symbols in the support library (libsupc++) have their own tag.
-CXXABI_1.7 {
-
- global:
- __cxa_allocate_exception;
- __cxa_bad_cast;
- __cxa_bad_typeid;
- __cxa_begin_catch;
- __cxa_begin_cleanup;
- __cxa_call_unexpected;
- __cxa_current_exception_type;
- __cxa_demangle;
- __cxa_end_catch;
- __cxa_end_cleanup;
- __cxa_free_exception;
- __cxa_get_exception_ptr;
- __cxa_get_globals;
- __cxa_get_globals_fast;
- __cxa_guard_abort;
- __cxa_guard_acquire;
- __cxa_guard_release;
- __cxa_pure_virtual;
- __cxa_rethrow;
- __cxa_throw;
- __cxa_type_match;
- __cxa_vec_cctor;
- __cxa_vec_cleanup;
- __cxa_vec_ctor;
- __cxa_vec_delete2;
- __cxa_vec_delete3;
- __cxa_vec_delete;
- __cxa_vec_dtor;
- __cxa_vec_new2;
- __cxa_vec_new3;
- __cxa_vec_new;
- __gxx_personality_v0;
- __gxx_personality_sj0;
- __dynamic_cast;
-
- # *_type_info classes, ctor and dtor
- _ZN10__cxxabiv117__array_type_info*;
- _ZN10__cxxabiv117__class_type_info*;
- _ZN10__cxxabiv116__enum_type_info*;
- _ZN10__cxxabiv120__function_type_info*;
- _ZN10__cxxabiv123__fundamental_type_info*;
- _ZN10__cxxabiv117__pbase_type_info*;
- _ZN10__cxxabiv129__pointer_to_member_type_info*;
- _ZN10__cxxabiv119__pointer_type_info*;
- _ZN10__cxxabiv120__si_class_type_info*;
- _ZN10__cxxabiv121__vmi_class_type_info*;
-
- # *_type_info classes, member functions
- _ZNK10__cxxabiv117__class_type_info*;
- _ZNK10__cxxabiv120__function_type_info*;
- _ZNK10__cxxabiv117__pbase_type_info*;
- _ZNK10__cxxabiv129__pointer_to_member_type_info*;
- _ZNK10__cxxabiv119__pointer_type_info*;
- _ZNK10__cxxabiv120__si_class_type_info*;
- _ZNK10__cxxabiv121__vmi_class_type_info*;
-
- # virtual table
- _ZTVN10__cxxabiv117__array_type_infoE;
- _ZTVN10__cxxabiv117__class_type_infoE;
- _ZTVN10__cxxabiv116__enum_type_infoE;
- _ZTVN10__cxxabiv120__function_type_infoE;
- _ZTVN10__cxxabiv123__fundamental_type_infoE;
- _ZTVN10__cxxabiv117__pbase_type_infoE;
- _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
- _ZTVN10__cxxabiv119__pointer_type_infoE;
- _ZTVN10__cxxabiv120__si_class_type_infoE;
- _ZTVN10__cxxabiv121__vmi_class_type_infoE;
-
- # typeinfo structure (and some names)
- _ZTI[a-z];
- _ZTIP[a-z];
- _ZTIPK[a-z];
- _ZTIN10__cxxabiv117__array_type_infoE;
- _ZTIN10__cxxabiv117__class_type_infoE;
- _ZTIN10__cxxabiv116__enum_type_infoE;
- _ZTIN10__cxxabiv120__function_type_infoE;
- _ZTIN10__cxxabiv123__fundamental_type_infoE;
- _ZTIN10__cxxabiv117__pbase_type_infoE;
- _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
- _ZTIN10__cxxabiv119__pointer_type_infoE;
- _ZTIN10__cxxabiv120__si_class_type_infoE;
- _ZTIN10__cxxabiv121__vmi_class_type_infoE;
-
- # typeinfo name
- _ZTS[a-z];
- _ZTSP[a-z];
- _ZTSPK[a-z];
- _ZTSN10__cxxabiv117__array_type_infoE;
- _ZTSN10__cxxabiv117__class_type_infoE;
- _ZTSN10__cxxabiv116__enum_type_infoE;
- _ZTSN10__cxxabiv120__function_type_infoE;
- _ZTSN10__cxxabiv123__fundamental_type_infoE;
- _ZTSN10__cxxabiv117__pbase_type_infoE;
- _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
- _ZTSN10__cxxabiv119__pointer_type_infoE;
- _ZTSN10__cxxabiv120__si_class_type_infoE;
- _ZTSN10__cxxabiv121__vmi_class_type_infoE;
-
- # __gnu_cxx::_verbose_terminate_handler()
- _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv;
-
- local:
- *;
-};
diff --git a/contrib/libstdc++/config/abi/pre/gnu.ver b/contrib/libstdc++/config/abi/pre/gnu.ver
deleted file mode 100644
index 8625bff7dc9b..000000000000
--- a/contrib/libstdc++/config/abi/pre/gnu.ver
+++ /dev/null
@@ -1,776 +0,0 @@
-## Linker script for GNU versioning (GNU ld 2.13.91+ only.)
-##
-## Copyright (C) 2002, 2003, 2004, 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
-## 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.
-
-GLIBCXX_3.4 {
-
- global:
-
- # Names inside the 'extern' block are demangled names.
- extern "C++"
- {
- std::[A-Za]*;
-# std::ba[a-r]*;
- std::basic_[a-e]*;
- std::basic_f[a-r]*;
-# std::basic_fstream;
- std::basic_f[t-z]*;
- std::basic_[g-h]*;
- std::basic_i[a-e]*;
-# std::basic_ifstream;
- std::basic_i[g-r]*;
- std::basic_istr[a-d]*;
-# std::basic_istream;
- std::basic_istr[f-z]*;
- std::basic_i[t-z]*;
- std::basic_[j-n]*;
- std::basic_o[a-e]*;
-# std::basic_ofstream;
-# std::basic_o[g-z]*;
- std::basic_o[g-r]*;
- std::basic_ostr[a-d]*;
- std::basic_ostr[f-z]*;
- std::basic_[p-r]*;
- std::basic_streambuf*;
-# std::basic_string
-# std::basic_stringbuf
- std::basic_stringstream*;
- std::basic_[t-z]*;
- std::ba[t-z]*;
- std::b[b-z]*;
- std::c[a-g]*;
-# std::char_traits;
- std::c[i-z]*;
- std::[d-h]*;
- std::i[a-n]*;
- std::ios_base::[A-Ha-z]*;
- std::ios_base::_M_grow_words*;
- std::ios_base::_M_init*;
- std::ios_base::Init::[A-Za-z]*;
- std::ios_base::[J-Za-z]*;
- std::i[p-r]*;
-# std::istream
-# std::istreambuf_iterator
- std::istringstream*;
- std::istrstream*;
- std::i[t-z]*;
- std::[A-Zj-k]*;
- std::length_error*;
- std::logic_error*;
- std::locale::[A-Za-e]*;
- std::locale::facet::[A-Za-z]*;
- std::locale::facet::_S_get_c_locale*;
- std::locale::facet::_S_clone_c_locale*;
- std::locale::facet::_S_create_c_locale*;
- std::locale::facet::_S_destroy_c_locale*;
- std::locale::[A-Zg-h]*;
- std::locale::id::[A-Za-z]*;
- std::locale::id::_M_id*;
- std::locale::[A-Zj-z]*;
- std::locale::_[A-Ha-z]*;
- std::locale::_Impl::[A-Za-z]*;
-# std::locale::_Impl::_M_[A-Za-z]*;
- std::locale::_[J-Ra-z]*;
- std::locale::_S_normalize_category*;
- std::locale::_[T-Za-z]*;
-# std::[A-Zm-r]*;
- std::[A-Zm]*;
- std::n[^u]*;
- std::nu[^m]*;
- std::num[^e]*;
- std::[p-r]*;
- std::ostrstream*;
- std::out_of_range*;
- std::overflow_error*;
- std::set_new_handler*;
- std::set_terminate*;
- std::set_unexpected*;
-# std::string
- std::strstream*;
- std::strstreambuf*;
- std::[A-Zt-z]*;
- std::_List_node_base::hook*;
- std::_List_node_base::swap*;
- std::_List_node_base::unhook*;
- std::_List_node_base::reverse*;
- std::_List_node_base::transfer*;
- std::__throw_*;
- std::__timepunct*;
- std::__numeric_limits_base*;
- std::__num_base::_S_format_float*;
- std::__num_base::_S_format_int*;
- std::__num_base::_S_atoms_in;
- std::__num_base::_S_atoms_out;
- std::__moneypunct_cache*;
- std::__numpunct_cache*;
- std::__timepunct_cache*;
- __gnu_debug::_Error_formatter*;
- };
-
- # Names not in an 'extern' block are mangled names.
-
- # __gnu_debug::_Safe_sequence_base and _Safe_iterator_base
- _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
- _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
- _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
- _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
- _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
- _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
- _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
- _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
-
- # std::string
- _ZNSsC*;
- _ZNSsD*;
- _ZNSs[0-9][a-z]*;
- _ZNSs12_Alloc_hiderC*;
- _ZNSs12_M_leak_hardEv;
- _ZNSs12_S_constructE[jm]cRKSaIcE;
- _ZNSs12_S_empty_repEv;
- _ZNSs13_S_copy_chars*;
- _ZNSs[0-9][0-9]_M_replace*;
- _ZNSs4_Rep10_M_destroy*;
- _ZNSs4_Rep10_M_dispose*;
- _ZNSs4_Rep10_M_refcopyEv;
- _ZNSs4_Rep10_M_refdataEv;
- _ZNSs4_Rep12_S_empty_repEv;
- _ZNSs4_Rep13_M_set_leakedEv;
- _ZNSs4_Rep15_M_set_sharableEv;
- _ZNSs4_Rep7_M_grab*;
- _ZNSs4_Rep8_M_clone*;
- _ZNSs4_Rep9_S_createE[jm][jm]*;
- _ZNSs7_M_dataEPc;
- _ZNSs7_M_leakEv;
- _ZNSs9_M_mutateE[jm][jm][jm];
- _ZNSs4_Rep20_S_empty_rep_storageE;
- _ZNSs4_Rep11_S_max_sizeE;
- _ZNSs4_Rep11_S_terminalE;
- _ZNSsaSE*;
- _ZNSsixE*;
- _ZNSspLE*;
- _ZNKSs[0-9][a-z]*;
- _ZNKSs[0-9][0-9][a-z]*;
- _ZNKSs[a-z]*;
- _ZNKSs4_Rep12_M_is_leakedEv;
- _ZNKSs4_Rep12_M_is_sharedEv;
- _ZNKSs6_M_repEv;
- _ZNKSs7_M_dataEv;
- _ZNKSs7_M_iendEv;
- _ZNKSs8_M_check*;
- _ZNKSs8_M_limit*;
- _ZNKSs9_M_ibeginEv;
- _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_E*;
-
- # std::wstring
- _ZNSbIwSt11char_traitsIwESaIwEEC*;
- _ZNSbIwSt11char_traitsIwESaIwEED*;
- _ZNSbIwSt11char_traitsIwESaIwEE[0-9][a-z]*;
- _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC*;
- _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv;
- _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jm]wRKS1_;
- _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv;
- _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*;
- _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_M_replace*;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroy*;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_dispose*;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grab*;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_clone*;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createE[jm][jm]*;
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw;
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv;
- _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateE[jm][jm][jm];
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE;
- _ZNSbIwSt11char_traitsIwESaIwEEaSE*;
- _ZNSbIwSt11char_traitsIwESaIwEEixE*;
- _ZNSbIwSt11char_traitsIwESaIwEEpLE*;
- _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][a-z]*;
- _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][0-9][a-z]*;
- _ZNKSbIwSt11char_traitsIwESaIwEE[a-z]*;
- _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv;
- _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv;
- _ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv;
- _ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv;
- _ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv;
- _ZNKSbIwSt11char_traitsIwESaIwEE8_M_check*;
- _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limit*;
- _ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv;
- _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_E*;
-
- # std::basic_stringbuf
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[CD]*;
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][a-r]*;
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]seek*;
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]set*;
- _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv;
- _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv;
- _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs;
- _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E;
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][t-z]*;
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]_M_[a-z]*;
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][0-9]_M_[a-z]*;
-
-
- # std::basic_iostream constructors, destructors
- _ZNSdC*;
- _ZNSdD*;
-
- # std::basic_fstream
- _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC*;
- _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EED*;
- _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5closeEv;
- _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
- _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4open*;
- _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
-
- # std::basic_ifstream
- _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC*;
- _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EED*;
- _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5closeEv;
- _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
- _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4open*;
- _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
-
- # std::basic_ofstream
- _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC*;
- _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EED*;
- _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5closeEv;
- _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
- _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4open*;
- _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
-
- # std::basic_istream<char>
- _ZNSiC*;
- _ZNSiD*;
- _ZNKSi[0-9][a-z]*;
- _ZNSi[0-9][a-h]*;
- _ZNSi[0-9][j-z]*;
- _ZNSi6ignoreE[il][il];
- _ZNSirsE*[^g];
-
- # std::basic_istream<wchar_t>
- _ZNSt13basic_istreamIwSt11char_traitsIwEEC*;
- _ZNSt13basic_istreamIwSt11char_traitsIwEED*;
- _ZNKSt13basic_istreamIwSt11char_traitsIwEE[0-9][a-z]*;
- _ZNSt13basic_istreamIwSt11char_traitsIwEE[0-9][a-h]*;
- _ZNSt13basic_istreamIwSt11char_traitsIwEE[0-9][j-z]*;
- _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][ijlm];
- _ZNSt13basic_istreamIwSt11char_traitsIwEErsE*[^g];
-
- # std::istream operators and extractors
- _ZSt7getlineI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istream*;
- _ZSt2wsI[cw]St11char_traitsI[cw]EE*;
- _ZStrsI[cw]St11char_traitsI[cw]EERSt13basic_istream*;
- _ZStrsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istream*;
- _ZStrsISt11char_traitsI[cw]EERSt13basic_istream*;
- _ZStrsId[cw]St11char_traitsI[cw]EERSt13basic_istream*;
- _ZStrsIe[cw]St11char_traitsI[cw]EERSt13basic_istream*;
- _ZStrsIf[cw]St11char_traitsI[cw]EERSt13basic_istream*;
-
- # std::basic_ostream<char>
- _ZNSoC*;
- _ZNSoD*;
- _ZNKSo6sentrycvbEv;
- _ZNSo8_M_writeEPKc[il];
- _ZNSo[0-9][a-z]*;
- _ZNSolsE*[^g];
-
- # std::basic_ostream<wchar_t>
- _ZNSt13basic_ostreamIwSt11char_traitsIwEEC*;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEED*;
- _ZNKSt13basic_ostreamIwSt11char_traitsIwEE[0-9][a-z]*;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpE*;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKw*;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentry*;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKw[il];
- _ZNSt13basic_ostreamIwSt11char_traitsIwEElsE*[^g];
-
- # std::ostream operators and inserters
- _ZSt4end[ls]I[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
- _ZSt5flushI[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
- _ZStlsI[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
- _ZStlsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_ostream*;
- _ZStlsISt11char_traitsI[cw]EERSt13basic_ostream*;
- _ZStlsId[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
- _ZStlsIe[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
- _ZStlsIf[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
-
- # std::locale destructors
- _ZNSt6localeD*;
-
- # std::locale::facet destructors
- _ZNSt6locale5facetD*;
-
- # std::locale::_Impl constructors, destructors
- _ZNSt6locale5_ImplC*;
- _ZNSt6locale5_ImplD*;
-
- # std::ios_base, std::ios_base::Init destructors
- _ZNSt8ios_baseD*;
- _ZNSt8ios_base4InitD*;
-
- # bool std::has_facet
- _ZSt9has_facetIS*;
-
- # std::num_get
- _ZNKSt7num_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
-
- # std::num_put
- _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
-
- # std::money_get
- _ZNKSt9money_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
-
- # std::money_put
- _ZNKSt9money_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
-
- # std::numeric_limits
- _ZNSt14numeric_limitsI[^g]*;
-
- # std::_Rb_tree
- _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base;
- _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base;
- _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base;
- _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base;
- _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_;
- _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_;
- _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_;
- _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_;
- _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_;
-
- # std::__basic_file
- _ZNKSt12__basic_fileIcE7is_openEv;
- _ZNSt12__basic_fileIcE2fdEv;
- _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei;
- _ZNSt12__basic_fileIcE4syncEv;
- _ZNSt12__basic_fileIcE5closeEv;
- _ZNSt12__basic_fileIcE6xsgetn*;
- _ZNSt12__basic_fileIcE6xsputn*;
- _ZNSt12__basic_fileIcE7seekoff*;
- _ZNSt12__basic_fileIcE8sys_openE*St13_Ios_Openmode;
- _ZNSt12__basic_fileIcE8xsputn_2*;
- _ZNSt12__basic_fileIcE9showmanycEv;
- _ZNSt12__basic_fileIcEC*;
- _ZNSt12__basic_fileIcED*;
-
- # std::__convert_to_v
- _ZSt14__convert_to_vI[^g]*;
-
- # __gnu_cxx::stdio_sync_filebuf
- _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
-
- # __gnu_cxx::__atomic_add
- # __gnu_cxx::__exchange_and_add
- _ZN9__gnu_cxx12__atomic_addEPV[il]i;
- _ZN9__gnu_cxx18__exchange_and_addEPV[il]i;
-
- # debug mode
- _ZN10__gnu_norm15_List_node_base4hook*;
- _ZN10__gnu_norm15_List_node_base4swap*;
- _ZN10__gnu_norm15_List_node_base6unhookEv;
- _ZN10__gnu_norm15_List_node_base7reverseEv;
- _ZN10__gnu_norm15_List_node_base8transfer*;
-
- # operator new(size_t)
- _Znw[jm];
- # operator new(size_t, std::nothrow_t const&)
- _Znw[jm]RKSt9nothrow_t;
-
- # operator delete(void*)
- _ZdlPv;
- # operator delete(void*, std::nothrow_t const&)
- _ZdlPvRKSt9nothrow_t;
-
- # operator new[](size_t)
- _Zna[jm];
- # operator new[](size_t, std::nothrow_t const&)
- _Zna[jm]RKSt9nothrow_t;
-
- # operator delete[](void*)
- _ZdaPv;
- # operator delete[](void*, std::nothrow_t const&)
- _ZdaPvRKSt9nothrow_t;
-
- # virtual table
- _ZTVNSt8ios_base7failureE;
- _ZTVNSt6locale5facetE;
- _ZTVS[a-z];
- _ZTVSt[0-9][A-Za-z]*;
- _ZTVSt[0-9][0-9][A-Za-z]*;
- _ZTVSt11__timepunctI[cw]E;
- _ZTVSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
- _ZTVSt21__ctype_abstract_baseI[cw]E;
-
- # VTT structure
- _ZTTS[a-z];
- _ZTTSt[0-9][A-Za-z]*;
- _ZTTSt[0-9][0-9][A-Za-z]*;
-
- # typeinfo structure
- _ZTIS[a-z];
- _ZTINSt8ios_base7failureE;
- _ZTINSt6locale5facetE;
- _ZTISt[0-9][A-Za-z]*;
- _ZTISt[0-9][0-9][A-Za-z]*;
- _ZTISt11__timepunctI[cw]E;
- _ZTISt10__num_base;
- _ZTISt21__ctype_abstract_baseI[cw]E;
- _ZTISt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
- _ZTIN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
- _ZTIN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
-
- # typeinfo name
- _ZTSNSt8ios_base7failureE;
- _ZTSNSt6locale5facetE;
- _ZTSS[a-z];
- _ZTSSt[0-9][A-Za-z]*;
- _ZTSSt[0-9][0-9][A-Za-z]*;
- _ZTSSt11__timepunctI[cw]E;
- _ZTSSt10__num_base;
- _ZTSSt21__ctype_abstract_baseI[cw]E;
- _ZTSSt23__codecvt_abstract_baseI[cw]c11__mbstate_tE;
- _ZTSN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
- _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
-
- # std::bad_alloc::~bad_alloc, std::bad_cast::~bad_cast,
- # std::bad_typeid::~bad_typeid, std::bad_exception::~bad_exception
- _ZNSt9bad_allocD*;
- _ZNSt8bad_castD*;
- _ZNSt10bad_typeidD*;
- _ZNSt13bad_exceptionD*;
-
- # function-scope static objects requires a guard variable.
- _ZGVNSt[^1]*;
- _ZGVNSt1[^7]*;
-
- # virtual function thunks
- _ZThn8_NS*;
- _ZThn16_NS*;
- _ZTv0_n12_NS*;
- _ZTv0_n24_NS*;
-
- # stub functions from libmath
- sinf;
- sinl;
- sinhf;
- sinhl;
- cosf;
- cosl;
- coshf;
- coshl;
- tanf;
- tanl;
- tanhf;
- tanhl;
- atan2f;
- atan2l;
- expf;
- expl;
- hypotf;
- hypotl;
- hypot;
- logf;
- logl;
- log10f;
- log10l;
- powf;
- powl;
- sqrtf;
- sqrtl;
- copysignf;
- __signbit;
- __signbitf;
- __signbitl;
-
- # GLIBCXX_ABI compatibility only.
- # std::string
- _ZNKSs11_M_disjunctEPKc;
- _ZNKSs15_M_check_lengthE[jm][jm]PKc;
- _ZNSs4_Rep26_M_set_length_and_sharableE*;
- _ZNSs7_M_copyEPcPKc[jm];
- _ZNSs7_M_moveEPcPKc[jm];
- _ZNSs9_M_assignEPc[jm]c;
-
- # std::wstring
- _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw;
- _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jm][jm]PKc;
- _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*;
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jm];
- _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKw[jm];
- _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPw[jm]w;
-
- _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
- _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
- _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
-
- _ZNSi6ignoreE[ilv];
- _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[ilv];
-
- _ZNSt11char_traitsI[cw]E2eqERK[cw]S2_;
-
- _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv;
-
- # std::locale::Impl _M_ members
- _ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE;
- _ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE;
- _ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE;
- _ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i;
-
- # DO NOT DELETE THIS LINE. Port-specific symbols, if any, will be here.
-
- local:
- *;
-};
-
-GLIBCXX_3.4.1 {
-
- _ZNSt12__basic_fileIcE4fileEv;
-
-} GLIBCXX_3.4;
-
-GLIBCXX_3.4.2 {
-
- _ZN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EE4fileEv;
-
- _ZN9__gnu_cxx17__pool_alloc_base9_M_refillE[jm];
- _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listE[jm];
- _ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv;
-
-} GLIBCXX_3.4.1;
-
-GLIBCXX_3.4.3 {
-
- # stub functions from libmath
- acosf;
- acosl;
- asinf;
- asinl;
- atanf;
- atanl;
- ceilf;
- ceill;
- floorf;
- floorl;
- fmodf;
- fmodl;
- frexpf;
- frexpl;
- ldexpf;
- ldexpl;
- modff;
- modfl;
-
-} GLIBCXX_3.4.2;
-
-GLIBCXX_3.4.4 {
-
- _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv;
- _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE;
- _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv;
- _ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv;
- _ZN9__gnu_cxx6__poolILb[01]EE16_M_reserve_blockE[jm][jm];
- _ZN9__gnu_cxx6__poolILb[01]EE16_M_reclaim_blockEPc[jm];
- _ZN9__gnu_cxx6__poolILb[01]EE10_M_destroyEv;
-
- _ZN9__gnu_cxx9free_list6_M_getE*;
- _ZN9__gnu_cxx9free_list8_M_clearEv;
-
-} GLIBCXX_3.4.3;
-
-GLIBCXX_3.4.5 {
-} GLIBCXX_3.4.4;
-
-GLIBCXX_3.4.6 {
-
- _ZSt17__copy_streambufsI[cw]St11char_traitsI[cw]EEiPSt15basic_streambuf*;
- _ZNSt8ios_base17_M_call_callbacksENS_5eventE;
- _ZNSt8ios_base20_M_dispose_callbacksEv;
- _ZNSt6locale5facet13_S_get_c_nameEv;
-
- _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE9showmanycEv;
-
- _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv;
-
-} GLIBCXX_3.4.5;
-
-GLIBCXX_3.4.7 {
-
- _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetE[jm];
-
-} GLIBCXX_3.4.6;
-
-GLIBCXX_3.4.8 {
-
- _ZSt17__copy_streambufsI[cw]St11char_traitsI[cw]EElPSt15basic_streambuf*;
-
-} GLIBCXX_3.4.7;
-
-GLIBCXX_3.4.9 {
-
- _ZNSt6__norm15_List_node_base4hook*;
- _ZNSt6__norm15_List_node_base4swap*;
- _ZNSt6__norm15_List_node_base6unhookEv;
- _ZNSt6__norm15_List_node_base7reverseEv;
- _ZNSt6__norm15_List_node_base8transfer*;
-
- _ZNSo9_M_insertI[^g]*;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertI[^g]*;
- _ZNSi10_M_extractI[^g]*;
- _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractI[^g]*;
-
- _ZSt21__copy_streambufs_eofI[cw]St11char_traitsI[cw]EE[il]PSt15basic_streambuf*;
-
- _ZSt16__ostream_insert*;
-
- _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
- _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
- _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
- _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
-
- _ZNKSt9bad_alloc4whatEv;
- _ZNKSt8bad_cast4whatEv;
- _ZNKSt10bad_typeid4whatEv;
- _ZNKSt13bad_exception4whatEv;
-
-} GLIBCXX_3.4.8;
-
-
-# Symbols in the support library (libsupc++) have their own tag.
-CXXABI_1.3 {
-
- global:
- __cxa_allocate_exception;
- __cxa_bad_cast;
- __cxa_bad_typeid;
- __cxa_begin_catch;
- __cxa_begin_cleanup;
- __cxa_call_unexpected;
- __cxa_current_exception_type;
- __cxa_demangle;
- __cxa_end_catch;
- __cxa_end_cleanup;
- __cxa_free_exception;
- __cxa_get_globals;
- __cxa_get_globals_fast;
- __cxa_guard_abort;
- __cxa_guard_acquire;
- __cxa_guard_release;
- __cxa_pure_virtual;
- __cxa_rethrow;
- __cxa_throw;
- __cxa_type_match;
- __cxa_vec_cctor;
- __cxa_vec_cleanup;
- __cxa_vec_ctor;
- __cxa_vec_delete2;
- __cxa_vec_delete3;
- __cxa_vec_delete;
- __cxa_vec_dtor;
- __cxa_vec_new2;
- __cxa_vec_new3;
- __cxa_vec_new;
- __gxx_personality_v0;
- __gxx_personality_sj0;
- __dynamic_cast;
-
- # *_type_info classes, ctor and dtor
- _ZN10__cxxabiv117__array_type_info*;
- _ZN10__cxxabiv117__class_type_info*;
- _ZN10__cxxabiv116__enum_type_info*;
- _ZN10__cxxabiv120__function_type_info*;
- _ZN10__cxxabiv123__fundamental_type_info*;
- _ZN10__cxxabiv117__pbase_type_info*;
- _ZN10__cxxabiv129__pointer_to_member_type_info*;
- _ZN10__cxxabiv119__pointer_type_info*;
- _ZN10__cxxabiv120__si_class_type_info*;
- _ZN10__cxxabiv121__vmi_class_type_info*;
-
- # *_type_info classes, member functions
- _ZNK10__cxxabiv117__class_type_info*;
- _ZNK10__cxxabiv120__function_type_info*;
- _ZNK10__cxxabiv117__pbase_type_info*;
- _ZNK10__cxxabiv129__pointer_to_member_type_info*;
- _ZNK10__cxxabiv119__pointer_type_info*;
- _ZNK10__cxxabiv120__si_class_type_info*;
- _ZNK10__cxxabiv121__vmi_class_type_info*;
-
- # virtual table
- _ZTVN10__cxxabiv117__array_type_infoE;
- _ZTVN10__cxxabiv117__class_type_infoE;
- _ZTVN10__cxxabiv116__enum_type_infoE;
- _ZTVN10__cxxabiv120__function_type_infoE;
- _ZTVN10__cxxabiv123__fundamental_type_infoE;
- _ZTVN10__cxxabiv117__pbase_type_infoE;
- _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
- _ZTVN10__cxxabiv119__pointer_type_infoE;
- _ZTVN10__cxxabiv120__si_class_type_infoE;
- _ZTVN10__cxxabiv121__vmi_class_type_infoE;
-
- # typeinfo structure (and some names)
- _ZTI[a-fh-z];
- _ZTIP[a-fh-z];
- _ZTIPK[a-fh-z];
- _ZTIN10__cxxabiv117__array_type_infoE;
- _ZTIN10__cxxabiv117__class_type_infoE;
- _ZTIN10__cxxabiv116__enum_type_infoE;
- _ZTIN10__cxxabiv120__function_type_infoE;
- _ZTIN10__cxxabiv123__fundamental_type_infoE;
- _ZTIN10__cxxabiv117__pbase_type_infoE;
- _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
- _ZTIN10__cxxabiv119__pointer_type_infoE;
- _ZTIN10__cxxabiv120__si_class_type_infoE;
- _ZTIN10__cxxabiv121__vmi_class_type_infoE;
-
- # typeinfo name
- _ZTS[a-fh-z];
- _ZTSP[a-fh-z];
- _ZTSPK[a-fh-z];
- _ZTSN10__cxxabiv117__array_type_infoE;
- _ZTSN10__cxxabiv117__class_type_infoE;
- _ZTSN10__cxxabiv116__enum_type_infoE;
- _ZTSN10__cxxabiv120__function_type_infoE;
- _ZTSN10__cxxabiv123__fundamental_type_infoE;
- _ZTSN10__cxxabiv117__pbase_type_infoE;
- _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
- _ZTSN10__cxxabiv119__pointer_type_infoE;
- _ZTSN10__cxxabiv120__si_class_type_infoE;
- _ZTSN10__cxxabiv121__vmi_class_type_infoE;
-
- # __gnu_cxx::_verbose_terminate_handler()
- _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
-
- local:
- *;
-};
-
-CXXABI_1.3.1 {
-
- __cxa_get_exception_ptr;
-
-} CXXABI_1.3;
diff --git a/contrib/libstdc++/config/abi/pre/none.ver b/contrib/libstdc++/config/abi/pre/none.ver
deleted file mode 100644
index 39cb10d4dbff..000000000000
--- a/contrib/libstdc++/config/abi/pre/none.ver
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# This is a placeholder file. It does nothing and is not used.
-#
-# If you are seeing this file as your linker script (named
-# libstdc++-symbols.ver), then either 1) the configuration process
-# determined that symbol versioning should not be done, or 2) you
-# specifically turned it off. (ie, --disable-symvers).
diff --git a/contrib/libstdc++/config/allocator/bitmap_allocator_base.h b/contrib/libstdc++/config/allocator/bitmap_allocator_base.h
deleted file mode 100644
index 36727a9582a4..000000000000
--- a/contrib/libstdc++/config/allocator/bitmap_allocator_base.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 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 c++allocator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CXX_ALLOCATOR_H
-#define _CXX_ALLOCATOR_H 1
-
-// Define bitmap_allocator as the base class to std::allocator.
-#include <ext/bitmap_allocator.h>
-#define __glibcxx_base_allocator __gnu_cxx::bitmap_allocator
-
-#endif
diff --git a/contrib/libstdc++/config/allocator/malloc_allocator_base.h b/contrib/libstdc++/config/allocator/malloc_allocator_base.h
deleted file mode 100644
index f7ae65c8bd36..000000000000
--- a/contrib/libstdc++/config/allocator/malloc_allocator_base.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 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 c++allocator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CXX_ALLOCATOR_H
-#define _CXX_ALLOCATOR_H 1
-
-// Define new_allocator as the base class to std::allocator.
-#include <ext/malloc_allocator.h>
-#define __glibcxx_base_allocator __gnu_cxx::malloc_allocator
-
-#endif
diff --git a/contrib/libstdc++/config/allocator/mt_allocator_base.h b/contrib/libstdc++/config/allocator/mt_allocator_base.h
deleted file mode 100644
index 8af5d4bf03a0..000000000000
--- a/contrib/libstdc++/config/allocator/mt_allocator_base.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 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 c++allocator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CXX_ALLOCATOR_H
-#define _CXX_ALLOCATOR_H 1
-
-// Define mt_allocator as the base class to std::allocator.
-#include <ext/mt_allocator.h>
-#define __glibcxx_base_allocator __gnu_cxx::__mt_alloc
-
-#endif
diff --git a/contrib/libstdc++/config/allocator/new_allocator_base.h b/contrib/libstdc++/config/allocator/new_allocator_base.h
deleted file mode 100644
index 571fdc309422..000000000000
--- a/contrib/libstdc++/config/allocator/new_allocator_base.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 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 c++allocator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CXX_ALLOCATOR_H
-#define _CXX_ALLOCATOR_H 1
-
-// Define new_allocator as the base class to std::allocator.
-#include <ext/new_allocator.h>
-#define __glibcxx_base_allocator __gnu_cxx::new_allocator
-
-#endif
diff --git a/contrib/libstdc++/config/allocator/pool_allocator_base.h b/contrib/libstdc++/config/allocator/pool_allocator_base.h
deleted file mode 100644
index 354bb85e3ba6..000000000000
--- a/contrib/libstdc++/config/allocator/pool_allocator_base.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 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 c++allocator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CXX_ALLOCATOR_H
-#define _CXX_ALLOCATOR_H 1
-
-// Define new_allocator as the base class to std::allocator.
-#include <ext/pool_allocator.h>
-#define __glibcxx_base_allocator __gnu_cxx::__pool_alloc
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/alpha/atomic_word.h b/contrib/libstdc++/config/cpu/alpha/atomic_word.h
deleted file mode 100644
index a9cc1b80dce0..000000000000
--- a/contrib/libstdc++/config/cpu/alpha/atomic_word.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-typedef int _Atomic_word;
-
-#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("mb":::"memory")
-#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("wmb":::"memory")
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/arm/cxxabi_tweaks.h b/contrib/libstdc++/config/cpu/arm/cxxabi_tweaks.h
deleted file mode 100644
index e56c20067cad..000000000000
--- a/contrib/libstdc++/config/cpu/arm/cxxabi_tweaks.h
+++ /dev/null
@@ -1,80 +0,0 @@
-// Control various target specific ABI tweaks. ARM version.
-
-// Copyright (C) 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.
-
-/** @file cxxabi_tweaks.h
- * The header provides an CPU-variable interface to the C++ ABI.
- */
-
-#ifndef _CXXABI_TWEAKS_H
-#define _CXXABI_TWEAKS_H 1
-
-#ifdef __cplusplus
-namespace __cxxabiv1
-{
- extern "C"
- {
-#endif
-
-#ifdef __ARM_EABI__
- // The ARM EABI uses the least significant bit of a 32-bit
- // guard variable. */
-#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0)
-#define _GLIBCXX_GUARD_SET(x) *(x) = 1
- typedef int __guard;
-
- // We also want the element size in array cookies.
-#define _GLIBCXX_ELTSIZE_IN_COOKIE 1
-
- // __cxa_vec_ctor should return a pointer to the array.
- typedef void * __cxa_vec_ctor_return_type;
-#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x
- // Constructors and destructors return the "this" pointer.
- typedef void * __cxa_cdtor_return_type;
-
-#else // __ARM_EABI__
-
- // The generic ABI uses the first byte of a 64-bit guard variable.
-#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0)
-#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1
- __extension__ typedef int __guard __attribute__((mode (__DI__)));
-
- // __cxa_vec_ctor has void return type.
- typedef void __cxa_vec_ctor_return_type;
-#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return
- // Constructors and destructors do not return a value.
- typedef void __cxa_cdtor_return_type;
-
-#endif //!__ARM_EABI__
-
-#ifdef __cplusplus
- }
-} // namespace __cxxabiv1
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/cris/atomic_word.h b/contrib/libstdc++/config/cpu/cris/atomic_word.h
deleted file mode 100644
index 32565e19c40c..000000000000
--- a/contrib/libstdc++/config/cpu/cris/atomic_word.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-// This entity must not cross a page boundary.
-typedef int _Atomic_word __attribute__ ((__aligned__ (4)));
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/cris/atomicity.h b/contrib/libstdc++/config/cpu/cris/atomicity.h
deleted file mode 100644
index da16a1aacee7..000000000000
--- a/contrib/libstdc++/config/cpu/cris/atomicity.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Low-level functions for atomic operations: CRIS version -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- _Atomic_word
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- int __tmp;
- _Atomic_word __result;
-
-#if (__CRIS_arch_version >= 10)
- __asm__ __volatile__ (" clearf \n"
- "0: \n"
- " move.d %4,%2 \n"
- " move.d [%3],%0 \n"
- " add.d %0,%2 \n"
- " ax \n"
- " move.d %2,[%3] \n"
- " bwf 0b \n"
- " clearf \n"
- : "=&r" (__result), "=Q" (*__mem), "=&r" (__tmp)
- : "r" (__mem), "g" (__val), "Q" (*__mem)
- /* The memory clobber must stay, regardless of
- current uses of this function. */
- : "memory");
-#else
- __asm__ __volatile__ (" move $ccr,$r9 \n"
- " di \n"
- " move.d %4,%2 \n"
- " move.d [%3],%0 \n"
- " add.d %0,%2 \n"
- " move.d %2,[%3] \n"
- " move $r9,$ccr \n"
- : "=&r" (__result), "=Q" (*__mem), "=&r" (__tmp)
- : "r" (__mem), "g" (__val), "Q" (*__mem)
- : "r9",
- /* The memory clobber must stay, regardless of
- current uses of this function. */
- "memory");
-#endif
-
- return __result;
- }
-
- void
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- { __exchange_and_add(__mem, __val); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/cpu/generic/atomic_word.h b/contrib/libstdc++/config/cpu/generic/atomic_word.h
deleted file mode 100644
index 33657332307c..000000000000
--- a/contrib/libstdc++/config/cpu/generic/atomic_word.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004 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 atomic_word.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-typedef int _Atomic_word;
-
-// Define these two macros using the appropriate memory barrier for the target.
-// The commented out versions below are the defaults.
-// See ia64/atomic_word.h for an alternative approach.
-
-// This one prevents loads from being hoisted across the barrier;
-// in other words, this is a Load-Load acquire barrier.
-// This is necessary iff TARGET_RELAXED_ORDERING is defined in tm.h.
-// #define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory")
-
-// This one prevents stores from being sunk across the barrier; in other
-// words, a Store-Store release barrier.
-// #define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory")
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/generic/atomicity_builtins/atomicity.h b/contrib/libstdc++/config/cpu/generic/atomicity_builtins/atomicity.h
deleted file mode 100644
index 8128c099fe15..000000000000
--- a/contrib/libstdc++/config/cpu/generic/atomicity_builtins/atomicity.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// Low-level functions for atomic operations: version for CPUs providing
-// atomic builtins -*- C++ -*-
-
-// Copyright (C) 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 ext/atomicity.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#include <bits/c++config.h>
-#include <bits/atomic_word.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- { return __sync_fetch_and_add(__mem, __val); }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- { __sync_fetch_and_add(__mem, __val); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/cpu/generic/atomicity_mutex/atomicity.h b/contrib/libstdc++/config/cpu/generic/atomicity_mutex/atomicity.h
deleted file mode 100644
index e9ee10c4b681..000000000000
--- a/contrib/libstdc++/config/cpu/generic/atomicity_mutex/atomicity.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// Low-level functions for atomic operations: Generic version -*- C++ -*-
-
-// Copyright (C) 1999, 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 ext/atomicity.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#include <ext/atomicity.h>
-#include <ext/concurrence.h>
-
-namespace
-{
- __gnu_cxx::__mutex atomic_mutex;
-} // anonymous namespace
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- __gnu_cxx::__scoped_lock sentry(atomic_mutex);
- _Atomic_word __result;
- __result = *__mem;
- *__mem += __val;
- return __result;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- { __exchange_and_add(__mem, __val); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/cpu/generic/cpu_defines.h b/contrib/libstdc++/config/cpu/generic/cpu_defines.h
deleted file mode 100644
index cf53469dca7b..000000000000
--- a/contrib/libstdc++/config/cpu/generic/cpu_defines.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Specific definitions for generic platforms -*- C++ -*-
-
-// Copyright (C) 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 cpu_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_CPU_DEFINES
-#define _GLIBCXX_CPU_DEFINES 1
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/generic/cxxabi_tweaks.h b/contrib/libstdc++/config/cpu/generic/cxxabi_tweaks.h
deleted file mode 100644
index 95fd3066c04e..000000000000
--- a/contrib/libstdc++/config/cpu/generic/cxxabi_tweaks.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Control various target specific ABI tweaks. Generic version.
-
-// Copyright (C) 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.
-
-/** @file cxxabi_tweaks.h
- * The header provides an CPU-variable interface to the C++ ABI.
- */
-
-#ifndef _CXXABI_TWEAKS_H
-#define _CXXABI_TWEAKS_H 1
-
-#ifdef __cplusplus
-namespace __cxxabiv1
-{
- extern "C"
- {
-#endif
-
- // The generic ABI uses the first byte of a 64-bit guard variable.
-#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0)
-#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1
- __extension__ typedef int __guard __attribute__((mode (__DI__)));
-
- // __cxa_vec_ctor has void return type.
- typedef void __cxa_vec_ctor_return_type;
-#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return
- // Constructors and destructors do not return a value.
- typedef void __cxa_cdtor_return_type;
-
-#ifdef __cplusplus
- }
-} // namespace __cxxabiv1
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/hppa/atomicity.h b/contrib/libstdc++/config/cpu/hppa/atomicity.h
deleted file mode 100644
index dc415ca32a3a..000000000000
--- a/contrib/libstdc++/config/cpu/hppa/atomicity.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Low-level functions for atomic operations: PA-RISC version -*- C++ -*-
-
-// Copyright (C) 2002, 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.
-
-#include <bits/c++config.h>
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<int _Inst>
- struct _Atomicity_lock
- {
- static volatile int _S_atomicity_lock;
- };
-
- template<int _Inst>
- volatile int
- _Atomicity_lock<_Inst>::_S_atomicity_lock __attribute__ ((aligned (16))) = 1;
-
- // Because of the lack of weak support when using the hpux som
- // linker, we explicitly instantiate the atomicity lock.
- template volatile int _Atomicity_lock<0>::_S_atomicity_lock;
-
- int
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word result;
- int tmp;
- volatile int& lock = _Atomicity_lock<0>::_S_atomicity_lock;
-
- __asm__ __volatile__ ("ldcw 0(%1),%0\n\t"
- "cmpib,<>,n 0,%0,.+20\n\t"
- "ldw 0(%1),%0\n\t"
- "cmpib,= 0,%0,.-4\n\t"
- "nop\n\t"
- "b,n .-20"
- : "=&r" (tmp)
- : "r" (&lock)
- : "memory");
-
- result = *__mem;
- *__mem = result + __val;
- __asm__ __volatile__ ("stw %1,0(%0)"
- : : "r" (&lock), "r" (tmp) : "memory");
- return result;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- {
- int tmp;
- volatile int& lock = _Atomicity_lock<0>::_S_atomicity_lock;
-
- __asm__ __volatile__ ("ldcw 0(%1),%0\n\t"
- "cmpib,<>,n 0,%0,.+20\n\t"
- "ldw 0(%1),%0\n\t"
- "cmpib,= 0,%0,.-4\n\t"
- "nop\n\t"
- "b,n .-20"
- : "=&r" (tmp)
- : "r" (&lock)
- : "memory");
-
- *__mem += __val;
- __asm__ __volatile__ ("stw %1,0(%0)"
- : : "r" (&lock), "r" (tmp) : "memory");
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/cpu/i386/atomicity.h b/contrib/libstdc++/config/cpu/i386/atomicity.h
deleted file mode 100644
index 7232b5b26e46..000000000000
--- a/contrib/libstdc++/config/cpu/i386/atomicity.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Low-level functions for atomic operations: x86, x >= 3 version -*- C++ -*-
-
-// Copyright (C) 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.
-
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<int __inst>
- struct _Atomicity_lock
- {
- static volatile _Atomic_word _S_atomicity_lock;
- };
-
- template<int __inst>
- volatile _Atomic_word _Atomicity_lock<__inst>::_S_atomicity_lock = 0;
-
- template volatile _Atomic_word _Atomicity_lock<0>::_S_atomicity_lock;
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- register _Atomic_word __result, __tmp = 1;
-
- // Obtain the atomic exchange/add spin lock.
- do
- {
- __asm__ __volatile__ ("xchg{l} {%0,%1|%1,%0}"
- : "=m" (_Atomicity_lock<0>::_S_atomicity_lock),
- "+r" (__tmp)
- : "m" (_Atomicity_lock<0>::_S_atomicity_lock));
- }
- while (__tmp);
-
- __result = *__mem;
- *__mem += __val;
-
- // Release spin lock.
- _Atomicity_lock<0>::_S_atomicity_lock = 0;
-
- return __result;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- { __exchange_and_add(__mem, __val); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/cpu/i486/atomicity.h b/contrib/libstdc++/config/cpu/i486/atomicity.h
deleted file mode 100644
index 4d8f65293581..000000000000
--- a/contrib/libstdc++/config/cpu/i486/atomicity.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// Low-level functions for atomic operations: x86, x >= 4 version -*- C++ -*-
-
-// Copyright (C) 1999, 2000, 2001, 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.
-
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- register _Atomic_word __result;
- __asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}"
- : "=r" (__result), "=m" (*__mem)
- : "0" (__val), "m" (*__mem));
- return __result;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- {
- __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}"
- : "=m" (*__mem) : "ir" (__val), "m" (*__mem));
- }
-
-_GLIBCXX_END_NAMESPACE
-
diff --git a/contrib/libstdc++/config/cpu/ia64/atomic_word.h b/contrib/libstdc++/config/cpu/ia64/atomic_word.h
deleted file mode 100644
index e50be3b4c081..000000000000
--- a/contrib/libstdc++/config/cpu/ia64/atomic_word.h
+++ /dev/null
@@ -1,69 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004, 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
-// 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.
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-#include <bits/cxxabi_tweaks.h>
-
-typedef int _Atomic_word;
-
-namespace __gnu_cxx
-{
- // Test the first byte of __g and ensure that no loads are hoisted across
- // the test.
- inline bool
- __test_and_acquire (__cxxabiv1::__guard *__g)
- {
- unsigned char __c;
- unsigned char *__p = reinterpret_cast<unsigned char *>(__g);
- // ldN.acq is a load with an implied hoist barrier.
- // would ld8+mask be faster than just doing an ld1?
- __asm __volatile ("ld1.acq %0 = %1" : "=r"(__c) : "m"(*__p) : "memory");
- return __c != 0;
- }
-
- // Set the first byte of __g to 1 and ensure that no stores are sunk
- // across the store.
- inline void
- __set_and_release (__cxxabiv1::__guard *__g)
- {
- unsigned char *__p = reinterpret_cast<unsigned char *>(__g);
- // stN.rel is a store with an implied sink barrier.
- // could load word, set flag, and CAS it back
- __asm __volatile ("st1.rel %0 = %1" : "=m"(*__p) : "r"(1) : "memory");
- }
-
- // We don't define the _BARRIER macros on ia64 because the barriers are
- // included in the test and set, above.
-#define _GLIBCXX_GUARD_TEST_AND_ACQUIRE(G) __gnu_cxx::__test_and_acquire (G)
-#define _GLIBCXX_GUARD_SET_AND_RELEASE(G) __gnu_cxx::__set_and_release (G)
-}
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/m68k/atomicity.h b/contrib/libstdc++/config/cpu/m68k/atomicity.h
deleted file mode 100644
index f63b582a9768..000000000000
--- a/contrib/libstdc++/config/cpu/m68k/atomicity.h
+++ /dev/null
@@ -1,134 +0,0 @@
-// Low-level functions for atomic operations: m68k version -*- C++ -*-
-
-// 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.
-
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
-#if ( defined(__mc68020__) || defined(__mc68030__) \
- || defined(__mc68040__) || defined(__mc68060__) ) \
- && !defined(__mcpu32__)
- // These variants support compare-and-swap.
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- register _Atomic_word __result = *__mem;
- register _Atomic_word __temp;
- __asm__ __volatile__ ("1: move%.l %0,%1\n\t"
- "add%.l %3,%1\n\t"
- "cas%.l %0,%1,%2\n\t"
- "jne 1b"
- : "=d" (__result), "=&d" (__temp), "=m" (*__mem)
- : "d" (__val), "0" (__result), "m" (*__mem));
- return __result;
- }
-
-#elif defined(__rtems__)
- // TAS/JBNE is unsafe on systems with strict priority-based scheduling.
- // Disable interrupts, which we can do only from supervisor mode.
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __result;
- short __level, __tmpsr;
- __asm__ __volatile__ ("move%.w %%sr,%0\n\tor%.l %0,%1\n\tmove%.w %1,%%sr"
- : "=d"(__level), "=d"(__tmpsr) : "1"(0x700));
-
- __result = *__mem;
- *__mem = __result + __val;
- __asm__ __volatile__ ("move%.w %0,%%sr" : : "d"(__level));
-
- return __result;
- }
-
-#else
-
- template<int __inst>
- struct _Atomicity_lock
- {
- static volatile unsigned char _S_atomicity_lock;
- };
-
- template<int __inst>
- volatile unsigned char _Atomicity_lock<__inst>::_S_atomicity_lock = 0;
-
- template volatile unsigned char _Atomicity_lock<0>::_S_atomicity_lock;
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __result;
-
- // bset with no immediate addressing (not SMP-safe)
-#if defined(__mcf5200__) || defined(__mcf5300__)
- __asm__ __volatile__("1: bset.b #7,%0@\n\tjbne 1b"
- : /* no outputs */
- : "a"(&_Atomicity_lock<0>::_S_atomicity_lock)
- : "cc", "memory");
-
- // CPU32 and MCF5400 support test-and-set (SMP-safe).
-#elif defined(__mcpu32__) || defined(__mcf5400__)
- __asm__ __volatile__("1: tas %0\n\tjbne 1b"
- : "+m"(_Atomicity_lock<0>::_S_atomicity_lock)
- : /* none */
- : "cc");
-
- // Use bset with immediate addressing for 68000/68010 (not SMP-safe)
- // NOTE: TAS is available on the 68000, but unsupported by some Amiga
- // memory controllers.
-#else
- __asm__ __volatile__("1: bset.b #7,%0\n\tjbne 1b"
- : "+m"(_Atomicity_lock<0>::_S_atomicity_lock)
- : /* none */
- : "cc");
-#endif
-
- __result = *__mem;
- *__mem = __result + __val;
-
- _Atomicity_lock<0>::_S_atomicity_lock = 0;
-
- return __result;
- }
-
-#endif /* TAS / BSET */
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- {
- // Careful: using add.l with a memory destination is not
- // architecturally guaranteed to be atomic.
- __exchange_and_add(__mem, __val);
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/cpu/mips/atomicity.h b/contrib/libstdc++/config/cpu/mips/atomicity.h
deleted file mode 100644
index 2989fa442785..000000000000
--- a/contrib/libstdc++/config/cpu/mips/atomicity.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// Low-level functions for atomic operations: MIPS version -*- C++ -*-
-
-// Copyright (C) 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.
-
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // NB: MIPS II or above required.
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __result, __tmp;
-
- __asm__ __volatile__
- ("/* Inline exchange & add */\n\t"
- "1:\n\t"
- ".set push\n\t"
-#if _MIPS_SIM == _ABIO32
- ".set mips2\n\t"
-#endif
- "ll %0,0(%2)\n\t"
- "addu %1,%3,%0\n\t"
- "sc %1,0(%2)\n\t"
- ".set pop\n\t"
- "beqz %1,1b\n\t"
- "/* End exchange & add */"
- : "=&r"(__result), "=&r"(__tmp)
- : "r"(__mem), "r"(__val)
- : "memory" );
-
- return __result;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __result;
-
- __asm__ __volatile__
- ("/* Inline atomic add */\n\t"
- "1:\n\t"
- ".set push\n\t"
-#if _MIPS_SIM == _ABIO32
- ".set mips2\n\t"
-#endif
- "ll %0,0(%1)\n\t"
- "addu %0,%2,%0\n\t"
- "sc %0,0(%1)\n\t"
- ".set pop\n\t"
- "beqz %0,1b\n\t"
- "/* End atomic add */"
- : "=&r"(__result)
- : "r"(__mem), "r"(__val)
- : "memory" );
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/cpu/powerpc/atomic_word.h b/contrib/libstdc++/config/cpu/powerpc/atomic_word.h
deleted file mode 100644
index 4f8c670d2a23..000000000000
--- a/contrib/libstdc++/config/cpu/powerpc/atomic_word.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-typedef int _Atomic_word;
-
-#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("isync":::"memory")
-#ifdef __NO_LWSYNC__
-#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
-#else
-#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("lwsync":::"memory")
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/powerpc/cpu_defines.h b/contrib/libstdc++/config/cpu/powerpc/cpu_defines.h
deleted file mode 100644
index 4b6769a614dd..000000000000
--- a/contrib/libstdc++/config/cpu/powerpc/cpu_defines.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Specific definitions for generic platforms -*- C++ -*-
-
-// Copyright (C) 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 cpu_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_CPU_DEFINES
-#define _GLIBCXX_CPU_DEFINES 1
-
-// Integer divide instructions don't trap on PowerPC.
-#define __glibcxx_integral_traps false
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/sh/atomicity.h b/contrib/libstdc++/config/cpu/sh/atomicity.h
deleted file mode 100644
index d200818f66d3..000000000000
--- a/contrib/libstdc++/config/cpu/sh/atomicity.h
+++ /dev/null
@@ -1,107 +0,0 @@
-// Low-level functions for atomic operations: sh version -*- C++ -*-
-
-// Copyright (C) 1999, 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.
-
-#ifndef _BITS_ATOMICITY_H
-#define _BITS_ATOMICITY_H 1
-
-#ifdef __SH4A__
-
-typedef int _Atomic_word;
-
-static inline _Atomic_word
-__attribute__ ((__unused__))
-__exchange_and_add (volatile _Atomic_word* __mem, int __val)
-{
- _Atomic_word __result;
-
- __asm__ __volatile__
- ("0:\n"
- "\tmovli.l\t@%2,r0\n"
- "\tmov\tr0,%1\n"
- "\tadd\t%3,r0\n"
- "\tmovco.l\tr0,@%2\n"
- "\tbf\t0b"
- : "+m" (*__mem), "=r" (__result)
- : "r" (__mem), "rI08" (__val)
- : "r0");
-
- return __result;
-}
-
-
-static inline void
-__attribute__ ((__unused__))
-__atomic_add (volatile _Atomic_word* __mem, int __val)
-{
- asm("0:\n"
- "\tmovli.l\t@%1,r0\n"
- "\tadd\t%2,r0\n"
- "\tmovco.l\tr0,@%1\n"
- "\tbf\t0b"
- : "+m" (*__mem)
- : "r" (__mem), "rI08" (__val)
- : "r0");
-}
-
-#else /* !__SH4A__ */
-
-/* This is generic/atomicity.h */
-
-#include <ext/atomicity.h>
-#include <ext/concurrence.h>
-
-namespace
-{
- __gnu_cxx::__mutex atomic_mutex;
-} // anonymous namespace
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- __gnu_cxx::__scoped_lock sentry(atomic_mutex);
- _Atomic_word __result;
- __result = *__mem;
- *__mem += __val;
- return __result;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- { __exchange_and_add(__mem, __val); }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* !__SH4A__ */
-
-#endif /* atomicity.h */
diff --git a/contrib/libstdc++/config/cpu/sparc/atomic_word.h b/contrib/libstdc++/config/cpu/sparc/atomic_word.h
deleted file mode 100644
index b146045a5e90..000000000000
--- a/contrib/libstdc++/config/cpu/sparc/atomic_word.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-#ifdef __arch64__
- typedef long _Atomic_word;
-#else
- typedef int _Atomic_word;
-#endif
-
-#if defined(__sparc_v9__)
-// These are necessary under the V9 RMO model, though it is almost never
-// used in userspace.
-#define _GLIBCXX_READ_MEM_BARRIER \
- __asm __volatile ("membar #LoadLoad":::"memory")
-#define _GLIBCXX_WRITE_MEM_BARRIER \
- __asm __volatile ("membar #StoreStore":::"memory")
-
-#elif defined(__sparc_v8__)
-// This is necessary under the PSO model.
-#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("stbar":::"memory")
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/cpu/sparc/atomicity.h b/contrib/libstdc++/config/cpu/sparc/atomicity.h
deleted file mode 100644
index 5fec033e6a7a..000000000000
--- a/contrib/libstdc++/config/cpu/sparc/atomicity.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// Low-level functions for atomic operations: Sparc version -*- C++ -*-
-
-// Copyright (C) 1999, 2000, 2001, 2002, 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.
-
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
-#ifdef __arch64__
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __tmp1, __tmp2;
- _Atomic_word __val_extended = __val;
-
- __asm__ __volatile__("1: ldx [%3], %0\n\t"
- " add %0, %4, %1\n\t"
- " casx [%3], %0, %1\n\t"
- " sub %0, %1, %0\n\t"
- " brnz,pn %0, 1b\n\t"
- " nop"
- : "=&r" (__tmp1), "=&r" (__tmp2), "=m" (*__mem)
- : "r" (__mem), "r" (__val_extended), "m" (*__mem));
- return __tmp2;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __tmp1, __tmp2;
- _Atomic_word __val_extended = __val;
-
- __asm__ __volatile__("1: ldx [%3], %0\n\t"
- " add %0, %4, %1\n\t"
- " casx [%3], %0, %1\n\t"
- " sub %0, %1, %0\n\t"
- " brnz,pn %0, 1b\n\t"
- " nop"
- : "=&r" (__tmp1), "=&r" (__tmp2), "=m" (*__mem)
- : "r" (__mem), "r" (__val_extended), "m" (*__mem));
- }
-
-#else /* __arch32__ */
-
- template<int __inst>
- struct _Atomicity_lock
- {
- static unsigned char _S_atomicity_lock;
- };
-
- template<int __inst>
- unsigned char _Atomicity_lock<__inst>::_S_atomicity_lock = 0;
-
- template unsigned char _Atomicity_lock<0>::_S_atomicity_lock;
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __result, __tmp;
-
- __asm__ __volatile__("1: ldstub [%1], %0\n\t"
- " cmp %0, 0\n\t"
- " bne 1b\n\t"
- " nop"
- : "=&r" (__tmp)
- : "r" (&_Atomicity_lock<0>::_S_atomicity_lock)
- : "memory");
- __result = *__mem;
- *__mem += __val;
- __asm__ __volatile__("stb %%g0, [%0]"
- : /* no outputs */
- : "r" (&_Atomicity_lock<0>::_S_atomicity_lock)
- : "memory");
- return __result;
- }
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- {
- _Atomic_word __tmp;
-
- __asm__ __volatile__("1: ldstub [%1], %0\n\t"
- " cmp %0, 0\n\t"
- " bne 1b\n\t"
- " nop"
- : "=&r" (__tmp)
- : "r" (&_Atomicity_lock<0>::_S_atomicity_lock)
- : "memory");
- *__mem += __val;
- __asm__ __volatile__("stb %%g0, [%0]"
- : /* no outputs */
- : "r" (&_Atomicity_lock<0>::_S_atomicity_lock)
- : "memory");
- }
-#endif /* __arch32__ */
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/io/basic_file_stdio.cc b/contrib/libstdc++/config/io/basic_file_stdio.cc
deleted file mode 100644
index 41d914ad8599..000000000000
--- a/contrib/libstdc++/config/io/basic_file_stdio.cc
+++ /dev/null
@@ -1,381 +0,0 @@
-// Wrapper of C-language FILE struct -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002, 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.
-
-//
-// ISO C++ 14882: 27.8 File-based streams
-//
-
-#include <bits/basic_file.h>
-#include <fcntl.h>
-#include <errno.h>
-
-#ifdef _GLIBCXX_HAVE_POLL
-#include <poll.h>
-#endif
-
-// Pick up ioctl on Solaris 2.8
-#ifdef _GLIBCXX_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-// Pick up FIONREAD on Solaris 2
-#ifdef _GLIBCXX_HAVE_SYS_IOCTL_H
-#define BSD_COMP
-#include <sys/ioctl.h>
-#endif
-
-// Pick up FIONREAD on Solaris 2.5.
-#ifdef _GLIBCXX_HAVE_SYS_FILIO_H
-#include <sys/filio.h>
-#endif
-
-#ifdef _GLIBCXX_HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-#if defined(_GLIBCXX_HAVE_S_ISREG) || defined(_GLIBCXX_HAVE_S_IFREG)
-# include <sys/stat.h>
-# ifdef _GLIBCXX_HAVE_S_ISREG
-# define _GLIBCXX_ISREG(x) S_ISREG(x)
-# else
-# define _GLIBCXX_ISREG(x) (((x) & S_IFMT) == S_IFREG)
-# endif
-#endif
-
-#include <limits> // For <off_t>::max() and min() and <streamsize>::max()
-
-namespace
-{
- // Map ios_base::openmode flags to a string for use in fopen().
- // Table of valid combinations as given in [lib.filebuf.members]/2.
- static const char*
- fopen_mode(std::ios_base::openmode mode)
- {
- enum
- {
- in = std::ios_base::in,
- out = std::ios_base::out,
- trunc = std::ios_base::trunc,
- app = std::ios_base::app,
- binary = std::ios_base::binary
- };
-
- switch (mode & (in|out|trunc|app|binary))
- {
- case ( out ): return "w";
- case ( out |app ): return "a";
- case ( out|trunc ): return "w";
- case (in ): return "r";
- case (in|out ): return "r+";
- case (in|out|trunc ): return "w+";
- // Extension to Table 92.
- case (in|out |app ): return "a+";
-
- case ( out |binary): return "wb";
- case ( out |app|binary): return "ab";
- case ( out|trunc |binary): return "wb";
- case (in |binary): return "rb";
- case (in|out |binary): return "r+b";
- case (in|out|trunc |binary): return "w+b";
- // Extension to Table 92.
- case (in|out |app|binary): return "a+b";
-
- default: return 0; // invalid
- }
- }
-
- // Wrapper handling partial write.
- static std::streamsize
- xwrite(int __fd, const char* __s, std::streamsize __n)
- {
- std::streamsize __nleft = __n;
-
- for (;;)
- {
- const std::streamsize __ret = write(__fd, __s, __nleft);
- if (__ret == -1L && errno == EINTR)
- continue;
- if (__ret == -1L)
- break;
-
- __nleft -= __ret;
- if (__nleft == 0)
- break;
-
- __s += __ret;
- }
-
- return __n - __nleft;
- }
-
-#ifdef _GLIBCXX_HAVE_WRITEV
- // Wrapper handling partial writev.
- static std::streamsize
- xwritev(int __fd, const char* __s1, std::streamsize __n1,
- const char* __s2, std::streamsize __n2)
- {
- std::streamsize __nleft = __n1 + __n2;
- std::streamsize __n1_left = __n1;
-
- struct iovec __iov[2];
- __iov[1].iov_base = const_cast<char*>(__s2);
- __iov[1].iov_len = __n2;
-
- for (;;)
- {
- __iov[0].iov_base = const_cast<char*>(__s1);
- __iov[0].iov_len = __n1_left;
-
- const std::streamsize __ret = writev(__fd, __iov, 2);
- if (__ret == -1L && errno == EINTR)
- continue;
- if (__ret == -1L)
- break;
-
- __nleft -= __ret;
- if (__nleft == 0)
- break;
-
- const std::streamsize __off = __ret - __n1_left;
- if (__off >= 0)
- {
- __nleft -= xwrite(__fd, __s2 + __off, __n2 - __off);
- break;
- }
-
- __s1 += __ret;
- __n1_left -= __ret;
- }
-
- return __n1 + __n2 - __nleft;
- }
-#endif
-} // anonymous namespace
-
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Definitions for __basic_file<char>.
- __basic_file<char>::__basic_file(__c_lock* /*__lock*/)
- : _M_cfile(NULL), _M_cfile_created(false) { }
-
- __basic_file<char>::~__basic_file()
- { this->close(); }
-
- __basic_file<char>*
- __basic_file<char>::sys_open(__c_file* __file, ios_base::openmode)
- {
- __basic_file* __ret = NULL;
- if (!this->is_open() && __file)
- {
- int __err;
- errno = 0;
- do
- __err = this->sync();
- while (__err && errno == EINTR);
- if (!__err)
- {
- _M_cfile = __file;
- _M_cfile_created = false;
- __ret = this;
- }
- }
- return __ret;
- }
-
- __basic_file<char>*
- __basic_file<char>::sys_open(int __fd, ios_base::openmode __mode)
- {
- __basic_file* __ret = NULL;
- const char* __c_mode = fopen_mode(__mode);
- if (__c_mode && !this->is_open() && (_M_cfile = fdopen(__fd, __c_mode)))
- {
- char* __buf = NULL;
- _M_cfile_created = true;
- if (__fd == 0)
- setvbuf(_M_cfile, __buf, _IONBF, 0);
- __ret = this;
- }
- return __ret;
- }
-
- __basic_file<char>*
- __basic_file<char>::open(const char* __name, ios_base::openmode __mode,
- int /*__prot*/)
- {
- __basic_file* __ret = NULL;
- const char* __c_mode = fopen_mode(__mode);
- if (__c_mode && !this->is_open())
- {
-#ifdef _GLIBCXX_USE_LFS
- if ((_M_cfile = fopen64(__name, __c_mode)))
-#else
- if ((_M_cfile = fopen(__name, __c_mode)))
-#endif
- {
- _M_cfile_created = true;
- __ret = this;
- }
- }
- return __ret;
- }
-
- bool
- __basic_file<char>::is_open() const
- { return _M_cfile != 0; }
-
- int
- __basic_file<char>::fd()
- { return fileno(_M_cfile); }
-
- __c_file*
- __basic_file<char>::file()
- { return _M_cfile; }
-
- __basic_file<char>*
- __basic_file<char>::close()
- {
- __basic_file* __ret = static_cast<__basic_file*>(NULL);
- if (this->is_open())
- {
- int __err = 0;
- if (_M_cfile_created)
- {
- // In general, no need to zero errno in advance if checking
- // for error first. However, C89/C99 (at variance with IEEE
- // 1003.1, f.i.) do not mandate that fclose must set errno
- // upon error.
- errno = 0;
- do
- __err = fclose(_M_cfile);
- while (__err && errno == EINTR);
- }
- _M_cfile = 0;
- if (!__err)
- __ret = this;
- }
- return __ret;
- }
-
- streamsize
- __basic_file<char>::xsgetn(char* __s, streamsize __n)
- {
- streamsize __ret;
- do
- __ret = read(this->fd(), __s, __n);
- while (__ret == -1L && errno == EINTR);
- return __ret;
- }
-
- streamsize
- __basic_file<char>::xsputn(const char* __s, streamsize __n)
- { return xwrite(this->fd(), __s, __n); }
-
- streamsize
- __basic_file<char>::xsputn_2(const char* __s1, streamsize __n1,
- const char* __s2, streamsize __n2)
- {
- streamsize __ret = 0;
-#ifdef _GLIBCXX_HAVE_WRITEV
- __ret = xwritev(this->fd(), __s1, __n1, __s2, __n2);
-#else
- if (__n1)
- __ret = xwrite(this->fd(), __s1, __n1);
-
- if (__ret == __n1)
- __ret += xwrite(this->fd(), __s2, __n2);
-#endif
- return __ret;
- }
-
- streamoff
- __basic_file<char>::seekoff(streamoff __off, ios_base::seekdir __way)
- {
-#ifdef _GLIBCXX_USE_LFS
- return lseek64(this->fd(), __off, __way);
-#else
- if (__off > numeric_limits<off_t>::max()
- || __off < numeric_limits<off_t>::min())
- return -1L;
- return lseek(this->fd(), __off, __way);
-#endif
- }
-
- int
- __basic_file<char>::sync()
- { return fflush(_M_cfile); }
-
- streamsize
- __basic_file<char>::showmanyc()
- {
-#ifdef FIONREAD
- // Pipes and sockets.
-#ifdef _GLIBCXX_FIONREAD_TAKES_OFF_T
- off_t __num = 0;
-#else
- int __num = 0;
-#endif
- int __r = ioctl(this->fd(), FIONREAD, &__num);
- if (!__r && __num >= 0)
- return __num;
-#endif
-
-#ifdef _GLIBCXX_HAVE_POLL
- // Cheap test.
- struct pollfd __pfd[1];
- __pfd[0].fd = this->fd();
- __pfd[0].events = POLLIN;
- if (poll(__pfd, 1, 0) <= 0)
- return 0;
-#endif
-
-#if defined(_GLIBCXX_HAVE_S_ISREG) || defined(_GLIBCXX_HAVE_S_IFREG)
- // Regular files.
-#ifdef _GLIBCXX_USE_LFS
- struct stat64 __buffer;
- const int __err = fstat64(this->fd(), &__buffer);
- if (!__err && _GLIBCXX_ISREG(__buffer.st_mode))
- {
- const streamoff __off = __buffer.st_size - lseek64(this->fd(), 0,
- ios_base::cur);
- return std::min(__off, streamoff(numeric_limits<streamsize>::max()));
- }
-#else
- struct stat __buffer;
- const int __err = fstat(this->fd(), &__buffer);
- if (!__err && _GLIBCXX_ISREG(__buffer.st_mode))
- return __buffer.st_size - lseek(this->fd(), 0, ios_base::cur);
-#endif
-#endif
- return 0;
- }
-
-_GLIBCXX_END_NAMESPACE
-
diff --git a/contrib/libstdc++/config/io/basic_file_stdio.h b/contrib/libstdc++/config/io/basic_file_stdio.h
deleted file mode 100644
index 75468e093715..000000000000
--- a/contrib/libstdc++/config/io/basic_file_stdio.h
+++ /dev/null
@@ -1,112 +0,0 @@
-// Wrapper of C-language FILE struct -*- C++ -*-
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882: 27.8 File-based streams
-//
-
-/** @file basic_file.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _BASIC_FILE_STDIO_H
-#define _BASIC_FILE_STDIO_H 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <ios>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Generic declaration.
- template<typename _CharT>
- class __basic_file;
-
- // Specialization.
- template<>
- class __basic_file<char>
- {
- // Underlying data source/sink.
- __c_file* _M_cfile;
-
- // True iff we opened _M_cfile, and thus must close it ourselves.
- bool _M_cfile_created;
-
- public:
- __basic_file(__c_lock* __lock = 0);
-
- __basic_file*
- open(const char* __name, ios_base::openmode __mode, int __prot = 0664);
-
- __basic_file*
- sys_open(__c_file* __file, ios_base::openmode);
-
- __basic_file*
- sys_open(int __fd, ios_base::openmode __mode);
-
- __basic_file*
- close();
-
- bool
- is_open() const;
-
- int
- fd();
-
- __c_file*
- file();
-
- ~__basic_file();
-
- streamsize
- xsputn(const char* __s, streamsize __n);
-
- streamsize
- xsputn_2(const char* __s1, streamsize __n1,
- const char* __s2, streamsize __n2);
-
- streamsize
- xsgetn(char* __s, streamsize __n);
-
- streamoff
- seekoff(streamoff __off, ios_base::seekdir __way);
-
- int
- sync();
-
- streamsize
- showmanyc();
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/config/io/c_io_stdio.h b/contrib/libstdc++/config/io/c_io_stdio.h
deleted file mode 100644
index 69b82052ddad..000000000000
--- a/contrib/libstdc++/config/io/c_io_stdio.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// Underlying io library details -*- C++ -*-
-
-// Copyright (C) 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 c++io.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// c_io_stdio.h - Defines for using "C" stdio.h
-
-#ifndef _C_IO_STDIO_H
-#define _C_IO_STDIO_H 1
-
-#include <cstdio>
-#include <cstddef>
-#include <bits/gthr.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- typedef __gthread_mutex_t __c_lock;
-
- // for basic_file.h
- typedef FILE __c_file;
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/config/locale/darwin/ctype_members.cc b/contrib/libstdc++/config/locale/darwin/ctype_members.cc
deleted file mode 100644
index c2a5c4ac500a..000000000000
--- a/contrib/libstdc++/config/locale/darwin/ctype_members.cc
+++ /dev/null
@@ -1,171 +0,0 @@
-// std::ctype implementation details, GNU version -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003, 2004 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.
-
-//
-// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-namespace std
-{
- // NB: The other ctype<char> specializations are in src/locale.cc and
- // various /config/os/* files.
- template<>
- ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
- : ctype<char>(0, false, __refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- }
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- ctype<wchar_t>::__wmask_type
- ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
- {
- // Darwin uses the same codes for 'char' as 'wchar_t', so this routine
- // never gets called.
- return __m;
- };
-
- wchar_t
- ctype<wchar_t>::do_toupper(wchar_t __c) const
- { return towupper(__c); }
-
- const wchar_t*
- ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi)
- {
- *__lo = towupper(*__lo);
- ++__lo;
- }
- return __hi;
- }
-
- wchar_t
- ctype<wchar_t>::do_tolower(wchar_t __c) const
- { return towlower(__c); }
-
- const wchar_t*
- ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi)
- {
- *__lo = towlower(*__lo);
- ++__lo;
- }
- return __hi;
- }
-
- wchar_t
- ctype<wchar_t>::
- do_widen(char __c) const
- { return _M_widen[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<wchar_t>::
- do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
- {
- while (__lo < __hi)
- {
- *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
- ++__lo;
- ++__dest;
- }
- return __hi;
- }
-
- char
- ctype<wchar_t>::
- do_narrow(wchar_t __wc, char __dfault) const
- {
- if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
- return _M_narrow[__wc];
- const int __c = wctob(__wc);
- return (__c == EOF ? __dfault : static_cast<char>(__c));
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
- char* __dest) const
- {
- if (_M_narrow_ok)
- while (__lo < __hi)
- {
- if (*__lo >= 0 && *__lo < 128)
- *__dest = _M_narrow[*__lo];
- else
- {
- const int __c = wctob(*__lo);
- *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
- }
- ++__lo;
- ++__dest;
- }
- else
- while (__lo < __hi)
- {
- const int __c = wctob(*__lo);
- *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
- ++__lo;
- ++__dest;
- }
- return __hi;
- }
-
- void
- ctype<wchar_t>::_M_initialize_ctype()
- {
- wint_t __i;
- for (__i = 0; __i < 128; ++__i)
- {
- const int __c = wctob(__i);
- if (__c == EOF)
- break;
- else
- _M_narrow[__i] = static_cast<char>(__c);
- }
- if (__i == 128)
- _M_narrow_ok = true;
- else
- _M_narrow_ok = false;
- for (size_t __i = 0;
- __i < sizeof(_M_widen) / sizeof(wint_t); ++__i)
- _M_widen[__i] = btowc(__i);
- }
-#endif // _GLIBCXX_USE_WCHAR_T
-}
diff --git a/contrib/libstdc++/config/locale/generic/c++locale_internal.h b/contrib/libstdc++/config/locale/generic/c++locale_internal.h
deleted file mode 100644
index 2ad85e52503c..000000000000
--- a/contrib/libstdc++/config/locale/generic/c++locale_internal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Locale internal implementation header -*- C++ -*-
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-// The generic locale code doesn't need to do anything here (yet)
diff --git a/contrib/libstdc++/config/locale/generic/c_locale.cc b/contrib/libstdc++/config/locale/generic/c_locale.cc
deleted file mode 100644
index 783b1963c0a0..000000000000
--- a/contrib/libstdc++/config/locale/generic/c_locale.cc
+++ /dev/null
@@ -1,180 +0,0 @@
-// Wrapper for underlying C-language localization -*- C++ -*-
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882: 22.8 Standard locale categories.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <cerrno> // For errno
-#include <cmath> // For isinf, finite, finitef, fabs
-#include <cstdlib> // For strof, strtold
-#include <locale>
-
-#ifdef _GLIBCXX_HAVE_IEEEFP_H
-#include <ieeefp.h>
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specializations for all types used in num_get.
- template<>
- void
- __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
- const __c_locale&)
- {
- // Assumes __s formatted for "C" locale.
- errno = 0;
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, "C");
- char* __sanity;
-#if defined(_GLIBCXX_HAVE_STRTOF)
- float __f = strtof(__s, &__sanity);
-#else
- double __d = strtod(__s, &__sanity);
- float __f = static_cast<float>(__d);
-#ifdef _GLIBCXX_HAVE_FINITEF
- if (!finitef (__f))
- errno = ERANGE;
-#elif defined (_GLIBCXX_HAVE_FINITE)
- if (!finite (static_cast<double> (__f)))
- errno = ERANGE;
-#elif defined (_GLIBCXX_HAVE_ISINF)
- if (isinf (static_cast<double> (__f)))
- errno = ERANGE;
-#else
- if (fabs(__d) > numeric_limits<float>::max())
- errno = ERANGE;
-#endif
-#endif
- if (__sanity != __s && errno != ERANGE)
- __v = __f;
- else
- __err |= ios_base::failbit;
- setlocale(LC_ALL, __old);
- free(__old);
- }
-
- template<>
- void
- __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
- const __c_locale&)
- {
- // Assumes __s formatted for "C" locale.
- errno = 0;
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, "C");
- char* __sanity;
- double __d = strtod(__s, &__sanity);
- if (__sanity != __s && errno != ERANGE)
- __v = __d;
- else
- __err |= ios_base::failbit;
- setlocale(LC_ALL, __old);
- free(__old);
- }
-
- template<>
- void
- __convert_to_v(const char* __s, long double& __v,
- ios_base::iostate& __err, const __c_locale&)
- {
- // Assumes __s formatted for "C" locale.
- errno = 0;
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, "C");
-#if defined(_GLIBCXX_HAVE_STRTOLD)
- char* __sanity;
- long double __ld = strtold(__s, &__sanity);
- if (__sanity != __s && errno != ERANGE)
- __v = __ld;
-#else
- typedef char_traits<char>::int_type int_type;
- long double __ld;
- int __p = sscanf(__s, "%Lf", &__ld);
- if (__p && static_cast<int_type>(__p) != char_traits<char>::eof()
- && errno != ERANGE)
- __v = __ld;
-#endif
- else
- __err |= ios_base::failbit;
- setlocale(LC_ALL, __old);
- free(__old);
- }
-
- void
- locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
- __c_locale)
- {
- // Currently, the generic model only supports the "C" locale.
- // See http://gcc.gnu.org/ml/libstdc++/2003-02/msg00345.html
- __cloc = NULL;
- if (strcmp(__s, "C"))
- __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
- "name not valid"));
- }
-
- void
- locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
- { __cloc = NULL; }
-
- __c_locale
- locale::facet::_S_clone_c_locale(__c_locale&)
- { return __c_locale(); }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
- {
- "LC_CTYPE",
- "LC_NUMERIC",
- "LC_TIME",
- "LC_COLLATE",
- "LC_MONETARY",
- "LC_MESSAGES"
- };
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-
-_GLIBCXX_END_NAMESPACE
-
-// XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
- extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
-_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi);
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/contrib/libstdc++/config/locale/generic/c_locale.h b/contrib/libstdc++/config/locale/generic/c_locale.h
deleted file mode 100644
index d180c205f1f5..000000000000
--- a/contrib/libstdc++/config/locale/generic/c_locale.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Wrapper for underlying C-language localization -*- C++ -*-
-
-// Copyright (C) 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 c++locale.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.8 Standard locale categories.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#ifndef _C_LOCALE_H
-#define _C_LOCALE_H 1
-
-#pragma GCC system_header
-
-#include <clocale>
-#include <cstring> // get std::strlen
-#include <cstdio> // get std::vsnprintf or std::vsprintf
-#include <cstdarg>
-
-#define _GLIBCXX_NUM_CATEGORIES 0
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- typedef int* __c_locale;
-
- // Convert numeric value of type double and long double to string and
- // return length of string. If vsnprintf is available use it, otherwise
- // fall back to the unsafe vsprintf which, in general, can be dangerous
- // and should be avoided.
- inline int
- __convert_from_v(const __c_locale&, char* __out,
- const int __size __attribute__((__unused__)),
- const char* __fmt, ...)
- {
- char* __old = std::setlocale(LC_NUMERIC, NULL);
- char* __sav = NULL;
- if (std::strcmp(__old, "C"))
- {
- __sav = new char[std::strlen(__old) + 1];
- std::strcpy(__sav, __old);
- std::setlocale(LC_NUMERIC, "C");
- }
-
- va_list __args;
- va_start(__args, __fmt);
-
-#ifdef _GLIBCXX_USE_C99
- const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
-#else
- const int __ret = std::vsprintf(__out, __fmt, __args);
-#endif
-
- va_end(__args);
-
- if (__sav)
- {
- std::setlocale(LC_NUMERIC, __sav);
- delete [] __sav;
- }
- return __ret;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/config/locale/generic/codecvt_members.cc b/contrib/libstdc++/config/locale/generic/codecvt_members.cc
deleted file mode 100644
index 555c3b3cf369..000000000000
--- a/contrib/libstdc++/config/locale/generic/codecvt_members.cc
+++ /dev/null
@@ -1,218 +0,0 @@
-// std::codecvt implementation details, generic version -*- C++ -*-
-
-// Copyright (C) 2002, 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.
-
-//
-// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specializations.
-#ifdef _GLIBCXX_USE_WCHAR_T
- codecvt_base::result
- codecvt<wchar_t, char, mbstate_t>::
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const
- {
- result __ret = ok;
- // The conversion must be done using a temporary destination buffer
- // since it is not possible to pass the size of the buffer to wcrtomb
- state_type __tmp_state(__state);
-
- // The conversion must be done by calling wcrtomb in a loop rather
- // than using wcsrtombs because wcsrtombs assumes that the input is
- // zero-terminated.
-
- // Either we can upper bound the total number of external characters to
- // something smaller than __to_end - __to or the conversion must be done
- // using a temporary destination buffer since it is not possible to
- // pass the size of the buffer to wcrtomb
- if (MB_CUR_MAX * (__from_end - __from) - (__to_end - __to) <= 0)
- while (__from < __from_end)
- {
- const size_t __conv = wcrtomb(__to, *__from, &__tmp_state);
- if (__conv == static_cast<size_t>(-1))
- {
- __ret = error;
- break;
- }
- __state = __tmp_state;
- __to += __conv;
- __from++;
- }
- else
- {
- extern_type __buf[MB_LEN_MAX];
- while (__from < __from_end && __to < __to_end)
- {
- const size_t __conv = wcrtomb(__buf, *__from, &__tmp_state);
- if (__conv == static_cast<size_t>(-1))
- {
- __ret = error;
- break;
- }
- else if (__conv > static_cast<size_t>(__to_end - __to))
- {
- __ret = partial;
- break;
- }
-
- memcpy(__to, __buf, __conv);
- __state = __tmp_state;
- __to += __conv;
- __from++;
- }
- }
-
- if (__ret == ok && __from < __from_end)
- __ret = partial;
-
- __from_next = __from;
- __to_next = __to;
- return __ret;
- }
-
- codecvt_base::result
- codecvt<wchar_t, char, mbstate_t>::
- do_in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const
- {
- result __ret = ok;
- // This temporary state object is neccessary so __state won't be modified
- // if [__from, __from_end) is a partial multibyte character.
- state_type __tmp_state(__state);
-
- // Conversion must be done by calling mbrtowc in a loop rather than
- // by calling mbsrtowcs because mbsrtowcs assumes that the input
- // sequence is zero-terminated.
- while (__from < __from_end && __to < __to_end)
- {
- size_t __conv = mbrtowc(__to, __from, __from_end - __from,
- &__tmp_state);
- if (__conv == static_cast<size_t>(-1))
- {
- __ret = error;
- break;
- }
- else if (__conv == static_cast<size_t>(-2))
- {
- // It is unclear what to return in this case (see DR 382).
- __ret = partial;
- break;
- }
- else if (__conv == 0)
- {
- // XXX Probably wrong for stateful encodings
- __conv = 1;
- *__to = L'\0';
- }
-
- __state = __tmp_state;
- __to++;
- __from += __conv;
- }
-
- // It is not clear that __from < __from_end implies __ret != ok
- // (see DR 382).
- if (__ret == ok && __from < __from_end)
- __ret = partial;
-
- __from_next = __from;
- __to_next = __to;
- return __ret;
- }
-
- int
- codecvt<wchar_t, char, mbstate_t>::
- do_encoding() const throw()
- {
- // XXX This implementation assumes that the encoding is
- // stateless and is either single-byte or variable-width.
- int __ret = 0;
- if (MB_CUR_MAX == 1)
- __ret = 1;
- return __ret;
- }
-
- int
- codecvt<wchar_t, char, mbstate_t>::
- do_max_length() const throw()
- {
- // XXX Probably wrong for stateful encodings.
- int __ret = MB_CUR_MAX;
- return __ret;
- }
-
- int
- codecvt<wchar_t, char, mbstate_t>::
- do_length(state_type& __state, const extern_type* __from,
- const extern_type* __end, size_t __max) const
- {
- int __ret = 0;
- state_type __tmp_state(__state);
-
- while (__from < __end && __max)
- {
- size_t __conv = mbrtowc(NULL, __from, __end - __from, &__tmp_state);
- if (__conv == static_cast<size_t>(-1))
- {
- // Invalid source character
- break;
- }
- else if (__conv == static_cast<size_t>(-2))
- {
- // Remainder of input does not form a complete destination
- // character.
- break;
- }
- else if (__conv == 0)
- {
- // XXX Probably wrong for stateful encodings
- __conv = 1;
- }
-
- __state = __tmp_state;
- __from += __conv;
- __ret += __conv;
- __max--;
- }
-
- return __ret;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/generic/collate_members.cc b/contrib/libstdc++/config/locale/generic/collate_members.cc
deleted file mode 100644
index f614037a2388..000000000000
--- a/contrib/libstdc++/config/locale/generic/collate_members.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-// std::collate implementation details, generic version -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-//
-// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // These are basically extensions to char_traits, and perhaps should
- // be put there instead of here.
- template<>
- int
- collate<char>::_M_compare(const char* __one, const char* __two) const
- {
- int __cmp = strcoll(__one, __two);
- return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
- }
-
- template<>
- size_t
- collate<char>::_M_transform(char* __to, const char* __from,
- size_t __n) const
- { return strxfrm(__to, __from, __n); }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- int
- collate<wchar_t>::_M_compare(const wchar_t* __one,
- const wchar_t* __two) const
- {
- int __cmp = wcscoll(__one, __two);
- return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
- }
-
- template<>
- size_t
- collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
- size_t __n) const
- { return wcsxfrm(__to, __from, __n); }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/generic/ctype_members.cc b/contrib/libstdc++/config/locale/generic/ctype_members.cc
deleted file mode 100644
index 3af4440da8f6..000000000000
--- a/contrib/libstdc++/config/locale/generic/ctype_members.cc
+++ /dev/null
@@ -1,268 +0,0 @@
-// std::ctype implementation details, generic version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // NB: The other ctype<char> specializations are in src/locale.cc and
- // various /config/os/* files.
- template<>
- ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
- : ctype<char>(0, false, __refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- }
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- ctype<wchar_t>::__wmask_type
- ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
- {
- __wmask_type __ret;
- switch (__m)
- {
- case space:
- __ret = wctype("space");
- break;
- case print:
- __ret = wctype("print");
- break;
- case cntrl:
- __ret = wctype("cntrl");
- break;
- case upper:
- __ret = wctype("upper");
- break;
- case lower:
- __ret = wctype("lower");
- break;
- case alpha:
- __ret = wctype("alpha");
- break;
- case digit:
- __ret = wctype("digit");
- break;
- case punct:
- __ret = wctype("punct");
- break;
- case xdigit:
- __ret = wctype("xdigit");
- break;
- case alnum:
- __ret = wctype("alnum");
- break;
- case graph:
- __ret = wctype("graph");
- break;
- default:
- __ret = __wmask_type();
- }
- return __ret;
- };
-
- wchar_t
- ctype<wchar_t>::do_toupper(wchar_t __c) const
- { return towupper(__c); }
-
- const wchar_t*
- ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi)
- {
- *__lo = towupper(*__lo);
- ++__lo;
- }
- return __hi;
- }
-
- wchar_t
- ctype<wchar_t>::do_tolower(wchar_t __c) const
- { return towlower(__c); }
-
- const wchar_t*
- ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi)
- {
- *__lo = towlower(*__lo);
- ++__lo;
- }
- return __hi;
- }
-
- bool
- ctype<wchar_t>::
- do_is(mask __m, char_type __c) const
- {
- bool __ret = false;
- // Generically, 15 (instead of 10) since we don't know the numerical
- // encoding of the various categories in /usr/include/ctype.h.
- const size_t __bitmasksize = 15;
- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
- if (__m & _M_bit[__bitcur]
- && iswctype(__c, _M_wmask[__bitcur]))
- {
- __ret = true;
- break;
- }
- return __ret;
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
- {
- for (;__lo < __hi; ++__vec, ++__lo)
- {
- // Generically, 15 (instead of 10) since we don't know the numerical
- // encoding of the various categories in /usr/include/ctype.h.
- const size_t __bitmasksize = 15;
- mask __m = 0;
- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
- if (iswctype(*__lo, _M_wmask[__bitcur]))
- __m |= _M_bit[__bitcur];
- *__vec = __m;
- }
- return __hi;
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi && !this->do_is(__m, *__lo))
- ++__lo;
- return __lo;
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
- {
- while (__lo < __hi && this->do_is(__m, *__lo) != 0)
- ++__lo;
- return __lo;
- }
-
- wchar_t
- ctype<wchar_t>::
- do_widen(char __c) const
- { return _M_widen[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<wchar_t>::
- do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
- {
- while (__lo < __hi)
- {
- *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
- ++__lo;
- ++__dest;
- }
- return __hi;
- }
-
- char
- ctype<wchar_t>::
- do_narrow(wchar_t __wc, char __dfault) const
- {
- if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
- return _M_narrow[__wc];
- const int __c = wctob(__wc);
- return (__c == EOF ? __dfault : static_cast<char>(__c));
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
- char* __dest) const
- {
- if (_M_narrow_ok)
- while (__lo < __hi)
- {
- if (*__lo >= 0 && *__lo < 128)
- *__dest = _M_narrow[*__lo];
- else
- {
- const int __c = wctob(*__lo);
- *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
- }
- ++__lo;
- ++__dest;
- }
- else
- while (__lo < __hi)
- {
- const int __c = wctob(*__lo);
- *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
- ++__lo;
- ++__dest;
- }
- return __hi;
- }
-
- void
- ctype<wchar_t>::_M_initialize_ctype()
- {
- wint_t __i;
- for (__i = 0; __i < 128; ++__i)
- {
- const int __c = wctob(__i);
- if (__c == EOF)
- break;
- else
- _M_narrow[__i] = static_cast<char>(__c);
- }
- if (__i == 128)
- _M_narrow_ok = true;
- else
- _M_narrow_ok = false;
- for (size_t __i = 0;
- __i < sizeof(_M_widen) / sizeof(wint_t); ++__i)
- _M_widen[__i] = btowc(__i);
-
- for (size_t __i = 0; __i <= 15; ++__i)
- {
- _M_bit[__i] = static_cast<mask>(1 << __i);
- _M_wmask[__i] = _M_convert_to_wmask(_M_bit[__i]);
- }
- }
-#endif // _GLIBCXX_USE_WCHAR_T
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/generic/messages_members.cc b/contrib/libstdc++/config/locale/generic/messages_members.cc
deleted file mode 100644
index 2980ed92fc93..000000000000
--- a/contrib/libstdc++/config/locale/generic/messages_members.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-// std::messages implementation details, generic version -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-//
-// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specializations
- template<>
- string
- messages<char>::do_get(catalog, int, int, const string& __dfault) const
- { return __dfault; }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- wstring
- messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
- { return __dfault; }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/generic/messages_members.h b/contrib/libstdc++/config/locale/generic/messages_members.h
deleted file mode 100644
index 40986886e8bb..000000000000
--- a/contrib/libstdc++/config/locale/generic/messages_members.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// std::messages implementation details, generic version -*- C++ -*-
-
-// Copyright (C) 2001, 2003, 2004 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 messages_members.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Non-virtual member functions.
- template<typename _CharT>
- messages<_CharT>::messages(size_t __refs)
- : facet(__refs)
- { _M_c_locale_messages = _S_get_c_locale(); }
-
- template<typename _CharT>
- messages<_CharT>::messages(__c_locale, const char*, size_t __refs)
- : facet(__refs)
- { _M_c_locale_messages = _S_get_c_locale(); }
-
- template<typename _CharT>
- typename messages<_CharT>::catalog
- messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
- const char*) const
- { return this->do_open(__s, __loc); }
-
- // Virtual member functions.
- template<typename _CharT>
- messages<_CharT>::~messages()
- { _S_destroy_c_locale(_M_c_locale_messages); }
-
- template<typename _CharT>
- typename messages<_CharT>::catalog
- messages<_CharT>::do_open(const basic_string<char>&, const locale&) const
- { return 0; }
-
- template<typename _CharT>
- typename messages<_CharT>::string_type
- messages<_CharT>::do_get(catalog, int, int,
- const string_type& __dfault) const
- { return __dfault; }
-
- template<typename _CharT>
- void
- messages<_CharT>::do_close(catalog) const
- { }
-
- // messages_byname
- template<typename _CharT>
- messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
- : messages<_CharT>(__refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_messages);
- this->_S_create_c_locale(this->_M_c_locale_messages, __s);
- }
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/generic/monetary_members.cc b/contrib/libstdc++/config/locale/generic/monetary_members.cc
deleted file mode 100644
index 3abcf338c100..000000000000
--- a/contrib/libstdc++/config/locale/generic/monetary_members.cc
+++ /dev/null
@@ -1,172 +0,0 @@
-// std::moneypunct implementation details, generic version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Construct and return valid pattern consisting of some combination of:
- // space none symbol sign value
- money_base::pattern
- money_base::_S_construct_pattern(char, char, char)
- { return _S_default_pattern; }
-
- template<>
- void
- moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*)
- {
- // "C" locale.
- if (!_M_data)
- _M_data = new __moneypunct_cache<char, true>;
-
- _M_data->_M_decimal_point = '.';
- _M_data->_M_thousands_sep = ',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = "";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = "";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = "";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
- }
-
- template<>
- void
- moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*)
- {
- // "C" locale.
- if (!_M_data)
- _M_data = new __moneypunct_cache<char, false>;
-
- _M_data->_M_decimal_point = '.';
- _M_data->_M_thousands_sep = ',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = "";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = "";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = "";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
- }
-
- template<>
- moneypunct<char, true>::~moneypunct()
- { delete _M_data; }
-
- template<>
- moneypunct<char, false>::~moneypunct()
- { delete _M_data; }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
- const char*)
- {
- // "C" locale
- if (!_M_data)
- _M_data = new __moneypunct_cache<wchar_t, true>;
-
- _M_data->_M_decimal_point = L'.';
- _M_data->_M_thousands_sep = L',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = L"";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = L"";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = L"";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] =
- static_cast<wchar_t>(money_base::_S_atoms[__i]);
- }
-
- template<>
- void
- moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
- const char*)
- {
- // "C" locale
- if (!_M_data)
- _M_data = new __moneypunct_cache<wchar_t, false>;
-
- _M_data->_M_decimal_point = L'.';
- _M_data->_M_thousands_sep = L',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = L"";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = L"";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = L"";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] =
- static_cast<wchar_t>(money_base::_S_atoms[__i]);
- }
-
- template<>
- moneypunct<wchar_t, true>::~moneypunct()
- { delete _M_data; }
-
- template<>
- moneypunct<wchar_t, false>::~moneypunct()
- { delete _M_data; }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/generic/numeric_members.cc b/contrib/libstdc++/config/locale/generic/numeric_members.cc
deleted file mode 100644
index ce4f6487e77d..000000000000
--- a/contrib/libstdc++/config/locale/generic/numeric_members.cc
+++ /dev/null
@@ -1,108 +0,0 @@
-// std::numpunct implementation details, generic version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<>
- void
- numpunct<char>::_M_initialize_numpunct(__c_locale)
- {
- // "C" locale
- if (!_M_data)
- _M_data = new __numpunct_cache<char>;
-
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_use_grouping = false;
-
- _M_data->_M_decimal_point = '.';
- _M_data->_M_thousands_sep = ',';
-
- for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
- _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-
- for (size_t __i = 0; __i < __num_base::_S_iend; ++__i)
- _M_data->_M_atoms_in[__i] = __num_base::_S_atoms_in[__i];
-
- _M_data->_M_truename = "true";
- _M_data->_M_truename_size = 4;
- _M_data->_M_falsename = "false";
- _M_data->_M_falsename_size = 5;
- }
-
- template<>
- numpunct<char>::~numpunct()
- { delete _M_data; }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- numpunct<wchar_t>::_M_initialize_numpunct(__c_locale)
- {
- // "C" locale
- if (!_M_data)
- _M_data = new __numpunct_cache<wchar_t>;
-
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_use_grouping = false;
-
- _M_data->_M_decimal_point = L'.';
- _M_data->_M_thousands_sep = L',';
-
- // Use ctype::widen code without the facet...
- for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
- _M_data->_M_atoms_out[__i] =
- static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
-
- for (size_t __i = 0; __i < __num_base::_S_iend; ++__i)
- _M_data->_M_atoms_in[__i] =
- static_cast<wchar_t>(__num_base::_S_atoms_in[__i]);
-
- _M_data->_M_truename = L"true";
- _M_data->_M_truename_size = 4;
- _M_data->_M_falsename = L"false";
- _M_data->_M_falsename_size = 5;
- }
-
- template<>
- numpunct<wchar_t>::~numpunct()
- { delete _M_data; }
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
diff --git a/contrib/libstdc++/config/locale/generic/time_members.cc b/contrib/libstdc++/config/locale/generic/time_members.cc
deleted file mode 100644
index dbb12ae6848b..000000000000
--- a/contrib/libstdc++/config/locale/generic/time_members.cc
+++ /dev/null
@@ -1,205 +0,0 @@
-// std::time_get, std::time_put implementation, generic version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<>
- void
- __timepunct<char>::
- _M_put(char* __s, size_t __maxlen, const char* __format,
- const tm* __tm) const
- {
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, _M_name_timepunct);
- const size_t __len = strftime(__s, __maxlen, __format, __tm);
- setlocale(LC_ALL, __old);
- free(__old);
- // Make sure __s is null terminated.
- if (__len == 0)
- __s[0] = '\0';
- }
-
- template<>
- void
- __timepunct<char>::_M_initialize_timepunct(__c_locale)
- {
- // "C" locale.
- if (!_M_data)
- _M_data = new __timepunct_cache<char>;
-
- _M_data->_M_date_format = "%m/%d/%y";
- _M_data->_M_date_era_format = "%m/%d/%y";
- _M_data->_M_time_format = "%H:%M:%S";
- _M_data->_M_time_era_format = "%H:%M:%S";
- _M_data->_M_date_time_format = "";
- _M_data->_M_date_time_era_format = "";
- _M_data->_M_am = "AM";
- _M_data->_M_pm = "PM";
- _M_data->_M_am_pm_format = "";
-
- // Day names, starting with "C"'s Sunday.
- _M_data->_M_day1 = "Sunday";
- _M_data->_M_day2 = "Monday";
- _M_data->_M_day3 = "Tuesday";
- _M_data->_M_day4 = "Wednesday";
- _M_data->_M_day5 = "Thursday";
- _M_data->_M_day6 = "Friday";
- _M_data->_M_day7 = "Saturday";
-
- // Abbreviated day names, starting with "C"'s Sun.
- _M_data->_M_aday1 = "Sun";
- _M_data->_M_aday2 = "Mon";
- _M_data->_M_aday3 = "Tue";
- _M_data->_M_aday4 = "Wed";
- _M_data->_M_aday5 = "Thu";
- _M_data->_M_aday6 = "Fri";
- _M_data->_M_aday7 = "Sat";
-
- // Month names, starting with "C"'s January.
- _M_data->_M_month01 = "January";
- _M_data->_M_month02 = "February";
- _M_data->_M_month03 = "March";
- _M_data->_M_month04 = "April";
- _M_data->_M_month05 = "May";
- _M_data->_M_month06 = "June";
- _M_data->_M_month07 = "July";
- _M_data->_M_month08 = "August";
- _M_data->_M_month09 = "September";
- _M_data->_M_month10 = "October";
- _M_data->_M_month11 = "November";
- _M_data->_M_month12 = "December";
-
- // Abbreviated month names, starting with "C"'s Jan.
- _M_data->_M_amonth01 = "Jan";
- _M_data->_M_amonth02 = "Feb";
- _M_data->_M_amonth03 = "Mar";
- _M_data->_M_amonth04 = "Apr";
- _M_data->_M_amonth05 = "May";
- _M_data->_M_amonth06 = "Jun";
- _M_data->_M_amonth07 = "Jul";
- _M_data->_M_amonth08 = "Aug";
- _M_data->_M_amonth09 = "Sep";
- _M_data->_M_amonth10 = "Oct";
- _M_data->_M_amonth11 = "Nov";
- _M_data->_M_amonth12 = "Dec";
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- __timepunct<wchar_t>::
- _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
- const tm* __tm) const
- {
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, _M_name_timepunct);
- const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
- setlocale(LC_ALL, __old);
- free(__old);
- // Make sure __s is null terminated.
- if (__len == 0)
- __s[0] = L'\0';
- }
-
- template<>
- void
- __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale)
- {
- // "C" locale.
- if (!_M_data)
- _M_data = new __timepunct_cache<wchar_t>;
-
- _M_data->_M_date_format = L"%m/%d/%y";
- _M_data->_M_date_era_format = L"%m/%d/%y";
- _M_data->_M_time_format = L"%H:%M:%S";
- _M_data->_M_time_era_format = L"%H:%M:%S";
- _M_data->_M_date_time_format = L"";
- _M_data->_M_date_time_era_format = L"";
- _M_data->_M_am = L"AM";
- _M_data->_M_pm = L"PM";
- _M_data->_M_am_pm_format = L"";
-
- // Day names, starting with "C"'s Sunday.
- _M_data->_M_day1 = L"Sunday";
- _M_data->_M_day2 = L"Monday";
- _M_data->_M_day3 = L"Tuesday";
- _M_data->_M_day4 = L"Wednesday";
- _M_data->_M_day5 = L"Thursday";
- _M_data->_M_day6 = L"Friday";
- _M_data->_M_day7 = L"Saturday";
-
- // Abbreviated day names, starting with "C"'s Sun.
- _M_data->_M_aday1 = L"Sun";
- _M_data->_M_aday2 = L"Mon";
- _M_data->_M_aday3 = L"Tue";
- _M_data->_M_aday4 = L"Wed";
- _M_data->_M_aday5 = L"Thu";
- _M_data->_M_aday6 = L"Fri";
- _M_data->_M_aday7 = L"Sat";
-
- // Month names, starting with "C"'s January.
- _M_data->_M_month01 = L"January";
- _M_data->_M_month02 = L"February";
- _M_data->_M_month03 = L"March";
- _M_data->_M_month04 = L"April";
- _M_data->_M_month05 = L"May";
- _M_data->_M_month06 = L"June";
- _M_data->_M_month07 = L"July";
- _M_data->_M_month08 = L"August";
- _M_data->_M_month09 = L"September";
- _M_data->_M_month10 = L"October";
- _M_data->_M_month11 = L"November";
- _M_data->_M_month12 = L"December";
-
- // Abbreviated month names, starting with "C"'s Jan.
- _M_data->_M_amonth01 = L"Jan";
- _M_data->_M_amonth02 = L"Feb";
- _M_data->_M_amonth03 = L"Mar";
- _M_data->_M_amonth04 = L"Apr";
- _M_data->_M_amonth05 = L"May";
- _M_data->_M_amonth06 = L"Jun";
- _M_data->_M_amonth07 = L"Jul";
- _M_data->_M_amonth08 = L"Aug";
- _M_data->_M_amonth09 = L"Sep";
- _M_data->_M_amonth10 = L"Oct";
- _M_data->_M_amonth11 = L"Nov";
- _M_data->_M_amonth12 = L"Dec";
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/generic/time_members.h b/contrib/libstdc++/config/locale/generic/time_members.h
deleted file mode 100644
index 8c868c014956..000000000000
--- a/contrib/libstdc++/config/locale/generic/time_members.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// std::time_get, std::time_put implementation, generic version -*- C++ -*-
-
-// 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 time_members.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(size_t __refs)
- : facet(__refs), _M_data(NULL)
- {
- _M_name_timepunct = _S_get_c_name();
- _M_initialize_timepunct();
- }
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
- : facet(__refs), _M_data(__cache)
- {
- _M_name_timepunct = _S_get_c_name();
- _M_initialize_timepunct();
- }
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
- size_t __refs)
- : facet(__refs), _M_data(NULL)
- {
- const size_t __len = std::strlen(__s) + 1;
- char* __tmp = new char[__len];
- std::memcpy(__tmp, __s, __len);
- _M_name_timepunct = __tmp;
-
- try
- { _M_initialize_timepunct(__cloc); }
- catch(...)
- {
- delete [] _M_name_timepunct;
- __throw_exception_again;
- }
- }
-
- template<typename _CharT>
- __timepunct<_CharT>::~__timepunct()
- {
- if (_M_name_timepunct != _S_get_c_name())
- delete [] _M_name_timepunct;
- delete _M_data;
- _S_destroy_c_locale(_M_c_locale_timepunct);
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/c++locale_internal.h b/contrib/libstdc++/config/locale/gnu/c++locale_internal.h
deleted file mode 100644
index 0d6e9c2d4456..000000000000
--- a/contrib/libstdc++/config/locale/gnu/c++locale_internal.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-
-// Copyright (C) 2002, 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 c++locale_internal.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Jakub Jelinek <jakub@redhat.com>
-
-#include <bits/c++config.h>
-#include <clocale>
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-
-extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-extern "C" __typeof(strcoll_l) __strcoll_l;
-extern "C" __typeof(strftime_l) __strftime_l;
-extern "C" __typeof(strtod_l) __strtod_l;
-extern "C" __typeof(strtof_l) __strtof_l;
-extern "C" __typeof(strtold_l) __strtold_l;
-extern "C" __typeof(strxfrm_l) __strxfrm_l;
-extern "C" __typeof(newlocale) __newlocale;
-extern "C" __typeof(freelocale) __freelocale;
-extern "C" __typeof(duplocale) __duplocale;
-extern "C" __typeof(uselocale) __uselocale;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-extern "C" __typeof(iswctype_l) __iswctype_l;
-extern "C" __typeof(towlower_l) __towlower_l;
-extern "C" __typeof(towupper_l) __towupper_l;
-extern "C" __typeof(wcscoll_l) __wcscoll_l;
-extern "C" __typeof(wcsftime_l) __wcsftime_l;
-extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-extern "C" __typeof(wctype_l) __wctype_l;
-#endif
-
-#endif // GLIBC 2.3 and later
diff --git a/contrib/libstdc++/config/locale/gnu/c_locale.cc b/contrib/libstdc++/config/locale/gnu/c_locale.cc
deleted file mode 100644
index 37db702677a3..000000000000
--- a/contrib/libstdc++/config/locale/gnu/c_locale.cc
+++ /dev/null
@@ -1,150 +0,0 @@
-// Wrapper for underlying C-language localization -*- C++ -*-
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882: 22.8 Standard locale categories.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <cerrno> // For errno
-#include <locale>
-#include <stdexcept>
-#include <langinfo.h>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<>
- void
- __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
- const __c_locale& __cloc)
- {
- char* __sanity;
- errno = 0;
- float __f = __strtof_l(__s, &__sanity, __cloc);
- if (__sanity != __s && errno != ERANGE)
- __v = __f;
- else
- __err |= ios_base::failbit;
- }
-
- template<>
- void
- __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
- const __c_locale& __cloc)
- {
- char* __sanity;
- errno = 0;
- double __d = __strtod_l(__s, &__sanity, __cloc);
- if (__sanity != __s && errno != ERANGE)
- __v = __d;
- else
- __err |= ios_base::failbit;
- }
-
- template<>
- void
- __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
- const __c_locale& __cloc)
- {
- char* __sanity;
- errno = 0;
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- // Prefer strtold_l, as __strtold_l isn't prototyped in more recent
- // glibc versions.
- long double __ld = strtold_l(__s, &__sanity, __cloc);
-#else
- long double __ld = __strtold_l(__s, &__sanity, __cloc);
-#endif
- if (__sanity != __s && errno != ERANGE)
- __v = __ld;
- else
- __err |= ios_base::failbit;
- }
-
- void
- locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
- __c_locale __old)
- {
- __cloc = __newlocale(1 << LC_ALL, __s, __old);
- if (!__cloc)
- {
- // This named locale is not supported by the underlying OS.
- __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
- "name not valid"));
- }
- }
-
- void
- locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
- {
- if (__cloc && _S_get_c_locale() != __cloc)
- __freelocale(__cloc);
- }
-
- __c_locale
- locale::facet::_S_clone_c_locale(__c_locale& __cloc)
- { return __duplocale(__cloc); }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
- {
- "LC_CTYPE",
- "LC_NUMERIC",
- "LC_TIME",
- "LC_COLLATE",
- "LC_MONETARY",
- "LC_MESSAGES",
- "LC_PAPER",
- "LC_NAME",
- "LC_ADDRESS",
- "LC_TELEPHONE",
- "LC_MEASUREMENT",
- "LC_IDENTIFICATION"
- };
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-
-_GLIBCXX_END_NAMESPACE
-
-// XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
- extern "C" void ldbl (void) __attribute__ ((alias (#dbl)))
-_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct);
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/contrib/libstdc++/config/locale/gnu/c_locale.h b/contrib/libstdc++/config/locale/gnu/c_locale.h
deleted file mode 100644
index f0b2b7dcaa2f..000000000000
--- a/contrib/libstdc++/config/locale/gnu/c_locale.h
+++ /dev/null
@@ -1,112 +0,0 @@
-// Wrapper for underlying C-language localization -*- C++ -*-
-
-// Copyright (C) 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 c++locale.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.8 Standard locale categories.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#ifndef _C_LOCALE_H
-#define _C_LOCALE_H 1
-
-#pragma GCC system_header
-
-#include <cstring> // get std::strlen
-#include <cstdio> // get std::vsnprintf or std::vsprintf
-#include <clocale>
-#include <langinfo.h> // For codecvt
-#include <iconv.h> // For codecvt using iconv, iconv_t
-#include <libintl.h> // For messages
-#include <cstdarg>
-
-#define _GLIBCXX_C_LOCALE_GNU 1
-
-#define _GLIBCXX_NUM_CATEGORIES 6
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- extern "C" __typeof(uselocale) __uselocale;
-
-_GLIBCXX_END_NAMESPACE
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- typedef __locale_t __c_locale;
-
- // Convert numeric value of type double and long double to string and
- // return length of string. If vsnprintf is available use it, otherwise
- // fall back to the unsafe vsprintf which, in general, can be dangerous
- // and should be avoided.
- inline int
- __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
- char* __out,
- const int __size __attribute__ ((__unused__)),
- const char* __fmt, ...)
- {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-#else
- char* __old = std::setlocale(LC_ALL, NULL);
- char* __sav = new char[std::strlen(__old) + 1];
- std::strcpy(__sav, __old);
- std::setlocale(LC_ALL, "C");
-#endif
-
- va_list __args;
- va_start(__args, __fmt);
-
-#ifdef _GLIBCXX_USE_C99
- const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
-#else
- const int __ret = std::vsprintf(__out, __fmt, __args);
-#endif
-
- va_end(__args);
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __gnu_cxx::__uselocale(__old);
-#else
- std::setlocale(LC_ALL, __sav);
- delete [] __sav;
-#endif
- return __ret;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/config/locale/gnu/codecvt_members.cc b/contrib/libstdc++/config/locale/gnu/codecvt_members.cc
deleted file mode 100644
index ac1fe9267c8e..000000000000
--- a/contrib/libstdc++/config/locale/gnu/codecvt_members.cc
+++ /dev/null
@@ -1,307 +0,0 @@
-// std::codecvt implementation details, GNU version -*- C++ -*-
-
-// Copyright (C) 2002, 2003, 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.
-
-//
-// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specializations.
-#ifdef _GLIBCXX_USE_WCHAR_T
- codecvt_base::result
- codecvt<wchar_t, char, mbstate_t>::
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const
- {
- result __ret = ok;
- state_type __tmp_state(__state);
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_codecvt);
-#endif
-
- // wcsnrtombs is *very* fast but stops if encounters NUL characters:
- // in case we fall back to wcrtomb and then continue, in a loop.
- // NB: wcsnrtombs is a GNU extension
- for (__from_next = __from, __to_next = __to;
- __from_next < __from_end && __to_next < __to_end
- && __ret == ok;)
- {
- const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
- __from_end - __from_next);
- if (!__from_chunk_end)
- __from_chunk_end = __from_end;
-
- __from = __from_next;
- const size_t __conv = wcsnrtombs(__to_next, &__from_next,
- __from_chunk_end - __from_next,
- __to_end - __to_next, &__state);
- if (__conv == static_cast<size_t>(-1))
- {
- // In case of error, in order to stop at the exact place we
- // have to start again from the beginning with a series of
- // wcrtomb.
- for (; __from < __from_next; ++__from)
- __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
- __state = __tmp_state;
- __ret = error;
- }
- else if (__from_next && __from_next < __from_chunk_end)
- {
- __to_next += __conv;
- __ret = partial;
- }
- else
- {
- __from_next = __from_chunk_end;
- __to_next += __conv;
- }
-
- if (__from_next < __from_end && __ret == ok)
- {
- extern_type __buf[MB_LEN_MAX];
- __tmp_state = __state;
- const size_t __conv2 = wcrtomb(__buf, *__from_next, &__tmp_state);
- if (__conv2 > static_cast<size_t>(__to_end - __to_next))
- __ret = partial;
- else
- {
- memcpy(__to_next, __buf, __conv2);
- __state = __tmp_state;
- __to_next += __conv2;
- ++__from_next;
- }
- }
- }
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
-
- return __ret;
- }
-
- codecvt_base::result
- codecvt<wchar_t, char, mbstate_t>::
- do_in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const
- {
- result __ret = ok;
- state_type __tmp_state(__state);
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_codecvt);
-#endif
-
- // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
- // in case we store a L'\0' and then continue, in a loop.
- // NB: mbsnrtowcs is a GNU extension
- for (__from_next = __from, __to_next = __to;
- __from_next < __from_end && __to_next < __to_end
- && __ret == ok;)
- {
- const extern_type* __from_chunk_end;
- __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
- __from_end
- - __from_next));
- if (!__from_chunk_end)
- __from_chunk_end = __from_end;
-
- __from = __from_next;
- size_t __conv = mbsnrtowcs(__to_next, &__from_next,
- __from_chunk_end - __from_next,
- __to_end - __to_next, &__state);
- if (__conv == static_cast<size_t>(-1))
- {
- // In case of error, in order to stop at the exact place we
- // have to start again from the beginning with a series of
- // mbrtowc.
- for (;; ++__to_next, __from += __conv)
- {
- __conv = mbrtowc(__to_next, __from, __from_end - __from,
- &__tmp_state);
- if (__conv == static_cast<size_t>(-1)
- || __conv == static_cast<size_t>(-2))
- break;
- }
- __from_next = __from;
- __state = __tmp_state;
- __ret = error;
- }
- else if (__from_next && __from_next < __from_chunk_end)
- {
- // It is unclear what to return in this case (see DR 382).
- __to_next += __conv;
- __ret = partial;
- }
- else
- {
- __from_next = __from_chunk_end;
- __to_next += __conv;
- }
-
- if (__from_next < __from_end && __ret == ok)
- {
- if (__to_next < __to_end)
- {
- // XXX Probably wrong for stateful encodings
- __tmp_state = __state;
- ++__from_next;
- *__to_next++ = L'\0';
- }
- else
- __ret = partial;
- }
- }
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
-
- return __ret;
- }
-
- int
- codecvt<wchar_t, char, mbstate_t>::
- do_encoding() const throw()
- {
- // XXX This implementation assumes that the encoding is
- // stateless and is either single-byte or variable-width.
- int __ret = 0;
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_codecvt);
-#endif
- if (MB_CUR_MAX == 1)
- __ret = 1;
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
- return __ret;
- }
-
- int
- codecvt<wchar_t, char, mbstate_t>::
- do_max_length() const throw()
- {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_codecvt);
-#endif
- // XXX Probably wrong for stateful encodings.
- int __ret = MB_CUR_MAX;
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
- return __ret;
- }
-
- int
- codecvt<wchar_t, char, mbstate_t>::
- do_length(state_type& __state, const extern_type* __from,
- const extern_type* __end, size_t __max) const
- {
- int __ret = 0;
- state_type __tmp_state(__state);
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_codecvt);
-#endif
-
- // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
- // in case we advance past it and then continue, in a loop.
- // NB: mbsnrtowcs is a GNU extension
-
- // A dummy internal buffer is needed in order for mbsnrtocws to consider
- // its fourth parameter (it wouldn't with NULL as first parameter).
- wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
- * __max));
- while (__from < __end && __max)
- {
- const extern_type* __from_chunk_end;
- __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
- __end
- - __from));
- if (!__from_chunk_end)
- __from_chunk_end = __end;
-
- const extern_type* __tmp_from = __from;
- size_t __conv = mbsnrtowcs(__to, &__from,
- __from_chunk_end - __from,
- __max, &__state);
- if (__conv == static_cast<size_t>(-1))
- {
- // In case of error, in order to stop at the exact place we
- // have to start again from the beginning with a series of
- // mbrtowc.
- for (__from = __tmp_from;; __from += __conv)
- {
- __conv = mbrtowc(NULL, __from, __end - __from,
- &__tmp_state);
- if (__conv == static_cast<size_t>(-1)
- || __conv == static_cast<size_t>(-2))
- break;
- }
- __state = __tmp_state;
- __ret += __from - __tmp_from;
- break;
- }
- if (!__from)
- __from = __from_chunk_end;
-
- __ret += __from - __tmp_from;
- __max -= __conv;
-
- if (__from < __end && __max)
- {
- // XXX Probably wrong for stateful encodings
- __tmp_state = __state;
- ++__from;
- ++__ret;
- --__max;
- }
- }
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
-
- return __ret;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/collate_members.cc b/contrib/libstdc++/config/locale/gnu/collate_members.cc
deleted file mode 100644
index 6f6b75812821..000000000000
--- a/contrib/libstdc++/config/locale/gnu/collate_members.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-// std::collate implementation details, GNU version -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-//
-// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // These are basically extensions to char_traits, and perhaps should
- // be put there instead of here.
- template<>
- int
- collate<char>::_M_compare(const char* __one, const char* __two) const
- {
- int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
- return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
- }
-
- template<>
- size_t
- collate<char>::_M_transform(char* __to, const char* __from,
- size_t __n) const
- { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- int
- collate<wchar_t>::_M_compare(const wchar_t* __one,
- const wchar_t* __two) const
- {
- int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
- return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
- }
-
- template<>
- size_t
- collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
- size_t __n) const
- { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/ctype_members.cc b/contrib/libstdc++/config/locale/gnu/ctype_members.cc
deleted file mode 100644
index cb2887d9b98c..000000000000
--- a/contrib/libstdc++/config/locale/gnu/ctype_members.cc
+++ /dev/null
@@ -1,304 +0,0 @@
-// std::ctype implementation details, GNU version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // NB: The other ctype<char> specializations are in src/locale.cc and
- // various /config/os/* files.
- template<>
- ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
- : ctype<char>(0, false, __refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
- this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
- this->_M_table = this->_M_c_locale_ctype->__ctype_b;
- }
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- ctype<wchar_t>::__wmask_type
- ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
- {
- __wmask_type __ret;
- switch (__m)
- {
- case space:
- __ret = __wctype_l("space", _M_c_locale_ctype);
- break;
- case print:
- __ret = __wctype_l("print", _M_c_locale_ctype);
- break;
- case cntrl:
- __ret = __wctype_l("cntrl", _M_c_locale_ctype);
- break;
- case upper:
- __ret = __wctype_l("upper", _M_c_locale_ctype);
- break;
- case lower:
- __ret = __wctype_l("lower", _M_c_locale_ctype);
- break;
- case alpha:
- __ret = __wctype_l("alpha", _M_c_locale_ctype);
- break;
- case digit:
- __ret = __wctype_l("digit", _M_c_locale_ctype);
- break;
- case punct:
- __ret = __wctype_l("punct", _M_c_locale_ctype);
- break;
- case xdigit:
- __ret = __wctype_l("xdigit", _M_c_locale_ctype);
- break;
- case alnum:
- __ret = __wctype_l("alnum", _M_c_locale_ctype);
- break;
- case graph:
- __ret = __wctype_l("graph", _M_c_locale_ctype);
- break;
- default:
- __ret = __wmask_type();
- }
- return __ret;
- }
-
- wchar_t
- ctype<wchar_t>::do_toupper(wchar_t __c) const
- { return __towupper_l(__c, _M_c_locale_ctype); }
-
- const wchar_t*
- ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi)
- {
- *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
- ++__lo;
- }
- return __hi;
- }
-
- wchar_t
- ctype<wchar_t>::do_tolower(wchar_t __c) const
- { return __towlower_l(__c, _M_c_locale_ctype); }
-
- const wchar_t*
- ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi)
- {
- *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
- ++__lo;
- }
- return __hi;
- }
-
- bool
- ctype<wchar_t>::
- do_is(mask __m, wchar_t __c) const
- {
- // The case of __m == ctype_base::space is particularly important,
- // due to its use in many istream functions. Therefore we deal with
- // it first, exploiting the knowledge that on GNU systems _M_bit[5]
- // is the mask corresponding to ctype_base::space. NB: an encoding
- // change would not affect correctness!
- bool __ret = false;
- if (__m == _M_bit[5])
- __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
- else
- {
- // Highest bitmask in ctype_base == 10, but extra in "C"
- // library for blank.
- const size_t __bitmasksize = 11;
- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
- if (__m & _M_bit[__bitcur])
- {
- if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
- {
- __ret = true;
- break;
- }
- else if (__m == _M_bit[__bitcur])
- break;
- }
- }
- return __ret;
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
- {
- for (; __lo < __hi; ++__vec, ++__lo)
- {
- // Highest bitmask in ctype_base == 10, but extra in "C"
- // library for blank.
- const size_t __bitmasksize = 11;
- mask __m = 0;
- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
- if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
- __m |= _M_bit[__bitcur];
- *__vec = __m;
- }
- return __hi;
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi && !this->do_is(__m, *__lo))
- ++__lo;
- return __lo;
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
- {
- while (__lo < __hi && this->do_is(__m, *__lo) != 0)
- ++__lo;
- return __lo;
- }
-
- wchar_t
- ctype<wchar_t>::
- do_widen(char __c) const
- { return _M_widen[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<wchar_t>::
- do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
- {
- while (__lo < __hi)
- {
- *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
- ++__lo;
- ++__dest;
- }
- return __hi;
- }
-
- char
- ctype<wchar_t>::
- do_narrow(wchar_t __wc, char __dfault) const
- {
- if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
- return _M_narrow[__wc];
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_ctype);
-#endif
- const int __c = wctob(__wc);
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
- return (__c == EOF ? __dfault : static_cast<char>(__c));
- }
-
- const wchar_t*
- ctype<wchar_t>::
- do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
- char* __dest) const
- {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_ctype);
-#endif
- if (_M_narrow_ok)
- while (__lo < __hi)
- {
- if (*__lo >= 0 && *__lo < 128)
- *__dest = _M_narrow[*__lo];
- else
- {
- const int __c = wctob(*__lo);
- *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
- }
- ++__lo;
- ++__dest;
- }
- else
- while (__lo < __hi)
- {
- const int __c = wctob(*__lo);
- *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
- ++__lo;
- ++__dest;
- }
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
- return __hi;
- }
-
- void
- ctype<wchar_t>::_M_initialize_ctype()
- {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_ctype);
-#endif
- wint_t __i;
- for (__i = 0; __i < 128; ++__i)
- {
- const int __c = wctob(__i);
- if (__c == EOF)
- break;
- else
- _M_narrow[__i] = static_cast<char>(__c);
- }
- if (__i == 128)
- _M_narrow_ok = true;
- else
- _M_narrow_ok = false;
- for (size_t __j = 0;
- __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
- _M_widen[__j] = btowc(__j);
-
- for (size_t __k = 0; __k <= 11; ++__k)
- {
- _M_bit[__k] = static_cast<mask>(_ISbit(__k));
- _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
- }
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#endif
- }
-#endif // _GLIBCXX_USE_WCHAR_T
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/messages_members.cc b/contrib/libstdc++/config/locale/gnu/messages_members.cc
deleted file mode 100644
index f206e44a636b..000000000000
--- a/contrib/libstdc++/config/locale/gnu/messages_members.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-// std::messages implementation details, GNU version -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-//
-// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specializations.
- template<>
- string
- messages<char>::do_get(catalog, int, int, const string& __dfault) const
- {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_messages);
- const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
- __uselocale(__old);
- return string(__msg);
-#else
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, _M_name_messages);
- const char* __msg = gettext(__dfault.c_str());
- setlocale(LC_ALL, __old);
- free(__old);
- return string(__msg);
-#endif
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- wstring
- messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
- {
-# if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(_M_c_locale_messages);
- char* __msg = gettext(_M_convert_to_char(__dfault));
- __uselocale(__old);
- return _M_convert_from_char(__msg);
-# else
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, _M_name_messages);
- char* __msg = gettext(_M_convert_to_char(__dfault));
- setlocale(LC_ALL, __old);
- free(__old);
- return _M_convert_from_char(__msg);
-# endif
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/messages_members.h b/contrib/libstdc++/config/locale/gnu/messages_members.h
deleted file mode 100644
index 31504e58bdc7..000000000000
--- a/contrib/libstdc++/config/locale/gnu/messages_members.h
+++ /dev/null
@@ -1,116 +0,0 @@
-// std::messages implementation details, GNU version -*- C++ -*-
-
-// 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 messages_members.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.2.7.1.2 messages functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Non-virtual member functions.
- template<typename _CharT>
- messages<_CharT>::messages(size_t __refs)
- : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
- _M_name_messages(_S_get_c_name())
- { }
-
- template<typename _CharT>
- messages<_CharT>::messages(__c_locale __cloc, const char* __s,
- size_t __refs)
- : facet(__refs), _M_c_locale_messages(NULL), _M_name_messages(NULL)
- {
- const size_t __len = std::strlen(__s) + 1;
- char* __tmp = new char[__len];
- std::memcpy(__tmp, __s, __len);
- _M_name_messages = __tmp;
-
- // Last to avoid leaking memory if new throws.
- _M_c_locale_messages = _S_clone_c_locale(__cloc);
- }
-
- template<typename _CharT>
- typename messages<_CharT>::catalog
- messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
- const char* __dir) const
- {
- bindtextdomain(__s.c_str(), __dir);
- return this->do_open(__s, __loc);
- }
-
- // Virtual member functions.
- template<typename _CharT>
- messages<_CharT>::~messages()
- {
- if (_M_name_messages != _S_get_c_name())
- delete [] _M_name_messages;
- _S_destroy_c_locale(_M_c_locale_messages);
- }
-
- template<typename _CharT>
- typename messages<_CharT>::catalog
- messages<_CharT>::do_open(const basic_string<char>& __s,
- const locale&) const
- {
- // No error checking is done, assume the catalog exists and can
- // be used.
- textdomain(__s.c_str());
- return 0;
- }
-
- template<typename _CharT>
- void
- messages<_CharT>::do_close(catalog) const
- { }
-
- // messages_byname
- template<typename _CharT>
- messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
- : messages<_CharT>(__refs)
- {
- if (this->_M_name_messages != locale::facet::_S_get_c_name())
- delete [] this->_M_name_messages;
- char* __tmp = new char[std::strlen(__s) + 1];
- std::strcpy(__tmp, __s);
- this->_M_name_messages = __tmp;
-
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_messages);
- this->_S_create_c_locale(this->_M_c_locale_messages, __s);
- }
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/monetary_members.cc b/contrib/libstdc++/config/locale/gnu/monetary_members.cc
deleted file mode 100644
index b3cd05d8305b..000000000000
--- a/contrib/libstdc++/config/locale/gnu/monetary_members.cc
+++ /dev/null
@@ -1,656 +0,0 @@
-// std::moneypunct implementation details, GNU version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Construct and return valid pattern consisting of some combination of:
- // space none symbol sign value
- money_base::pattern
- money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
- {
- pattern __ret;
-
- // This insanely complicated routine attempts to construct a valid
- // pattern for use with monyepunct. A couple of invariants:
-
- // if (__precedes) symbol -> value
- // else value -> symbol
-
- // if (__space) space
- // else none
-
- // none == never first
- // space never first or last
-
- // Any elegant implementations of this are welcome.
- switch (__posn)
- {
- case 0:
- case 1:
- // 1 The sign precedes the value and symbol.
- __ret.field[0] = sign;
- if (__space)
- {
- // Pattern starts with sign.
- if (__precedes)
- {
- __ret.field[1] = symbol;
- __ret.field[3] = value;
- }
- else
- {
- __ret.field[1] = value;
- __ret.field[3] = symbol;
- }
- __ret.field[2] = space;
- }
- else
- {
- // Pattern starts with sign and ends with none.
- if (__precedes)
- {
- __ret.field[1] = symbol;
- __ret.field[2] = value;
- }
- else
- {
- __ret.field[1] = value;
- __ret.field[2] = symbol;
- }
- __ret.field[3] = none;
- }
- break;
- case 2:
- // 2 The sign follows the value and symbol.
- if (__space)
- {
- // Pattern either ends with sign.
- if (__precedes)
- {
- __ret.field[0] = symbol;
- __ret.field[2] = value;
- }
- else
- {
- __ret.field[0] = value;
- __ret.field[2] = symbol;
- }
- __ret.field[1] = space;
- __ret.field[3] = sign;
- }
- else
- {
- // Pattern ends with sign then none.
- if (__precedes)
- {
- __ret.field[0] = symbol;
- __ret.field[1] = value;
- }
- else
- {
- __ret.field[0] = value;
- __ret.field[1] = symbol;
- }
- __ret.field[2] = sign;
- __ret.field[3] = none;
- }
- break;
- case 3:
- // 3 The sign immediately precedes the symbol.
- if (__precedes)
- {
- __ret.field[0] = sign;
- __ret.field[1] = symbol;
- if (__space)
- {
- __ret.field[2] = space;
- __ret.field[3] = value;
- }
- else
- {
- __ret.field[2] = value;
- __ret.field[3] = none;
- }
- }
- else
- {
- __ret.field[0] = value;
- if (__space)
- {
- __ret.field[1] = space;
- __ret.field[2] = sign;
- __ret.field[3] = symbol;
- }
- else
- {
- __ret.field[1] = sign;
- __ret.field[2] = symbol;
- __ret.field[3] = none;
- }
- }
- break;
- case 4:
- // 4 The sign immediately follows the symbol.
- if (__precedes)
- {
- __ret.field[0] = symbol;
- __ret.field[1] = sign;
- if (__space)
- {
- __ret.field[2] = space;
- __ret.field[3] = value;
- }
- else
- {
- __ret.field[2] = value;
- __ret.field[3] = none;
- }
- }
- else
- {
- __ret.field[0] = value;
- if (__space)
- {
- __ret.field[1] = space;
- __ret.field[2] = symbol;
- __ret.field[3] = sign;
- }
- else
- {
- __ret.field[1] = symbol;
- __ret.field[2] = sign;
- __ret.field[3] = none;
- }
- }
- break;
- default:
- __ret = pattern();
- }
- return __ret;
- }
-
- template<>
- void
- moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
- const char*)
- {
- if (!_M_data)
- _M_data = new __moneypunct_cache<char, true>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_data->_M_decimal_point = '.';
- _M_data->_M_thousands_sep = ',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = "";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = "";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = "";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
- }
- else
- {
- // Named locale.
- _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
- __cloc));
- _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
- __cloc));
- _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
- _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
- _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
- _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-
- char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
- if (!__nposn)
- _M_data->_M_negative_sign = "()";
- else
- _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
- __cloc);
- _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-
- // _Intl == true
- _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
- _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
- _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
- __cloc));
- char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
- char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
- char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
- _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
- __pposn);
- char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
- char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
- _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
- __nposn);
- }
- }
-
- template<>
- void
- moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
- const char*)
- {
- if (!_M_data)
- _M_data = new __moneypunct_cache<char, false>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_data->_M_decimal_point = '.';
- _M_data->_M_thousands_sep = ',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = "";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = "";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = "";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
- }
- else
- {
- // Named locale.
- _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
- __cloc));
- _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
- __cloc));
- _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
- _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
- _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
- _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-
- char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
- if (!__nposn)
- _M_data->_M_negative_sign = "()";
- else
- _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
- __cloc);
- _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-
- // _Intl == false
- _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
- _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
- _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
- char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
- char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
- char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
- _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
- __pposn);
- char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
- char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
- _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
- __nposn);
- }
- }
-
- template<>
- moneypunct<char, true>::~moneypunct()
- { delete _M_data; }
-
- template<>
- moneypunct<char, false>::~moneypunct()
- { delete _M_data; }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- const char*)
-#else
- const char* __name)
-#endif
- {
- if (!_M_data)
- _M_data = new __moneypunct_cache<wchar_t, true>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_data->_M_decimal_point = L'.';
- _M_data->_M_thousands_sep = L',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = L"";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = L"";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = L"";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- // Use ctype::widen code without the facet...
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] =
- static_cast<wchar_t>(money_base::_S_atoms[__i]);
- }
- else
- {
- // Named locale.
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(__cloc);
-#else
- // Switch to named locale so that mbsrtowcs will work.
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, __name);
-#endif
-
- union { char *__s; wchar_t __w; } __u;
- __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
- _M_data->_M_decimal_point = __u.__w;
-
- __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
- _M_data->_M_thousands_sep = __u.__w;
- _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
- _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-
- const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
- const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
- const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-
- wchar_t* __wcs_ps = 0;
- wchar_t* __wcs_ns = 0;
- const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
- try
- {
- mbstate_t __state;
- size_t __len = strlen(__cpossign);
- if (__len)
- {
- ++__len;
- memset(&__state, 0, sizeof(mbstate_t));
- __wcs_ps = new wchar_t[__len];
- mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
- _M_data->_M_positive_sign = __wcs_ps;
- }
- else
- _M_data->_M_positive_sign = L"";
- _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-
- __len = strlen(__cnegsign);
- if (!__nposn)
- _M_data->_M_negative_sign = L"()";
- else if (__len)
- {
- ++__len;
- memset(&__state, 0, sizeof(mbstate_t));
- __wcs_ns = new wchar_t[__len];
- mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
- _M_data->_M_negative_sign = __wcs_ns;
- }
- else
- _M_data->_M_negative_sign = L"";
- _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-
- // _Intl == true.
- __len = strlen(__ccurr);
- if (__len)
- {
- ++__len;
- memset(&__state, 0, sizeof(mbstate_t));
- wchar_t* __wcs = new wchar_t[__len];
- mbsrtowcs(__wcs, &__ccurr, __len, &__state);
- _M_data->_M_curr_symbol = __wcs;
- }
- else
- _M_data->_M_curr_symbol = L"";
- _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
- }
- catch (...)
- {
- delete _M_data;
- _M_data = 0;
- delete __wcs_ps;
- delete __wcs_ns;
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#else
- setlocale(LC_ALL, __old);
- free(__old);
-#endif
- __throw_exception_again;
- }
-
- _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
- __cloc));
- char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
- char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
- char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
- _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
- __pposn);
- char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
- char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
- _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
- __nposn);
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#else
- setlocale(LC_ALL, __old);
- free(__old);
-#endif
- }
- }
-
- template<>
- void
- moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- const char*)
-#else
- const char* __name)
-#endif
- {
- if (!_M_data)
- _M_data = new __moneypunct_cache<wchar_t, false>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_data->_M_decimal_point = L'.';
- _M_data->_M_thousands_sep = L',';
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_curr_symbol = L"";
- _M_data->_M_curr_symbol_size = 0;
- _M_data->_M_positive_sign = L"";
- _M_data->_M_positive_sign_size = 0;
- _M_data->_M_negative_sign = L"";
- _M_data->_M_negative_sign_size = 0;
- _M_data->_M_frac_digits = 0;
- _M_data->_M_pos_format = money_base::_S_default_pattern;
- _M_data->_M_neg_format = money_base::_S_default_pattern;
-
- // Use ctype::widen code without the facet...
- for (size_t __i = 0; __i < money_base::_S_end; ++__i)
- _M_data->_M_atoms[__i] =
- static_cast<wchar_t>(money_base::_S_atoms[__i]);
- }
- else
- {
- // Named locale.
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __c_locale __old = __uselocale(__cloc);
-#else
- // Switch to named locale so that mbsrtowcs will work.
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, __name);
-#endif
-
- union { char *__s; wchar_t __w; } __u;
- __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
- _M_data->_M_decimal_point = __u.__w;
-
- __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
- _M_data->_M_thousands_sep = __u.__w;
- _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
- _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-
- const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
- const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
- const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-
- wchar_t* __wcs_ps = 0;
- wchar_t* __wcs_ns = 0;
- const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
- try
- {
- mbstate_t __state;
- size_t __len;
- __len = strlen(__cpossign);
- if (__len)
- {
- ++__len;
- memset(&__state, 0, sizeof(mbstate_t));
- __wcs_ps = new wchar_t[__len];
- mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
- _M_data->_M_positive_sign = __wcs_ps;
- }
- else
- _M_data->_M_positive_sign = L"";
- _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-
- __len = strlen(__cnegsign);
- if (!__nposn)
- _M_data->_M_negative_sign = L"()";
- else if (__len)
- {
- ++__len;
- memset(&__state, 0, sizeof(mbstate_t));
- __wcs_ns = new wchar_t[__len];
- mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
- _M_data->_M_negative_sign = __wcs_ns;
- }
- else
- _M_data->_M_negative_sign = L"";
- _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-
- // _Intl == true.
- __len = strlen(__ccurr);
- if (__len)
- {
- ++__len;
- memset(&__state, 0, sizeof(mbstate_t));
- wchar_t* __wcs = new wchar_t[__len];
- mbsrtowcs(__wcs, &__ccurr, __len, &__state);
- _M_data->_M_curr_symbol = __wcs;
- }
- else
- _M_data->_M_curr_symbol = L"";
- _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
- }
- catch (...)
- {
- delete _M_data;
- _M_data = 0;
- delete __wcs_ps;
- delete __wcs_ns;
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#else
- setlocale(LC_ALL, __old);
- free(__old);
-#endif
- __throw_exception_again;
- }
-
- _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
- char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
- char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
- char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
- _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
- __pposn);
- char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
- char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
- _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
- __nposn);
-
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __uselocale(__old);
-#else
- setlocale(LC_ALL, __old);
- free(__old);
-#endif
- }
- }
-
- template<>
- moneypunct<wchar_t, true>::~moneypunct()
- {
- if (_M_data->_M_positive_sign_size)
- delete [] _M_data->_M_positive_sign;
- if (_M_data->_M_negative_sign_size
- && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
- delete [] _M_data->_M_negative_sign;
- if (_M_data->_M_curr_symbol_size)
- delete [] _M_data->_M_curr_symbol;
- delete _M_data;
- }
-
- template<>
- moneypunct<wchar_t, false>::~moneypunct()
- {
- if (_M_data->_M_positive_sign_size)
- delete [] _M_data->_M_positive_sign;
- if (_M_data->_M_negative_sign_size
- && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
- delete [] _M_data->_M_negative_sign;
- if (_M_data->_M_curr_symbol_size)
- delete [] _M_data->_M_curr_symbol;
- delete _M_data;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/numeric_members.cc b/contrib/libstdc++/config/locale/gnu/numeric_members.cc
deleted file mode 100644
index 7a0400b46cae..000000000000
--- a/contrib/libstdc++/config/locale/gnu/numeric_members.cc
+++ /dev/null
@@ -1,152 +0,0 @@
-// std::numpunct implementation details, GNU version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<>
- void
- numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
- {
- if (!_M_data)
- _M_data = new __numpunct_cache<char>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_use_grouping = false;
-
- _M_data->_M_decimal_point = '.';
- _M_data->_M_thousands_sep = ',';
-
- for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
- _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-
- for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
- _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
- }
- else
- {
- // Named locale.
- _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
- __cloc));
- _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
- __cloc));
-
- // Check for NULL, which implies no grouping.
- if (_M_data->_M_thousands_sep == '\0')
- _M_data->_M_grouping = "";
- else
- _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
- _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
- }
-
- // NB: There is no way to extact this info from posix locales.
- // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
- _M_data->_M_truename = "true";
- _M_data->_M_truename_size = 4;
- // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
- _M_data->_M_falsename = "false";
- _M_data->_M_falsename_size = 5;
- }
-
- template<>
- numpunct<char>::~numpunct()
- { delete _M_data; }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
- {
- if (!_M_data)
- _M_data = new __numpunct_cache<wchar_t>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_data->_M_grouping = "";
- _M_data->_M_grouping_size = 0;
- _M_data->_M_use_grouping = false;
-
- _M_data->_M_decimal_point = L'.';
- _M_data->_M_thousands_sep = L',';
-
- // Use ctype::widen code without the facet...
- for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
- _M_data->_M_atoms_out[__i] =
- static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
-
- for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
- _M_data->_M_atoms_in[__j] =
- static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
- }
- else
- {
- // Named locale.
- // NB: In the GNU model wchar_t is always 32 bit wide.
- union { char *__s; wchar_t __w; } __u;
- __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
- _M_data->_M_decimal_point = __u.__w;
-
- __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
- _M_data->_M_thousands_sep = __u.__w;
-
- if (_M_data->_M_thousands_sep == L'\0')
- _M_data->_M_grouping = "";
- else
- _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
- _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
- }
-
- // NB: There is no way to extact this info from posix locales.
- // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
- _M_data->_M_truename = L"true";
- _M_data->_M_truename_size = 4;
- // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
- _M_data->_M_falsename = L"false";
- _M_data->_M_falsename_size = 5;
- }
-
- template<>
- numpunct<wchar_t>::~numpunct()
- { delete _M_data; }
- #endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/time_members.cc b/contrib/libstdc++/config/locale/gnu/time_members.cc
deleted file mode 100644
index 10faa8fe4702..000000000000
--- a/contrib/libstdc++/config/locale/gnu/time_members.cc
+++ /dev/null
@@ -1,396 +0,0 @@
-// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-#include <bits/c++locale_internal.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<>
- void
- __timepunct<char>::
- _M_put(char* __s, size_t __maxlen, const char* __format,
- const tm* __tm) const
- {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
- _M_c_locale_timepunct);
-#else
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, _M_name_timepunct);
- const size_t __len = strftime(__s, __maxlen, __format, __tm);
- setlocale(LC_ALL, __old);
- free(__old);
-#endif
- // Make sure __s is null terminated.
- if (__len == 0)
- __s[0] = '\0';
- }
-
- template<>
- void
- __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
- {
- if (!_M_data)
- _M_data = new __timepunct_cache<char>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_c_locale_timepunct = _S_get_c_locale();
-
- _M_data->_M_date_format = "%m/%d/%y";
- _M_data->_M_date_era_format = "%m/%d/%y";
- _M_data->_M_time_format = "%H:%M:%S";
- _M_data->_M_time_era_format = "%H:%M:%S";
- _M_data->_M_date_time_format = "";
- _M_data->_M_date_time_era_format = "";
- _M_data->_M_am = "AM";
- _M_data->_M_pm = "PM";
- _M_data->_M_am_pm_format = "";
-
- // Day names, starting with "C"'s Sunday.
- _M_data->_M_day1 = "Sunday";
- _M_data->_M_day2 = "Monday";
- _M_data->_M_day3 = "Tuesday";
- _M_data->_M_day4 = "Wednesday";
- _M_data->_M_day5 = "Thursday";
- _M_data->_M_day6 = "Friday";
- _M_data->_M_day7 = "Saturday";
-
- // Abbreviated day names, starting with "C"'s Sun.
- _M_data->_M_aday1 = "Sun";
- _M_data->_M_aday2 = "Mon";
- _M_data->_M_aday3 = "Tue";
- _M_data->_M_aday4 = "Wed";
- _M_data->_M_aday5 = "Thu";
- _M_data->_M_aday6 = "Fri";
- _M_data->_M_aday7 = "Sat";
-
- // Month names, starting with "C"'s January.
- _M_data->_M_month01 = "January";
- _M_data->_M_month02 = "February";
- _M_data->_M_month03 = "March";
- _M_data->_M_month04 = "April";
- _M_data->_M_month05 = "May";
- _M_data->_M_month06 = "June";
- _M_data->_M_month07 = "July";
- _M_data->_M_month08 = "August";
- _M_data->_M_month09 = "September";
- _M_data->_M_month10 = "October";
- _M_data->_M_month11 = "November";
- _M_data->_M_month12 = "December";
-
- // Abbreviated month names, starting with "C"'s Jan.
- _M_data->_M_amonth01 = "Jan";
- _M_data->_M_amonth02 = "Feb";
- _M_data->_M_amonth03 = "Mar";
- _M_data->_M_amonth04 = "Apr";
- _M_data->_M_amonth05 = "May";
- _M_data->_M_amonth06 = "Jun";
- _M_data->_M_amonth07 = "Jul";
- _M_data->_M_amonth08 = "Aug";
- _M_data->_M_amonth09 = "Sep";
- _M_data->_M_amonth10 = "Oct";
- _M_data->_M_amonth11 = "Nov";
- _M_data->_M_amonth12 = "Dec";
- }
- else
- {
- _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-
- _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
- _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
- _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
- _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
- _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
- _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
- __cloc);
- _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
- _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
- _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-
- // Day names, starting with "C"'s Sunday.
- _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
- _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
- _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
- _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
- _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
- _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
- _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-
- // Abbreviated day names, starting with "C"'s Sun.
- _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
- _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
- _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
- _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
- _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
- _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
- _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-
- // Month names, starting with "C"'s January.
- _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
- _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
- _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
- _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
- _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
- _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
- _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
- _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
- _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
- _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
- _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
- _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-
- // Abbreviated month names, starting with "C"'s Jan.
- _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
- _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
- _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
- _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
- _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
- _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
- _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
- _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
- _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
- _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
- _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
- _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
- }
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- __timepunct<wchar_t>::
- _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
- const tm* __tm) const
- {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
- _M_c_locale_timepunct);
-#else
- char* __old = strdup(setlocale(LC_ALL, NULL));
- setlocale(LC_ALL, _M_name_timepunct);
- const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
- setlocale(LC_ALL, __old);
- free(__old);
-#endif
- // Make sure __s is null terminated.
- if (__len == 0)
- __s[0] = L'\0';
- }
-
- template<>
- void
- __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
- {
- if (!_M_data)
- _M_data = new __timepunct_cache<wchar_t>;
-
- if (!__cloc)
- {
- // "C" locale
- _M_c_locale_timepunct = _S_get_c_locale();
-
- _M_data->_M_date_format = L"%m/%d/%y";
- _M_data->_M_date_era_format = L"%m/%d/%y";
- _M_data->_M_time_format = L"%H:%M:%S";
- _M_data->_M_time_era_format = L"%H:%M:%S";
- _M_data->_M_date_time_format = L"";
- _M_data->_M_date_time_era_format = L"";
- _M_data->_M_am = L"AM";
- _M_data->_M_pm = L"PM";
- _M_data->_M_am_pm_format = L"";
-
- // Day names, starting with "C"'s Sunday.
- _M_data->_M_day1 = L"Sunday";
- _M_data->_M_day2 = L"Monday";
- _M_data->_M_day3 = L"Tuesday";
- _M_data->_M_day4 = L"Wednesday";
- _M_data->_M_day5 = L"Thursday";
- _M_data->_M_day6 = L"Friday";
- _M_data->_M_day7 = L"Saturday";
-
- // Abbreviated day names, starting with "C"'s Sun.
- _M_data->_M_aday1 = L"Sun";
- _M_data->_M_aday2 = L"Mon";
- _M_data->_M_aday3 = L"Tue";
- _M_data->_M_aday4 = L"Wed";
- _M_data->_M_aday5 = L"Thu";
- _M_data->_M_aday6 = L"Fri";
- _M_data->_M_aday7 = L"Sat";
-
- // Month names, starting with "C"'s January.
- _M_data->_M_month01 = L"January";
- _M_data->_M_month02 = L"February";
- _M_data->_M_month03 = L"March";
- _M_data->_M_month04 = L"April";
- _M_data->_M_month05 = L"May";
- _M_data->_M_month06 = L"June";
- _M_data->_M_month07 = L"July";
- _M_data->_M_month08 = L"August";
- _M_data->_M_month09 = L"September";
- _M_data->_M_month10 = L"October";
- _M_data->_M_month11 = L"November";
- _M_data->_M_month12 = L"December";
-
- // Abbreviated month names, starting with "C"'s Jan.
- _M_data->_M_amonth01 = L"Jan";
- _M_data->_M_amonth02 = L"Feb";
- _M_data->_M_amonth03 = L"Mar";
- _M_data->_M_amonth04 = L"Apr";
- _M_data->_M_amonth05 = L"May";
- _M_data->_M_amonth06 = L"Jun";
- _M_data->_M_amonth07 = L"Jul";
- _M_data->_M_amonth08 = L"Aug";
- _M_data->_M_amonth09 = L"Sep";
- _M_data->_M_amonth10 = L"Oct";
- _M_data->_M_amonth11 = L"Nov";
- _M_data->_M_amonth12 = L"Dec";
- }
- else
- {
- _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-
- union { char *__s; wchar_t *__w; } __u;
-
- __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
- _M_data->_M_date_format = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
- _M_data->_M_date_era_format = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
- _M_data->_M_time_format = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
- _M_data->_M_time_era_format = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
- _M_data->_M_date_time_format = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
- _M_data->_M_date_time_era_format = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
- _M_data->_M_am = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
- _M_data->_M_pm = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
- _M_data->_M_am_pm_format = __u.__w;
-
- // Day names, starting with "C"'s Sunday.
- __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
- _M_data->_M_day1 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
- _M_data->_M_day2 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
- _M_data->_M_day3 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
- _M_data->_M_day4 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
- _M_data->_M_day5 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
- _M_data->_M_day6 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
- _M_data->_M_day7 = __u.__w;
-
- // Abbreviated day names, starting with "C"'s Sun.
- __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
- _M_data->_M_aday1 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
- _M_data->_M_aday2 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
- _M_data->_M_aday3 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
- _M_data->_M_aday4 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
- _M_data->_M_aday5 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
- _M_data->_M_aday6 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
- _M_data->_M_aday7 = __u.__w;
-
- // Month names, starting with "C"'s January.
- __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
- _M_data->_M_month01 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
- _M_data->_M_month02 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
- _M_data->_M_month03 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
- _M_data->_M_month04 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
- _M_data->_M_month05 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
- _M_data->_M_month06 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
- _M_data->_M_month07 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
- _M_data->_M_month08 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
- _M_data->_M_month09 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
- _M_data->_M_month10 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
- _M_data->_M_month11 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
- _M_data->_M_month12 = __u.__w;
-
- // Abbreviated month names, starting with "C"'s Jan.
- __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
- _M_data->_M_amonth01 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
- _M_data->_M_amonth02 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
- _M_data->_M_amonth03 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
- _M_data->_M_amonth04 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
- _M_data->_M_amonth05 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
- _M_data->_M_amonth06 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
- _M_data->_M_amonth07 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
- _M_data->_M_amonth08 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
- _M_data->_M_amonth09 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
- _M_data->_M_amonth10 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
- _M_data->_M_amonth11 = __u.__w;
- __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
- _M_data->_M_amonth12 = __u.__w;
- }
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/gnu/time_members.h b/contrib/libstdc++/config/locale/gnu/time_members.h
deleted file mode 100644
index b03aa57561d3..000000000000
--- a/contrib/libstdc++/config/locale/gnu/time_members.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-
-// 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 time_members.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(size_t __refs)
- : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
- _M_name_timepunct(_S_get_c_name())
- { _M_initialize_timepunct(); }
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
- : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
- _M_name_timepunct(_S_get_c_name())
- { _M_initialize_timepunct(); }
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
- size_t __refs)
- : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
- _M_name_timepunct(NULL)
- {
- const size_t __len = std::strlen(__s) + 1;
- char* __tmp = new char[__len];
- std::memcpy(__tmp, __s, __len);
- _M_name_timepunct = __tmp;
-
- try
- { _M_initialize_timepunct(__cloc); }
- catch(...)
- {
- delete [] _M_name_timepunct;
- __throw_exception_again;
- }
- }
-
- template<typename _CharT>
- __timepunct<_CharT>::~__timepunct()
- {
- if (_M_name_timepunct != _S_get_c_name())
- delete [] _M_name_timepunct;
- delete _M_data;
- _S_destroy_c_locale(_M_c_locale_timepunct);
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.cc b/contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.cc
deleted file mode 100644
index 36db96979a4d..000000000000
--- a/contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.cc
+++ /dev/null
@@ -1,112 +0,0 @@
-// Wrapper for underlying C-language localization -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-//
-// ISO C++ 14882: 22.8 Standard locale categories.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-namespace std
-{
- void
- locale::facet::_S_create_c_locale(__c_locale&, const char*, __c_locale*)
- { }
-
- void
- locale::facet::_S_destroy_c_locale(__c_locale&)
- { }
-
- __c_locale
- locale::facet::_S_clone_c_locale(__c_locale&)
- { return __c_locale(); }
-
- template<>
- void
- numpunct<char>::_M_initialize_numpunct(__c_locale)
- {
- // "C" locale
- _M_decimal_point = '.';
- _M_thousands_sep = ',';
- _M_grouping = "";
- _M_truename = "true";
- _M_falsename = "false";
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- numpunct<wchar_t>::_M_initialize_numpunct(__c_locale)
- {
- // "C" locale
- _M_decimal_point = L'.';
- _M_thousands_sep = L',';
- _M_grouping = "";
- _M_truename = L"true";
- _M_falsename = L"false";
- }
-#endif
-
- template<>
- void
- moneypunct<char>::_M_initialize_moneypunct(__c_locale)
- {
- // "C" locale
- _M_decimal_point = '.';
- _M_thousands_sep = ',';
- _M_grouping = "";
- _M_curr_symbol = string_type();
- _M_positive_sign = string_type();
- _M_negative_sign = string_type();
- _M_frac_digits = 0;
- _M_pos_format = money_base::_S_default_pattern;
- _M_neg_format = money_base::_S_default_pattern;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- moneypunct<wchar_t>::_M_initialize_moneypunct(__c_locale)
- {
- // "C" locale
- _M_decimal_point = L'.';
- _M_thousands_sep = L',';
- _M_grouping = "";
- _M_curr_symbol = string_type();
- _M_positive_sign = string_type();
- _M_negative_sign = string_type();
- _M_frac_digits = 0;
- _M_pos_format = money_base::_S_default_pattern;
- _M_neg_format = money_base::_S_default_pattern;
- }
-#endif
-} // namespace std
-
diff --git a/contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.h b/contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.h
deleted file mode 100644
index a10ad3eddeed..000000000000
--- a/contrib/libstdc++/config/locale/ieee_1003.1-2001/c_locale.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Wrapper for underlying C-language localization -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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 c++locale.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.8 Standard locale categories.
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <clocale>
-#include <langinfo.h> // For codecvt
-#include <iconv.h> // For codecvt using iconv, iconv_t
-#include <nl_types.h> // For messages
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- typedef int* __c_locale;
-
-_GLIBCXX_END_NAMESPACE
-
diff --git a/contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.cc b/contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.cc
deleted file mode 100644
index c5b9de99549d..000000000000
--- a/contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-// std::messages implementation details, IEEE 1003.1-200x version -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-//
-// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-namespace std
-{
- // Specializations
- template<>
- string
- messages<char>::do_get(catalog __c, int __setid, int __msgid,
- const string& __dfault) const
- {
- nl_catd __nlc = reinterpret_cast<nl_catd>(__c);
- return string(catgets(__nlc, __setid, __msgid, __dfault.c_str()));
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- wstring
- messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
- {
- nl_catd __nlc = reinterpret_cast<nl_catd>(__c);
- char* __msg = catgets(__nlc, __setid, __msgid,
- _M_convert_to_char(__dfault));
- return _M_convert_from_char(__msg);
- }
-#endif
-}
diff --git a/contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.h b/contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.h
deleted file mode 100644
index be764f734d71..000000000000
--- a/contrib/libstdc++/config/locale/ieee_1003.1-2001/messages_members.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// std::messages implementation details, IEEE 1003.1-200x version -*- C++ -*-
-
-// Copyright (C) 2001 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 messages_members.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Non-virtual member functions.
- template<typename _CharT>
- typename messages<_CharT>::catalog
- messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
- const char*) const
- { return this->do_open(__s, __loc); }
-
- // Virtual member functions.
- template<typename _CharT>
- messages<_CharT>::~messages()
- { }
-
- template<typename _CharT>
- typename messages<_CharT>::catalog
- messages<_CharT>::do_open(const basic_string<char>& __s,
- const locale&) const
- { return reinterpret_cast<catalog>(catopen(__s.c_str(), NL_CAT_LOCALE)); }
-
- template<typename _CharT>
- typename messages<_CharT>::string_type
- messages<_CharT>::do_get(catalog __c, int __setid, int __msgid,
- const string_type& __dfault) const
- {
- nl_catd __nlc = reinterpret_cast<nl_catd>(__c);
- char* __msg = catgets(__nlc, __setid, __msgid,
- _M_convert_to_char(__dfault));
- return _M_convert_from_char(__msg);
- }
-
- template<typename _CharT>
- void
- messages<_CharT>::do_close(catalog __c) const
- { catclose(reinterpret_cast<nl_catd>(__c)); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/aix/atomic_word.h b/contrib/libstdc++/config/os/aix/atomic_word.h
deleted file mode 100644
index 9ac823cb6bb7..000000000000
--- a/contrib/libstdc++/config/os/aix/atomic_word.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-typedef int _Atomic_word;
-
-#ifdef _ARCH_PPC
-#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("isync":::"memory")
-#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("sync":::"memory")
-#else
-#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory")
-#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory")
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/os/aix/atomicity.h b/contrib/libstdc++/config/os/aix/atomicity.h
deleted file mode 100644
index 38c1ee368a92..000000000000
--- a/contrib/libstdc++/config/os/aix/atomicity.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// Low-level functions for atomic operations: AIX version -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 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.
-
-#include <ext/atomicity.h>
-
-/* We cannot use the cpu/powerpc/bits/atomicity.h inline assembly
- definitions for these operations since they depend on operations
- that are not available on the original POWER architecture. AIX
- still runs on the POWER architecture, so it would be incorrect to
- assume the existence of these instructions.
-
- The definition of _Atomic_word must match the type pointed to by
- atomic_p in <sys/atomic_op.h>. */
-
-extern "C"
-{
-#include <sys/atomic_op.h>
-}
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add (volatile _Atomic_word* __mem, int __val)
- { return ::fetch_and_add(const_cast<atomic_p>(__mem), __val); }
-
- void
- __attribute__ ((__unused__))
- __atomic_add (volatile _Atomic_word* __mem, int __val)
- { (void) ::fetch_and_add(const_cast<atomic_p>(__mem), __val); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/aix/ctype_base.h b/contrib/libstdc++/config/os/aix/ctype_base.h
deleted file mode 100644
index bc29ff1ccf40..000000000000
--- a/contrib/libstdc++/config/os/aix/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1999, 2000, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned int mask;
- static const mask upper = _ISUPPER;
- static const mask lower = _ISLOWER;
- static const mask alpha = _ISALPHA;
- static const mask digit = _ISDIGIT;
- static const mask xdigit = _ISXDIGIT;
- static const mask space = _ISSPACE;
- static const mask print = _ISPRINT;
- static const mask graph = _ISALPHA | _ISDIGIT | _ISPUNCT;
- static const mask cntrl = _ISCNTRL;
- static const mask punct = _ISPUNCT;
- static const mask alnum = _ISALPHA | _ISDIGIT;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/aix/ctype_inline.h b/contrib/libstdc++/config/os/aix/ctype_inline.h
deleted file mode 100644
index de00a9edfdcb..000000000000
--- a/contrib/libstdc++/config/os/aix/ctype_inline.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return __OBJ_DATA(__lc_ctype)->mask[__c] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = __OBJ_DATA(__lc_ctype)->mask[*__low++];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/aix/ctype_noninline.h b/contrib/libstdc++/config/os/aix/ctype_noninline.h
deleted file mode 100644
index 1c789bcc186c..000000000000
--- a/contrib/libstdc++/config/os/aix/ctype_noninline.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return 0; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
-
diff --git a/contrib/libstdc++/config/os/aix/os_defines.h b/contrib/libstdc++/config/os/aix/os_defines.h
deleted file mode 100644
index 2aa9f7fc2cb3..000000000000
--- a/contrib/libstdc++/config/os/aix/os_defines.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Specific definitions for AIX -*- C++ -*-
-
-// Copyright (C) 2000, 2002, 2005, 2008 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// off64_t
-#ifndef _LARGE_FILE_API
-#define _LARGE_FILE_API
-#endif
-
-// atomic types
-#ifndef _ALL_SOURCE
-#define _ALL_SOURCE
-#endif
-
-// C99 math
-#ifndef __COMPATMATH__
-#define __COMPATMATH__
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ctype_base.h b/contrib/libstdc++/config/os/bsd/darwin/ctype_base.h
deleted file mode 100644
index 6dbac958776f..000000000000
--- a/contrib/libstdc++/config/os/bsd/darwin/ctype_base.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h on FreeBSD 3.4,
-// 4.0 and all versions of the CVS managed file at:
-// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- typedef unsigned long mask;
-#ifdef _CTYPE_S
- // FreeBSD 4.0 uses this style of define.
- static const mask upper = _CTYPE_U;
- static const mask lower = _CTYPE_L;
- static const mask alpha = _CTYPE_A;
- static const mask digit = _CTYPE_D;
- static const mask xdigit = _CTYPE_X;
- static const mask space = _CTYPE_S;
- static const mask print = _CTYPE_R;
- static const mask graph = _CTYPE_A | _CTYPE_D | _CTYPE_P;
- static const mask cntrl = _CTYPE_C;
- static const mask punct = _CTYPE_P;
- static const mask alnum = _CTYPE_A | _CTYPE_D;
-#else
- // Older versions, including Free BSD 3.4, use this style of define.
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _A;
- static const mask digit = _D;
- static const mask xdigit = _X;
- static const mask space = _S;
- static const mask print = _R;
- static const mask graph = _A | _D | _P;
- static const mask cntrl = _C;
- static const mask punct = _P;
- static const mask alnum = _A | _D;
-#endif
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h b/contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h
deleted file mode 100644
index 1fcb3ab32b07..000000000000
--- a/contrib/libstdc++/config/os/bsd/darwin/ctype_inline.h
+++ /dev/null
@@ -1,152 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2003, 2004 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- {
- if (_M_table)
- return _M_table[static_cast<unsigned char>(__c)] & __m;
- else
- return __istype(__c, __m);
- }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- if (_M_table)
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- else
- for (;__low < __high; ++__vec, ++__low)
- {
-#if defined (_CTYPE_S) || defined (__istype)
- *__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
-#else
- mask __m = 0;
- if (this->is(upper, *__low)) __m |= upper;
- if (this->is(lower, *__low)) __m |= lower;
- if (this->is(alpha, *__low)) __m |= alpha;
- if (this->is(digit, *__low)) __m |= digit;
- if (this->is(xdigit, *__low)) __m |= xdigit;
- if (this->is(space, *__low)) __m |= space;
- if (this->is(print, *__low)) __m |= print;
- if (this->is(graph, *__low)) __m |= graph;
- if (this->is(cntrl, *__low)) __m |= cntrl;
- if (this->is(punct, *__low)) __m |= punct;
- // Do not include explicit line for alnum mask since it is a
- // pure composite of masks on FreeBSD.
- *__vec = __m;
-#endif
- }
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- else
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- else
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- inline bool
- ctype<wchar_t>::
- do_is(mask __m, wchar_t __c) const
- {
- return __istype (__c, __m);
- }
-
- inline const wchar_t*
- ctype<wchar_t>::
- do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
- {
- for (; __lo < __hi; ++__vec, ++__lo)
- *__vec = __maskrune (*__lo, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
- return __hi;
- }
-
- inline const wchar_t*
- ctype<wchar_t>::
- do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi && ! __istype (*__lo, __m))
- ++__lo;
- return __lo;
- }
-
- inline const wchar_t*
- ctype<wchar_t>::
- do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
- {
- while (__lo < __hi && __istype (*__lo, __m))
- ++__lo;
- return __lo;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h
deleted file mode 100644
index f7dd5334e611..000000000000
--- a/contrib/libstdc++/config/os/bsd/darwin/ctype_noninline.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return 0; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/bsd/darwin/os_defines.h b/contrib/libstdc++/config/os/bsd/darwin/os_defines.h
deleted file mode 100644
index f95e587c0856..000000000000
--- a/contrib/libstdc++/config/os/bsd/darwin/os_defines.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// Specific definitions for Darwin -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-/* Darwin has the pthread routines in libSystem, which every program
- links to, so there's no need for weak-ness for that. */
-#define _GLIBCXX_GTHREAD_USE_WEAK 0
-
-// On Darwin, in order to enable overriding of operator new and delete,
-// GCC makes the definition of these functions weak, relies on the
-// loader to implement weak semantics properly, and uses
-// -flat_namespace to work around the way that it doesn't.
-#define _GLIBCXX_WEAK_DEFINITION __attribute__ ((weak))
-
-#endif
diff --git a/contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver b/contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver
deleted file mode 100644
index ffe32b65658f..000000000000
--- a/contrib/libstdc++/config/os/bsd/darwin/ppc-extra.ver
+++ /dev/null
@@ -1 +0,0 @@
- __eprintf;
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h
deleted file mode 100644
index 9366032816ee..000000000000
--- a/contrib/libstdc++/config/os/bsd/freebsd/ctype_base.h
+++ /dev/null
@@ -1,79 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h on FreeBSD 3.4,
-// 4.0 and all versions of the CVS managed file at:
-// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- class ctype_base
- {
- public:
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned long mask;
-#ifdef _CTYPE_S
- // FreeBSD 4.0 uses this style of define.
- static const mask upper = _CTYPE_U;
- static const mask lower = _CTYPE_L;
- static const mask alpha = _CTYPE_A;
- static const mask digit = _CTYPE_D;
- static const mask xdigit = _CTYPE_X;
- static const mask space = _CTYPE_S;
- static const mask print = _CTYPE_R;
- static const mask graph = _CTYPE_A | _CTYPE_D | _CTYPE_P;
- static const mask cntrl = _CTYPE_C;
- static const mask punct = _CTYPE_P;
- static const mask alnum = _CTYPE_A | _CTYPE_D;
-#else
- // Older versions, including Free BSD 3.4, use this style of define.
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _A;
- static const mask digit = _D;
- static const mask xdigit = _X;
- static const mask space = _S;
- static const mask print = _R;
- static const mask graph = _A | _D | _P;
- static const mask cntrl = _C;
- static const mask punct = _P;
- static const mask alnum = _A | _D;
-#endif
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h
deleted file mode 100644
index bbd53a82f397..000000000000
--- a/contrib/libstdc++/config/os/bsd/freebsd/ctype_inline.h
+++ /dev/null
@@ -1,152 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- {
- if (_M_table)
- return _M_table[static_cast<unsigned char>(__c)] & __m;
- else
- return __istype(__c, __m);
- }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- if (_M_table)
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- else
- for (;__low < __high; ++__vec, ++__low)
- {
-#if defined (_CTYPE_S) || defined (__istype)
- *__vec = __maskrune (*__low, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
-#else
- mask __m = 0;
- if (this->is(upper, *__low)) __m |= upper;
- if (this->is(lower, *__low)) __m |= lower;
- if (this->is(alpha, *__low)) __m |= alpha;
- if (this->is(digit, *__low)) __m |= digit;
- if (this->is(xdigit, *__low)) __m |= xdigit;
- if (this->is(space, *__low)) __m |= space;
- if (this->is(print, *__low)) __m |= print;
- if (this->is(graph, *__low)) __m |= graph;
- if (this->is(cntrl, *__low)) __m |= cntrl;
- if (this->is(punct, *__low)) __m |= punct;
- // Do not include explicit line for alnum mask since it is a
- // pure composite of masks on FreeBSD.
- *__vec = __m;
-#endif
- }
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- else
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- else
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- inline bool
- ctype<wchar_t>::
- do_is(mask __m, wchar_t __c) const
- {
- return __istype (__c, __m);
- }
-
- inline const wchar_t*
- ctype<wchar_t>::
- do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
- {
- for (; __lo < __hi; ++__vec, ++__lo)
- *__vec = __maskrune (*__lo, upper | lower | alpha | digit | xdigit
- | space | print | graph | cntrl | punct | alnum);
- return __hi;
- }
-
- inline const wchar_t*
- ctype<wchar_t>::
- do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
- {
- while (__lo < __hi && ! __istype (*__lo, __m))
- ++__lo;
- return __lo;
- }
-
- inline const wchar_t*
- ctype<wchar_t>::
- do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
- {
- while (__lo < __hi && __istype (*__lo, __m))
- ++__lo;
- return __lo;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h
deleted file mode 100644
index f7dd5334e611..000000000000
--- a/contrib/libstdc++/config/os/bsd/freebsd/ctype_noninline.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return 0; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h b/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h
deleted file mode 100644
index 7f3e7d88c7a4..000000000000
--- a/contrib/libstdc++/config/os/bsd/freebsd/os_defines.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// Specific definitions for BSD -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#define _GLIBCXX_USE_C99_CHECK 1
-#define _GLIBCXX_USE_C99_DYNAMIC (!(__ISO_C_VISIBLE >= 1999))
-#define _GLIBCXX_USE_C99_LONG_LONG_CHECK 1
-#define _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC (_GLIBCXX_USE_C99_DYNAMIC || !defined __LONG_LONG_SUPPORTED)
-#define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_CHECK 1
-#define _GLIBCXX_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC defined _XOPEN_SOURCE
-
-#endif
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h
deleted file mode 100644
index bee7daf0ccea..000000000000
--- a/contrib/libstdc++/config/os/bsd/netbsd/ctype_base.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h on NetBSD.
-// Full details can be found from the CVS files at:
-// anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
-// See www.netbsd.org for details of access.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const unsigned char* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned char mask;
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _U | _L;
- static const mask digit = _N;
- static const mask xdigit = _N | _X;
- static const mask space = _S;
- static const mask print = _P | _U | _L | _N | _B;
- static const mask graph = _P | _U | _L | _N;
- static const mask cntrl = _C;
- static const mask punct = _P;
- static const mask alnum = _U | _L | _N;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h
deleted file mode 100644
index a00104c3c04c..000000000000
--- a/contrib/libstdc++/config/os/bsd/netbsd/ctype_inline.h
+++ /dev/null
@@ -1,80 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[(unsigned char)(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[*__low++];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-
-
-
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h b/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h
deleted file mode 100644
index 5a6031c0c479..000000000000
--- a/contrib/libstdc++/config/os/bsd/netbsd/ctype_noninline.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002, 2003 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- extern "C" const u_int8_t _C_ctype_[];
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return _C_ctype_ + 1; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h b/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h
deleted file mode 100644
index d40636678cb0..000000000000
--- a/contrib/libstdc++/config/os/bsd/netbsd/os_defines.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// Specific definitions for NetBSD -*- C++ -*-
-
-// Copyright (C) 2000 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.
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#define __ssize_t ssize_t
-
-#endif
diff --git a/contrib/libstdc++/config/os/djgpp/ctype_base.h b/contrib/libstdc++/config/os/djgpp/ctype_base.h
deleted file mode 100644
index 0664634e4c63..000000000000
--- a/contrib/libstdc++/config/os/djgpp/ctype_base.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2001, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- typedef unsigned short mask;
-
- // Non-standard typedefs.
- typedef unsigned char * __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- static const mask space = __dj_ISSPACE; // Whitespace
- static const mask print = __dj_ISPRINT; // Printing
- static const mask cntrl = __dj_ISCNTRL; // Control character
- static const mask upper = __dj_ISUPPER; // UPPERCASE
- static const mask lower = __dj_ISLOWER; // lowercase
- static const mask alpha = __dj_ISALPHA; // Alphabetic
- static const mask digit = __dj_ISDIGIT; // Numeric
- static const mask punct = __dj_ISPUNCT; // Punctuation
- static const mask xdigit = __dj_ISXDIGIT; // Hexadecimal numeric
- static const mask alnum = __dj_ISALPHA | __dj_ISDIGIT; // Alphanumeric
- static const mask graph = __dj_ISALPHA | __dj_ISDIGIT | __dj_ISPUNCT; // Graphical
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/djgpp/ctype_inline.h b/contrib/libstdc++/config/os/djgpp/ctype_inline.h
deleted file mode 100644
index d46656e2756d..000000000000
--- a/contrib/libstdc++/config/os/djgpp/ctype_inline.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Locale support -*- C++ -*-
-
-// 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/djgpp/ctype_noninline.h b/contrib/libstdc++/config/os/djgpp/ctype_noninline.h
deleted file mode 100644
index d2b9aabb0c60..000000000000
--- a/contrib/libstdc++/config/os/djgpp/ctype_noninline.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Locale support -*- C++ -*-
-
-// 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from DJGPP <ctype.h>
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __dj_ctype_flags+1; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _M_toupper[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_toupper[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _M_tolower[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_tolower[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/djgpp/os_defines.h b/contrib/libstdc++/config/os/djgpp/os_defines.h
deleted file mode 100644
index 417d8b63a18a..000000000000
--- a/contrib/libstdc++/config/os/djgpp/os_defines.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// Specific definitions for DJGPP -*- C++ -*-
-
-// Copyright (C) 2001, 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// FIXME: should there be '#undef POSIX_SOURCE'?
-
-#endif
-
-
diff --git a/contrib/libstdc++/config/os/generic/ctype_base.h b/contrib/libstdc++/config/os/generic/ctype_base.h
deleted file mode 100644
index 1fd5f0a7d120..000000000000
--- a/contrib/libstdc++/config/os/generic/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Default information, may not be appropriate for specific host.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned int mask;
- static const mask upper = 1 << 0;
- static const mask lower = 1 << 1;
- static const mask alpha = 1 << 2;
- static const mask digit = 1 << 3;
- static const mask xdigit = 1 << 4;
- static const mask space = 1 << 5;
- static const mask print = 1 << 6;
- static const mask graph = (1 << 2) | (1 << 3) | (1 << 9); // alnum|punct
- static const mask cntrl = 1 << 8;
- static const mask punct = 1 << 9;
- static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/generic/ctype_inline.h b/contrib/libstdc++/config/os/generic/ctype_inline.h
deleted file mode 100644
index 511bf9d40791..000000000000
--- a/contrib/libstdc++/config/os/generic/ctype_inline.h
+++ /dev/null
@@ -1,170 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2003 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-// The following definitions are portable, but insanely slow. If one
-// cares at all about performance, then specialized ctype
-// functionality should be added for the native os in question: see
-// the config/os/bits/ctype_*.h files.
-
-// Constructing a synthetic "C" table should be seriously considered...
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- {
- if (_M_table)
- return _M_table[static_cast<unsigned char>(__c)] & __m;
- else
- {
- bool __ret = false;
- const size_t __bitmasksize = 15;
- size_t __bitcur = 0; // Lowest bitmask in ctype_base == 0
- for (; __bitcur <= __bitmasksize; ++__bitcur)
- {
- const mask __bit = static_cast<mask>(1 << __bitcur);
- if (__m & __bit)
- {
- bool __testis;
- switch (__bit)
- {
- case space:
- __testis = isspace(__c);
- break;
- case print:
- __testis = isprint(__c);
- break;
- case cntrl:
- __testis = iscntrl(__c);
- break;
- case upper:
- __testis = isupper(__c);
- break;
- case lower:
- __testis = islower(__c);
- break;
- case alpha:
- __testis = isalpha(__c);
- break;
- case digit:
- __testis = isdigit(__c);
- break;
- case punct:
- __testis = ispunct(__c);
- break;
- case xdigit:
- __testis = isxdigit(__c);
- break;
- case alnum:
- __testis = isalnum(__c);
- break;
- case graph:
- __testis = isgraph(__c);
- break;
- default:
- __testis = false;
- break;
- }
- __ret |= __testis;
- }
- }
- return __ret;
- }
- }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- if (_M_table)
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- else
- {
- // Highest bitmask in ctype_base == 10.
- const size_t __bitmasksize = 15;
- for (;__low < __high; ++__vec, ++__low)
- {
- mask __m = 0;
- // Lowest bitmask in ctype_base == 0
- size_t __i = 0;
- for (;__i <= __bitmasksize; ++__i)
- {
- const mask __bit = static_cast<mask>(1 << __i);
- if (this->is(__bit, *__low))
- __m |= __bit;
- }
- *__vec = __m;
- }
- }
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- else
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- if (_M_table)
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- else
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/generic/ctype_noninline.h b/contrib/libstdc++/config/os/generic/ctype_noninline.h
deleted file mode 100644
index f3e169f79770..000000000000
--- a/contrib/libstdc++/config/os/generic/ctype_noninline.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
-// Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return 0; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/generic/os_defines.h b/contrib/libstdc++/config/os/generic/os_defines.h
deleted file mode 100644
index bcc533c10142..000000000000
--- a/contrib/libstdc++/config/os/generic/os_defines.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Specific definitions for generic platforms -*- C++ -*-
-
-// Copyright (C) 2000 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#endif
diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_base.h b/contrib/libstdc++/config/os/gnu-linux/ctype_base.h
deleted file mode 100644
index 0cd724249ee1..000000000000
--- a/contrib/libstdc++/config/os/gnu-linux/ctype_base.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
-// 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-/** @file ctype_base.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Information as gleaned from /usr/include/ctype.h
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned short mask;
- static const mask upper = _ISupper;
- static const mask lower = _ISlower;
- static const mask alpha = _ISalpha;
- static const mask digit = _ISdigit;
- static const mask xdigit = _ISxdigit;
- static const mask space = _ISspace;
- static const mask print = _ISprint;
- static const mask graph = _ISalpha | _ISdigit | _ISpunct;
- static const mask cntrl = _IScntrl;
- static const mask punct = _ISpunct;
- static const mask alnum = _ISalpha | _ISdigit;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h b/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h
deleted file mode 100644
index 6aeaa7a984c9..000000000000
--- a/contrib/libstdc++/config/os/gnu-linux/ctype_inline.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h b/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h
deleted file mode 100644
index 0b895e2956ed..000000000000
--- a/contrib/libstdc++/config/os/gnu-linux/ctype_noninline.h
+++ /dev/null
@@ -1,164 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-// 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
-#if _GLIBCXX_C_LOCALE_GNU
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return _S_get_c_locale()->__ctype_b; }
-#else
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- {
- const ctype_base::mask* __ret;
- char* __old = strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "C");
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- __ret = *__ctype_b_loc();
-#else
- __ret = __ctype_b;
-#endif
- setlocale(LC_CTYPE, __old);
- free(__old);
- return __ret;
- }
-#endif
-
-#if _GLIBCXX_C_LOCALE_GNU
- ctype<char>::ctype(__c_locale __cloc, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_c_locale_ctype(_S_clone_c_locale(__cloc)),
- _M_del(__table != 0 && __del),
- _M_toupper(_M_c_locale_ctype->__ctype_toupper),
- _M_tolower(_M_c_locale_ctype->__ctype_tolower),
- _M_table(__table ? __table : _M_c_locale_ctype->__ctype_b),
- _M_widen_ok(0), _M_narrow_ok(0)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- memset(_M_narrow, 0, sizeof(_M_narrow));
- }
-#else
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
- _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
- {
- char* __old=strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "C");
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- _M_toupper = *__ctype_toupper_loc();
- _M_tolower = *__ctype_tolower_loc();
- _M_table = __table ? __table : *__ctype_b_loc();
-#else
- _M_toupper = __ctype_toupper;
- _M_tolower = __ctype_tolower;
- _M_table = __table ? __table : __ctype_b;
-#endif
- setlocale(LC_CTYPE, __old);
- free(__old);
- memset(_M_widen, 0, sizeof(_M_widen));
- memset(_M_narrow, 0, sizeof(_M_narrow));
- }
-#endif
-
-#if _GLIBCXX_C_LOCALE_GNU
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
- _M_del(__table != 0 && __del),
- _M_toupper(_M_c_locale_ctype->__ctype_toupper),
- _M_tolower(_M_c_locale_ctype->__ctype_tolower),
- _M_table(__table ? __table : _M_c_locale_ctype->__ctype_b),
- _M_widen_ok(0), _M_narrow_ok(0)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- memset(_M_narrow, 0, sizeof(_M_narrow));
- }
-#else
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
- _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
- {
- char* __old=strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "C");
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- _M_toupper = *__ctype_toupper_loc();
- _M_tolower = *__ctype_tolower_loc();
- _M_table = __table ? __table : *__ctype_b_loc();
-#else
- _M_toupper = __ctype_toupper;
- _M_tolower = __ctype_tolower;
- _M_table = __table ? __table : __ctype_b;
-#endif
- setlocale(LC_CTYPE, __old);
- free(__old);
- memset(_M_widen, 0, sizeof(_M_widen));
- memset(_M_narrow, 0, sizeof(_M_narrow));
- }
-#endif
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _M_toupper[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_toupper[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _M_tolower[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_tolower[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver b/contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver
deleted file mode 100644
index d1e09ec7e19f..000000000000
--- a/contrib/libstdc++/config/os/gnu-linux/ldbl-extra.ver
+++ /dev/null
@@ -1,26 +0,0 @@
-# Appended to version file.
-
-GLIBCXX_LDBL_3.4 {
- _ZNSt14numeric_limitsIg*;
- _ZNSirsERg;
- _ZNSolsEg;
- _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg;
- _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP*;
- _ZStlsIg[cw]St11char_traitsI[cw]EERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E;
- _ZStrsIg[cw]St11char_traitsI[cw]EERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E;
- *__gnu_cxx_ldbl128*;
-};
-
-GLIBCXX_LDBL_3.4.7 {
- _ZNSi10_M_extractIgEERSiRT_;
- _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_;
- _ZNSo9_M_insertIgEERSoT_;
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_;
-} GLIBCXX_LDBL_3.4;
-
-CXXABI_LDBL_1.3 {
- _ZT[IS]g;
- _ZT[IS]Pg;
- _ZT[IS]PKg;
-};
diff --git a/contrib/libstdc++/config/os/gnu-linux/os_defines.h b/contrib/libstdc++/config/os/gnu-linux/os_defines.h
deleted file mode 100644
index 188b8a832087..000000000000
--- a/contrib/libstdc++/config/os/gnu-linux/os_defines.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Specific definitions for GNU/Linux -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002, 2003 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// This keeps isanum, et al from being propagated as macros.
-#define __NO_CTYPE 1
-
-#include <features.h>
-
-// We must not see the optimized string functions GNU libc defines.
-#if defined __GLIBC__ && __GLIBC__ >= 2
-#define __NO_STRING_INLINES
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/os/hpux/ctype_base.h b/contrib/libstdc++/config/os/hpux/ctype_base.h
deleted file mode 100644
index 0d6cb5f2369f..000000000000
--- a/contrib/libstdc++/config/os/hpux/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Default information, may not be appropriate for specific host.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned int mask;
- static const mask upper = _ISUPPER;
- static const mask lower = _ISLOWER;
- static const mask alpha = _ISALPHA;
- static const mask digit = _ISDIGIT;
- static const mask xdigit = _ISXDIGIT;
- static const mask space = _ISSPACE;
- static const mask print = _ISPRINT;
- static const mask graph = _ISALPHA | _ISDIGIT | _ISPUNCT;
- static const mask cntrl = _ISCNTRL;
- static const mask punct = _ISPUNCT;
- static const mask alnum = _ISALPHA | _ISDIGIT;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/hpux/ctype_inline.h b/contrib/libstdc++/config/os/hpux/ctype_inline.h
deleted file mode 100644
index 455e5a982e60..000000000000
--- a/contrib/libstdc++/config/os/hpux/ctype_inline.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/hpux/ctype_noninline.h b/contrib/libstdc++/config/os/hpux/ctype_noninline.h
deleted file mode 100644
index 6e47061dfcfd..000000000000
--- a/contrib/libstdc++/config/os/hpux/ctype_noninline.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
-// Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __SB_masks; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : (const mask *) __SB_masks)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : (const mask *) __SB_masks)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/hpux/os_defines.h b/contrib/libstdc++/config/os/hpux/os_defines.h
deleted file mode 100644
index c7ff485d2dda..000000000000
--- a/contrib/libstdc++/config/os/hpux/os_defines.h
+++ /dev/null
@@ -1,100 +0,0 @@
-// Specific definitions for HPUX -*- C++ -*-
-
-// Copyright (C) 2000, 2002, 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// Use macro form of ctype functions to ensure __SB_masks is defined.
-#define _SB_CTYPE_MACROS 1
-
-/* HP-UX, for reasons unknown choose to use a different name for
- the string to [unsigned] long long conversion routines.
-
- Furthermore, instead of having the prototypes in stdlib.h like
- everyone else, they put them into a non-standard header
- <inttypes.h>. Ugh.
-
- <inttypes.h> defines a variety of things, some of which we
- probably do not want. So we don't want to include it here.
-
- Luckily we can just declare strtoll and strtoull with the
- __asm extension which effectively renames calls at the
- source level without namespace pollution.
-
- Also note that the compiler defines _INCLUDE_LONGLONG for C++
- unconditionally, which makes intmax_t and uintmax_t long long
- types.
-
- We also force _GLIBCXX_USE_LONG_LONG here so that we don't have
- to bastardize configure to deal with this sillyness. */
-namespace std
-{
-#ifndef __LP64__
- __extension__ extern "C" long long strtoll (const char *, char **, int)
- __asm ("__strtoll");
- __extension__ extern "C" unsigned long long strtoull (const char *, char **, int)
- __asm ("__strtoull");
-#else
- __extension__ extern "C" long long strtoll (const char *, char **, int)
- __asm ("strtol");
- __extension__ extern "C" unsigned long long strtoull (const char *, char **, int)
- __asm ("strtoul");
-#endif
-}
-
-#define _GLIBCXX_USE_LONG_LONG 1
-
-// HPUX on IA64 requires vtable to be 64 bit aligned even at 32 bit
-// mode. We need to pad the vtable structure to achieve this.
-#if !defined(_LP64) && defined (__ia64__)
-#define _GLIBCXX_VTABLE_PADDING 8
-typedef long int __padding_type;
-#endif
-
-// GCC on IA64 HP-UX uses the HP-UX system unwind library,
-// it does not have the _Unwind_Resume_or_Rethrow entry point
-// because that is not part of the standard IA64 Unwind ABI.
-#if defined (__ia64__)
-#define _LIBUNWIND_STD_ABI 1
-#endif
-
-/* Don't use pragma weak in gthread headers. HP-UX rejects programs
- with unsatisfied external references even if all of those references
- are weak; gthread relies on such unsatisfied references being resolved
- to null pointers when weak symbol support is on. */
-#define _GLIBCXX_GTHREAD_USE_WEAK 0
-#endif
diff --git a/contrib/libstdc++/config/os/irix/atomic_word.h b/contrib/libstdc++/config/os/irix/atomic_word.h
deleted file mode 100644
index f27e7e26bdf5..000000000000
--- a/contrib/libstdc++/config/os/irix/atomic_word.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Low-level type for atomic operations -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-#ifndef _GLIBCXX_ATOMIC_WORD_H
-#define _GLIBCXX_ATOMIC_WORD_H 1
-
-typedef long _Atomic_word;
-
-#endif
diff --git a/contrib/libstdc++/config/os/irix/atomicity.h b/contrib/libstdc++/config/os/irix/atomicity.h
deleted file mode 100644
index ebb3dfb5e8a6..000000000000
--- a/contrib/libstdc++/config/os/irix/atomicity.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// Low-level functions for atomic operations: IRIX version -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-#include <mutex.h>
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- _Atomic_word
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- { return (_Atomic_word) test_then_add((unsigned long*) const_cast<_Atomic_word*>(__mem), __val); }
-
- void
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- { __exchange_and_add(__mem, __val); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h
deleted file mode 100644
index 1af3054d7e9c..000000000000
--- a/contrib/libstdc++/config/os/irix/irix5.2/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997-1999, 2001 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h on irix 5.2
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef unsigned int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned char mask;
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _U | _L;
- static const mask digit = _N;
- static const mask xdigit = _X;
- static const mask space = _S;
- static const mask print = _U | _L | _N | _P | _B;
- static const mask graph = _U | _L | _N | _P;
- static const mask cntrl = _C;
- static const mask punct = _P;
- static const mask alnum = _U | _L | _N;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h
deleted file mode 100644
index 8b9b2d1c3d93..000000000000
--- a/contrib/libstdc++/config/os/irix/irix5.2/ctype_inline.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return (_M_table)[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = (_M_table)[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && ! this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h b/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h
deleted file mode 100644
index de9348ce7d62..000000000000
--- a/contrib/libstdc++/config/os/irix/irix5.2/ctype_noninline.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002
-// Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __ctype + 1; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(!__table ? classic_table() : __table)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(!__table ? classic_table() : __table)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _toupper(__c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = do_toupper(*__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _tolower(__c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = do_tolower(*__low);
- ++__low;
- }
- return __high;
- }
-
diff --git a/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h b/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h
deleted file mode 100644
index 2b301ce9fd3f..000000000000
--- a/contrib/libstdc++/config/os/irix/irix5.2/os_defines.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Specific definitions for IRIX -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// We need large file support. There are two ways to turn it on: by
-// defining either _LARGEFILE64_SOURCE or _SGI_SOURCE. However, it
-// does not actually work to define only the former, as then
-// <sys/stat.h> is invalid: `st_blocks' is defined to be a macro, but
-// then used as a field name. So, we have to turn on _SGI_SOURCE.
-// That only works if _POSIX_SOURCE is turned off, so we have to
-// explicitly turn it off. (Some of the libio C files explicitly try
-// to turn it on.) _SGI_SOURCE is actually turned on implicitly via
-// the command-line.
-#undef _POSIX_SOURCE
-
-// GCC does not use thunks on IRIX.
-#define _G_USING_THUNKS 0
-
-#endif
-
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h
deleted file mode 100644
index 12980554b66e..000000000000
--- a/contrib/libstdc++/config/os/irix/irix6.5/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h on irix 6.5
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned int mask;
- static const mask upper = _ISupper;
- static const mask lower = _ISlower;
- static const mask alpha = _ISalpha;
- static const mask digit = _ISdigit;
- static const mask xdigit = _ISxdigit;
- static const mask space = _ISspace;
- static const mask print = _ISprint;
- static const mask graph = _ISalpha | _ISdigit | _ISpunct;
- static const mask cntrl = _IScntrl;
- static const mask punct = _ISpunct;
- static const mask alnum = _ISalpha | _ISdigit;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h
deleted file mode 100644
index 4d81d3ecce10..000000000000
--- a/contrib/libstdc++/config/os/irix/irix6.5/ctype_inline.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return (_M_table)[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = (_M_table)[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && ! this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h b/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h
deleted file mode 100644
index f80fe95cc5c3..000000000000
--- a/contrib/libstdc++/config/os/irix/irix6.5/ctype_noninline.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return 0; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(!__table ?
- (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(!__table ?
- (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _toupper(__c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = do_toupper(*__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _tolower(__c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = do_tolower(*__low);
- ++__low;
- }
- return __high;
- }
-
diff --git a/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h b/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h
deleted file mode 100644
index 35f29d09af9b..000000000000
--- a/contrib/libstdc++/config/os/irix/irix6.5/os_defines.h
+++ /dev/null
@@ -1,54 +0,0 @@
-// Specific definitions for IRIX -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// We need large file support. There are two ways to turn it on: by
-// defining either _LARGEFILE64_SOURCE or _SGI_SOURCE. However, it
-// does not actually work to define only the former, as then
-// <sys/stat.h> is invalid: `st_blocks' is defined to be a macro, but
-// then used as a field name. So, we have to turn on _SGI_SOURCE.
-// That only works if _POSIX_SOURCE is turned off, so we have to
-// explicitly turn it off. (Some of the libio C files explicitly try
-// to turn it on.) _SGI_SOURCE is actually turned on implicitly via
-// the command-line.
-#undef _POSIX_SOURCE
-
-// GCC does not use thunks on IRIX.
-#define _G_USING_THUNKS 0
-
-// FINOREAD takes an "off_t *" as argument.
-#define _GLIBCXX_FIONREAD_TAKES_OFF_T
-
-#endif
-
diff --git a/contrib/libstdc++/config/os/mingw32/ctype_base.h b/contrib/libstdc++/config/os/mingw32/ctype_base.h
deleted file mode 100644
index a7efaf718c28..000000000000
--- a/contrib/libstdc++/config/os/mingw32/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information, as gleaned from /mingw32/include/ctype.h.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned short mask;
- static const mask upper = _UPPER;
- static const mask lower = _LOWER;
- static const mask alpha = _ALPHA;
- static const mask digit = _DIGIT;
- static const mask xdigit = _HEX;
- static const mask space = _SPACE;
- static const mask print = (_BLANK | _PUNCT| _ALPHA | _DIGIT);
- static const mask graph = (_PUNCT | _ALPHA | _DIGIT);
- static const mask cntrl = _CONTROL;
- static const mask punct = _PUNCT;
- static const mask alnum = (_ALPHA | _DIGIT);
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/mingw32/ctype_inline.h b/contrib/libstdc++/config/os/mingw32/ctype_inline.h
deleted file mode 100644
index 7b1233658a40..000000000000
--- a/contrib/libstdc++/config/os/mingw32/ctype_inline.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return (_M_table[static_cast<unsigned char>(__c) ] & __m); }
-
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/mingw32/ctype_noninline.h b/contrib/libstdc++/config/os/mingw32/ctype_noninline.h
deleted file mode 100644
index 42ac703ac133..000000000000
--- a/contrib/libstdc++/config/os/mingw32/ctype_noninline.h
+++ /dev/null
@@ -1,104 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /mingw32/include/ctype.h.
-
- // This should be in mingw's ctype.h but isn't in older versions
- // Static classic C-locale table. _ctype[0] is EOF
- extern "C" unsigned short __declspec(dllimport) _ctype[];
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return _ctype + 1; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return (this->is(ctype_base::lower, __c) ? (__c - 'a' + 'A') : __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = this->do_toupper(*__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return (this->is(ctype_base::upper, __c) ? (__c - 'A' + 'a') : __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = this->do_tolower(*__low);
- ++__low;
- }
- return __high;
- }
-
-
-
-
diff --git a/contrib/libstdc++/config/os/mingw32/os_defines.h b/contrib/libstdc++/config/os/mingw32/os_defines.h
deleted file mode 100644
index 6f041b358219..000000000000
--- a/contrib/libstdc++/config/os/mingw32/os_defines.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Specific definitions for generic platforms -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002, 2003, 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-# define _GLIBCXX_OS_DEFINES
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// Define as 0, if you want, to enable inlining of gthread functions.
-// By default, don't pollute libstdc++ with win32api names.
-#if !defined (__GTHREAD_HIDE_WIN32API)
-# define __GTHREAD_HIDE_WIN32API 1
-#endif
-
-// Don't let win32api windef.h define min and max as macros
-// if included after stl_algobase.h.
-#undef NOMINMAX
-#define NOMINMAX 1
-
-// See libstdc++/20806.
-#define _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM 1
-
-#endif
diff --git a/contrib/libstdc++/config/os/newlib/ctype_base.h b/contrib/libstdc++/config/os/newlib/ctype_base.h
deleted file mode 100644
index 286287a4ebfc..000000000000
--- a/contrib/libstdc++/config/os/newlib/ctype_base.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1
-
-// Support for Solaris 2.5.1
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef char mask;
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _U | _L;
- static const mask digit = _N;
- static const mask xdigit = _X | _N;
- static const mask space = _S;
- static const mask print = _P | _U | _L | _N | _B;
- static const mask graph = _P | _U | _L | _N;
- static const mask cntrl = _C;
- static const mask punct = _P;
- static const mask alnum = _U | _L | _N;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/newlib/ctype_inline.h b/contrib/libstdc++/config/os/newlib/ctype_inline.h
deleted file mode 100644
index 69b549deadb9..000000000000
--- a/contrib/libstdc++/config/os/newlib/ctype_inline.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/newlib/ctype_noninline.h b/contrib/libstdc++/config/os/newlib/ctype_noninline.h
deleted file mode 100644
index 71a5d3c2c0c0..000000000000
--- a/contrib/libstdc++/config/os/newlib/ctype_noninline.h
+++ /dev/null
@@ -1,103 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return _ctype_ + 1; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- {
- int __x = __c;
- return (this->is(ctype_base::lower, __c) ? (__x - 'a' + 'A') : __x);
- }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = this->do_toupper(*__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- {
- int __x = __c;
- return (this->is(ctype_base::upper, __c) ? (__x - 'A' + 'a') : __x);
- }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = this->do_tolower(*__low);
- ++__low;
- }
- return __high;
- }
-
diff --git a/contrib/libstdc++/config/os/newlib/os_defines.h b/contrib/libstdc++/config/os/newlib/os_defines.h
deleted file mode 100644
index 492af4e6b523..000000000000
--- a/contrib/libstdc++/config/os/newlib/os_defines.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// Specific definitions for newlib -*- C++ -*-
-
-// Copyright (C) 2000, 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#ifdef __CYGWIN__
-#define _GLIBCXX_GTHREAD_USE_WEAK 0
-
-// See libstdc++/20806.
-#define _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM 1
-#endif
-
-#endif
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h
deleted file mode 100644
index e5de97dd308b..000000000000
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const unsigned char* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef short mask;
- static const mask upper = _UP;
- static const mask lower = _LO;
- static const mask alpha = _LO | _UP | _XA;
- static const mask digit = _DI;
- static const mask xdigit = _XD;
- static const mask space = _CN | _SP | _XS;
- static const mask print = _DI | _LO | _PU | _SP | _UP | _XA;
- static const mask graph = _DI | _LO | _PU | _UP | _XA;
- static const mask cntrl = _BB;
- static const mask punct = _PU;
- static const mask alnum = _DI | _LO | _UP | _XA;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h
deleted file mode 100644
index f6f3d68b2aea..000000000000
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_inline.h
+++ /dev/null
@@ -1,76 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[(unsigned char)(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[*__low++];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h b/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h
deleted file mode 100644
index 7bf505719b55..000000000000
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/ctype_noninline.h
+++ /dev/null
@@ -1,94 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return 0; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : _Ctype)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : _Ctype)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h b/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h
deleted file mode 100644
index c037acd21816..000000000000
--- a/contrib/libstdc++/config/os/qnx/qnx6.1/os_defines.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Specific definitions for QNX 6.1 -*- C++ -*-
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#endif
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h
deleted file mode 100644
index 89b11c021d71..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997-1999, 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned char mask;
- static const mask upper = 01;
- static const mask lower = 02;
- static const mask alpha = 01 | 02;
- static const mask digit = 04;
- static const mask xdigit = 0200;
- static const mask space = 010;
- static const mask print = 020 | 01 | 02 | 04 | 0100;
- static const mask graph = 020 | 01 | 02 | 04;
- static const mask cntrl = 040;
- static const mask punct = 020;
- static const mask alnum = 01 | 02 | 04;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h
deleted file mode 100644
index 4e000c71f12c..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_inline.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997-1999, 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return (_M_table + 1)[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = (_M_table + 1)[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !((_M_table + 1)[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && ((_M_table + 1)[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h
deleted file mode 100644
index 2b28a25fd08b..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/ctype_noninline.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __ctype; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ((_M_table + 258)[static_cast<unsigned char>(__c)]); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = this->do_toupper(*__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ((_M_table + 258)[static_cast<unsigned char>(__c)]); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = this->do_tolower(*__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h
deleted file mode 100644
index 0c3c324d0abc..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.5/os_defines.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Specific definitions for Solaris 2.5 -*- C++ -*-
-
-// Copyright (C) 2000, 2002, 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.
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#endif
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h
deleted file mode 100644
index 78a5c8567dea..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_base.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h. Looks like this
-// only works with solaris2.6.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef long* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned int mask;
- static const mask upper = _ISUPPER;
- static const mask lower = _ISLOWER;
- static const mask alpha = _ISALPHA;
- static const mask digit = _ISDIGIT;
- static const mask xdigit = _ISXDIGIT;
- static const mask space = _ISSPACE;
- static const mask print = _ISPRINT;
- static const mask graph = _ISALPHA | _ISDIGIT | _ISPUNCT;
- static const mask cntrl = _ISCNTRL;
- static const mask punct = _ISPUNCT;
- static const mask alnum = _ISALPHA | _ISDIGIT;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h
deleted file mode 100644
index 511b84ffaa3a..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_inline.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- const int __bitmasksize = sizeof(mask) * 8;
- for (;__low < __high; ++__vec, ++__low)
- {
- mask __m = _M_table[static_cast<unsigned char>(*__low)];
- int __i = 0; // Lowest bitmask value from ctype_base.
- while (__i < __bitmasksize && !(__m & static_cast<mask>(1 << __i)))
- ++__i;
- *__vec = static_cast<mask>(1 << __i);
- }
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h
deleted file mode 100644
index f0341c0bfcbd..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/ctype_noninline.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __ctype_mask; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(__trans_upper), _M_tolower(__trans_lower),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(__trans_upper), _M_tolower(__trans_lower),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _M_toupper[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_toupper[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _M_tolower[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_tolower[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h
deleted file mode 100644
index 3a0494b84c44..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.6/os_defines.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Specific definitions for Solaris 2.6 -*- C++ -*-
-
-// Copyright (C) 2000, 2002, 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.
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#endif
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h
deleted file mode 100644
index 631617039cdc..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_base.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h. Looks like this
-// only works with solaris2.7 and solaris2.8. Thanks for not changing
-// things, sun engineers!
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned int mask;
- static const mask upper = _ISUPPER;
- static const mask lower = _ISLOWER;
- static const mask alpha = _ISALPHA;
- static const mask digit = _ISDIGIT;
- static const mask xdigit = _ISXDIGIT;
- static const mask space = _ISSPACE;
- static const mask print = _ISPRINT;
- static const mask graph = _ISALPHA | _ISDIGIT | _ISPUNCT;
- static const mask cntrl = _ISCNTRL;
- static const mask punct = _ISPUNCT;
- static const mask alnum = _ISALPHA | _ISDIGIT;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h
deleted file mode 100644
index 455e5a982e60..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_inline.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h b/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h
deleted file mode 100644
index 29eb513fa243..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/ctype_noninline.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
-// Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __ctype_mask; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(__trans_upper), _M_tolower(__trans_lower),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(__trans_upper), _M_tolower(__trans_lower),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _M_toupper[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_toupper[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _M_tolower[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_tolower[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h b/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h
deleted file mode 100644
index f2ecd8d81256..000000000000
--- a/contrib/libstdc++/config/os/solaris/solaris2.7/os_defines.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Specific definitions for Solaris 7,8 -*- C++ -*-
-
-// Copyright (C) 2000, 2002, 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.
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#endif
-
diff --git a/contrib/libstdc++/config/os/tpf/ctype_base.h b/contrib/libstdc++/config/os/tpf/ctype_base.h
deleted file mode 100644
index 93415395fc7c..000000000000
--- a/contrib/libstdc++/config/os/tpf/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned short mask;
- static const mask upper = _ISupper;
- static const mask lower = _ISlower;
- static const mask alpha = _ISalpha;
- static const mask digit = _ISdigit;
- static const mask xdigit = _ISxdigit;
- static const mask space = _ISspace;
- static const mask print = _ISprint;
- static const mask graph = _ISalpha | _ISdigit | _ISpunct;
- static const mask cntrl = _IScntrl;
- static const mask punct = _ISpunct;
- static const mask alnum = _ISalpha | _ISdigit;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/tpf/ctype_inline.h b/contrib/libstdc++/config/os/tpf/ctype_inline.h
deleted file mode 100644
index 59f863b9d41e..000000000000
--- a/contrib/libstdc++/config/os/tpf/ctype_inline.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2004 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/tpf/ctype_noninline.h b/contrib/libstdc++/config/os/tpf/ctype_noninline.h
deleted file mode 100644
index 3a42ba085c67..000000000000
--- a/contrib/libstdc++/config/os/tpf/ctype_noninline.h
+++ /dev/null
@@ -1,108 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2004 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- {
- const ctype_base::mask* __ret;
- char* __old = strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "C");
- __ret = *__ctype_b_loc();
- setlocale(LC_CTYPE, __old);
- free(__old);
- return __ret;
- }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del)
- {
- char* __old=strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "C");
- _M_toupper = *__ctype_toupper_loc();
- _M_tolower = *__ctype_tolower_loc();
- _M_table = __table ? __table : *__ctype_b_loc();
- setlocale(LC_CTYPE, __old);
- free(__old);
- _M_c_locale_ctype = _S_get_c_locale();
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del)
- {
- char* __old=strdup(setlocale(LC_CTYPE, NULL));
- setlocale(LC_CTYPE, "C");
- _M_toupper = *__ctype_toupper_loc();
- _M_tolower = *__ctype_tolower_loc();
- _M_table = __table ? __table : *__ctype_b_loc();
- setlocale(LC_CTYPE, __old);
- free(__old);
- _M_c_locale_ctype = _S_get_c_locale();
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _M_toupper[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_toupper[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _M_tolower[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_tolower[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/tpf/os_defines.h b/contrib/libstdc++/config/os/tpf/os_defines.h
deleted file mode 100644
index 6e223b98b830..000000000000
--- a/contrib/libstdc++/config/os/tpf/os_defines.h
+++ /dev/null
@@ -1,50 +0,0 @@
-// Specific definitions for TPF -*- C++ -*-
-
-// Copyright (C) 2004 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// TPF is a big endian OS, let it be known here.
-#define _BIG_ENDIAN 1
-
-// This keeps isanum, et al from being propagated as macros.
-#define __NO_CTYPE 1
-
-// We must not see the optimized string functions GNU libc defines.
-#define __NO_STRING_INLINES
-
-#endif
diff --git a/contrib/libstdc++/config/os/uclibc/ctype_base.h b/contrib/libstdc++/config/os/uclibc/ctype_base.h
deleted file mode 100644
index d964f0f06f2a..000000000000
--- a/contrib/libstdc++/config/os/uclibc/ctype_base.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2002, 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-/** @file ctype_base.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Information as gleaned from /usr/include/ctype.h
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Note: In uClibc, the following two types depend on configuration.
-
- // Non-standard typedefs.
- typedef const __ctype_touplow_t* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef __ctype_mask_t mask;
- static const mask upper = _ISupper;
- static const mask lower = _ISlower;
- static const mask alpha = _ISalpha;
- static const mask digit = _ISdigit;
- static const mask xdigit = _ISxdigit;
- static const mask space = _ISspace;
- static const mask print = _ISprint;
- static const mask graph = _ISalpha | _ISdigit | _ISpunct;
- static const mask cntrl = _IScntrl;
- static const mask punct = _ISpunct;
- static const mask alnum = _ISalpha | _ISdigit;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/uclibc/ctype_inline.h b/contrib/libstdc++/config/os/uclibc/ctype_inline.h
deleted file mode 100644
index 329fb3d0f77b..000000000000
--- a/contrib/libstdc++/config/os/uclibc/ctype_inline.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 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
-// 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/uclibc/ctype_noninline.h b/contrib/libstdc++/config/os/uclibc/ctype_noninline.h
deleted file mode 100644
index 6bf1faba55ad..000000000000
--- a/contrib/libstdc++/config/os/uclibc/ctype_noninline.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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.
-
-/** @file ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __C_ctype_b; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
- _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
- {
- _M_toupper = __C_ctype_toupper;
- _M_tolower = __C_ctype_tolower;
- _M_table = __table ? __table : __C_ctype_b;
- memset(_M_widen, 0, sizeof(_M_widen));
- memset(_M_narrow, 0, sizeof(_M_narrow));
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
- _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
- {
- _M_toupper = __C_ctype_toupper;
- _M_tolower = __C_ctype_tolower;
- _M_table = __table ? __table : __C_ctype_b;
- memset(_M_widen, 0, sizeof(_M_widen));
- memset(_M_narrow, 0, sizeof(_M_narrow));
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return _M_toupper[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_toupper[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return _M_tolower[static_cast<unsigned char>(__c)]; }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = _M_tolower[static_cast<unsigned char>(*__low)];
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/uclibc/os_defines.h b/contrib/libstdc++/config/os/uclibc/os_defines.h
deleted file mode 100644
index d3d9b380a3f6..000000000000
--- a/contrib/libstdc++/config/os/uclibc/os_defines.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Specific definitions for GNU/Linux with uClibc -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2002, 2003, 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-// This keeps isanum, et al from being propagated as macros.
-#define __NO_CTYPE 1
-
-#include <features.h>
-
-// We must not see the optimized string functions GNU libc defines.
-#define __NO_STRING_INLINES
-
-#endif
diff --git a/contrib/libstdc++/config/os/vxworks/ctype_base.h b/contrib/libstdc++/config/os/vxworks/ctype_base.h
deleted file mode 100644
index 4e01966e3247..000000000000
--- a/contrib/libstdc++/config/os/vxworks/ctype_base.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information extracted from target/h/ctype.h.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const unsigned char* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned char mask;
- static const mask upper = _C_UPPER;
- static const mask lower = _C_LOWER;
- static const mask alpha = _C_UPPER | _C_LOWER;
- static const mask digit = _C_NUMBER;
- static const mask xdigit = _C_HEX_NUMBER;
- static const mask space = _C_WHITE_SPACE | _C_CONTROL;
- static const mask print = (_C_UPPER | _C_LOWER | _C_NUMBER
- | _C_WHITE_SPACE | _C_PUNCT);
- static const mask graph = _C_UPPER | _C_LOWER | _C_NUMBER | _C_PUNCT;
- static const mask cntrl = _C_CONTROL;
- static const mask punct = _C_PUNCT;
- static const mask alnum = _C_UPPER | _C_LOWER | _C_NUMBER;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/vxworks/ctype_inline.h b/contrib/libstdc++/config/os/vxworks/ctype_inline.h
deleted file mode 100644
index 5ff4f2e71965..000000000000
--- a/contrib/libstdc++/config/os/vxworks/ctype_inline.h
+++ /dev/null
@@ -1,80 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2000, 2003 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from target/h/ctype.h
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- { return __ctype[static_cast<unsigned char>(__c)] & __m; }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- while (__low < __high)
- *__vec++ = __ctype[static_cast<unsigned char>(*__low++)];
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && !(__ctype[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high
- && (__ctype[static_cast<unsigned char>(*__low)] & __m))
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/vxworks/ctype_noninline.h b/contrib/libstdc++/config/os/vxworks/ctype_noninline.h
deleted file mode 100644
index 6cb92708e5d3..000000000000
--- a/contrib/libstdc++/config/os/vxworks/ctype_noninline.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
-// 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from target/h/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return __ctype; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table ? __table : classic_table())
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return __toupper(__c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = __toupper(*__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return __tolower(__c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = __tolower(*__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/vxworks/os_defines.h b/contrib/libstdc++/config/os/vxworks/os_defines.h
deleted file mode 100644
index 89cb859288b9..000000000000
--- a/contrib/libstdc++/config/os/vxworks/os_defines.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Specific definitions for VxWorks -*- C++ -*-
-
-// Copyright (C) 2000, 2003 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCPP_OS_DEFINES
-#define _GLIBCPP_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-
-#endif
diff --git a/contrib/libstdc++/config/os/windiss/ctype_base.h b/contrib/libstdc++/config/os/windiss/ctype_base.h
deleted file mode 100644
index 07885cafcebd..000000000000
--- a/contrib/libstdc++/config/os/windiss/ctype_base.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Default information, may not be appropriate for specific host.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Base class for ctype.
- struct ctype_base
- {
- // Non-standard typedefs.
- typedef const int* __to_type;
-
- // NB: Offsets into ctype<char>::_M_table force a particular size
- // on the mask type. Because of this, we don't use an enum.
- typedef unsigned int mask;
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _U | _L;
- static const mask digit = _N;
- static const mask xdigit = _X;
- static const mask space = _S;
- static const mask print = _U | _L | _N | _P | _B;
- static const mask graph = _U | _L | _N | _P;
- static const mask cntrl = _C;
- static const mask punct = _P;
- static const mask alnum = _U | _L | _N;
- };
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/windiss/ctype_inline.h b/contrib/libstdc++/config/os/windiss/ctype_inline.h
deleted file mode 100644
index 8ffd158cdd67..000000000000
--- a/contrib/libstdc++/config/os/windiss/ctype_inline.h
+++ /dev/null
@@ -1,134 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_inline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-// functions go in ctype.cc
-
-// The following definitions are portable, but insanely slow. If one
-// cares at all about performance, then specialized ctype
-// functionality should be added for the native os in question: see
-// the config/os/bits/ctype_*.h files.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- bool
- ctype<char>::
- is(mask __m, char __c) const
- {
- bool __ret;
- switch (__m)
- {
- case space:
- __ret = isspace(__c);
- break;
- case print:
- __ret = isprint(__c);
- break;
- case cntrl:
- __ret = iscntrl(__c);
- break;
- case upper:
- __ret = isupper(__c);
- break;
- case lower:
- __ret = islower(__c);
- break;
- case alpha:
- __ret = isalpha(__c);
- break;
- case digit:
- __ret = isdigit(__c);
- break;
- case punct:
- __ret = ispunct(__c);
- break;
- case xdigit:
- __ret = isxdigit(__c);
- break;
- case alnum:
- __ret = isalnum(__c);
- break;
- case graph:
- __ret = isgraph(__c);
- break;
- default:
- __ret = false;
- break;
- }
- return __ret;
- }
-
- const char*
- ctype<char>::
- is(const char* __low, const char* __high, mask* __vec) const
- {
- const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10
- for (;__low < __high; ++__vec, ++__low)
- {
- mask __m = 0;
- int __i = 0; // Lowest bitmask in ctype_base == 0
- for (;__i < __bitmasksize; ++__i)
- {
- mask __bit = static_cast<mask>(1 << __i);
- if (this->is(__bit, *__low))
- __m |= __bit;
- }
- *__vec = __m;
- }
- return __high;
- }
-
- const char*
- ctype<char>::
- scan_is(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && !this->is(__m, *__low))
- ++__low;
- return __low;
- }
-
- const char*
- ctype<char>::
- scan_not(mask __m, const char* __low, const char* __high) const
- {
- while (__low < __high && this->is(__m, *__low) != 0)
- ++__low;
- return __low;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/config/os/windiss/ctype_noninline.h b/contrib/libstdc++/config/os/windiss/ctype_noninline.h
deleted file mode 100644
index 9e56867027da..000000000000
--- a/contrib/libstdc++/config/os/windiss/ctype_noninline.h
+++ /dev/null
@@ -1,97 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 2002
-// Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ctype_noninline.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-// Information as gleaned from /usr/include/ctype.h
-
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- { return 0; }
-
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
- size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table == 0 ? classic_table() : __table)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
- : facet(__refs), _M_del(__table != 0 && __del),
- _M_toupper(NULL), _M_tolower(NULL),
- _M_table(__table == 0 ? classic_table() : __table)
- {
- memset(_M_widen, 0, sizeof(_M_widen));
- _M_widen_ok = 0;
- memset(_M_narrow, 0, sizeof(_M_narrow));
- _M_narrow_ok = 0;
- }
-
- char
- ctype<char>::do_toupper(char __c) const
- { return ::toupper((int) __c); }
-
- const char*
- ctype<char>::do_toupper(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::toupper((int) *__low);
- ++__low;
- }
- return __high;
- }
-
- char
- ctype<char>::do_tolower(char __c) const
- { return ::tolower((int) __c); }
-
- const char*
- ctype<char>::do_tolower(char* __low, const char* __high) const
- {
- while (__low < __high)
- {
- *__low = ::tolower((int) *__low);
- ++__low;
- }
- return __high;
- }
diff --git a/contrib/libstdc++/config/os/windiss/os_defines.h b/contrib/libstdc++/config/os/windiss/os_defines.h
deleted file mode 100644
index a0b618073d81..000000000000
--- a/contrib/libstdc++/config/os/windiss/os_defines.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Specific definitions for generic platforms -*- C++ -*-
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 os_defines.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_OS_DEFINES
-#define _GLIBCXX_OS_DEFINES 1
-
-// System-specific #define, typedefs, corrections, etc, go here. This
-// file will come before all others.
-#define __C9X__ 1 // for sinf etc
-
-#endif
diff --git a/contrib/libstdc++/configure b/contrib/libstdc++/configure
deleted file mode 100755
index 03a7f2b58de7..000000000000
--- a/contrib/libstdc++/configure
+++ /dev/null
@@ -1,111817 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for package-unused version-unused.
-#
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME='package-unused'
-PACKAGE_TARNAME='libstdc++'
-PACKAGE_VERSION='version-unused'
-PACKAGE_STRING='package-unused version-unused'
-PACKAGE_BUGREPORT=''
-
-ac_unique_file="src/ios.cc"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# 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 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.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CXXCPP_set=${CXXCPP+set}
-ac_env_CXXCPP_value=$CXXCPP
-ac_cv_env_CXXCPP_set=${CXXCPP+set}
-ac_cv_env_CXXCPP_value=$CXXCPP
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures package-unused version-unused to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of package-unused version-unused:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-multilib build many library versions (default)
- --enable-maintainer-mode enable make rules and dependencies not useful
- (and sometimes confusing) to the casual installer
- --enable-shared=PKGS build shared libraries default=yes
- --enable-static=PKGS build static libraries default=yes
- --enable-fast-install=PKGS optimize for fast installation default=yes
- --disable-libtool-lock avoid locking (might break parallel builds)
- --disable-hosted-libstdcxx
- only build freestanding C++ runtime support
- --enable-sjlj-exceptions
- force use of builtin_setjmp for exceptions
- [default=auto]
- --enable-libstdcxx-pch build pre-compiled libstdc++ headers
- [default=$is_hosted]
- --enable-cstdio=PACKAGE use target-specific I/O package
- [default=stdio]
- --enable-clocale[=MODEL]
- use MODEL for target locale package
- [default=auto]
- --enable-nls use Native Language Support (default)
- --enable-libstdcxx-allocator=KIND
- use KIND for target std::allocator base
- [default=auto]
- --enable-cheaders=KIND construct "C" headers for g++
- [default=$c_model]
- --enable-long-long enable template specializations for 'long long'
- [default=yes]
- --enable-wchar_t enable template specializations for 'wchar_t'
- [default=yes]
- --enable-c99 turns on ISO/IEC 9899:1999 support
- [default=yes]
- --enable-concept-checks use Boost-derived template checks [default=no]
- --enable-libstdcxx-debug-flags=FLAGS
- pass compiler FLAGS when building debug library
- [default="-g3 -O0"]
- --enable-libstdcxx-debug
- build extra debug library [default=no]
- --enable-cxx-flags=FLAGS
- pass compiler FLAGS when building library
- [default=]
- --enable-fully-dynamic-string
- do not put empty strings in per-process static
- memory [default=no]
- --enable-tls Use thread-local storage [default=yes]
- --enable-symvers=STYLE enables symbol versioning of the shared library
- [default=yes]
- --enable-visibility enables visibility safe usage [default=yes]
- --enable-version-specific-runtime-libs
- Specify that runtime libraries should be installed
- in a compiler-specific directory
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-target-subdir=SUBDIR
- configuring in a subdirectory
- --with-cross-host=HOST configuring with a cross compiler
- --with-newlib assume newlib as a system C library
- --with-gnu-ld assume the C compiler uses GNU ld default=no
- --with-pic try to use only PIC/non-PIC objects default=use both
- --with-gxx-include-dir=DIR
- installation directory for include files
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
- CXX C++ compiler command
- CXXFLAGS C++ compiler flags
- CPP C preprocessor
- CXXCPP C++ preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-package-unused configure version-unused
-generated by GNU Autoconf 2.59
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by package-unused $as_me version-unused, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_sep=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ac_config_headers="$ac_config_headers config.h"
-
-
-# This works around the fact that libtool configuration may change LD
-# for this particular configuration, but some shells, instead of
-# keeping the changes in LD private, export them just because LD is
-# exported. Only used at the end of this file.
-### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
-
-# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:9:0
-
-
-# Find the rest of the source tree framework.
-# Default to --enable-multilib
-# Check whether --enable-multilib or --disable-multilib was given.
-if test "${enable_multilib+set}" = set; then
- enableval="$enable_multilib"
- case "$enableval" in
- yes) multilib=yes ;;
- no) multilib=no ;;
- *) { { echo "$as_me:$LINENO: error: bad value $enableval for multilib option" >&5
-echo "$as_me: error: bad value $enableval for multilib option" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-else
- multilib=yes
-fi;
-
-# We may get other options which we leave undocumented:
-# --with-target-subdir, --with-multisrctop, --with-multisubdir
-# See config-ml.in if you want the gory details.
-
-if test "$srcdir" = "."; then
- if test "$with_target_subdir" != "."; then
- multi_basedir="$srcdir/$with_multisrctop../.."
- else
- multi_basedir="$srcdir/$with_multisrctop.."
- fi
-else
- multi_basedir="$srcdir/.."
-fi
-
-
-# Even if the default multilib is not a cross compilation,
-# it may be that some of the other multilibs are.
-if test $cross_compiling = no && test $multilib = yes \
- && test "x${with_multisubdir}" != x ; then
- cross_compiling=maybe
-fi
-
- ac_config_commands="$ac_config_commands default-1"
-
-
-# Gets build, host, target, *_vendor, *_cpu, *_os, etc.
-#
-# You will slowly go insane if you do not grok the following fact: when
-# building v3 as part of the compiler, the top-level /target/ becomes the
-# library's /host/. configure then causes --target to default to --host,
-# exactly like any other package using autoconf. Therefore, 'target' and
-# 'host' will always be the same. This makes sense both for native and
-# cross compilers, just think about it for a little while. :-)
-#
-# Also, if v3 is being configured as part of a cross compiler, the top-level
-# configure script will pass the "real" host as $with_cross_host.
-#
-# Do not delete or change the following two lines. For why, see
-# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_target_alias=$target_alias
-test "x$ac_cv_target_alias" = "x" &&
- ac_cv_target_alias=$ac_cv_host_alias
-ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6
-target=$ac_cv_target
-target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-target_alias=${target_alias-$host_alias}
-
-# Handy for debugging:
-#AC_MSG_NOTICE($build / $host / $target / $host_alias / $target_alias); sleep 5
-
-if test "$build" != "$host"; then
- # We are being configured with some form of cross compiler.
- GLIBCXX_IS_NATIVE=false
- case "$host","$target" in
- # Darwin crosses can use the host system's libraries and headers,
- # because of the fat library support. Of course, it must be the
- # same version of Darwin on both sides. Allow the user to
- # just say --target=foo-darwin without a version number to mean
- # "the version on this system".
- *-*-darwin*,*-*-darwin*)
- hostos=`echo $host | sed 's/.*-darwin/darwin/'`
- targetos=`echo $target | sed 's/.*-darwin/darwin/'`
- if test $hostos = $targetos -o $targetos = darwin ; then
- GLIBCXX_IS_NATIVE=true
- fi
- ;;
-
- *)
-
- ;;
- esac
-else
- GLIBCXX_IS_NATIVE=true
-fi
-
-# Sets up automake. Must come after AC_CANONICAL_SYSTEM. Each of the
-# following is magically included in AUTOMAKE_OPTIONS in each Makefile.am.
-# 1.x: minimum required version
-# no-define: PACKAGE and VERSION will not be #define'd in config.h (a bunch
-# of other PACKAGE_* variables will, however, and there's nothing
-# we can do about that; they come from AC_INIT).
-# foreign: we don't follow the normal rules for GNU packages (no COPYING
-# file in the top srcdir, etc, etc), so stop complaining.
-# no-dependencies: turns off auto dependency generation (just for now)
-# -Wall: turns on all automake warnings...
-# -Wno-portability: ...except this one, since GNU make is now required.
-am__api_version="1.9"
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
- if test "$*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftest.file`
- fi
- rm -f conftest.file
- if test "$*" != "X $srcdir/configure conftest.file" \
- && test "$*" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
-alias in your environment" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- test "$2" = conftest.file
- )
-then
- # Ok.
- :
-else
- { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
- { (exit 1); exit 1; }; }
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,$program_prefix,;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$,$program_suffix,;$program_transform_name"
-# Double any \ or $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
- # We used to keeping the `.' as first argument, in order to
- # allow $(mkdir_p) to be used without argument. As in
- # $(mkdir_p) $(somedir)
- # where $(somedir) is conditionally defined. However this is wrong
- # for two reasons:
- # 1. if the package is installed by a user who cannot write `.'
- # make install will fail,
- # 2. the above comment should most certainly read
- # $(mkdir_p) $(DESTDIR)$(somedir)
- # so it does not work when $(somedir) is undefined and
- # $(DESTDIR) is not.
- # To support the latter case, we have to write
- # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
- # so the `.' trick is pointless.
- mkdir_p='mkdir -p --'
-else
- # On NextStep and OpenStep, the `mkdir' command does not
- # recognize any option. It will interpret all options as
- # directories to create, and then abort because `.' already
- # exists.
- for d in ./-p ./--version;
- do
- test -d $d && rmdir $d
- done
- # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
- if test -f "$ac_aux_dir/mkinstalldirs"; then
- mkdir_p='$(mkinstalldirs)'
- else
- mkdir_p='$(install_sh) -d'
- fi
-fi
-
-for ac_prog in gawk mawk nawk awk
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AWK+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AWK="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
- echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$AWK" && break
-done
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" &&
- test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='libstdc++'
- VERSION='version-unused'
-
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"$am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- STRIP=$ac_ct_STRIP
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
-
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-
-
-
-
-# Runs configure.host, finds CC, CXX, and assorted other critical bits. Sets
-# up critical shell variables.
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
-
-
-
- # Keep these sync'd with the list in Makefile.am. The first provides an
- # expandable list at autoconf time; the second provides an expandable list
- # (i.e., shell variable) at configure time.
-
- SUBDIRS='include libmath libsupc++ src po testsuite'
-
- # These need to be absolute paths, yet at the same time need to
- # canonicalize only relative paths, because then amd will not unmount
- # drives. Thus the use of PWDCMD: set it to 'pawd' or 'amq -w' if using amd.
- glibcxx_builddir=`${PWDCMD-pwd}`
- case $srcdir in
- \\/$* | ?:\\/*) glibcxx_srcdir=${srcdir} ;;
- *) glibcxx_srcdir=`cd "$srcdir" && ${PWDCMD-pwd} || echo "$srcdir"` ;;
- esac
- toplevel_srcdir=${glibcxx_srcdir}/..
-
-
-
-
- # We use these options to decide which functions to include. They are
- # set from the top level.
-
-# Check whether --with-target-subdir or --without-target-subdir was given.
-if test "${with_target_subdir+set}" = set; then
- withval="$with_target_subdir"
-
-fi;
-
-
-# Check whether --with-cross-host or --without-cross-host was given.
-if test "${with_cross_host+set}" = set; then
- withval="$with_cross_host"
-
-fi;
-
-
-# Check whether --with-newlib or --without-newlib was given.
-if test "${with_newlib+set}" = set; then
- withval="$with_newlib"
-
-fi;
-
- # We're almost certainly being configured before anything else which uses
- # C++, so all of our AC_PROG_* discoveries will be cached. It's vital that
- # we not cache the value of CXX that we "discover" here, because it's set
- # to something unique for us and libjava. Other target libraries need to
- # find CXX for themselves. We yank the rug out from under the normal AC_*
- # process by sneakily renaming the cache variable. This also lets us debug
- # the value of "our" CXX in postmortems.
- #
- # We must also force CXX to /not/ be a precious variable, otherwise the
- # wrong (non-multilib-adjusted) value will be used in multilibs. This
- # little trick also affects CPPFLAGS, CXXFLAGS, and LDFLAGS. And as a side
- # effect, CXXFLAGS is no longer automagically subst'd, so we have to do
- # that ourselves. Un-preciousing AC_PROG_CC also affects CC and CFLAGS.
- #
- # -fno-builtin must be present here so that a non-conflicting form of
- # std::exit can be guessed by AC_PROG_CXX, and used in later tests.
-
-
-
-
- save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -fno-builtin"
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# FIXME: Cleanup?
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- gcc_no_link=no
-else
- gcc_no_link=yes
-fi
-
-if test x$gcc_no_link = xyes; then
- # Setting cross_compile will disable run tests; it will
- # also disable AC_CHECK_FILE but that's generally
- # correct if we can't link.
- cross_compiling=yes
- EXEEXT=
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-fi
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${glibcxx_cv_prog_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CXX"; then
- glibcxx_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- glibcxx_cv_prog_CXX="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CXX=$glibcxx_cv_prog_CXX
-if test -n "$CXX"; then
- echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CXX" && break
- done
-fi
-if test -z "$CXX"; then
- ac_ct_CXX=$CXX
- for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CXX"; then
- ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CXX="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
- echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CXX" && break
-done
-test -n "$ac_ct_CXX" || ac_ct_CXX="g++"
-
- CXX=$ac_ct_CXX
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cxx_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cxx_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cxx_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
-if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
- if test "$GXX" = yes; then
- CXXFLAGS="-g -O2"
- else
- CXXFLAGS="-g"
- fi
-else
- if test "$GXX" = yes; then
- CXXFLAGS="-O2"
- else
- CXXFLAGS=
- fi
-fi
-for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- CXXFLAGS="$save_CXXFLAGS"
-
-
-
-
- # Will set LN_S to either 'ln -s', 'ln', or 'cp -p' (if linking isn't
- # available). Uncomment the next line to force a particular method.
- echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
- echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
-fi
-
- #LN_S='cp -p'
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AS="${ac_tool_prefix}as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
- echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_AS"; then
- ac_ct_AS=$AS
- # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AS"; then
- ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AS="as"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
- echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- AS=$ac_ct_AS
-else
- AS="$ac_cv_prog_AS"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="${ac_tool_prefix}ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_AR"; then
- ac_ct_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="ar"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- AR=$ac_ct_AR
-else
- AR="$ac_cv_prog_AR"
-fi
-
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB="ranlib-not-found-in-path-error"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
- echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi;
- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
-
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
-
- MAINT=$MAINTAINER_MODE_TRUE
-
-
-
- # Set up safe default values for all subsequent AM_CONDITIONAL tests
- # which are themselves conditionally expanded.
- ## (Right now, this only matters for enable_wchar_t, but nothing prevents
- ## other macros from doing the same. This should be automated.) -pme
- need_libmath=no
-
- # Check for uClibc since Linux platforms use different configuration
- # directories depending on the C library in use.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <stdio.h>
- #if __UCLIBC__
- _using_uclibc
- #endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "_using_uclibc" >/dev/null 2>&1; then
- uclibc=yes
-else
- uclibc=no
-fi
-rm -f conftest*
-
-
- # Find platform-specific directories containing configuration info.
- # Also possibly modify flags used elsewhere, as needed by the platform.
-
- . $glibcxx_srcdir/configure.host
- { echo "$as_me:$LINENO: CPU config directory is $cpu_include_dir" >&5
-echo "$as_me: CPU config directory is $cpu_include_dir" >&6;}
- { echo "$as_me:$LINENO: OS config directory is $os_include_dir" >&5
-echo "$as_me: OS config directory is $os_include_dir" >&6;}
-
-
-
-
-# Check whether --enable-shared or --disable-shared was given.
-if test "${enable_shared+set}" = set; then
- enableval="$enable_shared"
- p=${PACKAGE-default}
-case $enableval in
-yes) enable_shared=yes ;;
-no) enable_shared=no ;;
-*)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_shared=yes
-fi;
-# Check whether --enable-static or --disable-static was given.
-if test "${enable_static+set}" = set; then
- enableval="$enable_static"
- p=${PACKAGE-default}
-case $enableval in
-yes) enable_static=yes ;;
-no) enable_static=no ;;
-*)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_static=yes
-fi;
-# Check whether --enable-fast-install or --disable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
- enableval="$enable_fast_install"
- p=${PACKAGE-default}
-case $enableval in
-yes) enable_fast_install=yes ;;
-no) enable_fast_install=no ;;
-*)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
- for pkg in $enableval; do
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-else
- enable_fast_install=yes
-fi;
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi;
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
-fi
-if test "${lt_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- lt_cv_prog_gnu_ld=yes
-else
- lt_cv_prog_gnu_ld=no
-fi
-fi
-echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
-if test "${lt_cv_ld_reload_flag+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_ld_reload_flag='-r'
-fi
-echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
-reload_flag=$lt_cv_ld_reload_flag
-test -n "$reload_flag" && reload_flag=" $reload_flag"
-
-echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
-if test "${lt_cv_path_NM+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
- test -z "$ac_dir" && ac_dir=.
- tmp_nm=$ac_dir/${ac_tool_prefix}nm
- if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
- lt_cv_path_NM="$tmp_nm -B"
- break
- elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
- lt_cv_path_NM="$tmp_nm -p"
- break
- else
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi
-fi
-
-NM="$lt_cv_path_NM"
-echo "$as_me:$LINENO: result: $NM" >&5
-echo "${ECHO_T}$NM" >&6
-
-echo "$as_me:$LINENO: checking how to recognise dependant libraries" >&5
-echo $ECHO_N "checking how to recognise dependant libraries... $ECHO_C" >&6
-if test "${lt_cv_deplibs_check_method+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [regex]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given egrep regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-beos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-bsdi4*)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- lt_cv_file_magic_test_file=/shlib/libc.so
- ;;
-
-cygwin* | mingw* |pw32*)
- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- # this will be overwritten by pass_all, but leave it in just in case
- lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
- case "$host_os" in
- rhapsody* | darwin1.012)
- lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
- ;;
- *) # Darwin 1.3 on
- lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
- ;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | kfreebsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20*|hpux11*)
- case $host_cpu in
- hppa*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- esac
- ;;
-
-irix5* | irix6*)
- case $host_os in
- irix5*)
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
- ;;
- *)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
- ;;
- esac
- lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$'
- fi
- ;;
-
-newsos6)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-osf3* | osf4* | osf5*)
- # this will be overridden with pass_all, but let us keep it just in case
- lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
- lt_cv_file_magic_test_file=/shlib/libc.so
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sco3.2v5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
-
-sysv5uw[78]* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- case $host_vendor in
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- esac
- ;;
-esac
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-
-
-
-
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-
-# find the maximum length of command line arguments
-echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- cygwin* | mingw*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
- esac
-
-fi
-
-if test -n "$lt_cv_sys_max_cmd_len" ; then
- echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
-else
- echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6
-fi
-
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
- /*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
- ?:/*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
- ;;
- *)
- ac_save_MAGIC_CMD="$MAGIC_CMD"
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- egrep "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$ac_save_ifs"
- MAGIC_CMD="$ac_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $MAGIC_CMD in
- /*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
- ?:/*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
- ;;
- *)
- ac_save_MAGIC_CMD="$MAGIC_CMD"
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="/usr/bin:$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- egrep "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$ac_save_ifs"
- MAGIC_CMD="$ac_save_MAGIC_CMD"
- ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- else
- MAGIC_CMD=:
- fi
-fi
-
- fi
- ;;
-esac
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="${ac_tool_prefix}strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
- ac_ct_STRIP=$STRIP
- # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="strip"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- STRIP=$ac_ct_STRIP
-else
- STRIP="$ac_cv_prog_STRIP"
-fi
-
-
-# Check for any special flags to pass to ltconfig.
-libtool_flags="--cache-file=$cache_file"
-test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
-test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
-test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
-test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
-test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
-
-
-# Check whether --enable-libtool-lock or --disable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
- enableval="$enable_libtool_lock"
-
-fi;
-test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
-test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
-
-
-# Check whether --with-pic or --without-pic was given.
-if test "${with_pic+set}" = set; then
- withval="$with_pic"
- pic_mode="$withval"
-else
- pic_mode=default
-fi;
-test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
-test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '#line 4742 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case "`/usr/bin/file conftest.o`" in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- case "`/usr/bin/file conftest.o`" in
- *32-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
-if test "${lt_cv_cc_needs_belf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- lt_cv_cc_needs_belf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-lt_cv_cc_needs_belf=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-
-
-esac
-
-
-# Save cache, so that ltconfig can load it
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-# Actually configure libtool. ac_aux_dir is where install-sh is found.
-AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
-MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
-LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
-AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
-objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
-deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
-$libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
-|| { { echo "$as_me:$LINENO: error: libtool configure failed" >&5
-echo "$as_me: error: libtool configure failed" >&2;}
- { (exit 1); exit 1; }; }
-
-# Reload cache, that may have been modified by ltconfig
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-
-ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
-if test -z "$CXXCPP"; then
- if test "${ac_cv_prog_CXXCPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CXXCPP needs to be expanded
- for CXXCPP in "$CXX -E" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
- CXXCPP=$ac_cv_prog_CXXCPP
-else
- ac_cv_prog_CXXCPP=$CXXCPP
-fi
-echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-LIBTOOL_DEPS=$LIBTOOL_DEPS" $ac_aux_dir/ltcf-cxx.sh"
-lt_save_CC="$CC"
-lt_save_CFLAGS="$CFLAGS"
-AR="$AR" LTCC="$CC" CC="$CXX" CXX="$CXX" CFLAGS="$CXXFLAGS" CPPFLAGS="$CPPFLAGS" \
-MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
-LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
-AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
-objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
-deplibs_check_method="$deplibs_check_method" \
-file_magic_cmd="$file_magic_cmd" \
-${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig -o libtool $libtool_flags \
---build="$build" --add-tag=CXX $ac_aux_dir/ltcf-cxx.sh $host \
-|| { { echo "$as_me:$LINENO: error: libtool tag configuration failed" >&5
-echo "$as_me: error: libtool tag configuration failed" >&2;}
- { (exit 1); exit 1; }; }
-CC="$lt_save_CC"
-CFLAGS="$lt_save_CFLAGS"
-
-# Redirect the config.log output again, so that the ltconfig log is not
-# clobbered by the next message.
-exec 5>>./config.log
-
-
-
-
-
-
-
-
-
-# Possibly disable most of the library.
-## TODO: Consider skipping unncessary tests altogether in this case, rather
-## than just ignoring the results. Faster /and/ more correct, win win.
-
- # Check whether --enable-hosted-libstdcxx or --disable-hosted-libstdcxx was given.
-if test "${enable_hosted_libstdcxx+set}" = set; then
- enableval="$enable_hosted_libstdcxx"
-
-else
- case "$host" in
- arm*-*-symbianelf*)
- enable_hosted_libstdcxx=no
- ;;
- *)
- enable_hosted_libstdcxx=yes
- ;;
- esac
-fi;
- if test "$enable_hosted_libstdcxx" = no; then
- { echo "$as_me:$LINENO: Only freestanding libraries will be built" >&5
-echo "$as_me: Only freestanding libraries will be built" >&6;}
- is_hosted=no
- hosted_define=0
- enable_abi_check=no
- enable_libstdcxx_pch=no
- else
- is_hosted=yes
- hosted_define=1
- fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define _GLIBCXX_HOSTED $hosted_define
-_ACEOF
-
-
-
-# Check for compiler support that doesn't require linking.
-
- echo "$as_me:$LINENO: checking for exception model to use" >&5
-echo $ECHO_N "checking for exception model to use... $ECHO_C" >&6
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- # Check whether --enable-sjlj-exceptions or --disable-sjlj-exceptions was given.
-if test "${enable_sjlj_exceptions+set}" = set; then
- enableval="$enable_sjlj_exceptions"
-
- case "$enableval" in
- yes|no|auto) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable sjlj-exceptions" >&5
-echo "$as_me: error: Unknown argument to enable/disable sjlj-exceptions" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_sjlj_exceptions=auto
-fi;
-
-
- if test $enable_sjlj_exceptions = auto; then
- # Botheration. Now we've got to detect the exception model. Link tests
- # against libgcc.a are problematic since we've not been given proper -L
- # bits for single-tree newlib and libgloss.
- #
- # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
- cat > conftest.$ac_ext << EOF
-#line 5362 "configure"
-struct S { ~S(); };
-void bar();
-void foo()
-{
- S s;
- bar();
-}
-EOF
- old_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=-S
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- if grep _Unwind_SjLj_Resume conftest.s >/dev/null 2>&1 ; then
- enable_sjlj_exceptions=yes
- elif grep _Unwind_Resume conftest.s >/dev/null 2>&1 ; then
- enable_sjlj_exceptions=no
- elif grep __cxa_end_cleanup conftest.s >/dev/null 2>&1 ; then
- enable_sjlj_exceptions=no
- fi
- fi
- CXXFLAGS="$old_CXXFLAGS"
- rm -f conftest*
- fi
-
- # This is a tad weird, for hysterical raisins. We have to map
- # enable/disable to two different models.
- case $enable_sjlj_exceptions in
- yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_SJLJ_EXCEPTIONS 1
-_ACEOF
-
- ac_exception_model_name=sjlj
- ;;
- no)
- ac_exception_model_name="call frame"
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unable to detect exception model" >&5
-echo "$as_me: error: unable to detect exception model" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- echo "$as_me:$LINENO: result: $ac_exception_model_name" >&5
-echo "${ECHO_T}$ac_exception_model_name" >&6
-
-
- # Check whether --enable-libstdcxx-pch or --disable-libstdcxx-pch was given.
-if test "${enable_libstdcxx_pch+set}" = set; then
- enableval="$enable_libstdcxx_pch"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable libstdcxx-pch must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable libstdcxx-pch must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_libstdcxx_pch=$is_hosted
-fi;
-
- if test $enable_libstdcxx_pch = yes; then
- echo "$as_me:$LINENO: checking for compiler with PCH support" >&5
-echo $ECHO_N "checking for compiler with PCH support... $ECHO_C" >&6
-if test "${glibcxx_cv_prog_CXX_pch+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -Werror -Winvalid-pch -Wno-deprecated"
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- echo '#include <math.h>' > conftest.h
- if $CXX $CXXFLAGS $CPPFLAGS -x c++-header conftest.h \
- -o conftest.h.gch 1>&5 2>&1 &&
- echo '#error "pch failed"' > conftest.h &&
- echo '#include "conftest.h"' > conftest.cc &&
- $CXX -c $CXXFLAGS $CPPFLAGS conftest.cc 1>&5 2>&1 ;
- then
- glibcxx_cv_prog_CXX_pch=yes
- else
- glibcxx_cv_prog_CXX_pch=no
- fi
- rm -f conftest*
- CXXFLAGS=$ac_save_CXXFLAGS
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-echo "$as_me:$LINENO: result: $glibcxx_cv_prog_CXX_pch" >&5
-echo "${ECHO_T}$glibcxx_cv_prog_CXX_pch" >&6
- enable_libstdcxx_pch=$glibcxx_cv_prog_CXX_pch
- fi
-
- echo "$as_me:$LINENO: checking for enabled PCH" >&5
-echo $ECHO_N "checking for enabled PCH... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_libstdcxx_pch" >&5
-echo "${ECHO_T}$enable_libstdcxx_pch" >&6
-
-
- if test $enable_libstdcxx_pch = yes; then
- glibcxx_PCHFLAGS="-include bits/stdtr1c++.h"
- else
- glibcxx_PCHFLAGS=""
- fi
-
-
-
-# Enable all the variable C++ runtime options.
-
- echo "$as_me:$LINENO: checking for underlying I/O to use" >&5
-echo $ECHO_N "checking for underlying I/O to use... $ECHO_C" >&6
- # Check whether --enable-cstdio or --disable-cstdio was given.
-if test "${enable_cstdio+set}" = set; then
- enableval="$enable_cstdio"
-
- case "$enableval" in
- stdio) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable cstdio" >&5
-echo "$as_me: error: Unknown argument to enable/disable cstdio" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_cstdio=stdio
-fi;
-
-
- # Now that libio has been removed, you can have any color you want as long
- # as it's black. This is one big no-op until other packages are added, but
- # showing the framework never hurts.
- case ${enable_cstdio} in
- stdio)
- CSTDIO_H=config/io/c_io_stdio.h
- BASIC_FILE_H=config/io/basic_file_stdio.h
- BASIC_FILE_CC=config/io/basic_file_stdio.cc
- echo "$as_me:$LINENO: result: stdio" >&5
-echo "${ECHO_T}stdio" >&6
- ;;
- esac
-
-
-
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
- # Check whether --enable-clocale or --disable-clocale was given.
-if test "${enable_clocale+set}" = set; then
- enableval="$enable_clocale"
-
- case "$enableval" in
- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
-echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_clocale=auto
-fi;
-
-
- # Deal with gettext issues. Default to not using it (=no) until we detect
- # support for it later. Let the user turn it off via --e/d, but let that
- # default to on for easier handling.
- USE_NLS=no
- # Check whether --enable-nls or --disable-nls was given.
-if test "${enable_nls+set}" = set; then
- enableval="$enable_nls"
-
-else
- enable_nls=yes
-fi;
-
- # Either a known packaage, or "auto"
- if test $enable_clocale = no || test $enable_clocale = yes; then
- enable_clocale=auto
- fi
- enable_clocale_flag=$enable_clocale
-
- # Probe for locale model to use if none specified.
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- enable_clocale_flag=gnu
- ;;
- darwin* | freebsd*)
- enable_clocale_flag=darwin
- ;;
- *)
- enable_clocale_flag=generic
- ;;
- esac
- fi
-
- # Sanity check model, and test for special functionality.
- if test $enable_clocale_flag = gnu; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <features.h>
- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
- _GLIBCXX_ok
- #endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "_GLIBCXX_ok" >/dev/null 2>&1; then
- enable_clocale_flag=gnu
-else
- enable_clocale_flag=generic
-fi
-rm -f conftest*
-
-
- if test $enable_clocale = auto; then
- # Test for bugs early in glibc-2.2.x series
- if test "$cross_compiling" = yes; then
- enable_clocale_flag=generic
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #define _GNU_SOURCE 1
- #include <locale.h>
- #include <string.h>
- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- extern __typeof(newlocale) __newlocale;
- extern __typeof(duplocale) __duplocale;
- extern __typeof(strcoll_l) __strcoll_l;
- #endif
- int main()
- {
- const char __one[] = "Äuglein Augmen";
- const char __two[] = "Äuglein";
- int i;
- int j;
- __locale_t loc;
- __locale_t loc_dup;
- loc = __newlocale(1 << LC_ALL, "de_DE", 0);
- loc_dup = __duplocale(loc);
- i = __strcoll_l(__one, __two, loc);
- j = __strcoll_l(__one, __two, loc_dup);
- return 0;
- }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- enable_clocale_flag=gnu
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-enable_clocale_flag=generic
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
- fi
-
- # Set it to scream when it hurts.
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS="-Wimplicit-function-declaration -Werror"
-
- # Use strxfrm_l if available.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _GNU_SOURCE 1
- #include <string.h>
- #include <locale.h>
-int
-main ()
-{
-char s[128]; __locale_t loc; strxfrm_l(s, "C", 5, loc);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRXFRM_L 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- # Use strerror_l if available.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _GNU_SOURCE 1
- #include <string.h>
- #include <locale.h>
-int
-main ()
-{
-__locale_t loc; strerror_l(5, loc);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRERROR_L 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- CFLAGS="$ac_save_CFLAGS"
- fi
-
- # Perhaps use strerror_r if available, and strerror_l isn't.
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS="-Wimplicit-function-declaration -Werror"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _GNU_SOURCE 1
- #include <string.h>
- #include <locale.h>
-int
-main ()
-{
-char s[128]; strerror_r(5, s, 128);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRERROR_R 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
-
- # Set configure bits for specified locale package
- echo "$as_me:$LINENO: checking for C locale to use" >&5
-echo $ECHO_N "checking for C locale to use... $ECHO_C" >&6
- case ${enable_clocale_flag} in
- generic)
- echo "$as_me:$LINENO: result: generic" >&5
-echo "${ECHO_T}generic" >&6
-
- CLOCALE_H=config/locale/generic/c_locale.h
- CLOCALE_CC=config/locale/generic/c_locale.cc
- CCODECVT_CC=config/locale/generic/codecvt_members.cc
- CCOLLATE_CC=config/locale/generic/collate_members.cc
- CCTYPE_CC=config/locale/generic/ctype_members.cc
- CMESSAGES_H=config/locale/generic/messages_members.h
- CMESSAGES_CC=config/locale/generic/messages_members.cc
- CMONEY_CC=config/locale/generic/monetary_members.cc
- CNUMERIC_CC=config/locale/generic/numeric_members.cc
- CTIME_H=config/locale/generic/time_members.h
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
- darwin)
- echo "$as_me:$LINENO: result: darwin or freebsd" >&5
-echo "${ECHO_T}darwin or freebsd" >&6
-
- CLOCALE_H=config/locale/generic/c_locale.h
- CLOCALE_CC=config/locale/generic/c_locale.cc
- CCODECVT_CC=config/locale/generic/codecvt_members.cc
- CCOLLATE_CC=config/locale/generic/collate_members.cc
- CCTYPE_CC=config/locale/darwin/ctype_members.cc
- CMESSAGES_H=config/locale/generic/messages_members.h
- CMESSAGES_CC=config/locale/generic/messages_members.cc
- CMONEY_CC=config/locale/generic/monetary_members.cc
- CNUMERIC_CC=config/locale/generic/numeric_members.cc
- CTIME_H=config/locale/generic/time_members.h
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-
- gnu)
- echo "$as_me:$LINENO: result: gnu" >&5
-echo "${ECHO_T}gnu" >&6
-
- # Declare intention to use gettext, and add support for specific
- # languages.
- # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
- ALL_LINGUAS="de fr"
-
- # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
- # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_check_msgfmt+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$check_msgfmt"; then
- ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_check_msgfmt="yes"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-fi
-fi
-check_msgfmt=$ac_cv_prog_check_msgfmt
-if test -n "$check_msgfmt"; then
- echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-echo "${ECHO_T}$check_msgfmt" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
- USE_NLS=yes
- fi
- # Export the build objects.
- for ling in $ALL_LINGUAS; do \
- glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
- glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
- done
-
-
-
- CLOCALE_H=config/locale/gnu/c_locale.h
- CLOCALE_CC=config/locale/gnu/c_locale.cc
- CCODECVT_CC=config/locale/gnu/codecvt_members.cc
- CCOLLATE_CC=config/locale/gnu/collate_members.cc
- CCTYPE_CC=config/locale/gnu/ctype_members.cc
- CMESSAGES_H=config/locale/gnu/messages_members.h
- CMESSAGES_CC=config/locale/gnu/messages_members.cc
- CMONEY_CC=config/locale/gnu/monetary_members.cc
- CNUMERIC_CC=config/locale/gnu/numeric_members.cc
- CTIME_H=config/locale/gnu/time_members.h
- CTIME_CC=config/locale/gnu/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
- ;;
- ieee_1003.1-2001)
- echo "$as_me:$LINENO: result: IEEE 1003.1" >&5
-echo "${ECHO_T}IEEE 1003.1" >&6
-
- CLOCALE_H=config/locale/ieee_1003.1-2001/c_locale.h
- CLOCALE_CC=config/locale/ieee_1003.1-2001/c_locale.cc
- CCODECVT_CC=config/locale/generic/codecvt_members.cc
- CCOLLATE_CC=config/locale/generic/collate_members.cc
- CCTYPE_CC=config/locale/generic/ctype_members.cc
- CMESSAGES_H=config/locale/ieee_1003.1-2001/messages_members.h
- CMESSAGES_CC=config/locale/ieee_1003.1-2001/messages_members.cc
- CMONEY_CC=config/locale/generic/monetary_members.cc
- CNUMERIC_CC=config/locale/generic/numeric_members.cc
- CTIME_H=config/locale/generic/time_members.h
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
- # -DLOCALEDIR define during testsuite compilation.
- glibcxx_localedir=${glibcxx_builddir}/po/share/locale
-
-
- # A standalone libintl (e.g., GNU libintl) may be in use.
- if test $USE_NLS = yes; then
-
-for ac_header in libintl.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-else
- USE_NLS=no
-fi
-
-done
-
- echo "$as_me:$LINENO: checking for library containing gettext" >&5
-echo $ECHO_N "checking for library containing gettext... $ECHO_C" >&6
-if test "${ac_cv_search_gettext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_func_search_save_LIBS=$LIBS
-ac_cv_search_gettext=no
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gettext ();
-int
-main ()
-{
-gettext ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_gettext="none required"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_gettext" = no; then
- for ac_lib in intl; do
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gettext ();
-int
-main ()
-{
-gettext ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_gettext="-l$ac_lib"
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- done
-fi
-LIBS=$ac_func_search_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_search_gettext" >&5
-echo "${ECHO_T}$ac_cv_search_gettext" >&6
-if test "$ac_cv_search_gettext" != no; then
- test "$ac_cv_search_gettext" = "none required" || LIBS="$ac_cv_search_gettext $LIBS"
-
-else
- USE_NLS=no
-fi
-
- fi
- if test $USE_NLS = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_NLS 1
-_ACEOF
-
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for std::allocator base class" >&5
-echo $ECHO_N "checking for std::allocator base class... $ECHO_C" >&6
- # Check whether --enable-libstdcxx-allocator or --disable-libstdcxx-allocator was given.
-if test "${enable_libstdcxx_allocator+set}" = set; then
- enableval="$enable_libstdcxx_allocator"
-
- case "$enableval" in
- new|malloc|mt|bitmap|pool|yes|no|auto) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable libstdcxx-allocator" >&5
-echo "$as_me: error: Unknown argument to enable/disable libstdcxx-allocator" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_libstdcxx_allocator=auto
-fi;
-
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
- # specified --disable (???), do likewise.
- if test $enable_libstdcxx_allocator = no ||
- test $enable_libstdcxx_allocator = yes;
- then
- enable_libstdcxx_allocator=auto
- fi
-
- # Either a known package, or "auto". Auto implies the default choice
- # for a particular platform.
- enable_libstdcxx_allocator_flag=$enable_libstdcxx_allocator
-
- # Probe for host-specific support if no specific model is specified.
- # Default to "new".
- if test $enable_libstdcxx_allocator_flag = auto; then
- case ${target_os} in
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- enable_libstdcxx_allocator_flag=new
- ;;
- *)
- enable_libstdcxx_allocator_flag=new
- ;;
- esac
- fi
- echo "$as_me:$LINENO: result: $enable_libstdcxx_allocator_flag" >&5
-echo "${ECHO_T}$enable_libstdcxx_allocator_flag" >&6
-
-
- # Set configure bits for specified locale package
- case ${enable_libstdcxx_allocator_flag} in
- bitmap)
- ALLOCATOR_H=config/allocator/bitmap_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::bitmap_allocator
- ;;
- malloc)
- ALLOCATOR_H=config/allocator/malloc_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::malloc_allocator
- ;;
- mt)
- ALLOCATOR_H=config/allocator/mt_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__mt_alloc
- ;;
- new)
- ALLOCATOR_H=config/allocator/new_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::new_allocator
- ;;
- pool)
- ALLOCATOR_H=config/allocator/pool_allocator_base.h
- ALLOCATOR_NAME=__gnu_cxx::__pool_alloc
- ;;
- esac
-
-
-
-
-
- # Check whether --enable-cheaders or --disable-cheaders was given.
-if test "${enable_cheaders+set}" = set; then
- enableval="$enable_cheaders"
-
- case "$enableval" in
- c|c_std) ;;
- *) { { 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; }; } ;;
- esac
-
-else
- enable_cheaders=$c_model
-fi;
-
- { echo "$as_me:$LINENO: \"C\" header strategy set to $enable_cheaders" >&5
-echo "$as_me: \"C\" header strategy set to $enable_cheaders" >&6;}
-
- C_INCLUDE_DIR='${glibcxx_srcdir}/include/'$enable_cheaders
-
-
-
-
-
-
- # Check whether --enable-long-long or --disable-long-long was given.
-if test "${enable_long_long+set}" = set; then
- enableval="$enable_long_long"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable long-long must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable long-long must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_long_long=yes
-fi;
-
- if test $enable_long_long = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_LONG_LONG 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: checking for enabled long long specializations" >&5
-echo $ECHO_N "checking for enabled long long specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_long_long" >&5
-echo "${ECHO_T}$enable_long_long" >&6
-
-
-
- # Check whether --enable-wchar_t or --disable-wchar_t was given.
-if test "${enable_wchar_t+set}" = set; then
- enableval="$enable_wchar_t"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable wchar_t must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable wchar_t must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_wchar_t=yes
-fi;
-
-
- # Test wchar.h for mbstate_t, which is needed for char_traits and fpos.
-
-for ac_header in wchar.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- ac_has_wchar_h=yes
-else
- ac_has_wchar_h=no
-fi
-
-done
-
- echo "$as_me:$LINENO: checking for mbstate_t" >&5
-echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wchar.h>
-int
-main ()
-{
-mbstate_t teststate;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- have_mbstate_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-have_mbstate_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- echo "$as_me:$LINENO: result: $have_mbstate_t" >&5
-echo "${ECHO_T}$have_mbstate_t" >&6
- if test x"$have_mbstate_t" = xyes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBSTATE_T 1
-_ACEOF
-
- fi
-
- # Test it always, for use in GLIBCXX_ENABLE_C99, together with
- # ac_has_wchar_h.
-
-for ac_header in wctype.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- ac_has_wctype_h=yes
-else
- ac_has_wctype_h=no
-fi
-
-done
-
-
- if test x"$enable_wchar_t" = x"yes"; then
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- if test x"$ac_has_wchar_h" = xyes &&
- test x"$ac_has_wctype_h" = xyes; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wchar.h>
- #include <stddef.h>
- wint_t i;
- long l = WEOF;
- long j = WCHAR_MIN;
- long k = WCHAR_MAX;
- namespace test
- {
- 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;
- using ::vswprintf;
- using ::vwprintf;
- using ::wcrtomb;
- using ::wcscat;
- using ::wcschr;
- using ::wcscmp;
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
- using ::wcsftime;
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
- using ::wcsncpy;
- using ::wcspbrk;
- using ::wcsrchr;
- using ::wcsrtombs;
- using ::wcsspn;
- using ::wcsstr;
- using ::wcstod;
- using ::wcstok;
- using ::wcstol;
- using ::wcstoul;
- using ::wcsxfrm;
- using ::wctob;
- using ::wmemchr;
- using ::wmemcmp;
- using ::wmemcpy;
- using ::wmemmove;
- using ::wmemset;
- using ::wprintf;
- using ::wscanf;
- }
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-enable_wchar_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- else
- enable_wchar_t=no
- fi
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- fi
-
- if test x"$enable_wchar_t" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_WCHAR_T 1
-_ACEOF
-
- fi
-
- echo "$as_me:$LINENO: checking for enabled wchar_t specializations" >&5
-echo $ECHO_N "checking for enabled wchar_t specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_wchar_t" >&5
-echo "${ECHO_T}$enable_wchar_t" >&6
-
-
-
- # Check whether --enable-c99 or --disable-c99 was given.
-if test "${enable_c99+set}" = set; then
- enableval="$enable_c99"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable c99 must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable c99 must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_c99=yes
-fi;
-
-
- if test x"$enable_c99" = x"yes"; then
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- # Check for the existence of <math.h> functions used if C99 is enabled.
- echo "$as_me:$LINENO: checking for ISO C99 support in <math.h>" >&5
-echo $ECHO_N "checking for ISO C99 support in <math.h>... $ECHO_C" >&6
- if test "${ac_c99_math+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-fpclassify(0.0);
- isfinite(0.0);
- isinf(0.0);
- isnan(0.0);
- isnormal(0.0);
- signbit(0.0);
- isgreater(0.0,0.0);
- isgreaterequal(0.0,0.0);
- isless(0.0,0.0);
- islessequal(0.0,0.0);
- islessgreater(0.0,0.0);
- islessgreater(0.0,0.0);
- isunordered(0.0,0.0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_math=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_math=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- echo "$as_me:$LINENO: result: $ac_c99_math" >&5
-echo "${ECHO_T}$ac_c99_math" >&6
- if test x"$ac_c99_math" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_MATH 1
-_ACEOF
-
- fi
-
- # Check for the existence of <complex.h> complex math functions.
- # This is necessary even though libstdc++ uses the builtin versions
- # of these functions, because if the builtin cannot be used, a reference
- # to the library function is emitted.
-
-for ac_header in complex.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- ac_has_complex_h=yes
-else
- ac_has_complex_h=no
-fi
-
-done
-
- ac_c99_complex=no;
- if test x"$ac_has_complex_h" = x"yes"; then
- echo "$as_me:$LINENO: checking for ISO C99 support in <complex.h>" >&5
-echo $ECHO_N "checking for ISO C99 support in <complex.h>... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <complex.h>
-int
-main ()
-{
-typedef __complex__ float float_type; float_type tmpf;
- cabsf(tmpf);
- cargf(tmpf);
- ccosf(tmpf);
- ccoshf(tmpf);
- cexpf(tmpf);
- clogf(tmpf);
- csinf(tmpf);
- csinhf(tmpf);
- csqrtf(tmpf);
- ctanf(tmpf);
- ctanhf(tmpf);
- cpowf(tmpf, tmpf);
- typedef __complex__ double double_type; double_type tmpd;
- cabs(tmpd);
- carg(tmpd);
- ccos(tmpd);
- ccosh(tmpd);
- cexp(tmpd);
- clog(tmpd);
- csin(tmpd);
- csinh(tmpd);
- csqrt(tmpd);
- ctan(tmpd);
- ctanh(tmpd);
- cpow(tmpd, tmpd);
- typedef __complex__ long double ld_type; ld_type tmpld;
- cabsl(tmpld);
- cargl(tmpld);
- ccosl(tmpld);
- ccoshl(tmpld);
- cexpl(tmpld);
- clogl(tmpld);
- csinl(tmpld);
- csinhl(tmpld);
- csqrtl(tmpld);
- ctanl(tmpld);
- ctanhl(tmpld);
- cpowl(tmpld, tmpld);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_complex=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_complex=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- echo "$as_me:$LINENO: result: $ac_c99_complex" >&5
-echo "${ECHO_T}$ac_c99_complex" >&6
- if test x"$ac_c99_complex" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_COMPLEX 1
-_ACEOF
-
- fi
-
- # Check for the existence in <stdio.h> of vscanf, et. al.
- echo "$as_me:$LINENO: checking for ISO C99 support in <stdio.h>" >&5
-echo $ECHO_N "checking for ISO C99 support in <stdio.h>... $ECHO_C" >&6
- if test "${ac_c99_stdio+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
- #include <stdarg.h>
- void foo(char* fmt, ...)
- {
- va_list args; va_start(args, fmt);
- vfscanf(stderr, "%i", args);
- vscanf("%i", args);
- vsnprintf(fmt, 0, "%i", args);
- vsscanf(fmt, "%i", args);
- }
-int
-main ()
-{
-snprintf("12", 0, "%i");
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_stdio=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_stdio=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- echo "$as_me:$LINENO: result: $ac_c99_stdio" >&5
-echo "${ECHO_T}$ac_c99_stdio" >&6
-
- # Check for the existence in <stdlib.h> of lldiv_t, et. al.
- echo "$as_me:$LINENO: checking for ISO C99 support in <stdlib.h>" >&5
-echo $ECHO_N "checking for ISO C99 support in <stdlib.h>... $ECHO_C" >&6
- if test "${ac_c99_stdlib+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
-char* tmp;
- strtof("gnu", &tmp);
- strtold("gnu", &tmp);
- strtoll("gnu", &tmp, 10);
- strtoull("gnu", &tmp, 10);
- llabs(10);
- lldiv(10,1);
- atoll("10");
- _Exit(0);
- lldiv_t mydivt;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_stdlib=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_stdlib=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- echo "$as_me:$LINENO: result: $ac_c99_stdlib" >&5
-echo "${ECHO_T}$ac_c99_stdlib" >&6
-
- # Check for the existence in <wchar.h> of wcstold, etc.
- ac_c99_wchar=no;
- if test x"$ac_has_wchar_h" = xyes &&
- test x"$ac_has_wctype_h" = xyes; then
- echo "$as_me:$LINENO: checking for ISO C99 support in <wchar.h>" >&5
-echo $ECHO_N "checking for ISO C99 support in <wchar.h>... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wchar.h>
- namespace test
- {
- using ::wcstold;
- using ::wcstoll;
- using ::wcstoull;
- }
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_wchar=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_wchar=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- # Checks for wide character functions that may not be present.
- # Injection of these is wrapped with guard macros.
- # NB: only put functions here, instead of immediately above, if
- # absolutely necessary.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wchar.h>
- namespace test { using ::vfwscanf; }
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_VFWSCANF 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wchar.h>
- namespace test { using ::vswscanf; }
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_VSWSCANF 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wchar.h>
- namespace test { using ::vwscanf; }
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_VWSCANF 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wchar.h>
- namespace test { using ::wcstof; }
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCSTOF 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <wctype.h>
-int
-main ()
-{
- wint_t t; int i = iswblank(t);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISWBLANK 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- echo "$as_me:$LINENO: result: $ac_c99_wchar" >&5
-echo "${ECHO_T}$ac_c99_wchar" >&6
- fi
-
- # Option parsed, now set things appropriately.
- if test x"$ac_c99_math" = x"no" ||
- test x"$ac_c99_complex" = x"no" ||
- test x"$ac_c99_stdio" = x"no" ||
- test x"$ac_c99_stdlib" = x"no" ||
- test x"$ac_c99_wchar" = x"no"; then
- enable_c99=no;
- else
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99 1
-_ACEOF
-
- fi
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- fi
-
- echo "$as_me:$LINENO: checking for fully enabled ISO C99 support" >&5
-echo $ECHO_N "checking for fully enabled ISO C99 support... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_c99" >&5
-echo "${ECHO_T}$enable_c99" >&6
-
-
- # Check whether --enable-concept-checks or --disable-concept-checks was given.
-if test "${enable_concept_checks+set}" = set; then
- enableval="$enable_concept_checks"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable concept-checks must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable concept-checks must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_concept_checks=no
-fi;
-
- if test $enable_concept_checks = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_CONCEPT_CHECKS 1
-_ACEOF
-
- fi
-
-
- # Check whether --enable-libstdcxx-debug-flags or --disable-libstdcxx-debug-flags was given.
-if test "${enable_libstdcxx_debug_flags+set}" = set; then
- enableval="$enable_libstdcxx_debug_flags"
- case "x$enable_libstdcxx_debug_flags" in
- xno | x) enable_libstdcxx_debug_flags= ;;
- x-*) ;;
- *) { { echo "$as_me:$LINENO: error: --enable-libstdcxx-debug-flags needs compiler flags as arguments" >&5
-echo "$as_me: error: --enable-libstdcxx-debug-flags needs compiler flags as arguments" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-else
- enable_libstdcxx_debug_flags="-g3 -O0"
-fi;
-
-
- # Option parsed, now set things appropriately
- DEBUG_FLAGS="$enable_libstdcxx_debug_flags"
-
-
- { echo "$as_me:$LINENO: Debug build flags set to $DEBUG_FLAGS" >&5
-echo "$as_me: Debug build flags set to $DEBUG_FLAGS" >&6;}
-
-
- echo "$as_me:$LINENO: checking for additional debug build" >&5
-echo $ECHO_N "checking for additional debug build... $ECHO_C" >&6
- # Check whether --enable-libstdcxx-debug or --disable-libstdcxx-debug was given.
-if test "${enable_libstdcxx_debug+set}" = set; then
- enableval="$enable_libstdcxx_debug"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable libstdcxx-debug must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable libstdcxx-debug must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_libstdcxx_debug=no
-fi;
-
- echo "$as_me:$LINENO: result: $enable_libstdcxx_debug" >&5
-echo "${ECHO_T}$enable_libstdcxx_debug" >&6
-
-
- echo "$as_me:$LINENO: checking for extra compiler flags for building" >&5
-echo $ECHO_N "checking for extra compiler flags for building... $ECHO_C" >&6
- # Check whether --enable-cxx-flags or --disable-cxx-flags was given.
-if test "${enable_cxx_flags+set}" = set; then
- enableval="$enable_cxx_flags"
- case "x$enable_cxx_flags" in
- xno | x) enable_cxx_flags= ;;
- x-*) ;;
- *) { { echo "$as_me:$LINENO: error: --enable-cxx-flags needs compiler flags as arguments" >&5
-echo "$as_me: error: --enable-cxx-flags needs compiler flags as arguments" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-else
- enable_cxx_flags=
-fi;
-
-
- # Run through flags (either default or command-line) and set anything
- # extra (e.g., #defines) that must accompany particular g++ options.
- if test -n "$enable_cxx_flags"; then
- for f in $enable_cxx_flags; do
- case "$f" in
- -fhonor-std) ;;
- -*) ;;
- *) # and we're trying to pass /what/ exactly?
- { { echo "$as_me:$LINENO: error: compiler flags start with a -" >&5
-echo "$as_me: error: compiler flags start with a -" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
- done
- fi
-
- EXTRA_CXX_FLAGS="$enable_cxx_flags"
- echo "$as_me:$LINENO: result: $EXTRA_CXX_FLAGS" >&5
-echo "${ECHO_T}$EXTRA_CXX_FLAGS" >&6
-
-
-
- # Check whether --enable-fully-dynamic-string or --disable-fully-dynamic-string was given.
-if test "${enable_fully_dynamic_string+set}" = set; then
- enableval="$enable_fully_dynamic_string"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable fully-dynamic-string must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable fully-dynamic-string must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_fully_dynamic_string=no
-fi;
-
- if test $enable_fully_dynamic_string = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_FULLY_DYNAMIC_STRING 1
-_ACEOF
-
- fi
-
-
-# No surprises, no surprises...
-
- echo "$as_me:$LINENO: checking for thread model used by GCC" >&5
-echo $ECHO_N "checking for thread model used by GCC... $ECHO_C" >&6
- target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'`
- echo "$as_me:$LINENO: result: $target_thread_file" >&5
-echo "${ECHO_T}$target_thread_file" >&6
-
- if test $target_thread_file != single; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GTHR_DEFAULT 1
-_ACEOF
-
- fi
-
- glibcxx_thread_h=gthr-$target_thread_file.h
-
- gthread_file=${toplevel_srcdir}/gcc/${glibcxx_thread_h}
- if grep __GTHREADS $gthread_file >/dev/null 2>&1 ; then
- enable_thread=yes
- else
- enable_thread=no
- fi
-
-
-
-
- echo "$as_me:$LINENO: checking for atomic builtins" >&5
-echo $ECHO_N "checking for atomic builtins... $ECHO_C" >&6
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-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 8182 "configure"
-int main()
-{
- // NB: _Atomic_word not necessarily int.
- typedef int atomic_type;
- atomic_type c1;
- atomic_type c2;
- const atomic_type c3(0);
- if (__sync_fetch_and_add(&c1, c2) == c3)
- {
- // Do something.
- }
- return 0;
-}
-EOF
- old_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS=-S
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- if grep __sync_fetch_and_add conftest.s >/dev/null 2>&1 ; then
- enable_atomic_builtins=no
- else
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_ATOMIC_BUILTINS 1
-_ACEOF
-
- enable_atomic_builtins=yes
- atomicity_dir=cpu/generic/atomicity_builtins
- fi
- fi
- CXXFLAGS="$old_CXXFLAGS"
- rm -f conftest*
-
- # Now, if still generic, set to mutex.
- if test $atomicity_dir = "cpu/generic" ; then
- atomicity_dir=cpu/generic/atomicity_mutex
- fi
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- echo "$as_me:$LINENO: result: $enable_atomic_builtins" >&5
-echo "${ECHO_T}$enable_atomic_builtins" >&6
-
-if test $atomicity_dir = cpu/generic/atomic_mutex ; then
- { echo "$as_me:$LINENO: WARNING: No native atomic operations are provided for this platform." >&5
-echo "$as_me: WARNING: No native atomic operations are provided for this platform." >&2;}
- if test $target_thread_file = single; then
- { echo "$as_me:$LINENO: WARNING: They cannot be faked when thread support is disabled." >&5
-echo "$as_me: WARNING: They cannot be faked when thread support is disabled." >&2;}
- { echo "$as_me:$LINENO: WARNING: Thread-safety of certain classes is not guaranteed." >&5
-echo "$as_me: WARNING: Thread-safety of certain classes is not guaranteed." >&2;}
- else
- { echo "$as_me:$LINENO: WARNING: They will be faked using a mutex." >&5
-echo "$as_me: WARNING: They will be faked using a mutex." >&2;}
- { echo "$as_me:$LINENO: WARNING: Performance of certain classes will degrade as a result." >&5
-echo "$as_me: WARNING: Performance of certain classes will degrade as a result." >&2;}
- fi
-fi
-
-
- # All these tests are for C++; save the language and the compiler flags.
- # The CXXFLAGS thing is suspicious, but based on similar bits previously
- # found in GLIBCXX_CONFIGURE.
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
-
- # Check for maintainer-mode bits.
- if test x"$USE_MAINTAINER_MODE" = xno; then
- WERROR=''
- else
- WERROR='-Werror'
- fi
-
- # Check for -ffunction-sections -fdata-sections
- echo "$as_me:$LINENO: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
-echo $ECHO_N "checking for g++ that supports -ffunction-sections -fdata-sections... $ECHO_C" >&6
- CXXFLAGS='-Werror -ffunction-sections -fdata-sections'
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-int foo;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_fdsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_fdsections=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- else
- # this is the suspicious part
- CXXFLAGS=''
- fi
- if test x"$ac_fdsections" = x"yes"; then
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- fi
- echo "$as_me:$LINENO: result: $ac_fdsections" >&5
-echo "${ECHO_T}$ac_fdsections" >&6
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-if $GLIBCXX_IS_NATIVE; then
-
- # We can do more elaborate tests that assume a working linker.
- CANADIAN=no
-
- # Check for available headers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
- machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \
- sys/types.h sys/ipc.h sys/sem.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
- echo "$as_me:$LINENO: checking for sin in -lm" >&5
-echo $ECHO_N "checking for sin in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_sin+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char sin ();
-int
-main ()
-{
-sin ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_sin=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_sin=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_sin" >&5
-echo "${ECHO_T}$ac_cv_lib_m_sin" >&6
-if test $ac_cv_lib_m_sin = yes; then
- libm="-lm"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $libm"
-
-
-
- echo "$as_me:$LINENO: checking for isinf declaration" >&5
-echo $ECHO_N "checking for isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinf_use+set} != xset; then
- if test "${glibcxx_cv_func_isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinf_use" >&6
-
- if test x$glibcxx_cv_func_isinf_use = x"yes"; then
-
-for ac_func in isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinf declaration" >&5
-echo $ECHO_N "checking for _isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinf_use+set} != xset; then
- if test "${glibcxx_cv_func__isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinf_use" >&6
-
- if test x$glibcxx_cv_func__isinf_use = x"yes"; then
-
-for ac_func in _isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnan declaration" >&5
-echo $ECHO_N "checking for isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnan_use+set} != xset; then
- if test "${glibcxx_cv_func_isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnan_use" >&6
-
- if test x$glibcxx_cv_func_isnan_use = x"yes"; then
-
-for ac_func in isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnan declaration" >&5
-echo $ECHO_N "checking for _isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnan_use+set} != xset; then
- if test "${glibcxx_cv_func__isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnan_use" >&6
-
- if test x$glibcxx_cv_func__isnan_use = x"yes"; then
-
-for ac_func in _isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finite declaration" >&5
-echo $ECHO_N "checking for finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finite_use+set} != xset; then
- if test "${glibcxx_cv_func_finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finite_use" >&6
-
- if test x$glibcxx_cv_func_finite_use = x"yes"; then
-
-for ac_func in finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finite declaration" >&5
-echo $ECHO_N "checking for _finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finite_use+set} != xset; then
- if test "${glibcxx_cv_func__finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finite_use" >&6
-
- if test x$glibcxx_cv_func__finite_use = x"yes"; then
-
-for ac_func in _finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysign declaration" >&5
-echo $ECHO_N "checking for copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysign_use+set} != xset; then
- if test "${glibcxx_cv_func_copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysign_use" >&6
-
- if test x$glibcxx_cv_func_copysign_use = x"yes"; then
-
-for ac_func in copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysign declaration" >&5
-echo $ECHO_N "checking for _copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysign_use+set} != xset; then
- if test "${glibcxx_cv_func__copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysign_use" >&6
-
- if test x$glibcxx_cv_func__copysign_use = x"yes"; then
-
-for ac_func in _copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincos declaration" >&5
-echo $ECHO_N "checking for sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincos_use+set} != xset; then
- if test "${glibcxx_cv_func_sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincos_use" >&6
-
- if test x$glibcxx_cv_func_sincos_use = x"yes"; then
-
-for ac_func in sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincos declaration" >&5
-echo $ECHO_N "checking for _sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincos_use+set} != xset; then
- if test "${glibcxx_cv_func__sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincos_use" >&6
-
- if test x$glibcxx_cv_func__sincos_use = x"yes"; then
-
-for ac_func in _sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fpclass declaration" >&5
-echo $ECHO_N "checking for fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fpclass_use" >&6
-
- if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
-
-for ac_func in fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fpclass declaration" >&5
-echo $ECHO_N "checking for _fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fpclass_use" >&6
-
- if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
-
-for ac_func in _fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for qfpclass declaration" >&5
-echo $ECHO_N "checking for qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_qfpclass_use" >&6
-
- if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
-
-for ac_func in qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _qfpclass declaration" >&5
-echo $ECHO_N "checking for _qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__qfpclass_use" >&6
-
- if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
-
-for ac_func in _qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypot declaration" >&5
-echo $ECHO_N "checking for hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypot_use+set} != xset; then
- if test "${glibcxx_cv_func_hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypot_use" >&6
-
- if test x$glibcxx_cv_func_hypot_use = x"yes"; then
-
-for ac_func in hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypot declaration" >&5
-echo $ECHO_N "checking for _hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypot_use+set} != xset; then
- if test "${glibcxx_cv_func__hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypot_use" >&6
-
- if test x$glibcxx_cv_func__hypot_use = x"yes"; then
-
-for ac_func in _hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float trig functions" >&5
-echo $ECHO_N "checking for float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_trig_use" >&6
- if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float trig functions" >&5
-echo $ECHO_N "checking for _float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_trig_use" >&6
- if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float round functions" >&5
-echo $ECHO_N "checking for float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceilf (0); floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_round_use" >&6
- if test x$glibcxx_cv_func_float_round_use = x"yes"; then
-
-
-for ac_func in ceilf floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float round functions" >&5
-echo $ECHO_N "checking for _float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceilf (0); _floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_round_use" >&6
- if test x$glibcxx_cv_func__float_round_use = x"yes"; then
-
-
-for ac_func in _ceilf _floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expf declaration" >&5
-echo $ECHO_N "checking for expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expf_use+set} != xset; then
- if test "${glibcxx_cv_func_expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expf_use" >&6
-
- if test x$glibcxx_cv_func_expf_use = x"yes"; then
-
-for ac_func in expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expf declaration" >&5
-echo $ECHO_N "checking for _expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expf_use+set} != xset; then
- if test "${glibcxx_cv_func__expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expf_use" >&6
-
- if test x$glibcxx_cv_func__expf_use = x"yes"; then
-
-for ac_func in _expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanf declaration" >&5
-echo $ECHO_N "checking for isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanf_use" >&6
-
- if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
-
-for ac_func in isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanf declaration" >&5
-echo $ECHO_N "checking for _isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanf_use" >&6
-
- if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
-
-for ac_func in _isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinff declaration" >&5
-echo $ECHO_N "checking for isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinff_use+set} != xset; then
- if test "${glibcxx_cv_func_isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinff_use" >&6
-
- if test x$glibcxx_cv_func_isinff_use = x"yes"; then
-
-for ac_func in isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinff declaration" >&5
-echo $ECHO_N "checking for _isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinff_use+set} != xset; then
- if test "${glibcxx_cv_func__isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinff_use" >&6
-
- if test x$glibcxx_cv_func__isinff_use = x"yes"; then
-
-for ac_func in _isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2f declaration" >&5
-echo $ECHO_N "checking for atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2f_use" >&6
-
- if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
-
-for ac_func in atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2f declaration" >&5
-echo $ECHO_N "checking for _atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2f_use" >&6
-
- if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
-
-for ac_func in _atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsf declaration" >&5
-echo $ECHO_N "checking for fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsf_use" >&6
-
- if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
-
-for ac_func in fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsf declaration" >&5
-echo $ECHO_N "checking for _fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsf_use" >&6
-
- if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
-
-for ac_func in _fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodf declaration" >&5
-echo $ECHO_N "checking for fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodf_use" >&6
-
- if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
-
-for ac_func in fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodf declaration" >&5
-echo $ECHO_N "checking for _fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodf_use" >&6
-
- if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
-
-for ac_func in _fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpf declaration" >&5
-echo $ECHO_N "checking for frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpf_use" >&6
-
- if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
-
-for ac_func in frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpf declaration" >&5
-echo $ECHO_N "checking for _frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpf_use" >&6
-
- if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
-
-for ac_func in _frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotf declaration" >&5
-echo $ECHO_N "checking for hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotf_use" >&6
-
- if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
-
-for ac_func in hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotf declaration" >&5
-echo $ECHO_N "checking for _hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotf_use" >&6
-
- if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
-
-for ac_func in _hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpf declaration" >&5
-echo $ECHO_N "checking for ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpf_use" >&6
-
- if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
-
-for ac_func in ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpf declaration" >&5
-echo $ECHO_N "checking for _ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpf_use" >&6
-
- if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
-
-for ac_func in _ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logf declaration" >&5
-echo $ECHO_N "checking for logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logf_use+set} != xset; then
- if test "${glibcxx_cv_func_logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logf_use" >&6
-
- if test x$glibcxx_cv_func_logf_use = x"yes"; then
-
-for ac_func in logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logf declaration" >&5
-echo $ECHO_N "checking for _logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logf_use+set} != xset; then
- if test "${glibcxx_cv_func__logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logf_use" >&6
-
- if test x$glibcxx_cv_func__logf_use = x"yes"; then
-
-for ac_func in _logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10f declaration" >&5
-echo $ECHO_N "checking for log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10f_use+set} != xset; then
- if test "${glibcxx_cv_func_log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10f_use" >&6
-
- if test x$glibcxx_cv_func_log10f_use = x"yes"; then
-
-for ac_func in log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10f declaration" >&5
-echo $ECHO_N "checking for _log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10f_use+set} != xset; then
- if test "${glibcxx_cv_func__log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10f_use" >&6
-
- if test x$glibcxx_cv_func__log10f_use = x"yes"; then
-
-for ac_func in _log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modff declaration" >&5
-echo $ECHO_N "checking for modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modff_use+set} != xset; then
- if test "${glibcxx_cv_func_modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modff_use" >&6
-
- if test x$glibcxx_cv_func_modff_use = x"yes"; then
-
-for ac_func in modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modff declaration" >&5
-echo $ECHO_N "checking for _modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modff_use+set} != xset; then
- if test "${glibcxx_cv_func__modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modff_use" >&6
-
- if test x$glibcxx_cv_func__modff_use = x"yes"; then
-
-for ac_func in _modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modf declaration" >&5
-echo $ECHO_N "checking for modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modf_use+set} != xset; then
- if test "${glibcxx_cv_func_modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modf_use" >&6
-
- if test x$glibcxx_cv_func_modf_use = x"yes"; then
-
-for ac_func in modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modf declaration" >&5
-echo $ECHO_N "checking for _modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modf_use+set} != xset; then
- if test "${glibcxx_cv_func__modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modf_use" >&6
-
- if test x$glibcxx_cv_func__modf_use = x"yes"; then
-
-for ac_func in _modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powf declaration" >&5
-echo $ECHO_N "checking for powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powf_use+set} != xset; then
- if test "${glibcxx_cv_func_powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powf_use" >&6
-
- if test x$glibcxx_cv_func_powf_use = x"yes"; then
-
-for ac_func in powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powf declaration" >&5
-echo $ECHO_N "checking for _powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powf_use+set} != xset; then
- if test "${glibcxx_cv_func__powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powf_use" >&6
-
- if test x$glibcxx_cv_func__powf_use = x"yes"; then
-
-for ac_func in _powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtf declaration" >&5
-echo $ECHO_N "checking for sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtf_use" >&6
-
- if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
-
-for ac_func in sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtf declaration" >&5
-echo $ECHO_N "checking for _sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtf_use" >&6
-
- if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
-
-for ac_func in _sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosf declaration" >&5
-echo $ECHO_N "checking for sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosf_use" >&6
-
- if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
-
-for ac_func in sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosf declaration" >&5
-echo $ECHO_N "checking for _sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosf_use" >&6
-
- if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
-
-for ac_func in _sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitef declaration" >&5
-echo $ECHO_N "checking for finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitef_use+set} != xset; then
- if test "${glibcxx_cv_func_finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitef_use" >&6
-
- if test x$glibcxx_cv_func_finitef_use = x"yes"; then
-
-for ac_func in finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitef declaration" >&5
-echo $ECHO_N "checking for _finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitef_use+set} != xset; then
- if test "${glibcxx_cv_func__finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitef_use" >&6
-
- if test x$glibcxx_cv_func__finitef_use = x"yes"; then
-
-for ac_func in _finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double trig functions" >&5
-echo $ECHO_N "checking for long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_trig_use" >&6
- if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double trig functions" >&5
-echo $ECHO_N "checking for _long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_trig_use" >&6
- if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double round functions" >&5
-echo $ECHO_N "checking for long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceill (0); floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_round_use" >&6
- if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
-
-
-for ac_func in ceill floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double round functions" >&5
-echo $ECHO_N "checking for _long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceill (0); _floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_round_use" >&6
- if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
-
-
-for ac_func in _ceill _floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanl declaration" >&5
-echo $ECHO_N "checking for isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanl_use" >&6
-
- if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
-
-for ac_func in isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanl declaration" >&5
-echo $ECHO_N "checking for _isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanl_use" >&6
-
- if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
-
-for ac_func in _isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinfl declaration" >&5
-echo $ECHO_N "checking for isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func_isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinfl_use" >&6
-
- if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
-
-for ac_func in isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinfl declaration" >&5
-echo $ECHO_N "checking for _isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func__isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinfl_use" >&6
-
- if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
-
-for ac_func in _isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysignl declaration" >&5
-echo $ECHO_N "checking for copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func_copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysignl_use" >&6
-
- if test x$glibcxx_cv_func_copysignl_use = x"yes"; then
-
-for ac_func in copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysignl declaration" >&5
-echo $ECHO_N "checking for _copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func__copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysignl_use" >&6
-
- if test x$glibcxx_cv_func__copysignl_use = x"yes"; then
-
-for ac_func in _copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2l declaration" >&5
-echo $ECHO_N "checking for atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2l_use" >&6
-
- if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
-
-for ac_func in atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2l declaration" >&5
-echo $ECHO_N "checking for _atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2l_use" >&6
-
- if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
-
-for ac_func in _atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expl declaration" >&5
-echo $ECHO_N "checking for expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expl_use+set} != xset; then
- if test "${glibcxx_cv_func_expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expl_use" >&6
-
- if test x$glibcxx_cv_func_expl_use = x"yes"; then
-
-for ac_func in expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expl declaration" >&5
-echo $ECHO_N "checking for _expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expl_use+set} != xset; then
- if test "${glibcxx_cv_func__expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expl_use" >&6
-
- if test x$glibcxx_cv_func__expl_use = x"yes"; then
-
-for ac_func in _expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsl declaration" >&5
-echo $ECHO_N "checking for fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsl_use" >&6
-
- if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
-
-for ac_func in fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsl declaration" >&5
-echo $ECHO_N "checking for _fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsl_use" >&6
-
- if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
-
-for ac_func in _fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodl declaration" >&5
-echo $ECHO_N "checking for fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodl_use" >&6
-
- if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
-
-for ac_func in fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodl declaration" >&5
-echo $ECHO_N "checking for _fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodl_use" >&6
-
- if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
-
-for ac_func in _fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpl declaration" >&5
-echo $ECHO_N "checking for frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpl_use" >&6
-
- if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
-
-for ac_func in frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpl declaration" >&5
-echo $ECHO_N "checking for _frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpl_use" >&6
-
- if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
-
-for ac_func in _frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotl declaration" >&5
-echo $ECHO_N "checking for hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotl_use" >&6
-
- if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
-
-for ac_func in hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotl declaration" >&5
-echo $ECHO_N "checking for _hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotl_use" >&6
-
- if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
-
-for ac_func in _hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpl declaration" >&5
-echo $ECHO_N "checking for ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpl_use" >&6
-
- if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
-
-for ac_func in ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpl declaration" >&5
-echo $ECHO_N "checking for _ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpl_use" >&6
-
- if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
-
-for ac_func in _ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logl declaration" >&5
-echo $ECHO_N "checking for logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logl_use+set} != xset; then
- if test "${glibcxx_cv_func_logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logl_use" >&6
-
- if test x$glibcxx_cv_func_logl_use = x"yes"; then
-
-for ac_func in logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logl declaration" >&5
-echo $ECHO_N "checking for _logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logl_use+set} != xset; then
- if test "${glibcxx_cv_func__logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logl_use" >&6
-
- if test x$glibcxx_cv_func__logl_use = x"yes"; then
-
-for ac_func in _logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10l declaration" >&5
-echo $ECHO_N "checking for log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10l_use+set} != xset; then
- if test "${glibcxx_cv_func_log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10l_use" >&6
-
- if test x$glibcxx_cv_func_log10l_use = x"yes"; then
-
-for ac_func in log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10l declaration" >&5
-echo $ECHO_N "checking for _log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10l_use+set} != xset; then
- if test "${glibcxx_cv_func__log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10l_use" >&6
-
- if test x$glibcxx_cv_func__log10l_use = x"yes"; then
-
-for ac_func in _log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modfl declaration" >&5
-echo $ECHO_N "checking for modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modfl_use+set} != xset; then
- if test "${glibcxx_cv_func_modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modfl_use" >&6
-
- if test x$glibcxx_cv_func_modfl_use = x"yes"; then
-
-for ac_func in modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modfl declaration" >&5
-echo $ECHO_N "checking for _modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modfl_use+set} != xset; then
- if test "${glibcxx_cv_func__modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modfl_use" >&6
-
- if test x$glibcxx_cv_func__modfl_use = x"yes"; then
-
-for ac_func in _modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powl declaration" >&5
-echo $ECHO_N "checking for powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powl_use+set} != xset; then
- if test "${glibcxx_cv_func_powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powl_use" >&6
-
- if test x$glibcxx_cv_func_powl_use = x"yes"; then
-
-for ac_func in powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powl declaration" >&5
-echo $ECHO_N "checking for _powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powl_use+set} != xset; then
- if test "${glibcxx_cv_func__powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powl_use" >&6
-
- if test x$glibcxx_cv_func__powl_use = x"yes"; then
-
-for ac_func in _powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtl declaration" >&5
-echo $ECHO_N "checking for sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtl_use" >&6
-
- if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
-
-for ac_func in sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtl declaration" >&5
-echo $ECHO_N "checking for _sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtl_use" >&6
-
- if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
-
-for ac_func in _sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosl declaration" >&5
-echo $ECHO_N "checking for sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosl_use" >&6
-
- if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
-
-for ac_func in sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosl declaration" >&5
-echo $ECHO_N "checking for _sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosl_use" >&6
-
- if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
-
-for ac_func in _sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitel declaration" >&5
-echo $ECHO_N "checking for finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitel_use+set} != xset; then
- if test "${glibcxx_cv_func_finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitel_use" >&6
-
- if test x$glibcxx_cv_func_finitel_use = x"yes"; then
-
-for ac_func in finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitel declaration" >&5
-echo $ECHO_N "checking for _finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitel_use+set} != xset; then
- if test "${glibcxx_cv_func__finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitel_use" >&6
-
- if test x$glibcxx_cv_func__finitel_use = x"yes"; then
-
-for ac_func in _finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
- LIBS="$ac_save_LIBS"
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_abs declaration" >&5
-echo $ECHO_N "checking for __builtin_abs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_use" >&6
- if test x$glibcxx_cv_func___builtin_abs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_abs linkage" >&5
-echo $ECHO_N "checking for __builtin_abs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_abs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_ABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsf declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsf linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabs declaration" >&5
-echo $ECHO_N "checking for __builtin_fabs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_use" >&6
- if test x$glibcxx_cv_func___builtin_fabs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabs linkage" >&5
-echo $ECHO_N "checking for __builtin_fabs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsl declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsl linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSL 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_labs declaration" >&5
-echo $ECHO_N "checking for __builtin_labs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_use" >&6
- if test x$glibcxx_cv_func___builtin_labs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_labs linkage" >&5
-echo $ECHO_N "checking for __builtin_labs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_labs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_LABS 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtf declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtf linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrt declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrt declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrt_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrt linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrt linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrt_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRT 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtl declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtl linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinf declaration" >&5
-echo $ECHO_N "checking for __builtin_sinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_use" >&6
- if test x$glibcxx_cv_func___builtin_sinf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinf linkage" >&5
-echo $ECHO_N "checking for __builtin_sinf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sin declaration" >&5
-echo $ECHO_N "checking for __builtin_sin declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_use" >&6
- if test x$glibcxx_cv_func___builtin_sin_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sin linkage" >&5
-echo $ECHO_N "checking for __builtin_sin linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sin_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SIN 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinl declaration" >&5
-echo $ECHO_N "checking for __builtin_sinl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_use" >&6
- if test x$glibcxx_cv_func___builtin_sinl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinl linkage" >&5
-echo $ECHO_N "checking for __builtin_sinl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosf declaration" >&5
-echo $ECHO_N "checking for __builtin_cosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_use" >&6
- if test x$glibcxx_cv_func___builtin_cosf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosf linkage" >&5
-echo $ECHO_N "checking for __builtin_cosf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cos declaration" >&5
-echo $ECHO_N "checking for __builtin_cos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_use" >&6
- if test x$glibcxx_cv_func___builtin_cos_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cos linkage" >&5
-echo $ECHO_N "checking for __builtin_cos linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cos_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosl declaration" >&5
-echo $ECHO_N "checking for __builtin_cosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_use" >&6
- if test x$glibcxx_cv_func___builtin_cosl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosl linkage" >&5
-echo $ECHO_N "checking for __builtin_cosl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
-
- echo "$as_me:$LINENO: checking for strtold declaration" >&5
-echo $ECHO_N "checking for strtold declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtold_use+set} != xset; then
- if test "${glibcxx_cv_func_strtold_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtold(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtold_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtold_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtold_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtold_use" >&6
- if test x$glibcxx_cv_func_strtold_use = x"yes"; then
-
-for ac_func in strtold
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- echo "$as_me:$LINENO: checking for strtof declaration" >&5
-echo $ECHO_N "checking for strtof declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtof_use+set} != xset; then
- if test "${glibcxx_cv_func_strtof_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtof(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtof_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtof_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtof_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtof_use" >&6
- if test x$glibcxx_cv_func_strtof_use = x"yes"; then
-
-for ac_func in strtof
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
- # For showmanyc_helper().
-
-
-for ac_header in sys/ioctl.h sys/filio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for poll" >&5
-echo $ECHO_N "checking for poll... $ECHO_C" >&6
- if test "${glibcxx_cv_POLL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <poll.h>
-int
-main ()
-{
-struct pollfd pfd[1];
- pfd[0].events = POLLIN;
- poll(pfd, 1, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_POLL=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_POLL=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_POLL = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
-echo "${ECHO_T}$glibcxx_cv_POLL" >&6
-
-
- echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
-echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
- if test "${glibcxx_cv_S_ISREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_ISREG(buffer.st_mode);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_ISREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_ISREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test "${glibcxx_cv_S_IFREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_IFREG & buffer.st_mode;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_IFREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_IFREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- res=no
- if test $glibcxx_cv_S_ISREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_ISREG 1
-_ACEOF
-
- res=S_ISREG
- elif test $glibcxx_cv_S_IFREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_IFREG 1
-_ACEOF
-
- res=S_IFREG
- fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- # For xsputn_2().
-
-for ac_header in sys/uio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for writev" >&5
-echo $ECHO_N "checking for writev... $ECHO_C" >&6
- if test "${glibcxx_cv_WRITEV+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/uio.h>
-int
-main ()
-{
-struct iovec iov[2];
- writev(0, iov, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_WRITEV=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_WRITEV=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_WRITEV = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WRITEV 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
-echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
-
-
- # For the __streamoff_base_type typedef.
-
- echo "$as_me:$LINENO: checking for int64_t" >&5
-echo $ECHO_N "checking for int64_t... $ECHO_C" >&6
- if test "${glibcxx_cv_INT64_T+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdint.h>
-int
-main ()
-{
-int64_t var;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_INT64_T=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_INT64_T=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_INT64_T = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INT64_T 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_INT64_T" >&5
-echo "${ECHO_T}$glibcxx_cv_INT64_T" >&6
-
-
- # For LFS support.
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -fno-exceptions"
- echo "$as_me:$LINENO: checking for LFS support" >&5
-echo $ECHO_N "checking for LFS support... $ECHO_C" >&6
- if test "${glibcxx_cv_LFS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <stdio.h>
- #include <sys/stat.h>
-
-int
-main ()
-{
-FILE* fp;
- fopen64("t", "w");
- fseeko64(fp, 0, SEEK_CUR);
- ftello64(fp);
- lseek64(1, 0, SEEK_CUR);
- struct stat64 buf;
- fstat64(1, &buf);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_LFS=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_LFS=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_LFS = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_LFS 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_LFS" >&5
-echo "${ECHO_T}$glibcxx_cv_LFS" >&6
- CXXFLAGS="$ac_save_CXXFLAGS"
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
- # For C99 support to TR1.
-
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- # Check for the existence of <complex.h> complex math functions used
- # by tr1/complex.
-
-for ac_header in complex.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- ac_has_complex_h=yes
-else
- ac_has_complex_h=no
-fi
-
-done
-
- ac_c99_complex_tr1=no;
- if test x"$ac_has_complex_h" = x"yes"; then
- echo "$as_me:$LINENO: checking for ISO C99 support to TR1 in <complex.h>" >&5
-echo $ECHO_N "checking for ISO C99 support to TR1 in <complex.h>... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <complex.h>
-int
-main ()
-{
-typedef __complex__ float float_type; float_type tmpf;
- cacosf(tmpf);
- casinf(tmpf);
- catanf(tmpf);
- cacoshf(tmpf);
- casinhf(tmpf);
- catanhf(tmpf);
- typedef __complex__ double double_type; double_type tmpd;
- cacos(tmpd);
- casin(tmpd);
- catan(tmpd);
- cacosh(tmpd);
- casinh(tmpd);
- catanh(tmpd);
- typedef __complex__ long double ld_type; ld_type tmpld;
- cacosl(tmpld);
- casinl(tmpld);
- catanl(tmpld);
- cacoshl(tmpld);
- casinhl(tmpld);
- catanhl(tmpld);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_complex_tr1=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_complex_tr1=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- echo "$as_me:$LINENO: result: $ac_c99_complex_tr1" >&5
-echo "${ECHO_T}$ac_c99_complex_tr1" >&6
- if test x"$ac_c99_complex_tr1" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_COMPLEX_TR1 1
-_ACEOF
-
- fi
-
- # Check for the existence of <ctype.h> functions.
- echo "$as_me:$LINENO: checking for ISO C99 support to TR1 in <ctype.h>" >&5
-echo $ECHO_N "checking for ISO C99 support to TR1 in <ctype.h>... $ECHO_C" >&6
- if test "${ac_c99_ctype_tr1+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-int
-main ()
-{
-int ch;
- int ret;
- ret = isblank(ch);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_ctype_tr1=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_ctype_tr1=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- echo "$as_me:$LINENO: result: $ac_c99_ctype_tr1" >&5
-echo "${ECHO_T}$ac_c99_ctype_tr1" >&6
- if test x"$ac_c99_ctype_tr1" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_CTYPE_TR1 1
-_ACEOF
-
- fi
-
- # Check for the existence of <fenv.h> functions.
-
-for ac_header in fenv.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- ac_has_fenv_h=yes
-else
- ac_has_fenv_h=no
-fi
-
-done
-
- ac_c99_fenv_tr1=no;
- if test x"$ac_has_fenv_h" = x"yes"; then
- echo "$as_me:$LINENO: checking for ISO C99 support to TR1 in <fenv.h>" >&5
-echo $ECHO_N "checking for ISO C99 support to TR1 in <fenv.h>... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <fenv.h>
-int
-main ()
-{
-int except, mode;
- fexcept_t* pflag;
- fenv_t* penv;
- int ret;
- ret = feclearexcept(except);
- ret = fegetexceptflag(pflag, except);
- ret = feraiseexcept(except);
- ret = fesetexceptflag(pflag, except);
- ret = fetestexcept(except);
- ret = fegetround();
- ret = fesetround(mode);
- ret = fegetenv(penv);
- ret = feholdexcept(penv);
- ret = fesetenv(penv);
- ret = feupdateenv(penv);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_fenv_tr1=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_fenv_tr1=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- echo "$as_me:$LINENO: result: $ac_c99_fenv_tr1" >&5
-echo "${ECHO_T}$ac_c99_fenv_tr1" >&6
- if test x"$ac_c99_fenv_tr1" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_FENV_TR1 1
-_ACEOF
-
- fi
-
- # Check for the existence of <stdint.h> types.
- echo "$as_me:$LINENO: checking for ISO C99 support to TR1 in <stdint.h>" >&5
-echo $ECHO_N "checking for ISO C99 support to TR1 in <stdint.h>... $ECHO_C" >&6
- if test "${ac_c99_stdint_tr1+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdint.h>
-int
-main ()
-{
-typedef int8_t my_int8_t;
- typedef int16_t my_int16_t;
- typedef int32_t my_int32_t;
- typedef int64_t my_int64_t;
- typedef int_fast8_t my_int_fast8_t;
- typedef int_fast16_t my_int_fast16_t;
- typedef int_fast32_t my_int_fast32_t;
- typedef int_fast64_t my_int_fast64_t;
- typedef int_least8_t my_int_least8_t;
- typedef int_least16_t my_int_least16_t;
- typedef int_least32_t my_int_least32_t;
- typedef int_least64_t my_int_least64_t;
- typedef intmax_t my_intmax_t;
- typedef intptr_t my_intptr_t;
- typedef uint8_t my_uint8_t;
- typedef uint16_t my_uint16_t;
- typedef uint32_t my_uint32_t;
- typedef uint64_t my_uint64_t;
- typedef uint_fast8_t my_uint_fast8_t;
- typedef uint_fast16_t my_uint_fast16_t;
- typedef uint_fast32_t my_uint_fast32_t;
- typedef uint_fast64_t my_uint_fast64_t;
- typedef uint_least8_t my_uint_least8_t;
- typedef uint_least16_t my_uint_least16_t;
- typedef uint_least32_t my_uint_least32_t;
- typedef uint_least64_t my_uint_least64_t;
- typedef uintmax_t my_uintmax_t;
- typedef uintptr_t my_uintptr_t;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_stdint_tr1=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_stdint_tr1=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- echo "$as_me:$LINENO: result: $ac_c99_stdint_tr1" >&5
-echo "${ECHO_T}$ac_c99_stdint_tr1" >&6
- if test x"$ac_c99_stdint_tr1" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_STDINT_TR1 1
-_ACEOF
-
- fi
-
- # Check for the existence of <math.h> functions.
- echo "$as_me:$LINENO: checking for ISO C99 support to TR1 in <math.h>" >&5
-echo $ECHO_N "checking for ISO C99 support to TR1 in <math.h>... $ECHO_C" >&6
- if test "${ac_c99_math_tr1+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-typedef double_t my_double_t;
- typedef float_t my_float_t;
- acosh(0.0);
- acoshf(0.0f);
- acoshl(0.0l);
- asinh(0.0);
- asinhf(0.0f);
- asinhl(0.0l);
- atanh(0.0);
- atanhf(0.0f);
- atanhl(0.0l);
- cbrt(0.0);
- cbrtf(0.0f);
- cbrtl(0.0l);
- copysign(0.0, 0.0);
- copysignf(0.0f, 0.0f);
- copysignl(0.0l, 0.0l);
- erf(0.0);
- erff(0.0f);
- erfl(0.0l);
- erfc(0.0);
- erfcf(0.0f);
- erfcl(0.0l);
- exp2(0.0);
- exp2f(0.0f);
- exp2l(0.0l);
- expm1(0.0);
- expm1f(0.0f);
- expm1l(0.0l);
- fdim(0.0, 0.0);
- fdimf(0.0f, 0.0f);
- fdiml(0.0l, 0.0l);
- fma(0.0, 0.0, 0.0);
- fmaf(0.0f, 0.0f, 0.0f);
- fmal(0.0l, 0.0l, 0.0l);
- fmax(0.0, 0.0);
- fmaxf(0.0f, 0.0f);
- fmaxl(0.0l, 0.0l);
- fmin(0.0, 0.0);
- fminf(0.0f, 0.0f);
- fminl(0.0l, 0.0l);
- hypot(0.0, 0.0);
- hypotf(0.0f, 0.0f);
- hypotl(0.0l, 0.0l);
- ilogb(0.0);
- ilogbf(0.0f);
- ilogbl(0.0l);
- lgamma(0.0);
- lgammaf(0.0f);
- lgammal(0.0l);
- llrint(0.0);
- llrintf(0.0f);
- llrintl(0.0l);
- llround(0.0);
- llroundf(0.0f);
- llroundl(0.0l);
- log1p(0.0);
- log1pf(0.0f);
- log1pl(0.0l);
- log2(0.0);
- log2f(0.0f);
- log2l(0.0l);
- logb(0.0);
- logbf(0.0f);
- logbl(0.0l);
- lrint(0.0);
- lrintf(0.0f);
- lrintl(0.0l);
- lround(0.0);
- lroundf(0.0f);
- lroundl(0.0l);
- nan(0);
- nanf(0);
- nanl(0);
- nearbyint(0.0);
- nearbyintf(0.0f);
- nearbyintl(0.0l);
- nextafter(0.0, 0.0);
- nextafterf(0.0f, 0.0f);
- nextafterl(0.0l, 0.0l);
- nexttoward(0.0, 0.0);
- nexttowardf(0.0f, 0.0f);
- nexttowardl(0.0l, 0.0l);
- remainder(0.0, 0.0);
- remainderf(0.0f, 0.0f);
- remainderl(0.0l, 0.0l);
- remquo(0.0, 0.0, 0);
- remquo(0.0f, 0.0f, 0);
- remquo(0.0l, 0.0l, 0);
- rint(0.0);
- rintf(0.0f);
- rintl(0.0l);
- round(0.0);
- roundf(0.0f);
- roundl(0.0l);
- scalbln(0.0, 0l);
- scalblnf(0.0f, 0l);
- scalblnl(0.0l, 0l);
- scalbn(0.0, 0);
- scalbnf(0.0f, 0);
- scalbnl(0.0l, 0);
- tgamma(0.0);
- tgammaf(0.0f);
- tgammal(0.0l);
- trunc(0.0);
- truncf(0.0f);
- truncl(0.0l);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_math_tr1=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_math_tr1=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- echo "$as_me:$LINENO: result: $ac_c99_math_tr1" >&5
-echo "${ECHO_T}$ac_c99_math_tr1" >&6
- if test x"$ac_c99_math_tr1" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_MATH_TR1 1
-_ACEOF
-
- fi
-
- # Check for the existence of <inttypes.h> functions (NB: doesn't make
- # sense if the previous check fails, per C99, 7.8/1).
- ac_c99_inttypes_tr1=no;
- if test x"$ac_c99_stdint_tr1" = x"yes"; then
- echo "$as_me:$LINENO: checking for ISO C99 support to TR1 in <inttypes.h>" >&5
-echo $ECHO_N "checking for ISO C99 support to TR1 in <inttypes.h>... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <inttypes.h>
-int
-main ()
-{
-intmax_t i, numer, denom, base;
- const char* s;
- char** endptr;
- intmax_t ret = imaxabs(i);
- imaxdiv_t dret = imaxdiv(numer, denom);
- ret = strtoimax(s, endptr, base);
- uintmax_t uret = strtoumax(s, endptr, base);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_c99_inttypes_tr1=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_c99_inttypes_tr1=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- echo "$as_me:$LINENO: result: $ac_c99_inttypes_tr1" >&5
-echo "${ECHO_T}$ac_c99_inttypes_tr1" >&6
- if test x"$ac_c99_inttypes_tr1" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_C99_INTTYPES_TR1 1
-_ACEOF
-
- fi
-
- # Check for the existence of the <stdbool.h> header.
-
-for ac_header in stdbool.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_cxx_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
- # For dev/random and dev/urandom for TR1.
-
-
- echo "$as_me:$LINENO: checking for \"dev/random\" and \"dev/urandom\" for TR1 random_device" >&5
-echo $ECHO_N "checking for \"dev/random\" and \"dev/urandom\" for TR1 random_device... $ECHO_C" >&6
- if test "${ac_random_tr1+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test "$cross_compiling" = yes; then
- ac_random_tr1=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
- int main()
- {
- return !(fopen("/dev/random", "r")
- && fopen("/dev/urandom", "r"));
- }
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_random_tr1=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_random_tr1=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-fi
-
- echo "$as_me:$LINENO: result: $ac_random_tr1" >&5
-echo "${ECHO_T}$ac_random_tr1" >&6
- if test x"$ac_random_tr1" = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_RANDOM_TR1 1
-_ACEOF
-
- fi
-
-
-
- # For TLS support.
-
- # Check whether --enable-tls or --disable-tls was given.
-if test "${enable_tls+set}" = set; then
- enableval="$enable_tls"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable tls must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable tls must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_tls=yes
-fi;
-
- echo "$as_me:$LINENO: checking whether the target supports thread-local storage" >&5
-echo $ECHO_N "checking whether the target supports thread-local storage... $ECHO_C" >&6
-if test "${have_tls+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test "$cross_compiling" = yes; then
- cat >conftest.$ac_ext <<_ACEOF
-__thread int foo;
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- have_tls=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-have_tls=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="-static $LDFLAGS"
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-int main() { return 0; }
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-__thread int a; int b; int main() { return a = b; }
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- have_tls=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-have_tls=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-have_tls=yes
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-have_tls=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $have_tls" >&5
-echo "${ECHO_T}$have_tls" >&6
- if test "$enable_tls $have_tls" = "yes yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TLS 1
-_ACEOF
-
- fi
-
- # For _Unwind_GetIPInfo.
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -fno-exceptions"
- echo "$as_me:$LINENO: checking for _Unwind_GetIPInfo" >&5
-echo $ECHO_N "checking for _Unwind_GetIPInfo... $ECHO_C" >&6
- if test "${gcc_cv_getipinfo+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-extern "C" { extern void _Unwind_GetIPInfo(); }
-int
-main ()
-{
-_Unwind_GetIPInfo();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gcc_cv_getipinfo=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gcc_cv_getipinfo=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $gcc_cv_getipinfo = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETIPINFO 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $gcc_cv_getipinfo" >&5
-echo "${ECHO_T}$gcc_cv_getipinfo" >&6
- CXXFLAGS="$ac_save_CXXFLAGS"
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
- if test "${ac_cv_header_locale_h+set}" = set; then
- echo "$as_me:$LINENO: checking for locale.h" >&5
-echo $ECHO_N "checking for locale.h... $ECHO_C" >&6
-if test "${ac_cv_header_locale_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_locale_h" >&5
-echo "${ECHO_T}$ac_cv_header_locale_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking locale.h usability" >&5
-echo $ECHO_N "checking locale.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <locale.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking locale.h presence" >&5
-echo $ECHO_N "checking locale.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <locale.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: locale.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: locale.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: locale.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: locale.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: locale.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: locale.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: locale.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: locale.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: locale.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: locale.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: locale.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: locale.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: locale.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: locale.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: locale.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: locale.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for locale.h" >&5
-echo $ECHO_N "checking for locale.h... $ECHO_C" >&6
-if test "${ac_cv_header_locale_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_locale_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_locale_h" >&5
-echo "${ECHO_T}$ac_cv_header_locale_h" >&6
-
-fi
-if test $ac_cv_header_locale_h = yes; then
-
- echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5
-echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6
-if test "${ac_cv_val_LC_MESSAGES+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <locale.h>
-int
-main ()
-{
-return LC_MESSAGES
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_val_LC_MESSAGES=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_val_LC_MESSAGES=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_val_LC_MESSAGES" >&5
-echo "${ECHO_T}$ac_cv_val_LC_MESSAGES" >&6
- if test $ac_cv_val_LC_MESSAGES = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LC_MESSAGES 1
-_ACEOF
-
- fi
-
-fi
-
-
-
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <setjmp.h>
-int
-main ()
-{
-sigjmp_buf env;
- while (! sigsetjmp (env, 1))
- siglongjmp (env, 1);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIGSETJMP 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- if test x$gcc_no_link = xyes; then
- if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then
- ac_cv_func_mmap_fixed_mapped=no
- fi
-fi
-if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
-
-
-for ac_header in stdlib.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in getpagesize
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-echo "$as_me:$LINENO: checking for working mmap" >&5
-echo $ECHO_N "checking for working mmap... $ECHO_C" >&6
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_mmap_fixed_mapped=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-/* malloc might have been renamed as rpl_malloc. */
-#undef malloc
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the file system buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propagated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#if !STDC_HEADERS && !HAVE_STDLIB_H
-char *malloc ();
-#endif
-
-/* This mess was copied from the GNU getpagesize.h. */
-#if !HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h. */
-# if !HAVE_SYS_PARAM_H
-# define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# if HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-int
-main ()
-{
- char *data, *data2, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = getpagesize ();
-
- /* First, make a file with some known garbage in it. */
- data = (char *) malloc (pagesize);
- if (!data)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand ();
- umask (0);
- fd = creat ("conftest.mmap", 0600);
- if (fd < 0)
- exit (1);
- if (write (fd, data, pagesize) != pagesize)
- exit (1);
- close (fd);
-
- /* Next, try to mmap the file at a fixed address which already has
- something else allocated at it. If we can, also make sure that
- we see the same garbage. */
- fd = open ("conftest.mmap", O_RDWR);
- if (fd < 0)
- exit (1);
- data2 = (char *) malloc (2 * pagesize);
- if (!data2)
- exit (1);
- data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1);
- if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- exit (1);
-
- /* Finally, make sure that changes to the mapped area do not
- percolate back to the file as seen by read(). (This is a bug on
- some variants of i386 svr4.0.) */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = (char *) malloc (pagesize);
- if (!data3)
- exit (1);
- if (read (fd, data3, pagesize) != pagesize)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- exit (1);
- close (fd);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mmap_fixed_mapped=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
-echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-rm -f conftest.mmap
-
-fi
-
-else
-
- # This lets us hard-code the functionality we know we'll have in the cross
- # target environment. "Let" is a sugar-coated word placed on an especially
- # dull and tedious hack, actually.
- #
- # Here's why GLIBCXX_CHECK_MATH_SUPPORT, and other autoconf macros
- # that involve linking, can't be used:
- # "cannot open sim-crt0.o"
- # "cannot open crt0.o"
- # etc. All this is because there currently exists no unified, consistent
- # way for top level CC information to be passed down to target directories:
- # newlib includes, newlib linking info, libgloss versus newlib crt0.o, etc.
- # When all of that is done, all of this hokey, excessive AC_DEFINE junk for
- # crosses can be removed.
-
- # If Canadian cross, then don't pick up tools from the build directory.
- # Used only in GLIBCXX_EXPORT_INCLUDES.
- if test -n "$with_cross_host" &&
- test x"$build_alias" != x"$with_cross_host" &&
- test x"$build" != x"$target";
- then
- CANADIAN=yes
- else
- CANADIAN=no
- fi
-
- # Construct crosses by hand, eliminating bits that need ld...
- # GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
- # GLIBCXX_CHECK_MATH_SUPPORT
-
- # First, test for "known" system libraries. We may be using newlib even
- # on a hosted environment.
- if test "x${with_newlib}" = "xyes"; then
- os_include_dir="os/newlib"
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOT 1
-_ACEOF
-
-
- # GLIBCXX_CHECK_STDLIB_SUPPORT
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRTOF 1
-_ACEOF
-
- # AC_FUNC_MMAP
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ACOSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ASINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATAN2F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_CEILF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_EXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FABSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOORF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FMODF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LDEXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOGF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MODFF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_POWF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SQRTF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANHF 1
-_ACEOF
-
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_ISREG 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_IFREG 1
-_ACEOF
-
- else
-
-# Base decisions on target environment.
-case "${host}" in
- arm*-*-symbianelf*)
- # This is a freestanding configuration; there is nothing to do here.
- ;;
-
- *-darwin*)
- # Darwin versions vary, but the linker should work in a cross environment,
- # so we just check for all the features here.
- # Check for available headers.
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
- machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \
- sys/types.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
- echo "$as_me:$LINENO: checking for sin in -lm" >&5
-echo $ECHO_N "checking for sin in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_sin+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char sin ();
-int
-main ()
-{
-sin ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_sin=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_sin=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_sin" >&5
-echo "${ECHO_T}$ac_cv_lib_m_sin" >&6
-if test $ac_cv_lib_m_sin = yes; then
- libm="-lm"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $libm"
-
-
-
- echo "$as_me:$LINENO: checking for isinf declaration" >&5
-echo $ECHO_N "checking for isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinf_use+set} != xset; then
- if test "${glibcxx_cv_func_isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinf_use" >&6
-
- if test x$glibcxx_cv_func_isinf_use = x"yes"; then
-
-for ac_func in isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinf declaration" >&5
-echo $ECHO_N "checking for _isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinf_use+set} != xset; then
- if test "${glibcxx_cv_func__isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinf_use" >&6
-
- if test x$glibcxx_cv_func__isinf_use = x"yes"; then
-
-for ac_func in _isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnan declaration" >&5
-echo $ECHO_N "checking for isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnan_use+set} != xset; then
- if test "${glibcxx_cv_func_isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnan_use" >&6
-
- if test x$glibcxx_cv_func_isnan_use = x"yes"; then
-
-for ac_func in isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnan declaration" >&5
-echo $ECHO_N "checking for _isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnan_use+set} != xset; then
- if test "${glibcxx_cv_func__isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnan_use" >&6
-
- if test x$glibcxx_cv_func__isnan_use = x"yes"; then
-
-for ac_func in _isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finite declaration" >&5
-echo $ECHO_N "checking for finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finite_use+set} != xset; then
- if test "${glibcxx_cv_func_finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finite_use" >&6
-
- if test x$glibcxx_cv_func_finite_use = x"yes"; then
-
-for ac_func in finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finite declaration" >&5
-echo $ECHO_N "checking for _finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finite_use+set} != xset; then
- if test "${glibcxx_cv_func__finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finite_use" >&6
-
- if test x$glibcxx_cv_func__finite_use = x"yes"; then
-
-for ac_func in _finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysign declaration" >&5
-echo $ECHO_N "checking for copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysign_use+set} != xset; then
- if test "${glibcxx_cv_func_copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysign_use" >&6
-
- if test x$glibcxx_cv_func_copysign_use = x"yes"; then
-
-for ac_func in copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysign declaration" >&5
-echo $ECHO_N "checking for _copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysign_use+set} != xset; then
- if test "${glibcxx_cv_func__copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysign_use" >&6
-
- if test x$glibcxx_cv_func__copysign_use = x"yes"; then
-
-for ac_func in _copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincos declaration" >&5
-echo $ECHO_N "checking for sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincos_use+set} != xset; then
- if test "${glibcxx_cv_func_sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincos_use" >&6
-
- if test x$glibcxx_cv_func_sincos_use = x"yes"; then
-
-for ac_func in sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincos declaration" >&5
-echo $ECHO_N "checking for _sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincos_use+set} != xset; then
- if test "${glibcxx_cv_func__sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincos_use" >&6
-
- if test x$glibcxx_cv_func__sincos_use = x"yes"; then
-
-for ac_func in _sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fpclass declaration" >&5
-echo $ECHO_N "checking for fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fpclass_use" >&6
-
- if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
-
-for ac_func in fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fpclass declaration" >&5
-echo $ECHO_N "checking for _fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fpclass_use" >&6
-
- if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
-
-for ac_func in _fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for qfpclass declaration" >&5
-echo $ECHO_N "checking for qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_qfpclass_use" >&6
-
- if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
-
-for ac_func in qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _qfpclass declaration" >&5
-echo $ECHO_N "checking for _qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__qfpclass_use" >&6
-
- if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
-
-for ac_func in _qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypot declaration" >&5
-echo $ECHO_N "checking for hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypot_use+set} != xset; then
- if test "${glibcxx_cv_func_hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypot_use" >&6
-
- if test x$glibcxx_cv_func_hypot_use = x"yes"; then
-
-for ac_func in hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypot declaration" >&5
-echo $ECHO_N "checking for _hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypot_use+set} != xset; then
- if test "${glibcxx_cv_func__hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypot_use" >&6
-
- if test x$glibcxx_cv_func__hypot_use = x"yes"; then
-
-for ac_func in _hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float trig functions" >&5
-echo $ECHO_N "checking for float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_trig_use" >&6
- if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float trig functions" >&5
-echo $ECHO_N "checking for _float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_trig_use" >&6
- if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float round functions" >&5
-echo $ECHO_N "checking for float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceilf (0); floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_round_use" >&6
- if test x$glibcxx_cv_func_float_round_use = x"yes"; then
-
-
-for ac_func in ceilf floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float round functions" >&5
-echo $ECHO_N "checking for _float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceilf (0); _floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_round_use" >&6
- if test x$glibcxx_cv_func__float_round_use = x"yes"; then
-
-
-for ac_func in _ceilf _floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expf declaration" >&5
-echo $ECHO_N "checking for expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expf_use+set} != xset; then
- if test "${glibcxx_cv_func_expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expf_use" >&6
-
- if test x$glibcxx_cv_func_expf_use = x"yes"; then
-
-for ac_func in expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expf declaration" >&5
-echo $ECHO_N "checking for _expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expf_use+set} != xset; then
- if test "${glibcxx_cv_func__expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expf_use" >&6
-
- if test x$glibcxx_cv_func__expf_use = x"yes"; then
-
-for ac_func in _expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanf declaration" >&5
-echo $ECHO_N "checking for isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanf_use" >&6
-
- if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
-
-for ac_func in isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanf declaration" >&5
-echo $ECHO_N "checking for _isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanf_use" >&6
-
- if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
-
-for ac_func in _isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinff declaration" >&5
-echo $ECHO_N "checking for isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinff_use+set} != xset; then
- if test "${glibcxx_cv_func_isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinff_use" >&6
-
- if test x$glibcxx_cv_func_isinff_use = x"yes"; then
-
-for ac_func in isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinff declaration" >&5
-echo $ECHO_N "checking for _isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinff_use+set} != xset; then
- if test "${glibcxx_cv_func__isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinff_use" >&6
-
- if test x$glibcxx_cv_func__isinff_use = x"yes"; then
-
-for ac_func in _isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2f declaration" >&5
-echo $ECHO_N "checking for atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2f_use" >&6
-
- if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
-
-for ac_func in atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2f declaration" >&5
-echo $ECHO_N "checking for _atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2f_use" >&6
-
- if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
-
-for ac_func in _atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsf declaration" >&5
-echo $ECHO_N "checking for fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsf_use" >&6
-
- if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
-
-for ac_func in fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsf declaration" >&5
-echo $ECHO_N "checking for _fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsf_use" >&6
-
- if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
-
-for ac_func in _fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodf declaration" >&5
-echo $ECHO_N "checking for fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodf_use" >&6
-
- if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
-
-for ac_func in fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodf declaration" >&5
-echo $ECHO_N "checking for _fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodf_use" >&6
-
- if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
-
-for ac_func in _fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpf declaration" >&5
-echo $ECHO_N "checking for frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpf_use" >&6
-
- if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
-
-for ac_func in frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpf declaration" >&5
-echo $ECHO_N "checking for _frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpf_use" >&6
-
- if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
-
-for ac_func in _frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotf declaration" >&5
-echo $ECHO_N "checking for hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotf_use" >&6
-
- if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
-
-for ac_func in hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotf declaration" >&5
-echo $ECHO_N "checking for _hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotf_use" >&6
-
- if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
-
-for ac_func in _hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpf declaration" >&5
-echo $ECHO_N "checking for ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpf_use" >&6
-
- if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
-
-for ac_func in ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpf declaration" >&5
-echo $ECHO_N "checking for _ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpf_use" >&6
-
- if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
-
-for ac_func in _ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logf declaration" >&5
-echo $ECHO_N "checking for logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logf_use+set} != xset; then
- if test "${glibcxx_cv_func_logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logf_use" >&6
-
- if test x$glibcxx_cv_func_logf_use = x"yes"; then
-
-for ac_func in logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logf declaration" >&5
-echo $ECHO_N "checking for _logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logf_use+set} != xset; then
- if test "${glibcxx_cv_func__logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logf_use" >&6
-
- if test x$glibcxx_cv_func__logf_use = x"yes"; then
-
-for ac_func in _logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10f declaration" >&5
-echo $ECHO_N "checking for log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10f_use+set} != xset; then
- if test "${glibcxx_cv_func_log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10f_use" >&6
-
- if test x$glibcxx_cv_func_log10f_use = x"yes"; then
-
-for ac_func in log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10f declaration" >&5
-echo $ECHO_N "checking for _log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10f_use+set} != xset; then
- if test "${glibcxx_cv_func__log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10f_use" >&6
-
- if test x$glibcxx_cv_func__log10f_use = x"yes"; then
-
-for ac_func in _log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modff declaration" >&5
-echo $ECHO_N "checking for modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modff_use+set} != xset; then
- if test "${glibcxx_cv_func_modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modff_use" >&6
-
- if test x$glibcxx_cv_func_modff_use = x"yes"; then
-
-for ac_func in modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modff declaration" >&5
-echo $ECHO_N "checking for _modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modff_use+set} != xset; then
- if test "${glibcxx_cv_func__modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modff_use" >&6
-
- if test x$glibcxx_cv_func__modff_use = x"yes"; then
-
-for ac_func in _modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modf declaration" >&5
-echo $ECHO_N "checking for modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modf_use+set} != xset; then
- if test "${glibcxx_cv_func_modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modf_use" >&6
-
- if test x$glibcxx_cv_func_modf_use = x"yes"; then
-
-for ac_func in modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modf declaration" >&5
-echo $ECHO_N "checking for _modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modf_use+set} != xset; then
- if test "${glibcxx_cv_func__modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modf_use" >&6
-
- if test x$glibcxx_cv_func__modf_use = x"yes"; then
-
-for ac_func in _modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powf declaration" >&5
-echo $ECHO_N "checking for powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powf_use+set} != xset; then
- if test "${glibcxx_cv_func_powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powf_use" >&6
-
- if test x$glibcxx_cv_func_powf_use = x"yes"; then
-
-for ac_func in powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powf declaration" >&5
-echo $ECHO_N "checking for _powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powf_use+set} != xset; then
- if test "${glibcxx_cv_func__powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powf_use" >&6
-
- if test x$glibcxx_cv_func__powf_use = x"yes"; then
-
-for ac_func in _powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtf declaration" >&5
-echo $ECHO_N "checking for sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtf_use" >&6
-
- if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
-
-for ac_func in sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtf declaration" >&5
-echo $ECHO_N "checking for _sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtf_use" >&6
-
- if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
-
-for ac_func in _sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosf declaration" >&5
-echo $ECHO_N "checking for sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosf_use" >&6
-
- if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
-
-for ac_func in sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosf declaration" >&5
-echo $ECHO_N "checking for _sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosf_use" >&6
-
- if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
-
-for ac_func in _sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitef declaration" >&5
-echo $ECHO_N "checking for finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitef_use+set} != xset; then
- if test "${glibcxx_cv_func_finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitef_use" >&6
-
- if test x$glibcxx_cv_func_finitef_use = x"yes"; then
-
-for ac_func in finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitef declaration" >&5
-echo $ECHO_N "checking for _finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitef_use+set} != xset; then
- if test "${glibcxx_cv_func__finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitef_use" >&6
-
- if test x$glibcxx_cv_func__finitef_use = x"yes"; then
-
-for ac_func in _finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double trig functions" >&5
-echo $ECHO_N "checking for long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_trig_use" >&6
- if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double trig functions" >&5
-echo $ECHO_N "checking for _long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_trig_use" >&6
- if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double round functions" >&5
-echo $ECHO_N "checking for long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceill (0); floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_round_use" >&6
- if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
-
-
-for ac_func in ceill floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double round functions" >&5
-echo $ECHO_N "checking for _long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceill (0); _floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_round_use" >&6
- if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
-
-
-for ac_func in _ceill _floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanl declaration" >&5
-echo $ECHO_N "checking for isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanl_use" >&6
-
- if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
-
-for ac_func in isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanl declaration" >&5
-echo $ECHO_N "checking for _isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanl_use" >&6
-
- if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
-
-for ac_func in _isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinfl declaration" >&5
-echo $ECHO_N "checking for isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func_isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinfl_use" >&6
-
- if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
-
-for ac_func in isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinfl declaration" >&5
-echo $ECHO_N "checking for _isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func__isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinfl_use" >&6
-
- if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
-
-for ac_func in _isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysignl declaration" >&5
-echo $ECHO_N "checking for copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func_copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysignl_use" >&6
-
- if test x$glibcxx_cv_func_copysignl_use = x"yes"; then
-
-for ac_func in copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysignl declaration" >&5
-echo $ECHO_N "checking for _copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func__copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysignl_use" >&6
-
- if test x$glibcxx_cv_func__copysignl_use = x"yes"; then
-
-for ac_func in _copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2l declaration" >&5
-echo $ECHO_N "checking for atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2l_use" >&6
-
- if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
-
-for ac_func in atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2l declaration" >&5
-echo $ECHO_N "checking for _atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2l_use" >&6
-
- if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
-
-for ac_func in _atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expl declaration" >&5
-echo $ECHO_N "checking for expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expl_use+set} != xset; then
- if test "${glibcxx_cv_func_expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expl_use" >&6
-
- if test x$glibcxx_cv_func_expl_use = x"yes"; then
-
-for ac_func in expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expl declaration" >&5
-echo $ECHO_N "checking for _expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expl_use+set} != xset; then
- if test "${glibcxx_cv_func__expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expl_use" >&6
-
- if test x$glibcxx_cv_func__expl_use = x"yes"; then
-
-for ac_func in _expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsl declaration" >&5
-echo $ECHO_N "checking for fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsl_use" >&6
-
- if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
-
-for ac_func in fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsl declaration" >&5
-echo $ECHO_N "checking for _fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsl_use" >&6
-
- if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
-
-for ac_func in _fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodl declaration" >&5
-echo $ECHO_N "checking for fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodl_use" >&6
-
- if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
-
-for ac_func in fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodl declaration" >&5
-echo $ECHO_N "checking for _fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodl_use" >&6
-
- if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
-
-for ac_func in _fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpl declaration" >&5
-echo $ECHO_N "checking for frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpl_use" >&6
-
- if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
-
-for ac_func in frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpl declaration" >&5
-echo $ECHO_N "checking for _frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpl_use" >&6
-
- if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
-
-for ac_func in _frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotl declaration" >&5
-echo $ECHO_N "checking for hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotl_use" >&6
-
- if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
-
-for ac_func in hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotl declaration" >&5
-echo $ECHO_N "checking for _hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotl_use" >&6
-
- if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
-
-for ac_func in _hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpl declaration" >&5
-echo $ECHO_N "checking for ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpl_use" >&6
-
- if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
-
-for ac_func in ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpl declaration" >&5
-echo $ECHO_N "checking for _ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpl_use" >&6
-
- if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
-
-for ac_func in _ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logl declaration" >&5
-echo $ECHO_N "checking for logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logl_use+set} != xset; then
- if test "${glibcxx_cv_func_logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logl_use" >&6
-
- if test x$glibcxx_cv_func_logl_use = x"yes"; then
-
-for ac_func in logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logl declaration" >&5
-echo $ECHO_N "checking for _logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logl_use+set} != xset; then
- if test "${glibcxx_cv_func__logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logl_use" >&6
-
- if test x$glibcxx_cv_func__logl_use = x"yes"; then
-
-for ac_func in _logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10l declaration" >&5
-echo $ECHO_N "checking for log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10l_use+set} != xset; then
- if test "${glibcxx_cv_func_log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10l_use" >&6
-
- if test x$glibcxx_cv_func_log10l_use = x"yes"; then
-
-for ac_func in log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10l declaration" >&5
-echo $ECHO_N "checking for _log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10l_use+set} != xset; then
- if test "${glibcxx_cv_func__log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10l_use" >&6
-
- if test x$glibcxx_cv_func__log10l_use = x"yes"; then
-
-for ac_func in _log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modfl declaration" >&5
-echo $ECHO_N "checking for modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modfl_use+set} != xset; then
- if test "${glibcxx_cv_func_modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modfl_use" >&6
-
- if test x$glibcxx_cv_func_modfl_use = x"yes"; then
-
-for ac_func in modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modfl declaration" >&5
-echo $ECHO_N "checking for _modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modfl_use+set} != xset; then
- if test "${glibcxx_cv_func__modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modfl_use" >&6
-
- if test x$glibcxx_cv_func__modfl_use = x"yes"; then
-
-for ac_func in _modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powl declaration" >&5
-echo $ECHO_N "checking for powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powl_use+set} != xset; then
- if test "${glibcxx_cv_func_powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powl_use" >&6
-
- if test x$glibcxx_cv_func_powl_use = x"yes"; then
-
-for ac_func in powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powl declaration" >&5
-echo $ECHO_N "checking for _powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powl_use+set} != xset; then
- if test "${glibcxx_cv_func__powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powl_use" >&6
-
- if test x$glibcxx_cv_func__powl_use = x"yes"; then
-
-for ac_func in _powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtl declaration" >&5
-echo $ECHO_N "checking for sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtl_use" >&6
-
- if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
-
-for ac_func in sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtl declaration" >&5
-echo $ECHO_N "checking for _sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtl_use" >&6
-
- if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
-
-for ac_func in _sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosl declaration" >&5
-echo $ECHO_N "checking for sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosl_use" >&6
-
- if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
-
-for ac_func in sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosl declaration" >&5
-echo $ECHO_N "checking for _sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosl_use" >&6
-
- if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
-
-for ac_func in _sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitel declaration" >&5
-echo $ECHO_N "checking for finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitel_use+set} != xset; then
- if test "${glibcxx_cv_func_finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitel_use" >&6
-
- if test x$glibcxx_cv_func_finitel_use = x"yes"; then
-
-for ac_func in finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitel declaration" >&5
-echo $ECHO_N "checking for _finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitel_use+set} != xset; then
- if test "${glibcxx_cv_func__finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitel_use" >&6
-
- if test x$glibcxx_cv_func__finitel_use = x"yes"; then
-
-for ac_func in _finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
- LIBS="$ac_save_LIBS"
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_abs declaration" >&5
-echo $ECHO_N "checking for __builtin_abs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_use" >&6
- if test x$glibcxx_cv_func___builtin_abs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_abs linkage" >&5
-echo $ECHO_N "checking for __builtin_abs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_abs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_ABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsf declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsf linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabs declaration" >&5
-echo $ECHO_N "checking for __builtin_fabs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_use" >&6
- if test x$glibcxx_cv_func___builtin_fabs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabs linkage" >&5
-echo $ECHO_N "checking for __builtin_fabs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsl declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsl linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSL 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_labs declaration" >&5
-echo $ECHO_N "checking for __builtin_labs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_use" >&6
- if test x$glibcxx_cv_func___builtin_labs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_labs linkage" >&5
-echo $ECHO_N "checking for __builtin_labs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_labs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_LABS 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtf declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtf linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrt declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrt declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrt_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrt linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrt linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrt_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRT 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtl declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtl linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinf declaration" >&5
-echo $ECHO_N "checking for __builtin_sinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_use" >&6
- if test x$glibcxx_cv_func___builtin_sinf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinf linkage" >&5
-echo $ECHO_N "checking for __builtin_sinf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sin declaration" >&5
-echo $ECHO_N "checking for __builtin_sin declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_use" >&6
- if test x$glibcxx_cv_func___builtin_sin_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sin linkage" >&5
-echo $ECHO_N "checking for __builtin_sin linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sin_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SIN 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinl declaration" >&5
-echo $ECHO_N "checking for __builtin_sinl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_use" >&6
- if test x$glibcxx_cv_func___builtin_sinl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinl linkage" >&5
-echo $ECHO_N "checking for __builtin_sinl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosf declaration" >&5
-echo $ECHO_N "checking for __builtin_cosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_use" >&6
- if test x$glibcxx_cv_func___builtin_cosf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosf linkage" >&5
-echo $ECHO_N "checking for __builtin_cosf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cos declaration" >&5
-echo $ECHO_N "checking for __builtin_cos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_use" >&6
- if test x$glibcxx_cv_func___builtin_cos_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cos linkage" >&5
-echo $ECHO_N "checking for __builtin_cos linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cos_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosl declaration" >&5
-echo $ECHO_N "checking for __builtin_cosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_use" >&6
- if test x$glibcxx_cv_func___builtin_cosl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosl linkage" >&5
-echo $ECHO_N "checking for __builtin_cosl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
-
- echo "$as_me:$LINENO: checking for strtold declaration" >&5
-echo $ECHO_N "checking for strtold declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtold_use+set} != xset; then
- if test "${glibcxx_cv_func_strtold_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtold(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtold_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtold_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtold_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtold_use" >&6
- if test x$glibcxx_cv_func_strtold_use = x"yes"; then
-
-for ac_func in strtold
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- echo "$as_me:$LINENO: checking for strtof declaration" >&5
-echo $ECHO_N "checking for strtof declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtof_use+set} != xset; then
- if test "${glibcxx_cv_func_strtof_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtof(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtof_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtof_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtof_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtof_use" >&6
- if test x$glibcxx_cv_func_strtof_use = x"yes"; then
-
-for ac_func in strtof
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
- # For showmanyc_helper().
-
-
-for ac_header in sys/ioctl.h sys/filio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for poll" >&5
-echo $ECHO_N "checking for poll... $ECHO_C" >&6
- if test "${glibcxx_cv_POLL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <poll.h>
-int
-main ()
-{
-struct pollfd pfd[1];
- pfd[0].events = POLLIN;
- poll(pfd, 1, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_POLL=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_POLL=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_POLL = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
-echo "${ECHO_T}$glibcxx_cv_POLL" >&6
-
-
- echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
-echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
- if test "${glibcxx_cv_S_ISREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_ISREG(buffer.st_mode);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_ISREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_ISREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test "${glibcxx_cv_S_IFREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_IFREG & buffer.st_mode;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_IFREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_IFREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- res=no
- if test $glibcxx_cv_S_ISREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_ISREG 1
-_ACEOF
-
- res=S_ISREG
- elif test $glibcxx_cv_S_IFREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_IFREG 1
-_ACEOF
-
- res=S_IFREG
- fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- # For xsputn_2().
-
-for ac_header in sys/uio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for writev" >&5
-echo $ECHO_N "checking for writev... $ECHO_C" >&6
- if test "${glibcxx_cv_WRITEV+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/uio.h>
-int
-main ()
-{
-struct iovec iov[2];
- writev(0, iov, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_WRITEV=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_WRITEV=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_WRITEV = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WRITEV 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
-echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
-
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LC_MESSAGES 1
-_ACEOF
-
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <setjmp.h>
-int
-main ()
-{
-sigjmp_buf env;
- while (! sigsetjmp (env, 1))
- siglongjmp (env, 1);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIGSETJMP 1
-_ACEOF
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
- ;;
-
- *djgpp)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in float.h ieeefp.h inttypes.h locale.h \
- memory.h stdint.h stdlib.h strings.h string.h unistd.h \
- wchar.h wctype.h machine/endian.h sys/ioctl.h sys/param.h \
- sys/resource.h sys/stat.h sys/time.h sys/types.h sys/uio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
- echo "$as_me:$LINENO: checking for sin in -lm" >&5
-echo $ECHO_N "checking for sin in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_sin+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char sin ();
-int
-main ()
-{
-sin ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_sin=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_sin=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_sin" >&5
-echo "${ECHO_T}$ac_cv_lib_m_sin" >&6
-if test $ac_cv_lib_m_sin = yes; then
- libm="-lm"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $libm"
-
-
-
- echo "$as_me:$LINENO: checking for isinf declaration" >&5
-echo $ECHO_N "checking for isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinf_use+set} != xset; then
- if test "${glibcxx_cv_func_isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinf_use" >&6
-
- if test x$glibcxx_cv_func_isinf_use = x"yes"; then
-
-for ac_func in isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinf declaration" >&5
-echo $ECHO_N "checking for _isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinf_use+set} != xset; then
- if test "${glibcxx_cv_func__isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinf_use" >&6
-
- if test x$glibcxx_cv_func__isinf_use = x"yes"; then
-
-for ac_func in _isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnan declaration" >&5
-echo $ECHO_N "checking for isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnan_use+set} != xset; then
- if test "${glibcxx_cv_func_isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnan_use" >&6
-
- if test x$glibcxx_cv_func_isnan_use = x"yes"; then
-
-for ac_func in isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnan declaration" >&5
-echo $ECHO_N "checking for _isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnan_use+set} != xset; then
- if test "${glibcxx_cv_func__isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnan_use" >&6
-
- if test x$glibcxx_cv_func__isnan_use = x"yes"; then
-
-for ac_func in _isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finite declaration" >&5
-echo $ECHO_N "checking for finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finite_use+set} != xset; then
- if test "${glibcxx_cv_func_finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finite_use" >&6
-
- if test x$glibcxx_cv_func_finite_use = x"yes"; then
-
-for ac_func in finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finite declaration" >&5
-echo $ECHO_N "checking for _finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finite_use+set} != xset; then
- if test "${glibcxx_cv_func__finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finite_use" >&6
-
- if test x$glibcxx_cv_func__finite_use = x"yes"; then
-
-for ac_func in _finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysign declaration" >&5
-echo $ECHO_N "checking for copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysign_use+set} != xset; then
- if test "${glibcxx_cv_func_copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysign_use" >&6
-
- if test x$glibcxx_cv_func_copysign_use = x"yes"; then
-
-for ac_func in copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysign declaration" >&5
-echo $ECHO_N "checking for _copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysign_use+set} != xset; then
- if test "${glibcxx_cv_func__copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysign_use" >&6
-
- if test x$glibcxx_cv_func__copysign_use = x"yes"; then
-
-for ac_func in _copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincos declaration" >&5
-echo $ECHO_N "checking for sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincos_use+set} != xset; then
- if test "${glibcxx_cv_func_sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincos_use" >&6
-
- if test x$glibcxx_cv_func_sincos_use = x"yes"; then
-
-for ac_func in sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincos declaration" >&5
-echo $ECHO_N "checking for _sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincos_use+set} != xset; then
- if test "${glibcxx_cv_func__sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincos_use" >&6
-
- if test x$glibcxx_cv_func__sincos_use = x"yes"; then
-
-for ac_func in _sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fpclass declaration" >&5
-echo $ECHO_N "checking for fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fpclass_use" >&6
-
- if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
-
-for ac_func in fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fpclass declaration" >&5
-echo $ECHO_N "checking for _fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fpclass_use" >&6
-
- if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
-
-for ac_func in _fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for qfpclass declaration" >&5
-echo $ECHO_N "checking for qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_qfpclass_use" >&6
-
- if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
-
-for ac_func in qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _qfpclass declaration" >&5
-echo $ECHO_N "checking for _qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__qfpclass_use" >&6
-
- if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
-
-for ac_func in _qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypot declaration" >&5
-echo $ECHO_N "checking for hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypot_use+set} != xset; then
- if test "${glibcxx_cv_func_hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypot_use" >&6
-
- if test x$glibcxx_cv_func_hypot_use = x"yes"; then
-
-for ac_func in hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypot declaration" >&5
-echo $ECHO_N "checking for _hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypot_use+set} != xset; then
- if test "${glibcxx_cv_func__hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypot_use" >&6
-
- if test x$glibcxx_cv_func__hypot_use = x"yes"; then
-
-for ac_func in _hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float trig functions" >&5
-echo $ECHO_N "checking for float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_trig_use" >&6
- if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float trig functions" >&5
-echo $ECHO_N "checking for _float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_trig_use" >&6
- if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float round functions" >&5
-echo $ECHO_N "checking for float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceilf (0); floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_round_use" >&6
- if test x$glibcxx_cv_func_float_round_use = x"yes"; then
-
-
-for ac_func in ceilf floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float round functions" >&5
-echo $ECHO_N "checking for _float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceilf (0); _floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_round_use" >&6
- if test x$glibcxx_cv_func__float_round_use = x"yes"; then
-
-
-for ac_func in _ceilf _floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expf declaration" >&5
-echo $ECHO_N "checking for expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expf_use+set} != xset; then
- if test "${glibcxx_cv_func_expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expf_use" >&6
-
- if test x$glibcxx_cv_func_expf_use = x"yes"; then
-
-for ac_func in expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expf declaration" >&5
-echo $ECHO_N "checking for _expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expf_use+set} != xset; then
- if test "${glibcxx_cv_func__expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expf_use" >&6
-
- if test x$glibcxx_cv_func__expf_use = x"yes"; then
-
-for ac_func in _expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanf declaration" >&5
-echo $ECHO_N "checking for isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanf_use" >&6
-
- if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
-
-for ac_func in isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanf declaration" >&5
-echo $ECHO_N "checking for _isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanf_use" >&6
-
- if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
-
-for ac_func in _isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinff declaration" >&5
-echo $ECHO_N "checking for isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinff_use+set} != xset; then
- if test "${glibcxx_cv_func_isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinff_use" >&6
-
- if test x$glibcxx_cv_func_isinff_use = x"yes"; then
-
-for ac_func in isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinff declaration" >&5
-echo $ECHO_N "checking for _isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinff_use+set} != xset; then
- if test "${glibcxx_cv_func__isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinff_use" >&6
-
- if test x$glibcxx_cv_func__isinff_use = x"yes"; then
-
-for ac_func in _isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2f declaration" >&5
-echo $ECHO_N "checking for atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2f_use" >&6
-
- if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
-
-for ac_func in atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2f declaration" >&5
-echo $ECHO_N "checking for _atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2f_use" >&6
-
- if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
-
-for ac_func in _atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsf declaration" >&5
-echo $ECHO_N "checking for fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsf_use" >&6
-
- if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
-
-for ac_func in fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsf declaration" >&5
-echo $ECHO_N "checking for _fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsf_use" >&6
-
- if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
-
-for ac_func in _fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodf declaration" >&5
-echo $ECHO_N "checking for fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodf_use" >&6
-
- if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
-
-for ac_func in fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodf declaration" >&5
-echo $ECHO_N "checking for _fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodf_use" >&6
-
- if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
-
-for ac_func in _fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpf declaration" >&5
-echo $ECHO_N "checking for frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpf_use" >&6
-
- if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
-
-for ac_func in frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpf declaration" >&5
-echo $ECHO_N "checking for _frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpf_use" >&6
-
- if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
-
-for ac_func in _frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotf declaration" >&5
-echo $ECHO_N "checking for hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotf_use" >&6
-
- if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
-
-for ac_func in hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotf declaration" >&5
-echo $ECHO_N "checking for _hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotf_use" >&6
-
- if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
-
-for ac_func in _hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpf declaration" >&5
-echo $ECHO_N "checking for ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpf_use" >&6
-
- if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
-
-for ac_func in ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpf declaration" >&5
-echo $ECHO_N "checking for _ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpf_use" >&6
-
- if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
-
-for ac_func in _ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logf declaration" >&5
-echo $ECHO_N "checking for logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logf_use+set} != xset; then
- if test "${glibcxx_cv_func_logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logf_use" >&6
-
- if test x$glibcxx_cv_func_logf_use = x"yes"; then
-
-for ac_func in logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logf declaration" >&5
-echo $ECHO_N "checking for _logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logf_use+set} != xset; then
- if test "${glibcxx_cv_func__logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logf_use" >&6
-
- if test x$glibcxx_cv_func__logf_use = x"yes"; then
-
-for ac_func in _logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10f declaration" >&5
-echo $ECHO_N "checking for log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10f_use+set} != xset; then
- if test "${glibcxx_cv_func_log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10f_use" >&6
-
- if test x$glibcxx_cv_func_log10f_use = x"yes"; then
-
-for ac_func in log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10f declaration" >&5
-echo $ECHO_N "checking for _log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10f_use+set} != xset; then
- if test "${glibcxx_cv_func__log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10f_use" >&6
-
- if test x$glibcxx_cv_func__log10f_use = x"yes"; then
-
-for ac_func in _log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modff declaration" >&5
-echo $ECHO_N "checking for modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modff_use+set} != xset; then
- if test "${glibcxx_cv_func_modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modff_use" >&6
-
- if test x$glibcxx_cv_func_modff_use = x"yes"; then
-
-for ac_func in modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modff declaration" >&5
-echo $ECHO_N "checking for _modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modff_use+set} != xset; then
- if test "${glibcxx_cv_func__modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modff_use" >&6
-
- if test x$glibcxx_cv_func__modff_use = x"yes"; then
-
-for ac_func in _modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modf declaration" >&5
-echo $ECHO_N "checking for modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modf_use+set} != xset; then
- if test "${glibcxx_cv_func_modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modf_use" >&6
-
- if test x$glibcxx_cv_func_modf_use = x"yes"; then
-
-for ac_func in modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modf declaration" >&5
-echo $ECHO_N "checking for _modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modf_use+set} != xset; then
- if test "${glibcxx_cv_func__modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modf_use" >&6
-
- if test x$glibcxx_cv_func__modf_use = x"yes"; then
-
-for ac_func in _modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powf declaration" >&5
-echo $ECHO_N "checking for powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powf_use+set} != xset; then
- if test "${glibcxx_cv_func_powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powf_use" >&6
-
- if test x$glibcxx_cv_func_powf_use = x"yes"; then
-
-for ac_func in powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powf declaration" >&5
-echo $ECHO_N "checking for _powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powf_use+set} != xset; then
- if test "${glibcxx_cv_func__powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powf_use" >&6
-
- if test x$glibcxx_cv_func__powf_use = x"yes"; then
-
-for ac_func in _powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtf declaration" >&5
-echo $ECHO_N "checking for sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtf_use" >&6
-
- if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
-
-for ac_func in sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtf declaration" >&5
-echo $ECHO_N "checking for _sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtf_use" >&6
-
- if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
-
-for ac_func in _sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosf declaration" >&5
-echo $ECHO_N "checking for sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosf_use" >&6
-
- if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
-
-for ac_func in sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosf declaration" >&5
-echo $ECHO_N "checking for _sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosf_use" >&6
-
- if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
-
-for ac_func in _sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitef declaration" >&5
-echo $ECHO_N "checking for finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitef_use+set} != xset; then
- if test "${glibcxx_cv_func_finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitef_use" >&6
-
- if test x$glibcxx_cv_func_finitef_use = x"yes"; then
-
-for ac_func in finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitef declaration" >&5
-echo $ECHO_N "checking for _finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitef_use+set} != xset; then
- if test "${glibcxx_cv_func__finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitef_use" >&6
-
- if test x$glibcxx_cv_func__finitef_use = x"yes"; then
-
-for ac_func in _finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double trig functions" >&5
-echo $ECHO_N "checking for long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_trig_use" >&6
- if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double trig functions" >&5
-echo $ECHO_N "checking for _long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_trig_use" >&6
- if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double round functions" >&5
-echo $ECHO_N "checking for long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceill (0); floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_round_use" >&6
- if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
-
-
-for ac_func in ceill floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double round functions" >&5
-echo $ECHO_N "checking for _long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceill (0); _floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_round_use" >&6
- if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
-
-
-for ac_func in _ceill _floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanl declaration" >&5
-echo $ECHO_N "checking for isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanl_use" >&6
-
- if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
-
-for ac_func in isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanl declaration" >&5
-echo $ECHO_N "checking for _isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanl_use" >&6
-
- if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
-
-for ac_func in _isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinfl declaration" >&5
-echo $ECHO_N "checking for isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func_isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinfl_use" >&6
-
- if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
-
-for ac_func in isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinfl declaration" >&5
-echo $ECHO_N "checking for _isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func__isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinfl_use" >&6
-
- if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
-
-for ac_func in _isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysignl declaration" >&5
-echo $ECHO_N "checking for copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func_copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysignl_use" >&6
-
- if test x$glibcxx_cv_func_copysignl_use = x"yes"; then
-
-for ac_func in copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysignl declaration" >&5
-echo $ECHO_N "checking for _copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func__copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysignl_use" >&6
-
- if test x$glibcxx_cv_func__copysignl_use = x"yes"; then
-
-for ac_func in _copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2l declaration" >&5
-echo $ECHO_N "checking for atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2l_use" >&6
-
- if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
-
-for ac_func in atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2l declaration" >&5
-echo $ECHO_N "checking for _atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2l_use" >&6
-
- if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
-
-for ac_func in _atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expl declaration" >&5
-echo $ECHO_N "checking for expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expl_use+set} != xset; then
- if test "${glibcxx_cv_func_expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expl_use" >&6
-
- if test x$glibcxx_cv_func_expl_use = x"yes"; then
-
-for ac_func in expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expl declaration" >&5
-echo $ECHO_N "checking for _expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expl_use+set} != xset; then
- if test "${glibcxx_cv_func__expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expl_use" >&6
-
- if test x$glibcxx_cv_func__expl_use = x"yes"; then
-
-for ac_func in _expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsl declaration" >&5
-echo $ECHO_N "checking for fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsl_use" >&6
-
- if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
-
-for ac_func in fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsl declaration" >&5
-echo $ECHO_N "checking for _fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsl_use" >&6
-
- if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
-
-for ac_func in _fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodl declaration" >&5
-echo $ECHO_N "checking for fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodl_use" >&6
-
- if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
-
-for ac_func in fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodl declaration" >&5
-echo $ECHO_N "checking for _fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodl_use" >&6
-
- if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
-
-for ac_func in _fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpl declaration" >&5
-echo $ECHO_N "checking for frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpl_use" >&6
-
- if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
-
-for ac_func in frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpl declaration" >&5
-echo $ECHO_N "checking for _frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpl_use" >&6
-
- if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
-
-for ac_func in _frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotl declaration" >&5
-echo $ECHO_N "checking for hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotl_use" >&6
-
- if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
-
-for ac_func in hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotl declaration" >&5
-echo $ECHO_N "checking for _hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotl_use" >&6
-
- if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
-
-for ac_func in _hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpl declaration" >&5
-echo $ECHO_N "checking for ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpl_use" >&6
-
- if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
-
-for ac_func in ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpl declaration" >&5
-echo $ECHO_N "checking for _ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpl_use" >&6
-
- if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
-
-for ac_func in _ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logl declaration" >&5
-echo $ECHO_N "checking for logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logl_use+set} != xset; then
- if test "${glibcxx_cv_func_logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logl_use" >&6
-
- if test x$glibcxx_cv_func_logl_use = x"yes"; then
-
-for ac_func in logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logl declaration" >&5
-echo $ECHO_N "checking for _logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logl_use+set} != xset; then
- if test "${glibcxx_cv_func__logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logl_use" >&6
-
- if test x$glibcxx_cv_func__logl_use = x"yes"; then
-
-for ac_func in _logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10l declaration" >&5
-echo $ECHO_N "checking for log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10l_use+set} != xset; then
- if test "${glibcxx_cv_func_log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10l_use" >&6
-
- if test x$glibcxx_cv_func_log10l_use = x"yes"; then
-
-for ac_func in log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10l declaration" >&5
-echo $ECHO_N "checking for _log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10l_use+set} != xset; then
- if test "${glibcxx_cv_func__log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10l_use" >&6
-
- if test x$glibcxx_cv_func__log10l_use = x"yes"; then
-
-for ac_func in _log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modfl declaration" >&5
-echo $ECHO_N "checking for modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modfl_use+set} != xset; then
- if test "${glibcxx_cv_func_modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modfl_use" >&6
-
- if test x$glibcxx_cv_func_modfl_use = x"yes"; then
-
-for ac_func in modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modfl declaration" >&5
-echo $ECHO_N "checking for _modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modfl_use+set} != xset; then
- if test "${glibcxx_cv_func__modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modfl_use" >&6
-
- if test x$glibcxx_cv_func__modfl_use = x"yes"; then
-
-for ac_func in _modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powl declaration" >&5
-echo $ECHO_N "checking for powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powl_use+set} != xset; then
- if test "${glibcxx_cv_func_powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powl_use" >&6
-
- if test x$glibcxx_cv_func_powl_use = x"yes"; then
-
-for ac_func in powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powl declaration" >&5
-echo $ECHO_N "checking for _powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powl_use+set} != xset; then
- if test "${glibcxx_cv_func__powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powl_use" >&6
-
- if test x$glibcxx_cv_func__powl_use = x"yes"; then
-
-for ac_func in _powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtl declaration" >&5
-echo $ECHO_N "checking for sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtl_use" >&6
-
- if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
-
-for ac_func in sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtl declaration" >&5
-echo $ECHO_N "checking for _sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtl_use" >&6
-
- if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
-
-for ac_func in _sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosl declaration" >&5
-echo $ECHO_N "checking for sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosl_use" >&6
-
- if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
-
-for ac_func in sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosl declaration" >&5
-echo $ECHO_N "checking for _sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosl_use" >&6
-
- if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
-
-for ac_func in _sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitel declaration" >&5
-echo $ECHO_N "checking for finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitel_use+set} != xset; then
- if test "${glibcxx_cv_func_finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitel_use" >&6
-
- if test x$glibcxx_cv_func_finitel_use = x"yes"; then
-
-for ac_func in finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitel declaration" >&5
-echo $ECHO_N "checking for _finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitel_use+set} != xset; then
- if test "${glibcxx_cv_func__finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitel_use" >&6
-
- if test x$glibcxx_cv_func__finitel_use = x"yes"; then
-
-for ac_func in _finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
- LIBS="$ac_save_LIBS"
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_abs declaration" >&5
-echo $ECHO_N "checking for __builtin_abs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_use" >&6
- if test x$glibcxx_cv_func___builtin_abs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_abs linkage" >&5
-echo $ECHO_N "checking for __builtin_abs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_abs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_ABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsf declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsf linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabs declaration" >&5
-echo $ECHO_N "checking for __builtin_fabs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_use" >&6
- if test x$glibcxx_cv_func___builtin_fabs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabs linkage" >&5
-echo $ECHO_N "checking for __builtin_fabs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsl declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsl linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSL 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_labs declaration" >&5
-echo $ECHO_N "checking for __builtin_labs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_use" >&6
- if test x$glibcxx_cv_func___builtin_labs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_labs linkage" >&5
-echo $ECHO_N "checking for __builtin_labs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_labs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_LABS 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtf declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtf linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrt declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrt declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrt_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrt linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrt linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrt_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRT 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtl declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtl linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinf declaration" >&5
-echo $ECHO_N "checking for __builtin_sinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_use" >&6
- if test x$glibcxx_cv_func___builtin_sinf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinf linkage" >&5
-echo $ECHO_N "checking for __builtin_sinf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sin declaration" >&5
-echo $ECHO_N "checking for __builtin_sin declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_use" >&6
- if test x$glibcxx_cv_func___builtin_sin_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sin linkage" >&5
-echo $ECHO_N "checking for __builtin_sin linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sin_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SIN 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinl declaration" >&5
-echo $ECHO_N "checking for __builtin_sinl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_use" >&6
- if test x$glibcxx_cv_func___builtin_sinl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinl linkage" >&5
-echo $ECHO_N "checking for __builtin_sinl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosf declaration" >&5
-echo $ECHO_N "checking for __builtin_cosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_use" >&6
- if test x$glibcxx_cv_func___builtin_cosf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosf linkage" >&5
-echo $ECHO_N "checking for __builtin_cosf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cos declaration" >&5
-echo $ECHO_N "checking for __builtin_cos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_use" >&6
- if test x$glibcxx_cv_func___builtin_cos_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cos linkage" >&5
-echo $ECHO_N "checking for __builtin_cos linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cos_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosl declaration" >&5
-echo $ECHO_N "checking for __builtin_cosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_use" >&6
- if test x$glibcxx_cv_func___builtin_cosl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosl linkage" >&5
-echo $ECHO_N "checking for __builtin_cosl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
-
- echo "$as_me:$LINENO: checking for strtold declaration" >&5
-echo $ECHO_N "checking for strtold declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtold_use+set} != xset; then
- if test "${glibcxx_cv_func_strtold_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtold(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtold_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtold_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtold_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtold_use" >&6
- if test x$glibcxx_cv_func_strtold_use = x"yes"; then
-
-for ac_func in strtold
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- echo "$as_me:$LINENO: checking for strtof declaration" >&5
-echo $ECHO_N "checking for strtof declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtof_use+set} != xset; then
- if test "${glibcxx_cv_func_strtof_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtof(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtof_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtof_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtof_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtof_use" >&6
- if test x$glibcxx_cv_func_strtof_use = x"yes"; then
-
-for ac_func in strtof
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
- echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
-echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
- if test "${glibcxx_cv_S_ISREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_ISREG(buffer.st_mode);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_ISREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_ISREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test "${glibcxx_cv_S_IFREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_IFREG & buffer.st_mode;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_IFREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_IFREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- res=no
- if test $glibcxx_cv_S_ISREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_ISREG 1
-_ACEOF
-
- res=S_ISREG
- elif test $glibcxx_cv_S_IFREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_IFREG 1
-_ACEOF
-
- res=S_IFREG
- fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WRITEV 1
-_ACEOF
-
- ;;
-
- *-freebsd*)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h locale.h float.h inttypes.h sys/resource.h sys/stat.h \
- sys/time.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LC_MESSAGES 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETPAGESIZE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SETENV 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIGSETJMP 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITEF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOT 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOTF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNAN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANF 1
-_ACEOF
-
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ACOSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ASINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATAN2F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_CEILF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_EXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FABSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOORF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FMODF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LDEXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOGF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MODFF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_POWF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SQRTF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANHF 1
-_ACEOF
-
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITEL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINFL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANL 1
-_ACEOF
-
- fi
- ;;
- *-hpux*)
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h locale.h float.h inttypes.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOT 1
-_ACEOF
-
- case "$target" in
- *-hpux10*)
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITEF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINFF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNAN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANF 1
-_ACEOF
-
- ;;
- esac
- ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h float.h endian.h inttypes.h locale.h float.h stdint.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
-
-
- # All these tests are for C++; save the language and the compiler flags.
- # The CXXFLAGS thing is suspicious, but based on similar bits previously
- # found in GLIBCXX_CONFIGURE.
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
-
- # Check for maintainer-mode bits.
- if test x"$USE_MAINTAINER_MODE" = xno; then
- WERROR=''
- else
- WERROR='-Werror'
- fi
-
- # Check for -ffunction-sections -fdata-sections
- echo "$as_me:$LINENO: checking for g++ that supports -ffunction-sections -fdata-sections" >&5
-echo $ECHO_N "checking for g++ that supports -ffunction-sections -fdata-sections... $ECHO_C" >&6
- CXXFLAGS='-Werror -ffunction-sections -fdata-sections'
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-int foo;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_fdsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_fdsections=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- if test "$ac_test_CXXFLAGS" = set; then
- CXXFLAGS="$ac_save_CXXFLAGS"
- else
- # this is the suspicious part
- CXXFLAGS=''
- fi
- if test x"$ac_fdsections" = x"yes"; then
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- fi
- echo "$as_me:$LINENO: result: $ac_fdsections" >&5
-echo "${ECHO_T}$ac_fdsections" >&6
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
- echo "$as_me:$LINENO: checking for sin in -lm" >&5
-echo $ECHO_N "checking for sin in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_sin+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char sin ();
-int
-main ()
-{
-sin ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_sin=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_sin=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_sin" >&5
-echo "${ECHO_T}$ac_cv_lib_m_sin" >&6
-if test $ac_cv_lib_m_sin = yes; then
- libm="-lm"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $libm"
-
-
-
- echo "$as_me:$LINENO: checking for isinf declaration" >&5
-echo $ECHO_N "checking for isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinf_use+set} != xset; then
- if test "${glibcxx_cv_func_isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinf_use" >&6
-
- if test x$glibcxx_cv_func_isinf_use = x"yes"; then
-
-for ac_func in isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinf declaration" >&5
-echo $ECHO_N "checking for _isinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinf_use+set} != xset; then
- if test "${glibcxx_cv_func__isinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinf_use" >&6
-
- if test x$glibcxx_cv_func__isinf_use = x"yes"; then
-
-for ac_func in _isinf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnan declaration" >&5
-echo $ECHO_N "checking for isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnan_use+set} != xset; then
- if test "${glibcxx_cv_func_isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnan_use" >&6
-
- if test x$glibcxx_cv_func_isnan_use = x"yes"; then
-
-for ac_func in isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnan declaration" >&5
-echo $ECHO_N "checking for _isnan declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnan_use+set} != xset; then
- if test "${glibcxx_cv_func__isnan_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnan(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnan_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnan_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnan_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnan_use" >&6
-
- if test x$glibcxx_cv_func__isnan_use = x"yes"; then
-
-for ac_func in _isnan
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finite declaration" >&5
-echo $ECHO_N "checking for finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finite_use+set} != xset; then
- if test "${glibcxx_cv_func_finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finite_use" >&6
-
- if test x$glibcxx_cv_func_finite_use = x"yes"; then
-
-for ac_func in finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finite declaration" >&5
-echo $ECHO_N "checking for _finite declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finite_use+set} != xset; then
- if test "${glibcxx_cv_func__finite_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finite(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finite_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finite_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finite_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finite_use" >&6
-
- if test x$glibcxx_cv_func__finite_use = x"yes"; then
-
-for ac_func in _finite
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysign declaration" >&5
-echo $ECHO_N "checking for copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysign_use+set} != xset; then
- if test "${glibcxx_cv_func_copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysign_use" >&6
-
- if test x$glibcxx_cv_func_copysign_use = x"yes"; then
-
-for ac_func in copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysign declaration" >&5
-echo $ECHO_N "checking for _copysign declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysign_use+set} != xset; then
- if test "${glibcxx_cv_func__copysign_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysign(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysign_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysign_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysign_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysign_use" >&6
-
- if test x$glibcxx_cv_func__copysign_use = x"yes"; then
-
-for ac_func in _copysign
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincos declaration" >&5
-echo $ECHO_N "checking for sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincos_use+set} != xset; then
- if test "${glibcxx_cv_func_sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincos_use" >&6
-
- if test x$glibcxx_cv_func_sincos_use = x"yes"; then
-
-for ac_func in sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincos declaration" >&5
-echo $ECHO_N "checking for _sincos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincos_use+set} != xset; then
- if test "${glibcxx_cv_func__sincos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincos(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincos_use" >&6
-
- if test x$glibcxx_cv_func__sincos_use = x"yes"; then
-
-for ac_func in _sincos
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fpclass declaration" >&5
-echo $ECHO_N "checking for fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fpclass_use" >&6
-
- if test x$glibcxx_cv_func_fpclass_use = x"yes"; then
-
-for ac_func in fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fpclass declaration" >&5
-echo $ECHO_N "checking for _fpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__fpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fpclass_use" >&6
-
- if test x$glibcxx_cv_func__fpclass_use = x"yes"; then
-
-for ac_func in _fpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for qfpclass declaration" >&5
-echo $ECHO_N "checking for qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func_qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_qfpclass_use" >&6
-
- if test x$glibcxx_cv_func_qfpclass_use = x"yes"; then
-
-for ac_func in qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _qfpclass declaration" >&5
-echo $ECHO_N "checking for _qfpclass declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__qfpclass_use+set} != xset; then
- if test "${glibcxx_cv_func__qfpclass_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _qfpclass(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__qfpclass_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__qfpclass_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__qfpclass_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__qfpclass_use" >&6
-
- if test x$glibcxx_cv_func__qfpclass_use = x"yes"; then
-
-for ac_func in _qfpclass
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypot declaration" >&5
-echo $ECHO_N "checking for hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypot_use+set} != xset; then
- if test "${glibcxx_cv_func_hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypot_use" >&6
-
- if test x$glibcxx_cv_func_hypot_use = x"yes"; then
-
-for ac_func in hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypot declaration" >&5
-echo $ECHO_N "checking for _hypot declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypot_use+set} != xset; then
- if test "${glibcxx_cv_func__hypot_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypot(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypot_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypot_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypot_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypot_use" >&6
-
- if test x$glibcxx_cv_func__hypot_use = x"yes"; then
-
-for ac_func in _hypot
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float trig functions" >&5
-echo $ECHO_N "checking for float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosf (0); asinf (0); atanf (0); cosf (0); sinf (0); tanf (0); coshf (0); sinhf (0); tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_trig_use" >&6
- if test x$glibcxx_cv_func_float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosf asinf atanf cosf sinf tanf coshf sinhf tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float trig functions" >&5
-echo $ECHO_N "checking for _float trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosf (0); _asinf (0); _atanf (0); _cosf (0); _sinf (0); _tanf (0); _coshf (0); _sinhf (0); _tanhf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_trig_use" >&6
- if test x$glibcxx_cv_func__float_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosf _asinf _atanf _cosf _sinf _tanf _coshf _sinhf _tanhf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for float round functions" >&5
-echo $ECHO_N "checking for float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceilf (0); floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_float_round_use" >&6
- if test x$glibcxx_cv_func_float_round_use = x"yes"; then
-
-
-for ac_func in ceilf floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _float round functions" >&5
-echo $ECHO_N "checking for _float round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__float_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceilf (0); _floorf (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__float_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__float_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__float_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__float_round_use" >&6
- if test x$glibcxx_cv_func__float_round_use = x"yes"; then
-
-
-for ac_func in _ceilf _floorf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expf declaration" >&5
-echo $ECHO_N "checking for expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expf_use+set} != xset; then
- if test "${glibcxx_cv_func_expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expf_use" >&6
-
- if test x$glibcxx_cv_func_expf_use = x"yes"; then
-
-for ac_func in expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expf declaration" >&5
-echo $ECHO_N "checking for _expf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expf_use+set} != xset; then
- if test "${glibcxx_cv_func__expf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expf_use" >&6
-
- if test x$glibcxx_cv_func__expf_use = x"yes"; then
-
-for ac_func in _expf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanf declaration" >&5
-echo $ECHO_N "checking for isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanf_use" >&6
-
- if test x$glibcxx_cv_func_isnanf_use = x"yes"; then
-
-for ac_func in isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanf declaration" >&5
-echo $ECHO_N "checking for _isnanf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanf_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanf_use" >&6
-
- if test x$glibcxx_cv_func__isnanf_use = x"yes"; then
-
-for ac_func in _isnanf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinff declaration" >&5
-echo $ECHO_N "checking for isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinff_use+set} != xset; then
- if test "${glibcxx_cv_func_isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinff_use" >&6
-
- if test x$glibcxx_cv_func_isinff_use = x"yes"; then
-
-for ac_func in isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinff declaration" >&5
-echo $ECHO_N "checking for _isinff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinff_use+set} != xset; then
- if test "${glibcxx_cv_func__isinff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinff(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinff_use" >&6
-
- if test x$glibcxx_cv_func__isinff_use = x"yes"; then
-
-for ac_func in _isinff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2f declaration" >&5
-echo $ECHO_N "checking for atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2f_use" >&6
-
- if test x$glibcxx_cv_func_atan2f_use = x"yes"; then
-
-for ac_func in atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2f declaration" >&5
-echo $ECHO_N "checking for _atan2f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2f_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2f(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2f_use" >&6
-
- if test x$glibcxx_cv_func__atan2f_use = x"yes"; then
-
-for ac_func in _atan2f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsf declaration" >&5
-echo $ECHO_N "checking for fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsf_use" >&6
-
- if test x$glibcxx_cv_func_fabsf_use = x"yes"; then
-
-for ac_func in fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsf declaration" >&5
-echo $ECHO_N "checking for _fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsf_use" >&6
-
- if test x$glibcxx_cv_func__fabsf_use = x"yes"; then
-
-for ac_func in _fabsf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodf declaration" >&5
-echo $ECHO_N "checking for fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodf_use" >&6
-
- if test x$glibcxx_cv_func_fmodf_use = x"yes"; then
-
-for ac_func in fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodf declaration" >&5
-echo $ECHO_N "checking for _fmodf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodf_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodf_use" >&6
-
- if test x$glibcxx_cv_func__fmodf_use = x"yes"; then
-
-for ac_func in _fmodf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpf declaration" >&5
-echo $ECHO_N "checking for frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpf_use" >&6
-
- if test x$glibcxx_cv_func_frexpf_use = x"yes"; then
-
-for ac_func in frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpf declaration" >&5
-echo $ECHO_N "checking for _frexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpf_use" >&6
-
- if test x$glibcxx_cv_func__frexpf_use = x"yes"; then
-
-for ac_func in _frexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotf declaration" >&5
-echo $ECHO_N "checking for hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotf_use" >&6
-
- if test x$glibcxx_cv_func_hypotf_use = x"yes"; then
-
-for ac_func in hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotf declaration" >&5
-echo $ECHO_N "checking for _hypotf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotf_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotf_use" >&6
-
- if test x$glibcxx_cv_func__hypotf_use = x"yes"; then
-
-for ac_func in _hypotf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpf declaration" >&5
-echo $ECHO_N "checking for ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpf_use" >&6
-
- if test x$glibcxx_cv_func_ldexpf_use = x"yes"; then
-
-for ac_func in ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpf declaration" >&5
-echo $ECHO_N "checking for _ldexpf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpf_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpf_use" >&6
-
- if test x$glibcxx_cv_func__ldexpf_use = x"yes"; then
-
-for ac_func in _ldexpf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logf declaration" >&5
-echo $ECHO_N "checking for logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logf_use+set} != xset; then
- if test "${glibcxx_cv_func_logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logf_use" >&6
-
- if test x$glibcxx_cv_func_logf_use = x"yes"; then
-
-for ac_func in logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logf declaration" >&5
-echo $ECHO_N "checking for _logf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logf_use+set} != xset; then
- if test "${glibcxx_cv_func__logf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logf_use" >&6
-
- if test x$glibcxx_cv_func__logf_use = x"yes"; then
-
-for ac_func in _logf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10f declaration" >&5
-echo $ECHO_N "checking for log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10f_use+set} != xset; then
- if test "${glibcxx_cv_func_log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10f_use" >&6
-
- if test x$glibcxx_cv_func_log10f_use = x"yes"; then
-
-for ac_func in log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10f declaration" >&5
-echo $ECHO_N "checking for _log10f declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10f_use+set} != xset; then
- if test "${glibcxx_cv_func__log10f_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10f(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10f_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10f_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10f_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10f_use" >&6
-
- if test x$glibcxx_cv_func__log10f_use = x"yes"; then
-
-for ac_func in _log10f
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modff declaration" >&5
-echo $ECHO_N "checking for modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modff_use+set} != xset; then
- if test "${glibcxx_cv_func_modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modff_use" >&6
-
- if test x$glibcxx_cv_func_modff_use = x"yes"; then
-
-for ac_func in modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modff declaration" >&5
-echo $ECHO_N "checking for _modff declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modff_use+set} != xset; then
- if test "${glibcxx_cv_func__modff_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modff(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modff_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modff_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modff_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modff_use" >&6
-
- if test x$glibcxx_cv_func__modff_use = x"yes"; then
-
-for ac_func in _modff
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modf declaration" >&5
-echo $ECHO_N "checking for modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modf_use+set} != xset; then
- if test "${glibcxx_cv_func_modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modf_use" >&6
-
- if test x$glibcxx_cv_func_modf_use = x"yes"; then
-
-for ac_func in modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modf declaration" >&5
-echo $ECHO_N "checking for _modf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modf_use+set} != xset; then
- if test "${glibcxx_cv_func__modf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modf_use" >&6
-
- if test x$glibcxx_cv_func__modf_use = x"yes"; then
-
-for ac_func in _modf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powf declaration" >&5
-echo $ECHO_N "checking for powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powf_use+set} != xset; then
- if test "${glibcxx_cv_func_powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powf_use" >&6
-
- if test x$glibcxx_cv_func_powf_use = x"yes"; then
-
-for ac_func in powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powf declaration" >&5
-echo $ECHO_N "checking for _powf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powf_use+set} != xset; then
- if test "${glibcxx_cv_func__powf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powf(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powf_use" >&6
-
- if test x$glibcxx_cv_func__powf_use = x"yes"; then
-
-for ac_func in _powf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtf declaration" >&5
-echo $ECHO_N "checking for sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtf_use" >&6
-
- if test x$glibcxx_cv_func_sqrtf_use = x"yes"; then
-
-for ac_func in sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtf declaration" >&5
-echo $ECHO_N "checking for _sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtf_use" >&6
-
- if test x$glibcxx_cv_func__sqrtf_use = x"yes"; then
-
-for ac_func in _sqrtf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosf declaration" >&5
-echo $ECHO_N "checking for sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosf_use" >&6
-
- if test x$glibcxx_cv_func_sincosf_use = x"yes"; then
-
-for ac_func in sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosf declaration" >&5
-echo $ECHO_N "checking for _sincosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosf_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosf(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosf_use" >&6
-
- if test x$glibcxx_cv_func__sincosf_use = x"yes"; then
-
-for ac_func in _sincosf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitef declaration" >&5
-echo $ECHO_N "checking for finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitef_use+set} != xset; then
- if test "${glibcxx_cv_func_finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitef_use" >&6
-
- if test x$glibcxx_cv_func_finitef_use = x"yes"; then
-
-for ac_func in finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitef declaration" >&5
-echo $ECHO_N "checking for _finitef declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitef_use+set} != xset; then
- if test "${glibcxx_cv_func__finitef_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitef(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitef_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitef_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitef_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitef_use" >&6
-
- if test x$glibcxx_cv_func__finitef_use = x"yes"; then
-
-for ac_func in _finitef
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double trig functions" >&5
-echo $ECHO_N "checking for long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-acosl (0); asinl (0); atanl (0); cosl (0); sinl (0); tanl (0); coshl (0); sinhl (0); tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_trig_use" >&6
- if test x$glibcxx_cv_func_long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in acosl asinl atanl cosl sinl tanl coshl sinhl tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double trig functions" >&5
-echo $ECHO_N "checking for _long double trig functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_trig_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_acosl (0); _asinl (0); _atanl (0); _cosl (0); _sinl (0); _tanl (0); _coshl (0); _sinhl (0); _tanhl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_trig_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_trig_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_trig_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_trig_use" >&6
- if test x$glibcxx_cv_func__long_double_trig_use = x"yes"; then
-
-
-
-
-
-
-
-
-
-for ac_func in _acosl _asinl _atanl _cosl _sinl _tanl _coshl _sinhl _tanhl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for long double round functions" >&5
-echo $ECHO_N "checking for long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func_long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-ceill (0); floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_long_double_round_use" >&6
- if test x$glibcxx_cv_func_long_double_round_use = x"yes"; then
-
-
-for ac_func in ceill floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
- echo "$as_me:$LINENO: checking for _long double round functions" >&5
-echo $ECHO_N "checking for _long double round functions... $ECHO_C" >&6
- if test "${glibcxx_cv_func__long_double_round_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
-_ceill (0); _floorl (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__long_double_round_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__long_double_round_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__long_double_round_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__long_double_round_use" >&6
- if test x$glibcxx_cv_func__long_double_round_use = x"yes"; then
-
-
-for ac_func in _ceill _floorl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isnanl declaration" >&5
-echo $ECHO_N "checking for isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func_isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isnanl_use" >&6
-
- if test x$glibcxx_cv_func_isnanl_use = x"yes"; then
-
-for ac_func in isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isnanl declaration" >&5
-echo $ECHO_N "checking for _isnanl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isnanl_use+set} != xset; then
- if test "${glibcxx_cv_func__isnanl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isnanl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isnanl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isnanl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isnanl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isnanl_use" >&6
-
- if test x$glibcxx_cv_func__isnanl_use = x"yes"; then
-
-for ac_func in _isnanl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for isinfl declaration" >&5
-echo $ECHO_N "checking for isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func_isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_isinfl_use" >&6
-
- if test x$glibcxx_cv_func_isinfl_use = x"yes"; then
-
-for ac_func in isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _isinfl declaration" >&5
-echo $ECHO_N "checking for _isinfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__isinfl_use+set} != xset; then
- if test "${glibcxx_cv_func__isinfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _isinfl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__isinfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__isinfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__isinfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__isinfl_use" >&6
-
- if test x$glibcxx_cv_func__isinfl_use = x"yes"; then
-
-for ac_func in _isinfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for copysignl declaration" >&5
-echo $ECHO_N "checking for copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func_copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_copysignl_use" >&6
-
- if test x$glibcxx_cv_func_copysignl_use = x"yes"; then
-
-for ac_func in copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _copysignl declaration" >&5
-echo $ECHO_N "checking for _copysignl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__copysignl_use+set} != xset; then
- if test "${glibcxx_cv_func__copysignl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _copysignl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__copysignl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__copysignl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__copysignl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__copysignl_use" >&6
-
- if test x$glibcxx_cv_func__copysignl_use = x"yes"; then
-
-for ac_func in _copysignl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for atan2l declaration" >&5
-echo $ECHO_N "checking for atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func_atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_atan2l_use" >&6
-
- if test x$glibcxx_cv_func_atan2l_use = x"yes"; then
-
-for ac_func in atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _atan2l declaration" >&5
-echo $ECHO_N "checking for _atan2l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__atan2l_use+set} != xset; then
- if test "${glibcxx_cv_func__atan2l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _atan2l(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__atan2l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__atan2l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__atan2l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__atan2l_use" >&6
-
- if test x$glibcxx_cv_func__atan2l_use = x"yes"; then
-
-for ac_func in _atan2l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for expl declaration" >&5
-echo $ECHO_N "checking for expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_expl_use+set} != xset; then
- if test "${glibcxx_cv_func_expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_expl_use" >&6
-
- if test x$glibcxx_cv_func_expl_use = x"yes"; then
-
-for ac_func in expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _expl declaration" >&5
-echo $ECHO_N "checking for _expl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__expl_use+set} != xset; then
- if test "${glibcxx_cv_func__expl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _expl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__expl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__expl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__expl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__expl_use" >&6
-
- if test x$glibcxx_cv_func__expl_use = x"yes"; then
-
-for ac_func in _expl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fabsl declaration" >&5
-echo $ECHO_N "checking for fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fabsl_use" >&6
-
- if test x$glibcxx_cv_func_fabsl_use = x"yes"; then
-
-for ac_func in fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fabsl declaration" >&5
-echo $ECHO_N "checking for _fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func__fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fabsl_use" >&6
-
- if test x$glibcxx_cv_func__fabsl_use = x"yes"; then
-
-for ac_func in _fabsl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for fmodl declaration" >&5
-echo $ECHO_N "checking for fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func_fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_fmodl_use" >&6
-
- if test x$glibcxx_cv_func_fmodl_use = x"yes"; then
-
-for ac_func in fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _fmodl declaration" >&5
-echo $ECHO_N "checking for _fmodl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__fmodl_use+set} != xset; then
- if test "${glibcxx_cv_func__fmodl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _fmodl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__fmodl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__fmodl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__fmodl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__fmodl_use" >&6
-
- if test x$glibcxx_cv_func__fmodl_use = x"yes"; then
-
-for ac_func in _fmodl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for frexpl declaration" >&5
-echo $ECHO_N "checking for frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_frexpl_use" >&6
-
- if test x$glibcxx_cv_func_frexpl_use = x"yes"; then
-
-for ac_func in frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _frexpl declaration" >&5
-echo $ECHO_N "checking for _frexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__frexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__frexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _frexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__frexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__frexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__frexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__frexpl_use" >&6
-
- if test x$glibcxx_cv_func__frexpl_use = x"yes"; then
-
-for ac_func in _frexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for hypotl declaration" >&5
-echo $ECHO_N "checking for hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func_hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_hypotl_use" >&6
-
- if test x$glibcxx_cv_func_hypotl_use = x"yes"; then
-
-for ac_func in hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _hypotl declaration" >&5
-echo $ECHO_N "checking for _hypotl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__hypotl_use+set} != xset; then
- if test "${glibcxx_cv_func__hypotl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _hypotl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__hypotl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__hypotl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__hypotl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__hypotl_use" >&6
-
- if test x$glibcxx_cv_func__hypotl_use = x"yes"; then
-
-for ac_func in _hypotl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for ldexpl declaration" >&5
-echo $ECHO_N "checking for ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func_ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_ldexpl_use" >&6
-
- if test x$glibcxx_cv_func_ldexpl_use = x"yes"; then
-
-for ac_func in ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _ldexpl declaration" >&5
-echo $ECHO_N "checking for _ldexpl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__ldexpl_use+set} != xset; then
- if test "${glibcxx_cv_func__ldexpl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _ldexpl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__ldexpl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__ldexpl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__ldexpl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__ldexpl_use" >&6
-
- if test x$glibcxx_cv_func__ldexpl_use = x"yes"; then
-
-for ac_func in _ldexpl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for logl declaration" >&5
-echo $ECHO_N "checking for logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_logl_use+set} != xset; then
- if test "${glibcxx_cv_func_logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_logl_use" >&6
-
- if test x$glibcxx_cv_func_logl_use = x"yes"; then
-
-for ac_func in logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _logl declaration" >&5
-echo $ECHO_N "checking for _logl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__logl_use+set} != xset; then
- if test "${glibcxx_cv_func__logl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _logl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__logl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__logl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__logl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__logl_use" >&6
-
- if test x$glibcxx_cv_func__logl_use = x"yes"; then
-
-for ac_func in _logl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for log10l declaration" >&5
-echo $ECHO_N "checking for log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_log10l_use+set} != xset; then
- if test "${glibcxx_cv_func_log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_log10l_use" >&6
-
- if test x$glibcxx_cv_func_log10l_use = x"yes"; then
-
-for ac_func in log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _log10l declaration" >&5
-echo $ECHO_N "checking for _log10l declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__log10l_use+set} != xset; then
- if test "${glibcxx_cv_func__log10l_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _log10l(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__log10l_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__log10l_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__log10l_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__log10l_use" >&6
-
- if test x$glibcxx_cv_func__log10l_use = x"yes"; then
-
-for ac_func in _log10l
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for modfl declaration" >&5
-echo $ECHO_N "checking for modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_modfl_use+set} != xset; then
- if test "${glibcxx_cv_func_modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_modfl_use" >&6
-
- if test x$glibcxx_cv_func_modfl_use = x"yes"; then
-
-for ac_func in modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _modfl declaration" >&5
-echo $ECHO_N "checking for _modfl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__modfl_use+set} != xset; then
- if test "${glibcxx_cv_func__modfl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _modfl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__modfl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__modfl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__modfl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__modfl_use" >&6
-
- if test x$glibcxx_cv_func__modfl_use = x"yes"; then
-
-for ac_func in _modfl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for powl declaration" >&5
-echo $ECHO_N "checking for powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_powl_use+set} != xset; then
- if test "${glibcxx_cv_func_powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_powl_use" >&6
-
- if test x$glibcxx_cv_func_powl_use = x"yes"; then
-
-for ac_func in powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _powl declaration" >&5
-echo $ECHO_N "checking for _powl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__powl_use+set} != xset; then
- if test "${glibcxx_cv_func__powl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _powl(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__powl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__powl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__powl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__powl_use" >&6
-
- if test x$glibcxx_cv_func__powl_use = x"yes"; then
-
-for ac_func in _powl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sqrtl declaration" >&5
-echo $ECHO_N "checking for sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sqrtl_use" >&6
-
- if test x$glibcxx_cv_func_sqrtl_use = x"yes"; then
-
-for ac_func in sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sqrtl declaration" >&5
-echo $ECHO_N "checking for _sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func__sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sqrtl_use" >&6
-
- if test x$glibcxx_cv_func__sqrtl_use = x"yes"; then
-
-for ac_func in _sqrtl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for sincosl declaration" >&5
-echo $ECHO_N "checking for sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func_sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_sincosl_use" >&6
-
- if test x$glibcxx_cv_func_sincosl_use = x"yes"; then
-
-for ac_func in sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _sincosl declaration" >&5
-echo $ECHO_N "checking for _sincosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__sincosl_use+set} != xset; then
- if test "${glibcxx_cv_func__sincosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- _sincosl(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__sincosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__sincosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__sincosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__sincosl_use" >&6
-
- if test x$glibcxx_cv_func__sincosl_use = x"yes"; then
-
-for ac_func in _sincosl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for finitel declaration" >&5
-echo $ECHO_N "checking for finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_finitel_use+set} != xset; then
- if test "${glibcxx_cv_func_finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_finitel_use" >&6
-
- if test x$glibcxx_cv_func_finitel_use = x"yes"; then
-
-for ac_func in finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- else
-
- echo "$as_me:$LINENO: checking for _finitel declaration" >&5
-echo $ECHO_N "checking for _finitel declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func__finitel_use+set} != xset; then
- if test "${glibcxx_cv_func__finitel_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
-
-int
-main ()
-{
- _finitel(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func__finitel_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func__finitel_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func__finitel_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func__finitel_use" >&6
-
- if test x$glibcxx_cv_func__finitel_use = x"yes"; then
-
-for ac_func in _finitel
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- fi
-
-
-
-
-
- LIBS="$ac_save_LIBS"
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_abs declaration" >&5
-echo $ECHO_N "checking for __builtin_abs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_use" >&6
- if test x$glibcxx_cv_func___builtin_abs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_abs linkage" >&5
-echo $ECHO_N "checking for __builtin_abs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_abs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_abs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_abs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_abs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_abs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_abs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_abs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_abs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_ABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsf declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsf linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabs declaration" >&5
-echo $ECHO_N "checking for __builtin_fabs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_use" >&6
- if test x$glibcxx_cv_func___builtin_fabs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabs linkage" >&5
-echo $ECHO_N "checking for __builtin_fabs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_fabsl declaration" >&5
-echo $ECHO_N "checking for __builtin_fabsl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_use" >&6
- if test x$glibcxx_cv_func___builtin_fabsl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_fabsl linkage" >&5
-echo $ECHO_N "checking for __builtin_fabsl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_fabsl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_fabsl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_fabsl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_fabsl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_fabsl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_fabsl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_fabsl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_fabsl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSL 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_labs declaration" >&5
-echo $ECHO_N "checking for __builtin_labs declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_use" >&6
- if test x$glibcxx_cv_func___builtin_labs_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_labs linkage" >&5
-echo $ECHO_N "checking for __builtin_labs linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_labs_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_labs_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_labs(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_labs_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_labs_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_labs_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_labs_link" >&6
-
- if test x$glibcxx_cv_func___builtin_labs_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_LABS 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtf declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtf linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrt declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrt declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrt_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrt linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrt linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrt_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrt_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrt(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrt_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrt_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrt_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrt_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrt_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRT 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sqrtl declaration" >&5
-echo $ECHO_N "checking for __builtin_sqrtl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_use" >&6
- if test x$glibcxx_cv_func___builtin_sqrtl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sqrtl linkage" >&5
-echo $ECHO_N "checking for __builtin_sqrtl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sqrtl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sqrtl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sqrtl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sqrtl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sqrtl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sqrtl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sqrtl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sqrtl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SQRTL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinf declaration" >&5
-echo $ECHO_N "checking for __builtin_sinf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_use" >&6
- if test x$glibcxx_cv_func___builtin_sinf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinf linkage" >&5
-echo $ECHO_N "checking for __builtin_sinf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sin declaration" >&5
-echo $ECHO_N "checking for __builtin_sin declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_use" >&6
- if test x$glibcxx_cv_func___builtin_sin_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sin linkage" >&5
-echo $ECHO_N "checking for __builtin_sin linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sin_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sin_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sin(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sin_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sin_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sin_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sin_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sin_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SIN 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_sinl declaration" >&5
-echo $ECHO_N "checking for __builtin_sinl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_use" >&6
- if test x$glibcxx_cv_func___builtin_sinl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_sinl linkage" >&5
-echo $ECHO_N "checking for __builtin_sinl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_sinl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_sinl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_sinl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_sinl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_sinl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_sinl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_sinl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_sinl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosf declaration" >&5
-echo $ECHO_N "checking for __builtin_cosf declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_use" >&6
- if test x$glibcxx_cv_func___builtin_cosf_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosf linkage" >&5
-echo $ECHO_N "checking for __builtin_cosf linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosf_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosf_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosf(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosf_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosf_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosf_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosf_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosf_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSF 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cos declaration" >&5
-echo $ECHO_N "checking for __builtin_cos declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_use" >&6
- if test x$glibcxx_cv_func___builtin_cos_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cos linkage" >&5
-echo $ECHO_N "checking for __builtin_cos linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cos_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cos_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cos(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cos_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cos_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cos_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cos_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cos_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COS 1
-_ACEOF
-
- fi
-
- fi
-
-
- echo "$as_me:$LINENO: checking for __builtin_cosl declaration" >&5
-echo $ECHO_N "checking for __builtin_cosl declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_use+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_use" >&6
- if test x$glibcxx_cv_func___builtin_cosl_use = x"yes"; then
- echo "$as_me:$LINENO: checking for __builtin_cosl linkage" >&5
-echo $ECHO_N "checking for __builtin_cosl linkage... $ECHO_C" >&6
- if test x${glibcxx_cv_func___builtin_cosl_link+set} != xset; then
- if test "${glibcxx_cv_func___builtin_cosl_link+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <math.h>
-int
-main ()
-{
- __builtin_cosl(0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func___builtin_cosl_link=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func___builtin_cosl_link=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func___builtin_cosl_link" >&5
-echo "${ECHO_T}$glibcxx_cv_func___builtin_cosl_link" >&6
-
- if test x$glibcxx_cv_func___builtin_cosl_link = x"yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSL 1
-_ACEOF
-
- fi
-
- fi
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
-
- echo "$as_me:$LINENO: checking for strtold declaration" >&5
-echo $ECHO_N "checking for strtold declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtold_use+set} != xset; then
- if test "${glibcxx_cv_func_strtold_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtold(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtold_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtold_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtold_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtold_use" >&6
- if test x$glibcxx_cv_func_strtold_use = x"yes"; then
-
-for ac_func in strtold
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- echo "$as_me:$LINENO: checking for strtof declaration" >&5
-echo $ECHO_N "checking for strtof declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_strtof_use+set} != xset; then
- if test "${glibcxx_cv_func_strtof_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- strtof(0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_strtof_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_strtof_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_strtof_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_strtof_use" >&6
- if test x$glibcxx_cv_func_strtof_use = x"yes"; then
-
-for ac_func in strtof
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
-
-
-
-
- CXXFLAGS="$ac_save_CXXFLAGS"
-
-
- # For LFS.
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_INT64_T 1
-_ACEOF
-
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS="$CXXFLAGS -fno-exceptions"
- echo "$as_me:$LINENO: checking for LFS support" >&5
-echo $ECHO_N "checking for LFS support... $ECHO_C" >&6
- if test "${glibcxx_cv_LFS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <stdio.h>
- #include <sys/stat.h>
-
-int
-main ()
-{
-FILE* fp;
- fopen64("t", "w");
- fseeko64(fp, 0, SEEK_CUR);
- ftello64(fp);
- lseek64(1, 0, SEEK_CUR);
- struct stat64 buf;
- fstat64(1, &buf);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_LFS=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_LFS=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_LFS = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_LFS 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_LFS" >&5
-echo "${ECHO_T}$glibcxx_cv_LFS" >&6
- CXXFLAGS="$ac_save_CXXFLAGS"
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
- # For showmanyc_helper().
-
-
-for ac_header in sys/ioctl.h sys/filio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for poll" >&5
-echo $ECHO_N "checking for poll... $ECHO_C" >&6
- if test "${glibcxx_cv_POLL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <poll.h>
-int
-main ()
-{
-struct pollfd pfd[1];
- pfd[0].events = POLLIN;
- poll(pfd, 1, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_POLL=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_POLL=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_POLL = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
-echo "${ECHO_T}$glibcxx_cv_POLL" >&6
-
-
- echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
-echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
- if test "${glibcxx_cv_S_ISREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_ISREG(buffer.st_mode);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_ISREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_ISREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test "${glibcxx_cv_S_IFREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_IFREG & buffer.st_mode;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_IFREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_IFREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- res=no
- if test $glibcxx_cv_S_ISREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_ISREG 1
-_ACEOF
-
- res=S_ISREG
- elif test $glibcxx_cv_S_IFREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_IFREG 1
-_ACEOF
-
- res=S_IFREG
- fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- # For xsputn_2().
-
-for ac_header in sys/uio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for writev" >&5
-echo $ECHO_N "checking for writev... $ECHO_C" >&6
- if test "${glibcxx_cv_WRITEV+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/uio.h>
-int
-main ()
-{
-struct iovec iov[2];
- writev(0, iov, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_WRITEV=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_WRITEV=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_WRITEV = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WRITEV 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
-echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
-
- ;;
- *-mingw32*)
-
-
-
-for ac_header in sys/types.h locale.h float.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
- ;;
- *-netbsd*)
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h locale.h float.h inttypes.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITEF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOTF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINFF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNAN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANF 1
-_ACEOF
-
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITEL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINFL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANL 1
-_ACEOF
-
- fi
- ;;
- *-netware)
-
-
-
-
-
-
-
-
-for ac_header in nan.h ieeefp.h sys/isa_defs.h sys/machine.h \
- sys/types.h locale.h float.h inttypes.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOT 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNAN 1
-_ACEOF
-
-
- # For showmanyc_helper().
-
-
-for ac_header in sys/ioctl.h sys/filio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for poll" >&5
-echo $ECHO_N "checking for poll... $ECHO_C" >&6
- if test "${glibcxx_cv_POLL+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <poll.h>
-int
-main ()
-{
-struct pollfd pfd[1];
- pfd[0].events = POLLIN;
- poll(pfd, 1, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_POLL=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_POLL=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_POLL = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_POLL" >&5
-echo "${ECHO_T}$glibcxx_cv_POLL" >&6
-
-
- echo "$as_me:$LINENO: checking for S_ISREG or S_IFREG" >&5
-echo $ECHO_N "checking for S_ISREG or S_IFREG... $ECHO_C" >&6
- if test "${glibcxx_cv_S_ISREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_ISREG(buffer.st_mode);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_ISREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_ISREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test "${glibcxx_cv_S_IFREG+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/stat.h>
-int
-main ()
-{
-struct stat buffer;
- fstat(0, &buffer);
- S_IFREG & buffer.st_mode;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_S_IFREG=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_S_IFREG=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- res=no
- if test $glibcxx_cv_S_ISREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_ISREG 1
-_ACEOF
-
- res=S_ISREG
- elif test $glibcxx_cv_S_IFREG = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_IFREG 1
-_ACEOF
-
- res=S_IFREG
- fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- # For xsputn_2().
-
-for ac_header in sys/uio.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
- echo "$as_me:$LINENO: checking for writev" >&5
-echo $ECHO_N "checking for writev... $ECHO_C" >&6
- if test "${glibcxx_cv_WRITEV+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/uio.h>
-int
-main ()
-{
-struct iovec iov[2];
- writev(0, iov, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_WRITEV=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_WRITEV=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
- if test $glibcxx_cv_WRITEV = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_WRITEV 1
-_ACEOF
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_WRITEV" >&5
-echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
-
- ;;
- *-qnx6.1* | *-qnx6.2*)
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOGF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOGL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10L 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHL 1
-_ACEOF
-
- ;;
- *-solaris*)
- case "$target" in
- # *-solaris2.5)
- # os_include_dir="os/solaris/solaris2.5"
- # ;;
- # *-solaris2.6)
- # os_include_dir="os/solaris/solaris2.6"
- # ;;
- *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETPAGESIZE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SIGSETJMP 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBSTATE_T 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_S_ISREG 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LC_MESSAGES 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FPCLASS 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETPAGESIZE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_NL_LANGINFO 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV_CLOSE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV_OPEN 1
-_ACEOF
-
- # Look for the pieces required for wchar_t support in order to
- # get all the right HAVE_* macros defined.
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
- # All of the dependencies for wide character support are here, so
- # turn it on. This requires some syncronization with the
- # GLIBCXX_CHECK_ICONV_SUPPORT in acinclude.m4
- cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_WCHAR_T 1
-_ACEOF
-
- # Are these tested for even when cross?
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOAT_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_IEEEFP_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_INTTYPES_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOCALE_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_NAN_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_FILIO_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_IOCTL_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_ISA_DEFS_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_RESOURCE_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_TIME_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_TYPES_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_UNISTD_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCHAR_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCTYPE_H 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- ;;
- esac
- case "$target" in
- sparc*-*-solaris2.8 | sparc*-*-solaris2.9 | sparc*-*-solaris2.10)
- # I saw these on sparc-sun-solaris2.8, but not 2.6, and not on i386
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_ABS 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_LABS 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABS 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_FABSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COS 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_COSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SIN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE___BUILTIN_SINF 1
-_ACEOF
-
- ;;
- esac
- case "$target" in
- *-*-solaris2.10)
- # These two C99 functions are present only in Solaris >= 10
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRTOF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRTOLD 1
-_ACEOF
-
- ;;
- esac
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNAN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MODFF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOT 1
-_ACEOF
-
- ;;
- *-tpf)
-
-
-
-
-
-
-
-
-for ac_header in nan.h endian.h machine/endian.h \
- sys/param.h sys/types.h locale.h float.h inttypes.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
-
-
- # If we're not using GNU ld, then there's no point in even trying these
- # tests. Check for that first. We should have already tested for gld
- # by now (in libtool), but require it now just to be safe...
- test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
- test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
-
-
-
- # The name set by libtool depends on the version of libtool. Shame on us
- # for depending on an impl detail, but c'est la vie. Older versions used
- # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
- # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
- # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
- # set (hence we're using an older libtool), then set it.
- if test x${with_gnu_ld+set} != xset; then
- if test x${ac_cv_prog_gnu_ld+set} != xset; then
- # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
- with_gnu_ld=no
- else
- with_gnu_ld=$ac_cv_prog_gnu_ld
- fi
- fi
-
- # Start by getting the version number. I think the libtool test already
- # does some of this, but throws away the result.
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld version" >&5
-echo $ECHO_N "checking for ld version... $ECHO_C" >&6
-
- ldver=`$LD --version 2>/dev/null | head -1 | \
- sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
-
- glibcxx_gnu_ld_version=`echo $ldver | \
- $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
- echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
-echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
- fi
-
- # Set --gc-sections.
- glibcxx_gcsections_min_ld=21602
- if test x"$with_gnu_ld" = x"yes" &&
- test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
-
- # Sufficiently young GNU ld it is! Joy and bunny rabbits!
- # NB: This flag only works reliably after 2.16.1. Configure tests
- # for this are difficult, so hard wire a value that should work.
-
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-Wl,--gc-sections'
-
- # Check for -Wl,--gc-sections
- echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
-echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
- int one(void) { return 1; }
- int two(void) { return 2; }
-
-int
-main ()
-{
- two();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_gcsections=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_gcsections=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$ac_gcsections" = "yes"; then
- rm -f conftest.c
- touch conftest.c
- if $CC -c conftest.c; then
- if $LD --gc-sections -o conftest conftest.o 2>&1 | \
- grep "Warning: gc-sections option ignored" > /dev/null; then
- ac_gcsections=no
- fi
- fi
- rm -f conftest.c conftest.o conftest
- fi
- if test "$ac_gcsections" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
- fi
- echo "$as_me:$LINENO: result: $ac_gcsections" >&5
-echo "${ECHO_T}$ac_gcsections" >&6
-
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- else
- # this is the suspicious part
- CFLAGS=''
- fi
- fi
-
- # Set -z,relro.
- # Note this is only for shared objects.
- ac_ld_relro=no
- if test x"$with_gnu_ld" = x"yes"; then
- echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
-echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
- cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
- if test -n "$cxx_z_relo"; then
- OPT_LDFLAGS="-Wl,-z,relro"
- ac_ld_relro=yes
- fi
- echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
-echo "${ECHO_T}$ac_ld_relro" >&6
- fi
-
- # Set linker optimization flags.
- if test x"$with_gnu_ld" = x"yes"; then
- OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
- fi
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for main in -lm" >&5
-echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6
-if test "${ac_cv_lib_m_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-
-int
-main ()
-{
-main ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_m_main=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_m_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5
-echo "${ECHO_T}$ac_cv_lib_m_main" >&6
-if test $ac_cv_lib_m_main = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
- LIBS="-lm $LIBS"
-
-fi
-
-
-for ac_func in copysignf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
-fi
-done
-
-
-
-for ac_func in __signbit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
-fi
-done
-
-
-
-for ac_func in __signbitf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
-fi
-done
-
-
- if test x$ac_cv_func_copysignl = x"yes"; then
-
-for ac_func in __signbitl
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
-fi
-done
-
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
-
-
-
-
- enable_iconv=no
- # Only continue checking if the ISO C99 headers exist and support is on.
- if test x"$enable_wchar_t" = xyes; then
-
- # Use iconv for wchar_t to char conversions. As such, check for
- # X/Open Portability Guide, version 2 features (XPG2).
- if test "${ac_cv_header_iconv_h+set}" = set; then
- echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking iconv.h usability" >&5
-echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <iconv.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking iconv.h presence" >&5
-echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <iconv.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for iconv.h" >&5
-echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6
-if test "${ac_cv_header_iconv_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_iconv_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5
-echo "${ECHO_T}$ac_cv_header_iconv_h" >&6
-
-fi
-if test $ac_cv_header_iconv_h = yes; then
- ac_has_iconv_h=yes
-else
- ac_has_iconv_h=no
-fi
-
-
- if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking langinfo.h usability" >&5
-echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <langinfo.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking langinfo.h presence" >&5
-echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for langinfo.h" >&5
-echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6
-if test "${ac_cv_header_langinfo_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_langinfo_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5
-echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6
-
-fi
-if test $ac_cv_header_langinfo_h = yes; then
- ac_has_langinfo_h=yes
-else
- ac_has_langinfo_h=no
-fi
-
-
-
- # Check for existence of libiconv.a providing XPG2 wchar_t support.
- echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
-echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6
-if test "${ac_cv_lib_iconv_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-liconv $LIBS"
-if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char iconv ();
-int
-main ()
-{
-iconv ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_iconv_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_iconv_iconv=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_iconv_iconv" >&5
-echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6
-if test $ac_cv_lib_iconv_iconv = yes; then
- LIBICONV="-liconv"
-fi
-
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
-
-
-
-
-
-
-for ac_func in iconv_open iconv_close iconv nl_langinfo
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- ac_XPG2funcs=yes
-else
- ac_XPG2funcs=no
-fi
-done
-
-
- LIBS="$ac_save_LIBS"
-
- if test x"$ac_has_iconv_h" = xyes &&
- test x"$ac_has_langinfo_h" = xyes &&
- test x"$ac_XPG2funcs" = xyes;
- then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_USE_ICONV 1
-_ACEOF
-
- enable_iconv=yes
- fi
- fi
- echo "$as_me:$LINENO: checking for enabled iconv specializations" >&5
-echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $enable_iconv" >&5
-echo "${ECHO_T}$enable_iconv" >&6
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITE 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITEF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOTF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINFF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNAN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINCOS 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINCOSF 1
-_ACEOF
-
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FINITEL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOTL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINFL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISNANL 1
-_ACEOF
-
- fi
- ;;
- *-vxworks)
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ACOSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ASINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATAN2F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_CEILF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_EXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FABSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOORF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FMODF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_HYPOT 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOGF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_POWF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SQRTF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANHF 1
-_ACEOF
-
- ;;
- *-windiss*)
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ACOSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ACOSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ASINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ASINL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATAN2F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATAN2L 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATANL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_CEILF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_CEILL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGN 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_EXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_EXPL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FABSF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FABSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOORF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOORL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FMODF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FMODL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LDEXPF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LDEXPL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10F 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10L 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOGF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MODFF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MODFL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_POWF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_POWL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SQRTF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SQRTL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANHF 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANHL 1
-_ACEOF
-
- ;;
- *)
- { { echo "$as_me:$LINENO: error: No support for this host/target combination." >&5
-echo "$as_me: error: No support for this host/target combination." >&2;}
- { (exit 1); exit 1; }; }
- ;;
-esac
-
- fi
-
- # At some point, we should differentiate between architectures
- # like x86, which have long double versions, and alpha/powerpc/etc.,
- # which don't. For the time being, punt.
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ACOSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ASINL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATAN2L 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATANL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_CEILL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COPYSIGNL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_COSHL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_EXPL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FABSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOORL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FMODL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_FREXPL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LDEXPL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOG10L 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LOGL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MODFL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_POWL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINCOSL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SINHL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SQRTL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANL 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TANHL 1
-_ACEOF
-
- fi
-
- # Assume we have _Unwind_GetIPInfo for cross-compiles.
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETIPINFO 1
-_ACEOF
-
-
-fi
-
-# This depends on GLIBCXX CHECK_LINKER_FEATURES, but without it assumes no.
-
-
- # Check whether --enable-symvers or --disable-symvers was given.
-if test "${enable_symvers+set}" = set; then
- enableval="$enable_symvers"
-
- case "$enableval" in
- yes|no|gnu|gnu-versioned-namespace|darwin|darwin-export) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable symvers" >&5
-echo "$as_me: error: Unknown argument to enable/disable symvers" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_symvers=yes
-fi;
-
-
-# If we never went through the GLIBCXX_CHECK_LINKER_FEATURES macro, then we
-# don't know enough about $LD to do tricks...
-
-
-# Turn a 'yes' into a suitable default.
-if test x$enable_symvers = xyes ; then
- if test $enable_shared = no || test "x$LD" = x || test x$gcc_no_link = xyes; then
- enable_symvers=no
- else
- if test $with_gnu_ld = yes ; then
- enable_symvers=gnu
- else
- case ${target_os} in
- darwin*)
- enable_symvers=darwin ;;
- *)
- enable_symvers=no ;;
- esac
- fi
- fi
-fi
-
-# Check to see if 'darwin' or 'darwin-export' can win.
-if test x$enable_symvers = xdarwin-export ; then
- enable_symvers=darwin
-fi
-
-# Check to see if 'gnu' can win.
-if test $enable_symvers = gnu || test $enable_symvers = gnu-versioned-namespace; then
- # Check to see if libgcc_s exists, indicating that shared libgcc is possible.
- echo "$as_me:$LINENO: checking for shared libgcc" >&5
-echo $ECHO_N "checking for shared libgcc... $ECHO_C" >&6
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=' -lgcc_s'
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_shared_libgcc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_shared_libgcc=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- if test $glibcxx_shared_libgcc = no; then
- cat > conftest.c <<EOF
-int main (void) { return 0; }
-EOF
- glibcxx_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- -shared -shared-libgcc -o conftest.so \
- conftest.c -v 2>&1 >/dev/null \
- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
- rm -f conftest.c conftest.so
- if test x${glibcxx_libgcc_s_suffix+set} = xset; then
- CFLAGS=" -lgcc_s$glibcxx_libgcc_s_suffix"
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_shared_libgcc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- fi
- fi
- echo "$as_me:$LINENO: result: $glibcxx_shared_libgcc" >&5
-echo "${ECHO_T}$glibcxx_shared_libgcc" >&6
-
- # For GNU ld, we need at least this version. The format is described in
- # GLIBCXX_CHECK_LINKER_FEATURES above.
- glibcxx_min_gnu_ld_version=21400
-
- # If no shared libgcc, can't win.
- if test $glibcxx_shared_libgcc != yes; then
- { echo "$as_me:$LINENO: WARNING: === You have requested GNU symbol versioning, but" >&5
-echo "$as_me: WARNING: === You have requested GNU symbol versioning, but" >&2;}
- { echo "$as_me:$LINENO: WARNING: === you are not building a shared libgcc_s." >&5
-echo "$as_me: WARNING: === you are not building a shared libgcc_s." >&2;}
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- elif test $with_gnu_ld != yes ; then
- # just fail for now
- { echo "$as_me:$LINENO: WARNING: === You have requested GNU symbol versioning, but" >&5
-echo "$as_me: WARNING: === You have requested GNU symbol versioning, but" >&2;}
- { echo "$as_me:$LINENO: WARNING: === you are not using the GNU linker." >&5
-echo "$as_me: WARNING: === you are not using the GNU linker." >&2;}
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- elif test $glibcxx_gnu_ld_version -lt $glibcxx_min_gnu_ld_version ; then
- # The right tools, the right setup, but too old. Fallbacks?
- { echo "$as_me:$LINENO: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&5
-echo "$as_me: WARNING: === Linker version $glibcxx_gnu_ld_version is too old for" >&2;}
- { echo "$as_me:$LINENO: WARNING: === full symbol versioning support in this release of GCC." >&5
-echo "$as_me: WARNING: === full symbol versioning support in this release of GCC." >&2;}
- { echo "$as_me:$LINENO: WARNING: === You would need to upgrade your binutils to version" >&5
-echo "$as_me: WARNING: === You would need to upgrade your binutils to version" >&2;}
- { echo "$as_me:$LINENO: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&5
-echo "$as_me: WARNING: === $glibcxx_min_gnu_ld_version or later and rebuild GCC." >&2;}
- { echo "$as_me:$LINENO: WARNING: === Symbol versioning will be disabled." >&5
-echo "$as_me: WARNING: === Symbol versioning will be disabled." >&2;}
- enable_symvers=no
- fi
-fi
-
-# Everything parsed; figure out what file to use.
-case $enable_symvers in
- no)
- SYMVER_FILE=config/abi/pre/none.ver
- ;;
- gnu)
- SYMVER_FILE=config/abi/pre/gnu.ver
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_SYMVER_GNU 1
-_ACEOF
-
- ;;
- gnu-versioned-namespace)
- SYMVER_FILE=config/abi/pre/gnu-versioned-namespace.ver
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_SYMVER_GNU_NAMESPACE 1
-_ACEOF
-
- ;;
- darwin)
- SYMVER_FILE=config/abi/pre/gnu.ver
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_SYMVER_DARWIN 1
-_ACEOF
-
- ;;
-esac
-
-if test x$enable_symvers != xno ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_SYMVER 1
-_ACEOF
-
-fi
-
-
-
-
-
-
-
-{ echo "$as_me:$LINENO: versioning on shared library symbols is $enable_symvers" >&5
-echo "$as_me: versioning on shared library symbols is $enable_symvers" >&6;}
-
-# Now, set up compatibility support, if any.
-# In addition, need this to deal with std::size_t mangling in
-# src/compatibility.cc. In a perfect world, could use
-# typeid(std::size_t).name()[0] to do direct substitution.
-echo "$as_me:$LINENO: checking for size_t as unsigned int" >&5
-echo $ECHO_N "checking for size_t as unsigned int... $ECHO_C" >&6
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Werror"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-__SIZE_TYPE__* stp; unsigned int* uip; stp = uip;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_size_t_is_i=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_size_t_is_i=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$ac_save_CFLAGS
-if test "$glibcxx_size_t_is_i" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_SIZE_T_IS_UINT 1
-_ACEOF
-
-fi
-echo "$as_me:$LINENO: result: $glibcxx_size_t_is_i" >&5
-echo "${ECHO_T}$glibcxx_size_t_is_i" >&6
-
-echo "$as_me:$LINENO: checking for ptrdiff_t as int" >&5
-echo $ECHO_N "checking for ptrdiff_t as int... $ECHO_C" >&6
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS="-Werror"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-__PTRDIFF_TYPE__* ptp; int* ip; ptp = ip;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_ptrdiff_t_is_i=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_ptrdiff_t_is_i=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-CFLAGS=$ac_save_CFLAGS
-if test "$glibcxx_ptrdiff_t_is_i" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_PTRDIFF_T_IS_INT 1
-_ACEOF
-
-fi
-echo "$as_me:$LINENO: result: $glibcxx_ptrdiff_t_is_i" >&5
-echo "${ECHO_T}$glibcxx_ptrdiff_t_is_i" >&6
-
-
- # Check whether --enable-visibility or --disable-visibility was given.
-if test "${enable_visibility+set}" = set; then
- enableval="$enable_visibility"
-
- case "$enableval" in
- yes|no) ;;
- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable visibility must be yes or no" >&5
-echo "$as_me: error: Argument to enable/disable visibility must be yes or no" >&2;}
- { (exit 1); exit 1; }; } ;;
- esac
-
-else
- enable_visibility=yes
-fi;
-
-
-if test x$enable_visibility = xyes ; then
- echo "$as_me:$LINENO: checking whether the target supports hidden visibility" >&5
-echo $ECHO_N "checking whether the target supports hidden visibility... $ECHO_C" >&6
-if test "${have_attribute_visibility+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Werror"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-void __attribute__((visibility("hidden"))) foo(void) { }
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- have_attribute_visibility=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-have_attribute_visibility=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$save_CFLAGS"
-fi
-echo "$as_me:$LINENO: result: $have_attribute_visibility" >&5
-echo "${ECHO_T}$have_attribute_visibility" >&6
- if test $have_attribute_visibility = no; then
- enable_visibility=no
- fi
-fi
-
-
-{ echo "$as_me:$LINENO: visibility supported: $enable_visibility" >&5
-echo "$as_me: visibility supported: $enable_visibility" >&6;}
-
-
-ac_ldbl_compat=no
-case "$target" in
- powerpc*-*-*gnu* | \
- sparc*-*-linux* | \
- s390*-*-linux* | \
- alpha*-*-linux*)
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
-#if !defined __LONG_DOUBLE_128__ || (defined(__sparc__) && defined(__arch64__))
-#error no need for long double compatibility
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_ldbl_compat=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_ldbl_compat=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- if test "$ac_ldbl_compat" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_LONG_DOUBLE_COMPAT 1
-_ACEOF
-
- port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver"
- fi
-esac
-
-
-# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
-
- if $GLIBCXX_IS_NATIVE ; then
- # Do checks for resource limit functions.
-
- setrlimit_have_headers=yes
-
-
-
-for ac_header in unistd.h sys/time.h sys/resource.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ----------------------------------------- ##
-## Report this to the package-unused lists. ##
-## ----------------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-else
- setrlimit_have_headers=no
-fi
-
-done
-
- # If don't have the headers, then we can't run the tests now, and we
- # won't be seeing any of these during testsuite compilation.
- if test $setrlimit_have_headers = yes; then
- # Can't do these in a loop, else the resulting syntax is wrong.
-
- echo "$as_me:$LINENO: checking for RLIMIT_DATA" >&5
-echo $ECHO_N "checking for RLIMIT_DATA... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-
-int
-main ()
-{
- int f = RLIMIT_DATA ;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_mresult=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_mresult=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIMIT_DATA $glibcxx_mresult
-_ACEOF
-
- if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- echo "$as_me:$LINENO: checking for RLIMIT_RSS" >&5
-echo $ECHO_N "checking for RLIMIT_RSS... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-
-int
-main ()
-{
- int f = RLIMIT_RSS ;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_mresult=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_mresult=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIMIT_RSS $glibcxx_mresult
-_ACEOF
-
- if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- echo "$as_me:$LINENO: checking for RLIMIT_VMEM" >&5
-echo $ECHO_N "checking for RLIMIT_VMEM... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-
-int
-main ()
-{
- int f = RLIMIT_VMEM ;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_mresult=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_mresult=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIMIT_VMEM $glibcxx_mresult
-_ACEOF
-
- if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- echo "$as_me:$LINENO: checking for RLIMIT_AS" >&5
-echo $ECHO_N "checking for RLIMIT_AS... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-
-int
-main ()
-{
- int f = RLIMIT_AS ;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_mresult=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_mresult=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIMIT_AS $glibcxx_mresult
-_ACEOF
-
- if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- echo "$as_me:$LINENO: checking for RLIMIT_FSIZE" >&5
-echo $ECHO_N "checking for RLIMIT_FSIZE... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-
-int
-main ()
-{
- int f = RLIMIT_FSIZE ;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_mresult=1
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_mresult=0
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LIMIT_FSIZE $glibcxx_mresult
-_ACEOF
-
- if test $glibcxx_mresult = 1 ; then res=yes ; else res=no ; fi
- echo "$as_me:$LINENO: result: $res" >&5
-echo "${ECHO_T}$res" >&6
-
-
- # Check for rlimit, setrlimit.
- if test "${ac_setrlimit+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-
-int
-main ()
-{
-struct rlimit r;
- setrlimit(0, &r);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_setrlimit=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_setrlimit=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
- fi
-
- echo "$as_me:$LINENO: checking for testsuite resource limits support" >&5
-echo $ECHO_N "checking for testsuite resource limits support... $ECHO_C" >&6
- if test $setrlimit_have_headers = yes && test $ac_setrlimit = yes; then
- ac_res_limits=yes
-
-cat >>confdefs.h <<\_ACEOF
-#define _GLIBCXX_RES_LIMITS 1
-_ACEOF
-
- else
- ac_res_limits=no
- fi
- echo "$as_me:$LINENO: result: $ac_res_limits" >&5
-echo "${ECHO_T}$ac_res_limits" >&6
-
-
- # Look for setenv, so that extended locale tests can be performed.
-
- echo "$as_me:$LINENO: checking for setenv declaration" >&5
-echo $ECHO_N "checking for setenv declaration... $ECHO_C" >&6
- if test x${glibcxx_cv_func_setenv_use+set} != xset; then
- if test "${glibcxx_cv_func_setenv_use+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-
-
- ac_ext=cc
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
- setenv(0, 0, 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_cxx_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- glibcxx_cv_func_setenv_use=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-glibcxx_cv_func_setenv_use=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-fi
-
- fi
- echo "$as_me:$LINENO: result: $glibcxx_cv_func_setenv_use" >&5
-echo "${ECHO_T}$glibcxx_cv_func_setenv_use" >&6
- if test x$glibcxx_cv_func_setenv_use = x"yes"; then
-
-for ac_func in setenv
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test x$gcc_no_link = xyes; then
- { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
-echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
- { (exit 1); exit 1; }; }
-fi
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
-
- fi
-
- if $GLIBCXX_IS_NATIVE && test $is_hosted = yes &&
- test $enable_symvers != no; then
- case "$host" in
- *-*-cygwin*)
- enable_abi_check=no ;;
- *)
- enable_abi_check=yes ;;
- esac
- else
- # Only build this as native, since automake does not understand
- # CXX_FOR_BUILD.
- enable_abi_check=no
- fi
-
- # Export file names for ABI checking.
- baseline_dir="$glibcxx_srcdir/config/abi/post/${abi_baseline_pair}\$(MULTISUBDIR)"
-
-
-
-# Propagate the target-specific source directories through the build chain.
-ATOMICITY_SRCDIR=config/${atomicity_dir}
-ATOMIC_WORD_SRCDIR=config/${atomic_word_dir}
-CPU_DEFINES_SRCDIR=config/${cpu_defines_dir}
-OS_INC_SRCDIR=config/${os_include_dir}
-ABI_TWEAKS_SRCDIR=config/${abi_tweaks_dir}
-
-
-
-
-
-
-
-# Determine cross-compile flags and AM_CONDITIONALs.
-#AC_SUBST(GLIBCXX_IS_NATIVE)
-#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
-# from GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT:
-#AM_CONDITIONAL(GLIBCXX_BUILD_LIBMATH, test $need_libmath = yes)
-
-
-if test $is_hosted = yes; then
- GLIBCXX_HOSTED_TRUE=
- GLIBCXX_HOSTED_FALSE='#'
-else
- GLIBCXX_HOSTED_TRUE='#'
- GLIBCXX_HOSTED_FALSE=
-fi
-
-
-
-
-if test $enable_libstdcxx_pch = yes; then
- GLIBCXX_BUILD_PCH_TRUE=
- GLIBCXX_BUILD_PCH_FALSE='#'
-else
- GLIBCXX_BUILD_PCH_TRUE='#'
- GLIBCXX_BUILD_PCH_FALSE=
-fi
-
-
-
-
-if test $enable_cheaders = c; then
- GLIBCXX_C_HEADERS_C_TRUE=
- GLIBCXX_C_HEADERS_C_FALSE='#'
-else
- GLIBCXX_C_HEADERS_C_TRUE='#'
- GLIBCXX_C_HEADERS_C_FALSE=
-fi
-
-
-
-
-if test $enable_cheaders = c_std; then
- GLIBCXX_C_HEADERS_C_STD_TRUE=
- GLIBCXX_C_HEADERS_C_STD_FALSE='#'
-else
- GLIBCXX_C_HEADERS_C_STD_TRUE='#'
- GLIBCXX_C_HEADERS_C_STD_FALSE=
-fi
-
-
-
-
-if test $c_compatibility = yes; then
- GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE=
- GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE='#'
-else
- GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE='#'
- GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE=
-fi
-
-
-
-
-if test $enable_libstdcxx_debug = yes; then
- GLIBCXX_BUILD_DEBUG_TRUE=
- GLIBCXX_BUILD_DEBUG_FALSE='#'
-else
- GLIBCXX_BUILD_DEBUG_TRUE='#'
- GLIBCXX_BUILD_DEBUG_FALSE=
-fi
-
-
-
-
-if test $enable_symvers != no; then
- ENABLE_SYMVERS_TRUE=
- ENABLE_SYMVERS_FALSE='#'
-else
- ENABLE_SYMVERS_TRUE='#'
- ENABLE_SYMVERS_FALSE=
-fi
-
-
-
-
-if test $enable_symvers = gnu; then
- ENABLE_SYMVERS_GNU_TRUE=
- ENABLE_SYMVERS_GNU_FALSE='#'
-else
- ENABLE_SYMVERS_GNU_TRUE='#'
- ENABLE_SYMVERS_GNU_FALSE=
-fi
-
-
-
-
-if test $enable_symvers = gnu-versioned-namespace; then
- ENABLE_SYMVERS_GNU_NAMESPACE_TRUE=
- ENABLE_SYMVERS_GNU_NAMESPACE_FALSE='#'
-else
- ENABLE_SYMVERS_GNU_NAMESPACE_TRUE='#'
- ENABLE_SYMVERS_GNU_NAMESPACE_FALSE=
-fi
-
-
-
-
-if test $enable_symvers = darwin; then
- ENABLE_SYMVERS_DARWIN_TRUE=
- ENABLE_SYMVERS_DARWIN_FALSE='#'
-else
- ENABLE_SYMVERS_DARWIN_TRUE='#'
- ENABLE_SYMVERS_DARWIN_FALSE=
-fi
-
-
-
-
-if test $enable_visibility = yes; then
- ENABLE_VISIBILITY_TRUE=
- ENABLE_VISIBILITY_FALSE='#'
-else
- ENABLE_VISIBILITY_TRUE='#'
- ENABLE_VISIBILITY_FALSE=
-fi
-
-
-
-
-if test $ac_ldbl_compat = yes; then
- GLIBCXX_LDBL_COMPAT_TRUE=
- GLIBCXX_LDBL_COMPAT_FALSE='#'
-else
- GLIBCXX_LDBL_COMPAT_TRUE='#'
- GLIBCXX_LDBL_COMPAT_FALSE=
-fi
-
-
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-if test ${multilib} = yes; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-# Export all the install information.
-
- glibcxx_toolexecdir=no
- glibcxx_toolexeclibdir=no
- glibcxx_prefixdir=$prefix
-
- echo "$as_me:$LINENO: checking for gxx-include-dir" >&5
-echo $ECHO_N "checking for gxx-include-dir... $ECHO_C" >&6
-
-# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
-if test "${with_gxx_include_dir+set}" = set; then
- withval="$with_gxx_include_dir"
- case "$withval" in
- yes) { { echo "$as_me:$LINENO: error: Missing directory for --with-gxx-include-dir" >&5
-echo "$as_me: error: Missing directory for --with-gxx-include-dir" >&2;}
- { (exit 1); exit 1; }; } ;;
- no) gxx_include_dir=no ;;
- *) gxx_include_dir=$withval ;;
- esac
-else
- gxx_include_dir=no
-fi;
- echo "$as_me:$LINENO: result: $gxx_include_dir" >&5
-echo "${ECHO_T}$gxx_include_dir" >&6
-
- echo "$as_me:$LINENO: checking for --enable-version-specific-runtime-libs" >&5
-echo $ECHO_N "checking for --enable-version-specific-runtime-libs... $ECHO_C" >&6
- # Check whether --enable-version-specific-runtime-libs or --disable-version-specific-runtime-libs was given.
-if test "${enable_version_specific_runtime_libs+set}" = set; then
- enableval="$enable_version_specific_runtime_libs"
- case "$enableval" in
- yes) version_specific_libs=yes ;;
- no) version_specific_libs=no ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable version-specific libs" >&5
-echo "$as_me: error: Unknown argument to enable/disable version-specific libs" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-else
- version_specific_libs=no
-fi;
- echo "$as_me:$LINENO: result: $version_specific_libs" >&5
-echo "${ECHO_T}$version_specific_libs" >&6
-
- # Default case for install directory for include files.
- if test $version_specific_libs = no && test $gxx_include_dir = no; then
- gxx_include_dir='include/c++/${gcc_version}'
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- gxx_include_dir='${prefix}/${target_alias}/'"$gxx_include_dir"
- else
- gxx_include_dir='${prefix}/'"$gxx_include_dir"
- fi
- fi
-
- # Version-specific runtime libs processing.
- if test $version_specific_libs = yes; then
- # Need the gcc compiler version to know where to install libraries
- # and header files if --enable-version-specific-runtime-libs option
- # is selected. FIXME: these variables are misnamed, there are
- # no executables installed in _toolexecdir or _toolexeclibdir.
- if test x"$gxx_include_dir" = x"no"; then
- gxx_include_dir='${libdir}/gcc/${host_alias}/${gcc_version}/include/c++'
- fi
- glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
- glibcxx_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)'
- fi
-
- # Calculate glibcxx_toolexecdir, glibcxx_toolexeclibdir
- # Install a library built with a cross compiler in tooldir, not libdir.
- if test x"$glibcxx_toolexecdir" = x"no"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- glibcxx_toolexecdir='${exec_prefix}/${host_alias}'
- glibcxx_toolexeclibdir='${toolexecdir}/lib'
- else
- glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
- glibcxx_toolexeclibdir='${libdir}'
- fi
- multi_os_directory=`$CXX -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- *) glibcxx_toolexeclibdir=$glibcxx_toolexeclibdir/$multi_os_directory ;;
- esac
- fi
-
- echo "$as_me:$LINENO: checking for install location" >&5
-echo $ECHO_N "checking for install location... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $gxx_include_dir" >&5
-echo "${ECHO_T}$gxx_include_dir" >&6
-
-
-
-
-
-
-
-# Export all the include and flag information to Makefiles.
-
- # Used for every C++ compile we perform.
- GLIBCXX_INCLUDES="\
--I$glibcxx_builddir/include/$host_alias \
--I$glibcxx_builddir/include \
--I$glibcxx_srcdir/libsupc++"
-
- # For Canadian crosses, pick this up too.
- if test $CANADIAN = yes; then
- GLIBCXX_INCLUDES="$GLIBCXX_INCLUDES -I\${includedir}"
- fi
-
- # Stuff in the actual top level. Currently only used by libsupc++ to
- # get unwind* headers from the gcc dir.
- #TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc -I$(toplevel_srcdir)/include'
- TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/gcc'
-
- # Now, export this to all the little Makefiles....
-
-
-
-
- # Optimization flags that are probably a good idea for thrill-seekers. Just
- # uncomment the lines below and make, everything else is ready to go...
- # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc
- OPTIMIZE_CXXFLAGS=
-
-
- WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual'
-
-
-
-if ${CONFIG_SHELL-/bin/sh} ./libtool --tag CXX --features |
- grep "enable shared" > /dev/null;
-then
- LIBSUPCXX_PICFLAGS=-prefer-pic
-else
- LIBSUPCXX_PICFLAGS=
-fi
-
-
- ac_config_files="$ac_config_files Makefile include/Makefile libmath/Makefile libsupc++/Makefile src/Makefile po/Makefile testsuite/Makefile"
-
- ac_config_files="$ac_config_files scripts/testsuite_flags"
-
-
- ac_config_commands="$ac_config_commands default"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GLIBCXX_HOSTED_TRUE}" && test -z "${GLIBCXX_HOSTED_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_HOSTED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_HOSTED\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GLIBCXX_BUILD_PCH_TRUE}" && test -z "${GLIBCXX_BUILD_PCH_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_BUILD_PCH\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_BUILD_PCH\" 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_TRUE}" && test -z "${GLIBCXX_C_HEADERS_C_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_C_HEADERS_C\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_C_HEADERS_C\" 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_STD_TRUE}" && test -z "${GLIBCXX_C_HEADERS_C_STD_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_C_HEADERS_C_STD\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-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_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
-echo "$as_me: error: conditional \"GLIBCXX_C_HEADERS_COMPATIBILITY\" 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
-echo "$as_me: error: conditional \"GLIBCXX_BUILD_DEBUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_SYMVERS_TRUE}" && test -z "${ENABLE_SYMVERS_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_SYMVERS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_SYMVERS_GNU_TRUE}" && test -z "${ENABLE_SYMVERS_GNU_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_GNU\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_SYMVERS_GNU\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_SYMVERS_GNU_NAMESPACE_TRUE}" && test -z "${ENABLE_SYMVERS_GNU_NAMESPACE_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_GNU_NAMESPACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_SYMVERS_GNU_NAMESPACE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_SYMVERS_DARWIN_TRUE}" && test -z "${ENABLE_SYMVERS_DARWIN_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_SYMVERS_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_SYMVERS_DARWIN\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${ENABLE_VISIBILITY_TRUE}" && test -z "${ENABLE_VISIBILITY_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"ENABLE_VISIBILITY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"ENABLE_VISIBILITY\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-if test -z "${GLIBCXX_LDBL_COMPAT_TRUE}" && test -z "${GLIBCXX_LDBL_COMPAT_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"GLIBCXX_LDBL_COMPAT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"GLIBCXX_LDBL_COMPAT\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by package-unused $as_me version-unused, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-package-unused config.status version-unused
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS section.
-#
-
-
-srcdir="$srcdir"
-host="$host"
-target="$target"
-with_multisubdir="$with_multisubdir"
-with_multisrctop="$with_multisrctop"
-with_target_subdir="$with_target_subdir"
-ac_configure_args="${multilib_arg} ${ac_configure_args}"
-multi_basedir="$multi_basedir"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-CC="$CC"
-
-# Variables needed in config.status (file generation) which aren't already
-# passed by autoconf.
-SUBDIRS="$SUBDIRS"
-
-
-_ACEOF
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "include/Makefile" ) CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "libmath/Makefile" ) CONFIG_FILES="$CONFIG_FILES libmath/Makefile" ;;
- "libsupc++/Makefile" ) CONFIG_FILES="$CONFIG_FILES libsupc++/Makefile" ;;
- "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
- "po/Makefile" ) CONFIG_FILES="$CONFIG_FILES po/Makefile" ;;
- "testsuite/Makefile" ) CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;;
- "scripts/testsuite_flags" ) CONFIG_FILES="$CONFIG_FILES scripts/testsuite_flags" ;;
- "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
- "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@libtool_VERSION@,$libtool_VERSION,;t t
-s,@multi_basedir@,$multi_basedir,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@target@,$target,;t t
-s,@target_cpu@,$target_cpu,;t t
-s,@target_vendor@,$target_vendor,;t t
-s,@target_os@,$target_os,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@mkdir_p@,$mkdir_p,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@am__leading_dot@,$am__leading_dot,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@am__tar@,$am__tar,;t t
-s,@am__untar@,$am__untar,;t t
-s,@glibcxx_builddir@,$glibcxx_builddir,;t t
-s,@glibcxx_srcdir@,$glibcxx_srcdir,;t t
-s,@toplevel_srcdir@,$toplevel_srcdir,;t t
-s,@CC@,$CC,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@CXX@,$CXX,;t t
-s,@ac_ct_CXX@,$ac_ct_CXX,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@CXXFLAGS@,$CXXFLAGS,;t t
-s,@LN_S@,$LN_S,;t t
-s,@AS@,$AS,;t t
-s,@ac_ct_AS@,$ac_ct_AS,;t t
-s,@AR@,$AR,;t t
-s,@ac_ct_AR@,$ac_ct_AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s,@MAINT@,$MAINT,;t t
-s,@CPP@,$CPP,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LIBTOOL@,$LIBTOOL,;t t
-s,@CXXCPP@,$CXXCPP,;t t
-s,@enable_shared@,$enable_shared,;t t
-s,@enable_static@,$enable_static,;t t
-s,@GLIBCXX_HOSTED_TRUE@,$GLIBCXX_HOSTED_TRUE,;t t
-s,@GLIBCXX_HOSTED_FALSE@,$GLIBCXX_HOSTED_FALSE,;t t
-s,@GLIBCXX_BUILD_PCH_TRUE@,$GLIBCXX_BUILD_PCH_TRUE,;t t
-s,@GLIBCXX_BUILD_PCH_FALSE@,$GLIBCXX_BUILD_PCH_FALSE,;t t
-s,@glibcxx_PCHFLAGS@,$glibcxx_PCHFLAGS,;t t
-s,@CSTDIO_H@,$CSTDIO_H,;t t
-s,@BASIC_FILE_H@,$BASIC_FILE_H,;t t
-s,@BASIC_FILE_CC@,$BASIC_FILE_CC,;t t
-s,@check_msgfmt@,$check_msgfmt,;t t
-s,@glibcxx_MOFILES@,$glibcxx_MOFILES,;t t
-s,@glibcxx_POFILES@,$glibcxx_POFILES,;t t
-s,@glibcxx_localedir@,$glibcxx_localedir,;t t
-s,@USE_NLS@,$USE_NLS,;t t
-s,@CLOCALE_H@,$CLOCALE_H,;t t
-s,@CMESSAGES_H@,$CMESSAGES_H,;t t
-s,@CCODECVT_CC@,$CCODECVT_CC,;t t
-s,@CCOLLATE_CC@,$CCOLLATE_CC,;t t
-s,@CCTYPE_CC@,$CCTYPE_CC,;t t
-s,@CMESSAGES_CC@,$CMESSAGES_CC,;t t
-s,@CMONEY_CC@,$CMONEY_CC,;t t
-s,@CNUMERIC_CC@,$CNUMERIC_CC,;t t
-s,@CTIME_H@,$CTIME_H,;t t
-s,@CTIME_CC@,$CTIME_CC,;t t
-s,@CLOCALE_CC@,$CLOCALE_CC,;t t
-s,@CLOCALE_INTERNAL_H@,$CLOCALE_INTERNAL_H,;t t
-s,@ALLOCATOR_H@,$ALLOCATOR_H,;t t
-s,@ALLOCATOR_NAME@,$ALLOCATOR_NAME,;t t
-s,@C_INCLUDE_DIR@,$C_INCLUDE_DIR,;t t
-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_COMPATIBILITY_TRUE@,$GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE,;t t
-s,@GLIBCXX_C_HEADERS_COMPATIBILITY_FALSE@,$GLIBCXX_C_HEADERS_COMPATIBILITY_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
-s,@EXTRA_CXX_FLAGS@,$EXTRA_CXX_FLAGS,;t t
-s,@glibcxx_thread_h@,$glibcxx_thread_h,;t t
-s,@WERROR@,$WERROR,;t t
-s,@SECTION_FLAGS@,$SECTION_FLAGS,;t t
-s,@SECTION_LDFLAGS@,$SECTION_LDFLAGS,;t t
-s,@OPT_LDFLAGS@,$OPT_LDFLAGS,;t t
-s,@LIBMATHOBJS@,$LIBMATHOBJS,;t t
-s,@LIBICONV@,$LIBICONV,;t t
-s,@SYMVER_FILE@,$SYMVER_FILE,;t t
-s,@port_specific_symbol_files@,$port_specific_symbol_files,;t t
-s,@ENABLE_SYMVERS_TRUE@,$ENABLE_SYMVERS_TRUE,;t t
-s,@ENABLE_SYMVERS_FALSE@,$ENABLE_SYMVERS_FALSE,;t t
-s,@ENABLE_SYMVERS_GNU_TRUE@,$ENABLE_SYMVERS_GNU_TRUE,;t t
-s,@ENABLE_SYMVERS_GNU_FALSE@,$ENABLE_SYMVERS_GNU_FALSE,;t t
-s,@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@,$ENABLE_SYMVERS_GNU_NAMESPACE_TRUE,;t t
-s,@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@,$ENABLE_SYMVERS_GNU_NAMESPACE_FALSE,;t t
-s,@ENABLE_SYMVERS_DARWIN_TRUE@,$ENABLE_SYMVERS_DARWIN_TRUE,;t t
-s,@ENABLE_SYMVERS_DARWIN_FALSE@,$ENABLE_SYMVERS_DARWIN_FALSE,;t t
-s,@ENABLE_VISIBILITY_TRUE@,$ENABLE_VISIBILITY_TRUE,;t t
-s,@ENABLE_VISIBILITY_FALSE@,$ENABLE_VISIBILITY_FALSE,;t t
-s,@GLIBCXX_LDBL_COMPAT_TRUE@,$GLIBCXX_LDBL_COMPAT_TRUE,;t t
-s,@GLIBCXX_LDBL_COMPAT_FALSE@,$GLIBCXX_LDBL_COMPAT_FALSE,;t t
-s,@baseline_dir@,$baseline_dir,;t t
-s,@ATOMICITY_SRCDIR@,$ATOMICITY_SRCDIR,;t t
-s,@ATOMIC_WORD_SRCDIR@,$ATOMIC_WORD_SRCDIR,;t t
-s,@CPU_DEFINES_SRCDIR@,$CPU_DEFINES_SRCDIR,;t t
-s,@ABI_TWEAKS_SRCDIR@,$ABI_TWEAKS_SRCDIR,;t t
-s,@OS_INC_SRCDIR@,$OS_INC_SRCDIR,;t t
-s,@glibcxx_prefixdir@,$glibcxx_prefixdir,;t t
-s,@gxx_include_dir@,$gxx_include_dir,;t t
-s,@glibcxx_toolexecdir@,$glibcxx_toolexecdir,;t t
-s,@glibcxx_toolexeclibdir@,$glibcxx_toolexeclibdir,;t t
-s,@GLIBCXX_INCLUDES@,$GLIBCXX_INCLUDES,;t t
-s,@TOPLEVEL_INCLUDES@,$TOPLEVEL_INCLUDES,;t t
-s,@OPTIMIZE_CXXFLAGS@,$OPTIMIZE_CXXFLAGS,;t t
-s,@WARN_FLAGS@,$WARN_FLAGS,;t t
-s,@LIBSUPCXX_PICFLAGS@,$LIBSUPCXX_PICFLAGS,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
- # Run the commands associated with the file.
- case $ac_file in
- scripts/testsuite_flags ) chmod +x scripts/testsuite_flags ;;
- esac
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-# Compute $ac_file's index in $config_headers.
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $ac_file | $ac_file:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
-$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X$ac_file : 'X\(//\)[^/]' \| \
- X$ac_file : 'X\(//\)$' \| \
- X$ac_file : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X$ac_file |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- default-1 )
-# Only add multilib support code if we just rebuilt the top-level
-# Makefile.
-case " $CONFIG_FILES " in
- *" Makefile "*)
- ac_file=Makefile . ${multi_basedir}/config-ml.in
- ;;
-esac ;;
- default ) if test -n "$CONFIG_FILES"; then
- # Multilibs need MULTISUBDIR defined correctly in certain makefiles so
- # that multilib installs will end up installed in the correct place.
- # The testsuite needs it for multilib-aware ABI baseline files.
- # To work around this not being passed down from config-ml.in ->
- # srcdir/Makefile.am -> srcdir/{src,libsupc++,...}/Makefile.am, manually
- # append it here. Only modify Makefiles that have just been created.
- #
- # Also, get rid of this simulated-VPATH thing that automake does.
- cat > vpsed << \_EOF
-s!`test -f '$<' || echo '$(srcdir)/'`!!
-_EOF
- for i in $SUBDIRS; do
- case $CONFIG_FILES in
- *${i}/Makefile*)
- #echo "Adding MULTISUBDIR to $i/Makefile"
- sed -f vpsed $i/Makefile > tmp
- grep '^MULTISUBDIR =' Makefile >> tmp
- mv tmp $i/Makefile
- ;;
- esac
- done
- rm vpsed
- fi
- (cd include && ${MAKE-make})
- ;;
- esac
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/contrib/libstdc++/configure.ac b/contrib/libstdc++/configure.ac
deleted file mode 100644
index 6c00c6b9a2ca..000000000000
--- a/contrib/libstdc++/configure.ac
+++ /dev/null
@@ -1,407 +0,0 @@
-# Process this file with autoreconf to produce a configure script.
-
-AC_PREREQ(2.59)
-AC_INIT(package-unused, version-unused,, libstdc++)
-AC_CONFIG_SRCDIR(src/ios.cc)
-AC_CONFIG_HEADER(config.h)
-
-# This works around the fact that libtool configuration may change LD
-# for this particular configuration, but some shells, instead of
-# keeping the changes in LD private, export them just because LD is
-# exported. Only used at the end of this file.
-### am handles this now? ORIGINAL_LD_FOR_MULTILIBS=$LD
-
-# For libtool versioning info, format is CURRENT:REVISION:AGE
-libtool_VERSION=6:9:0
-AC_SUBST(libtool_VERSION)
-
-# Find the rest of the source tree framework.
-AM_ENABLE_MULTILIB(, ..)
-
-# Gets build, host, target, *_vendor, *_cpu, *_os, etc.
-#
-# You will slowly go insane if you do not grok the following fact: when
-# building v3 as part of the compiler, the top-level /target/ becomes the
-# library's /host/. configure then causes --target to default to --host,
-# exactly like any other package using autoconf. Therefore, 'target' and
-# 'host' will always be the same. This makes sense both for native and
-# cross compilers, just think about it for a little while. :-)
-#
-# Also, if v3 is being configured as part of a cross compiler, the top-level
-# configure script will pass the "real" host as $with_cross_host.
-#
-# Do not delete or change the following two lines. For why, see
-# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
-AC_CANONICAL_SYSTEM
-target_alias=${target_alias-$host_alias}
-
-# Handy for debugging:
-#AC_MSG_NOTICE($build / $host / $target / $host_alias / $target_alias); sleep 5
-
-if test "$build" != "$host"; then
- # We are being configured with some form of cross compiler.
- GLIBCXX_IS_NATIVE=false
- case "$host","$target" in
- # Darwin crosses can use the host system's libraries and headers,
- # because of the fat library support. Of course, it must be the
- # same version of Darwin on both sides. Allow the user to
- # just say --target=foo-darwin without a version number to mean
- # "the version on this system".
- *-*-darwin*,*-*-darwin*)
- hostos=`echo $host | sed 's/.*-darwin/darwin/'`
- targetos=`echo $target | sed 's/.*-darwin/darwin/'`
- if test $hostos = $targetos -o $targetos = darwin ; then
- GLIBCXX_IS_NATIVE=true
- fi
- ;;
-
- *)
- GCC_NO_EXECUTABLES
- ;;
- esac
-else
- GLIBCXX_IS_NATIVE=true
-fi
-
-# Sets up automake. Must come after AC_CANONICAL_SYSTEM. Each of the
-# following is magically included in AUTOMAKE_OPTIONS in each Makefile.am.
-# 1.x: minimum required version
-# no-define: PACKAGE and VERSION will not be #define'd in config.h (a bunch
-# of other PACKAGE_* variables will, however, and there's nothing
-# we can do about that; they come from AC_INIT).
-# foreign: we don't follow the normal rules for GNU packages (no COPYING
-# file in the top srcdir, etc, etc), so stop complaining.
-# no-dependencies: turns off auto dependency generation (just for now)
-# -Wall: turns on all automake warnings...
-# -Wno-portability: ...except this one, since GNU make is now required.
-AM_INIT_AUTOMAKE([1.9.3 no-define foreign no-dependencies -Wall -Wno-portability -Wno-override])
-AH_TEMPLATE(PACKAGE, [Name of package])
-AH_TEMPLATE(VERSION, [Version number of package])
-
-# Runs configure.host, finds CC, CXX, and assorted other critical bits. Sets
-# up critical shell variables.
-GLIBCXX_CONFIGURE
-
-AC_LIBTOOL_DLOPEN
-AM_PROG_LIBTOOL
-AC_SUBST(enable_shared)
-AC_SUBST(enable_static)
-
-# Possibly disable most of the library.
-## TODO: Consider skipping unncessary tests altogether in this case, rather
-## than just ignoring the results. Faster /and/ more correct, win win.
-GLIBCXX_ENABLE_HOSTED
-
-# Check for compiler support that doesn't require linking.
-GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
-GLIBCXX_ENABLE_PCH($is_hosted)
-
-# Enable all the variable C++ runtime options.
-GLIBCXX_ENABLE_CSTDIO
-GLIBCXX_ENABLE_CLOCALE
-GLIBCXX_ENABLE_ALLOCATOR
-GLIBCXX_ENABLE_CHEADERS($c_model) dnl c_model from configure.host
-GLIBCXX_ENABLE_LONG_LONG([yes])
-GLIBCXX_ENABLE_WCHAR_T([yes])
-GLIBCXX_ENABLE_C99([yes])
-GLIBCXX_ENABLE_CONCEPT_CHECKS([no])
-GLIBCXX_ENABLE_DEBUG_FLAGS(["-g3 -O0"])
-GLIBCXX_ENABLE_DEBUG([no])
-GLIBCXX_ENABLE_CXX_FLAGS
-GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING([no])
-
-# No surprises, no surprises...
-GLIBCXX_ENABLE_THREADS
-GLIBCXX_ENABLE_ATOMIC_BUILTINS
-if test $atomicity_dir = cpu/generic/atomic_mutex ; then
- AC_MSG_WARN([No native atomic operations are provided for this platform.])
- if test $target_thread_file = single; then
- AC_MSG_WARN([They cannot be faked when thread support is disabled.])
- AC_MSG_WARN([Thread-safety of certain classes is not guaranteed.])
- else
- AC_MSG_WARN([They will be faked using a mutex.])
- AC_MSG_WARN([Performance of certain classes will degrade as a result.])
- fi
-fi
-
-GLIBCXX_CHECK_COMPILER_FEATURES
-
-if $GLIBCXX_IS_NATIVE; then
-
- # We can do more elaborate tests that assume a working linker.
- CANADIAN=no
-
- # Check for available headers.
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
- machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \
- sys/types.h sys/ipc.h sys/sem.h])
-
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_MATH_SUPPORT
- GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- GLIBCXX_CHECK_STDLIB_SUPPORT
-
- # For showmanyc_helper().
- AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
- GLIBCXX_CHECK_POLL
- GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-
- # For xsputn_2().
- AC_CHECK_HEADERS(sys/uio.h)
- GLIBCXX_CHECK_WRITEV
-
- # For the __streamoff_base_type typedef.
- GLIBCXX_CHECK_INT64_T
-
- # For LFS support.
- GLIBCXX_CHECK_LFS
-
- # For C99 support to TR1.
- GLIBCXX_CHECK_C99_TR1
-
- # For dev/random and dev/urandom for TR1.
- GLIBCXX_CHECK_RANDOM_TR1
-
- # For TLS support.
- GCC_CHECK_TLS
-
- # For _Unwind_GetIPInfo.
- GCC_CHECK_UNWIND_GETIPINFO
-
- AC_LC_MESSAGES
-
- AC_TRY_COMPILE(
- [#include <setjmp.h>],
- [sigjmp_buf env;
- while (! sigsetjmp (env, 1))
- siglongjmp (env, 1);
- ],
- [AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available.])])
-
- AC_FUNC_MMAP
-
-else
-
- # This lets us hard-code the functionality we know we'll have in the cross
- # target environment. "Let" is a sugar-coated word placed on an especially
- # dull and tedious hack, actually.
- #
- # Here's why GLIBCXX_CHECK_MATH_SUPPORT, and other autoconf macros
- # that involve linking, can't be used:
- # "cannot open sim-crt0.o"
- # "cannot open crt0.o"
- # etc. All this is because there currently exists no unified, consistent
- # way for top level CC information to be passed down to target directories:
- # newlib includes, newlib linking info, libgloss versus newlib crt0.o, etc.
- # When all of that is done, all of this hokey, excessive AC_DEFINE junk for
- # crosses can be removed.
-
- # If Canadian cross, then don't pick up tools from the build directory.
- # Used only in GLIBCXX_EXPORT_INCLUDES.
- if test -n "$with_cross_host" &&
- test x"$build_alias" != x"$with_cross_host" &&
- test x"$build" != x"$target";
- then
- CANADIAN=yes
- else
- CANADIAN=no
- fi
-
- # Construct crosses by hand, eliminating bits that need ld...
- # GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
- # GLIBCXX_CHECK_MATH_SUPPORT
-
- # First, test for "known" system libraries. We may be using newlib even
- # on a hosted environment.
- if test "x${with_newlib}" = "xyes"; then
- os_include_dir="os/newlib"
- AC_DEFINE(HAVE_HYPOT)
-
- # GLIBCXX_CHECK_STDLIB_SUPPORT
- AC_DEFINE(HAVE_STRTOF)
- # AC_FUNC_MMAP
- AC_DEFINE(HAVE_MMAP)
-
- AC_DEFINE(HAVE_ACOSF)
- AC_DEFINE(HAVE_ASINF)
- AC_DEFINE(HAVE_ATAN2F)
- AC_DEFINE(HAVE_ATANF)
- AC_DEFINE(HAVE_CEILF)
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_COPYSIGNF)
- AC_DEFINE(HAVE_COSF)
- AC_DEFINE(HAVE_COSHF)
- AC_DEFINE(HAVE_EXPF)
- AC_DEFINE(HAVE_FABSF)
- AC_DEFINE(HAVE_FLOORF)
- AC_DEFINE(HAVE_FMODF)
- AC_DEFINE(HAVE_FREXPF)
- AC_DEFINE(HAVE_LDEXPF)
- AC_DEFINE(HAVE_LOG10F)
- AC_DEFINE(HAVE_LOGF)
- AC_DEFINE(HAVE_MODFF)
- AC_DEFINE(HAVE_POWF)
- AC_DEFINE(HAVE_SINF)
- AC_DEFINE(HAVE_SINHF)
- AC_DEFINE(HAVE_SQRTF)
- AC_DEFINE(HAVE_TANF)
- AC_DEFINE(HAVE_TANHF)
-
- AC_DEFINE(HAVE_S_ISREG)
- AC_DEFINE(HAVE_S_IFREG)
- else
- GLIBCXX_CROSSCONFIG
- fi
-
- # At some point, we should differentiate between architectures
- # like x86, which have long double versions, and alpha/powerpc/etc.,
- # which don't. For the time being, punt.
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- AC_DEFINE(HAVE_ACOSL)
- AC_DEFINE(HAVE_ASINL)
- AC_DEFINE(HAVE_ATAN2L)
- AC_DEFINE(HAVE_ATANL)
- AC_DEFINE(HAVE_CEILL)
- AC_DEFINE(HAVE_COPYSIGNL)
- AC_DEFINE(HAVE_COSL)
- AC_DEFINE(HAVE_COSHL)
- AC_DEFINE(HAVE_EXPL)
- AC_DEFINE(HAVE_FABSL)
- AC_DEFINE(HAVE_FLOORL)
- AC_DEFINE(HAVE_FMODL)
- AC_DEFINE(HAVE_FREXPL)
- AC_DEFINE(HAVE_LDEXPL)
- AC_DEFINE(HAVE_LOG10L)
- AC_DEFINE(HAVE_LOGL)
- AC_DEFINE(HAVE_MODFL)
- AC_DEFINE(HAVE_POWL)
- AC_DEFINE(HAVE_SINCOSL)
- AC_DEFINE(HAVE_SINL)
- AC_DEFINE(HAVE_SINHL)
- AC_DEFINE(HAVE_SQRTL)
- AC_DEFINE(HAVE_TANL)
- AC_DEFINE(HAVE_TANHL)
- fi
-
- # Assume we have _Unwind_GetIPInfo for cross-compiles.
- AC_DEFINE(HAVE_GETIPINFO)
-
-fi
-
-# This depends on GLIBCXX CHECK_LINKER_FEATURES, but without it assumes no.
-GLIBCXX_ENABLE_SYMVERS([yes])
-GLIBCXX_ENABLE_VISIBILITY([yes])
-
-ac_ldbl_compat=no
-case "$target" in
- powerpc*-*-*gnu* | \
- sparc*-*-linux* | \
- s390*-*-linux* | \
- alpha*-*-linux*)
- AC_TRY_COMPILE(, [
-#if !defined __LONG_DOUBLE_128__ || (defined(__sparc__) && defined(__arch64__))
-#error no need for long double compatibility
-#endif
- ], [ac_ldbl_compat=yes], [ac_ldbl_compat=no])
- if test "$ac_ldbl_compat" = yes; then
- AC_DEFINE([_GLIBCXX_LONG_DOUBLE_COMPAT],1,
- [Define if compatibility should be provided for -mlong-double-64.])
- port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver"
- fi
-esac
-GLIBCXX_CONDITIONAL(GLIBCXX_LDBL_COMPAT, test $ac_ldbl_compat = yes)
-
-# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
-GLIBCXX_CONFIGURE_TESTSUITE
-
-# Propagate the target-specific source directories through the build chain.
-ATOMICITY_SRCDIR=config/${atomicity_dir}
-ATOMIC_WORD_SRCDIR=config/${atomic_word_dir}
-CPU_DEFINES_SRCDIR=config/${cpu_defines_dir}
-OS_INC_SRCDIR=config/${os_include_dir}
-ABI_TWEAKS_SRCDIR=config/${abi_tweaks_dir}
-AC_SUBST(ATOMICITY_SRCDIR)
-AC_SUBST(ATOMIC_WORD_SRCDIR)
-AC_SUBST(CPU_DEFINES_SRCDIR)
-AC_SUBST(ABI_TWEAKS_SRCDIR)
-AC_SUBST(OS_INC_SRCDIR)
-
-
-# Determine cross-compile flags and AM_CONDITIONALs.
-#AC_SUBST(GLIBCXX_IS_NATIVE)
-#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
-# from GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT:
-#AM_CONDITIONAL(GLIBCXX_BUILD_LIBMATH, test $need_libmath = yes)
-GLIBCXX_EVALUATE_CONDITIONALS
-
-AC_CACHE_SAVE
-
-if test ${multilib} = yes; then
- multilib_arg="--enable-multilib"
-else
- multilib_arg=
-fi
-
-# Export all the install information.
-GLIBCXX_EXPORT_INSTALL_INFO
-
-# Export all the include and flag information to Makefiles.
-GLIBCXX_EXPORT_INCLUDES
-GLIBCXX_EXPORT_FLAGS
-
-if ${CONFIG_SHELL-/bin/sh} ./libtool --tag CXX --features |
- grep "enable shared" > /dev/null;
-then
- LIBSUPCXX_PICFLAGS=-prefer-pic
-else
- LIBSUPCXX_PICFLAGS=
-fi
-AC_SUBST(LIBSUPCXX_PICFLAGS)
-
-dnl In autoconf 2.5x, AC_OUTPUT is replaced by four AC_CONFIG_* macros,
-dnl which can all be called multiple times as needed, plus one (different)
-dnl AC_OUTPUT macro. This one lists the files to be created:
-AC_CONFIG_FILES( \
- Makefile \
- AC_FOREACH([DIR], glibcxx_SUBDIRS, [DIR/Makefile ])
- )
-AC_CONFIG_FILES([scripts/testsuite_flags],[chmod +x scripts/testsuite_flags])
-
-dnl These commands are run at the end of config.status:
-AC_CONFIG_COMMANDS([default],
-[if test -n "$CONFIG_FILES"; then
- # Multilibs need MULTISUBDIR defined correctly in certain makefiles so
- # that multilib installs will end up installed in the correct place.
- # The testsuite needs it for multilib-aware ABI baseline files.
- # To work around this not being passed down from config-ml.in ->
- # srcdir/Makefile.am -> srcdir/{src,libsupc++,...}/Makefile.am, manually
- # append it here. Only modify Makefiles that have just been created.
- #
- # Also, get rid of this simulated-VPATH thing that automake does.
- cat > vpsed << \_EOF
-s!`test -f '$<' || echo '$(srcdir)/'`!!
-_EOF
- for i in $SUBDIRS; do
- case $CONFIG_FILES in
- *${i}/Makefile*)
- #echo "Adding MULTISUBDIR to $i/Makefile"
- sed -f vpsed $i/Makefile > tmp
- grep '^MULTISUBDIR =' Makefile >> tmp
- mv tmp $i/Makefile
- ;;
- esac
- done
- rm vpsed
- fi
- (cd include && ${MAKE-make})
-],
-[
-# Variables needed in config.status (file generation) which aren't already
-# passed by autoconf.
-SUBDIRS="$SUBDIRS"
-])
-
-dnl And this actually makes things happen:
-AC_OUTPUT
diff --git a/contrib/libstdc++/configure.host b/contrib/libstdc++/configure.host
deleted file mode 100644
index 441eb4cab371..000000000000
--- a/contrib/libstdc++/configure.host
+++ /dev/null
@@ -1,312 +0,0 @@
-# configure.host
-#
-# This shell script handles all host based configuration for libstdc++.
-# It sets various shell variables based on the the host and the
-# configuration options. You can modify this shell script without needing
-# to rerun autoconf/aclocal/etc. This file is "sourced" not executed.
-#
-# You should read docs/html/17_intro/porting.* to make sense of this file.
-#
-#
-# It uses the following shell variables as set by config.guess:
-# host The configuration host (full CPU-vendor-OS triplet)
-# host_cpu The configuration host CPU
-# host_os The configuration host OS
-#
-#
-# It sets the following shell variables:
-#
-# cpu_include_dir CPU-specific directory, defaults to cpu/generic
-# if cpu/host_cpu doesn't exist. This is not used
-# directly, but sets the default for others.
-#
-# os_include_dir OS-specific directory, defaults to os/generic.
-#
-# c_model the "C" header model, defaults to c_std.
-#
-# c_compatibility if "C" compatibility headers are necessary,
-# defaults to no.
-#
-# abi_baseline_pair directory name for ABI compat testing,
-# defaults to host_cpu-host_os (as per config.guess)
-#
-# abi_tweaks_dir location of cxxabi_tweaks.h,
-# defaults to cpu_include_dir
-#
-# atomicity_dir location of atomicity.h,
-# defaults to cpu_include_dir
-#
-# atomic_word_dir location of atomic_word.h
-# defaults to generic.
-#
-# cpu_defines_dir location of cpu_defines.h
-# defaults to generic.
-#
-# It possibly modifies the following variables:
-#
-# OPT_LDFLAGS extra flags to pass when linking the library, of
-# the form '-Wl,blah'
-# (defaults to empty in acinclude.m4)
-#
-# port_specific_symbol_files
-# whitespace-seperated list of files containing
-# additional symbols to export from the shared
-# library, when symbol versioning is in use
-#
-#
-# If the defaults will not work for your platform, you need only change the
-# variables that won't work, i.e., you do not need to explicitly set a
-# working variable to its default. Most hosts only need to change the two
-# *_include_dir variables.
-
-
-# DEFAULTS
-# 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_compatibility=no
-atomic_word_dir=cpu/generic
-atomicity_dir="cpu/generic"
-cpu_defines_dir="cpu/generic"
-try_cpu=generic
-abi_tweaks_dir="cpu/generic"
-
-# HOST-SPECIFIC OVERRIDES
-# Set any CPU-dependent bits.
-
-# Provide a way to funnel exotic flavors and prefixed/postfixed chip
-# variants into the established source config/cpu/* sub-directories.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-case "${host_cpu}" in
- alpha*)
- try_cpu=alpha
- ;;
- arm* | xscale | ep9312)
- try_cpu=arm
- ;;
- i[567]86 | x86_64)
- try_cpu=i486
- ;;
- hppa*)
- try_cpu=hppa
- ;;
- mips*)
- try_cpu=mips
- ;;
- m680[246]0)
- try_cpu=m68k
- ;;
- powerpc* | rs6000)
- try_cpu=powerpc
- ;;
- sparc* | ultrasparc)
- try_cpu=sparc
- ;;
- *)
- if test -d ${glibcxx_srcdir}/config/cpu/${host_cpu}; then
- try_cpu=${host_cpu}
- fi
-esac
-
-
-# Now look for the file(s) usually tied to a CPU model, and make
-# default choices for those if they haven't been explicitly set
-# already.
-cpu_include_dir=cpu/${try_cpu}
-
-
-# Set specific CPU overrides for cpu_defines_dir. Most can just use generic.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-case "${host_cpu}" in
- powerpc* | rs6000)
- cpu_defines_dir=cpu/powerpc
- ;;
-esac
-
-
-# Set specific CPU overrides for atomic_word_dir. Most can just use generic.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-case "${host_cpu}" in
- alpha*)
- atomic_word_dir=cpu/alpha
- ;;
- cris*)
- atomic_word_dir=cpu/cris
- ;;
- ia64)
- atomic_word_dir=cpu/ia64
- ;;
- powerpc* | rs6000)
- atomic_word_dir=cpu/powerpc
- ;;
- sparc* | ultrasparc)
- atomic_word_dir=cpu/sparc
- ;;
-esac
-
-
-# Set specific CPU overrides for atomicity_dir.
-# This can be over-ridden in GLIBCXX_ENABLE_ATOMIC_BUILTINS.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-if test -f ${glibcxx_srcdir}/config/${cpu_include_dir}/atomicity.h ; then
- atomicity_dir=$cpu_include_dir
-fi
-
-
-if test -f ${glibcxx_srcdir}/config/${cpu_include_dir}/cxxabi_tweaks.h ; then
- abi_tweaks_dir=$cpu_include_dir
-fi
-
-
-# Set any OS-dependent bits.
-# Set the os_include_dir.
-# Set c_model, c_compatibility here.
-# If atomic ops and/or numeric limits are OS-specific rather than
-# CPU-specifc, set those here too.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-case "${host_os}" in
- aix4.[3456789]* | aix[56789]*)
- # We set os_include_dir to os/aix only on AIX 4.3 and newer, but
- # os/aix/atomicity.h works on earlier versions of AIX 4.*, so we
- # explicitly duplicate the directory for 4.[<3].
- os_include_dir="os/aix"
- atomicity_dir="os/aix"
- atomic_word_dir="os/aix"
- OPT_LDFLAGS="-Wl,-G"
- ;;
- aix4.*)
- os_include_dir="os/generic"
- atomicity_dir="os/aix"
- atomic_word_dir="os/aix"
- ;;
- aix*)
- os_include_dir="os/generic"
- atomicity_dir="cpu/generic"
- ;;
- bsd*)
- # Plain BSD attempts to share FreeBSD files.
- os_include_dir="os/bsd/freebsd"
- ;;
- cygwin*)
- os_include_dir="os/newlib"
- ;;
- darwin | darwin[1-7] | darwin[1-7].*)
- # On Darwin, performance is improved if libstdc++ is single-module.
- # Up to at least 10.3.7, -flat_namespace is required for proper
- # treatment of coalesced symbols.
- OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module -Wl,-flat_namespace"
- os_include_dir="os/bsd/darwin"
- ;;
- darwin[89] | darwin[89].* | darwin[1-9][0-9]* )
- # On Darwin, performance is improved if libstdc++ is single-module,
- # and on 8+ compatibility is better if not -flat_namespace.
- OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module"
- os_include_dir="os/bsd/darwin"
- ;;
- *djgpp*) # leading * picks up "msdosdjgpp"
- os_include_dir="os/djgpp"
- ;;
- freebsd*)
- os_include_dir="os/bsd/freebsd"
- ;;
- gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
- if [ "$uclibc" = "yes" ]; then
- os_include_dir="os/uclibc"
- else
- os_include_dir="os/gnu-linux"
- fi
- ;;
- hpux*)
- os_include_dir="os/hpux"
- ;;
- irix[1-6] | irix[1-5].* | irix6.[0-4]*)
- # This is known to work on at least IRIX 5.2 and 6.3.
- os_include_dir="os/irix/irix5.2"
- atomicity_dir=os/irix
- atomic_word_dir=os/irix
- ;;
- irix6.5*)
- os_include_dir="os/irix/irix6.5"
- atomicity_dir=os/irix
- atomic_word_dir=os/irix
- ;;
- mingw32*)
- os_include_dir="os/mingw32"
- ;;
- netbsd*)
- os_include_dir="os/bsd/netbsd"
- ;;
- qnx6.[12]*)
- os_include_dir="os/qnx/qnx6.1"
- c_model=c
- ;;
- solaris2)
- # This too-vague configuration does not provide enough information
- # to select a ctype include, and thus os_include_dir is a crap shoot.
- echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
- exit 1
- ;;
- solaris2.5 | solaris2.5.[0-9])
- os_include_dir="os/solaris/solaris2.5"
- ;;
- solaris2.6)
- os_include_dir="os/solaris/solaris2.6"
- ;;
- solaris2.[789] | solaris2.1[0-9])
- os_include_dir="os/solaris/solaris2.7"
- ;;
- tpf)
- os_include_dir="os/tpf"
- ;;
- vxworks)
- os_include_dir="os/vxworks"
- ;;
- windiss*)
- os_include_dir="os/windiss"
- ;;
- *)
- os_include_dir="os/generic"
- ;;
-esac
-
-
-# Set any OS-dependent and CPU-dependent bits.
-# THIS TABLE IS SORTED. KEEP IT THAT WAY.
-case "${host}" in
- *-*-linux*)
- case "${host_cpu}" in
- i[567]86)
- abi_baseline_pair=i486-linux-gnu
- ;;
- powerpc64)
- abi_baseline_pair=powerpc64-linux-gnu
- ;;
- s390)
- abi_baseline_pair=s390-linux-gnu
- ;;
- s390x)
- abi_baseline_pair=s390x-linux-gnu
- ;;
- x86_64)
- abi_baseline_pair=x86_64-linux-gnu
- ;;
- *)
- if test -d ${glibcxx_srcdir}/config/abi/post/${try_cpu}-linux-gnu; then
- abi_baseline_pair=${try_cpu}-linux-gnu
- fi
- esac
- ;;
- mips*-*-*)
- case "${host_os}" in
- gnu* | linux* | irix*)
- ;;
- *)
- atomicity_dir="cpu/generic"
- ;;
- esac
- ;;
- powerpc*-*-darwin*)
- port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver"
- ;;
-esac
diff --git a/contrib/libstdc++/crossconfig.m4 b/contrib/libstdc++/crossconfig.m4
deleted file mode 100644
index 3d1d356510a2..000000000000
--- a/contrib/libstdc++/crossconfig.m4
+++ /dev/null
@@ -1,418 +0,0 @@
-dnl
-dnl This file contains details for non-native builds.
-dnl
-
-AC_DEFUN([GLIBCXX_CROSSCONFIG],[
-# Base decisions on target environment.
-case "${host}" in
- arm*-*-symbianelf*)
- # This is a freestanding configuration; there is nothing to do here.
- ;;
-
- *-darwin*)
- # Darwin versions vary, but the linker should work in a cross environment,
- # so we just check for all the features here.
- # Check for available headers.
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h machine/endian.h \
- machine/param.h sys/machine.h fp.h locale.h float.h inttypes.h gconv.h \
- sys/types.h])
-
- # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
- GLIBCXX_CHECK_MATH_SUPPORT
- GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- GLIBCXX_CHECK_STDLIB_SUPPORT
-
- # For showmanyc_helper().
- AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
- GLIBCXX_CHECK_POLL
- GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-
- # For xsputn_2().
- AC_CHECK_HEADERS(sys/uio.h)
- GLIBCXX_CHECK_WRITEV
-
- AC_DEFINE(HAVE_LC_MESSAGES)
-
- AC_TRY_COMPILE(
- [#include <setjmp.h>],
- [sigjmp_buf env;
- while (! sigsetjmp (env, 1))
- siglongjmp (env, 1);
- ],
- [AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available.])])
-
- AC_DEFINE(HAVE_MMAP)
- ;;
-
- *djgpp)
- AC_CHECK_HEADERS([float.h ieeefp.h inttypes.h locale.h \
- memory.h stdint.h stdlib.h strings.h string.h unistd.h \
- wchar.h wctype.h machine/endian.h sys/ioctl.h sys/param.h \
- sys/resource.h sys/stat.h sys/time.h sys/types.h sys/uio.h])
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_MATH_SUPPORT
- GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- GLIBCXX_CHECK_STDLIB_SUPPORT
- GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
- AC_DEFINE(HAVE_WRITEV)
- ;;
-
- *-freebsd*)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h locale.h float.h inttypes.h sys/resource.h sys/stat.h \
- sys/time.h unistd.h])
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- AC_DEFINE(HAVE_LC_MESSAGES)
- AC_DEFINE(HAVE_GETPAGESIZE)
- AC_DEFINE(HAVE_SETENV)
- AC_DEFINE(HAVE_SIGSETJMP)
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_COPYSIGNF)
- AC_DEFINE(HAVE_FINITEF)
- AC_DEFINE(HAVE_FINITE)
- AC_DEFINE(HAVE_FREXPF)
- AC_DEFINE(HAVE_HYPOT)
- AC_DEFINE(HAVE_HYPOTF)
- AC_DEFINE(HAVE_ISINF)
- AC_DEFINE(HAVE_ISNAN)
- AC_DEFINE(HAVE_ISNANF)
-
- AC_DEFINE(HAVE_MMAP)
- AC_DEFINE(HAVE_ACOSF)
- AC_DEFINE(HAVE_ASINF)
- AC_DEFINE(HAVE_ATAN2F)
- AC_DEFINE(HAVE_ATANF)
- AC_DEFINE(HAVE_CEILF)
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_COPYSIGNF)
- AC_DEFINE(HAVE_COSF)
- AC_DEFINE(HAVE_COSHF)
- AC_DEFINE(HAVE_EXPF)
- AC_DEFINE(HAVE_FABSF)
- AC_DEFINE(HAVE_FLOORF)
- AC_DEFINE(HAVE_FMODF)
- AC_DEFINE(HAVE_FREXPF)
- AC_DEFINE(HAVE_LDEXPF)
- AC_DEFINE(HAVE_LOG10F)
- AC_DEFINE(HAVE_LOGF)
- AC_DEFINE(HAVE_MODFF)
- AC_DEFINE(HAVE_POWF)
- AC_DEFINE(HAVE_SINF)
- AC_DEFINE(HAVE_SINHF)
- AC_DEFINE(HAVE_SQRTF)
- AC_DEFINE(HAVE_TANF)
- AC_DEFINE(HAVE_TANHF)
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- AC_DEFINE(HAVE_FINITEL)
- AC_DEFINE(HAVE_ISINFL)
- AC_DEFINE(HAVE_ISNANL)
- fi
- ;;
- *-hpux*)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h locale.h float.h inttypes.h])
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_COPYSIGNF)
- AC_DEFINE(HAVE_FREXPF)
- AC_DEFINE(HAVE_HYPOT)
- case "$target" in
- *-hpux10*)
- AC_DEFINE(HAVE_FINITE)
- AC_DEFINE(HAVE_FINITEF)
- AC_DEFINE(HAVE_ISINF)
- AC_DEFINE(HAVE_ISINFF)
- AC_DEFINE(HAVE_ISNAN)
- AC_DEFINE(HAVE_ISNANF)
- ;;
- esac
- ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
- GLIBCXX_CHECK_COMPILER_FEATURES
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_MATH_SUPPORT
- GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- GLIBCXX_CHECK_STDLIB_SUPPORT
-
- # For LFS.
- AC_DEFINE(HAVE_INT64_T)
- GLIBCXX_CHECK_LFS
-
- # For showmanyc_helper().
- AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
- GLIBCXX_CHECK_POLL
- GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-
- # For xsputn_2().
- AC_CHECK_HEADERS(sys/uio.h)
- GLIBCXX_CHECK_WRITEV
- ;;
- *-mingw32*)
- AC_CHECK_HEADERS([sys/types.h locale.h float.h])
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- ;;
- *-netbsd*)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
- fp.h locale.h float.h inttypes.h])
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_COPYSIGNF)
- AC_DEFINE(HAVE_FINITEF)
- AC_DEFINE(HAVE_FINITE)
- AC_DEFINE(HAVE_FREXPF)
- AC_DEFINE(HAVE_HYPOTF)
- AC_DEFINE(HAVE_ISINF)
- AC_DEFINE(HAVE_ISINFF)
- AC_DEFINE(HAVE_ISNAN)
- AC_DEFINE(HAVE_ISNANF)
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- AC_DEFINE(HAVE_FINITEL)
- AC_DEFINE(HAVE_ISINFL)
- AC_DEFINE(HAVE_ISNANL)
- fi
- ;;
- *-netware)
- AC_CHECK_HEADERS([nan.h ieeefp.h sys/isa_defs.h sys/machine.h \
- sys/types.h locale.h float.h inttypes.h])
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- AC_DEFINE(HAVE_HYPOT)
- AC_DEFINE(HAVE_ISINF)
- AC_DEFINE(HAVE_ISNAN)
-
- # For showmanyc_helper().
- AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
- GLIBCXX_CHECK_POLL
- GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-
- # For xsputn_2().
- AC_CHECK_HEADERS(sys/uio.h)
- GLIBCXX_CHECK_WRITEV
- ;;
- *-qnx6.1* | *-qnx6.2*)
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- AC_DEFINE(HAVE_COSF)
- AC_DEFINE(HAVE_COSL)
- AC_DEFINE(HAVE_COSHF)
- AC_DEFINE(HAVE_COSHL)
- AC_DEFINE(HAVE_LOGF)
- AC_DEFINE(HAVE_LOGL)
- AC_DEFINE(HAVE_LOG10F)
- AC_DEFINE(HAVE_LOG10L)
- AC_DEFINE(HAVE_SINF)
- AC_DEFINE(HAVE_SINL)
- AC_DEFINE(HAVE_SINHF)
- AC_DEFINE(HAVE_SINHL)
- ;;
- *-solaris*)
- case "$target" in
- # *-solaris2.5)
- # os_include_dir="os/solaris/solaris2.5"
- # ;;
- # *-solaris2.6)
- # os_include_dir="os/solaris/solaris2.6"
- # ;;
- *-solaris2.7 | *-solaris2.8 | *-solaris2.9 | *-solaris2.10)
- GLIBCXX_CHECK_LINKER_FEATURES
- AC_DEFINE(HAVE_GETPAGESIZE)
- AC_DEFINE(HAVE_SIGSETJMP)
- AC_DEFINE(HAVE_MBSTATE_T)
- AC_DEFINE(HAVE_POLL)
- AC_DEFINE(HAVE_S_ISREG)
- AC_DEFINE(HAVE_LC_MESSAGES)
- AC_DEFINE(HAVE_FINITE)
- AC_DEFINE(HAVE_FPCLASS)
- AC_DEFINE(HAVE_GETPAGESIZE)
- AC_DEFINE(HAVE_NL_LANGINFO)
- AC_DEFINE(HAVE_ICONV)
- AC_DEFINE(HAVE_ICONV_CLOSE)
- AC_DEFINE(HAVE_ICONV_OPEN)
- # Look for the pieces required for wchar_t support in order to
- # get all the right HAVE_* macros defined.
- GLIBCXX_CHECK_ICONV_SUPPORT
- # All of the dependencies for wide character support are here, so
- # turn it on. This requires some syncronization with the
- # GLIBCXX_CHECK_ICONV_SUPPORT in acinclude.m4
- AC_DEFINE(_GLIBCXX_USE_WCHAR_T)
- # Are these tested for even when cross?
- AC_DEFINE(HAVE_FLOAT_H)
- AC_DEFINE(HAVE_IEEEFP_H)
- AC_DEFINE(HAVE_INTTYPES_H)
- AC_DEFINE(HAVE_LOCALE_H)
- AC_DEFINE(HAVE_NAN_H)
- AC_DEFINE(HAVE_SYS_FILIO_H)
- AC_DEFINE(HAVE_SYS_IOCTL_H)
- AC_DEFINE(HAVE_SYS_ISA_DEFS_H)
- AC_DEFINE(HAVE_SYS_RESOURCE_H)
- AC_DEFINE(HAVE_SYS_TIME_H)
- AC_DEFINE(HAVE_SYS_TYPES_H)
- AC_DEFINE(HAVE_UNISTD_H)
- AC_DEFINE(HAVE_WCHAR_H)
- AC_DEFINE(HAVE_WCTYPE_H)
- AC_DEFINE(HAVE_LIBM)
- ;;
- esac
- case "$target" in
- sparc*-*-solaris2.8 | sparc*-*-solaris2.9 | sparc*-*-solaris2.10)
- # I saw these on sparc-sun-solaris2.8, but not 2.6, and not on i386
- AC_DEFINE(HAVE___BUILTIN_ABS)
- AC_DEFINE(HAVE___BUILTIN_LABS)
- AC_DEFINE(HAVE___BUILTIN_FABS)
- AC_DEFINE(HAVE___BUILTIN_FABSF)
- AC_DEFINE(HAVE___BUILTIN_FABSL)
- AC_DEFINE(HAVE___BUILTIN_COS)
- AC_DEFINE(HAVE___BUILTIN_COSF)
- AC_DEFINE(HAVE___BUILTIN_SIN)
- AC_DEFINE(HAVE___BUILTIN_SINF)
- ;;
- esac
- case "$target" in
- *-*-solaris2.10)
- # These two C99 functions are present only in Solaris >= 10
- AC_DEFINE(HAVE_STRTOF)
- AC_DEFINE(HAVE_STRTOLD)
- ;;
- esac
- AC_DEFINE(HAVE_MMAP)
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_ISNAN)
- AC_DEFINE(HAVE_ISNANF)
- AC_DEFINE(HAVE_MODFF)
- AC_DEFINE(HAVE_HYPOT)
- ;;
- *-tpf)
- AC_CHECK_HEADERS([nan.h endian.h machine/endian.h \
- sys/param.h sys/types.h locale.h float.h inttypes.h])
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
- GLIBCXX_CHECK_LINKER_FEATURES
- GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
- GLIBCXX_CHECK_ICONV_SUPPORT
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_COPYSIGNF)
- AC_DEFINE(HAVE_FINITE)
- AC_DEFINE(HAVE_FINITEF)
- AC_DEFINE(HAVE_FREXPF)
- AC_DEFINE(HAVE_HYPOTF)
- AC_DEFINE(HAVE_ISINF)
- AC_DEFINE(HAVE_ISINFF)
- AC_DEFINE(HAVE_ISNAN)
- AC_DEFINE(HAVE_ISNANF)
- AC_DEFINE(HAVE_SINCOS)
- AC_DEFINE(HAVE_SINCOSF)
- if test x"long_double_math_on_this_cpu" = x"yes"; then
- AC_DEFINE(HAVE_FINITEL)
- AC_DEFINE(HAVE_HYPOTL)
- AC_DEFINE(HAVE_ISINFL)
- AC_DEFINE(HAVE_ISNANL)
- fi
- ;;
- *-vxworks)
- AC_DEFINE(HAVE_MMAP)
- AC_DEFINE(HAVE_ACOSF)
- AC_DEFINE(HAVE_ASINF)
- AC_DEFINE(HAVE_ATAN2F)
- AC_DEFINE(HAVE_ATANF)
- AC_DEFINE(HAVE_CEILF)
- AC_DEFINE(HAVE_COSF)
- AC_DEFINE(HAVE_COSHF)
- AC_DEFINE(HAVE_EXPF)
- AC_DEFINE(HAVE_FABSF)
- AC_DEFINE(HAVE_FLOORF)
- AC_DEFINE(HAVE_FMODF)
- AC_DEFINE(HAVE_HYPOT)
- AC_DEFINE(HAVE_LOG10F)
- AC_DEFINE(HAVE_LOGF)
- AC_DEFINE(HAVE_POWF)
- AC_DEFINE(HAVE_SINF)
- AC_DEFINE(HAVE_SINHF)
- AC_DEFINE(HAVE_SQRTF)
- AC_DEFINE(HAVE_TANF)
- AC_DEFINE(HAVE_TANHF)
- ;;
- *-windiss*)
- AC_DEFINE(HAVE_ACOSF)
- AC_DEFINE(HAVE_ACOSL)
- AC_DEFINE(HAVE_ASINF)
- AC_DEFINE(HAVE_ASINL)
- AC_DEFINE(HAVE_ATAN2F)
- AC_DEFINE(HAVE_ATAN2L)
- AC_DEFINE(HAVE_ATANF)
- AC_DEFINE(HAVE_ATANL)
- AC_DEFINE(HAVE_CEILF)
- AC_DEFINE(HAVE_CEILL)
- AC_DEFINE(HAVE_COPYSIGN)
- AC_DEFINE(HAVE_COPYSIGNF)
- AC_DEFINE(HAVE_COSF)
- AC_DEFINE(HAVE_COSL)
- AC_DEFINE(HAVE_COSHF)
- AC_DEFINE(HAVE_COSHL)
- AC_DEFINE(HAVE_EXPF)
- AC_DEFINE(HAVE_EXPL)
- AC_DEFINE(HAVE_FABSF)
- AC_DEFINE(HAVE_FABSL)
- AC_DEFINE(HAVE_FLOORF)
- AC_DEFINE(HAVE_FLOORL)
- AC_DEFINE(HAVE_FMODF)
- AC_DEFINE(HAVE_FMODL)
- AC_DEFINE(HAVE_FREXPF)
- AC_DEFINE(HAVE_FREXPL)
- AC_DEFINE(HAVE_LDEXPF)
- AC_DEFINE(HAVE_LDEXPL)
- AC_DEFINE(HAVE_LOG10F)
- AC_DEFINE(HAVE_LOG10L)
- AC_DEFINE(HAVE_LOGF)
- AC_DEFINE(HAVE_MODFF)
- AC_DEFINE(HAVE_MODFL)
- AC_DEFINE(HAVE_POWF)
- AC_DEFINE(HAVE_POWL)
- AC_DEFINE(HAVE_SINF)
- AC_DEFINE(HAVE_SINL)
- AC_DEFINE(HAVE_SINHF)
- AC_DEFINE(HAVE_SINHL)
- AC_DEFINE(HAVE_SQRTF)
- AC_DEFINE(HAVE_SQRTL)
- AC_DEFINE(HAVE_TANF)
- AC_DEFINE(HAVE_TANL)
- AC_DEFINE(HAVE_TANHF)
- AC_DEFINE(HAVE_TANHL)
- ;;
- *)
- AC_MSG_ERROR([No support for this host/target combination.])
- ;;
-esac
-])
diff --git a/contrib/libstdc++/fragment.am b/contrib/libstdc++/fragment.am
deleted file mode 100644
index b20897276846..000000000000
--- a/contrib/libstdc++/fragment.am
+++ /dev/null
@@ -1,25 +0,0 @@
-
-## This is used in all Makefile.am's except for libmath's. Set defaults here.
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-
-MAINT_CHARSET = latin1
-
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-PWD_COMMAND = $${PWDCMD-pwd}
-STAMP = echo timestamp >
-
-toolexecdir = $(glibcxx_toolexecdir)
-toolexeclibdir = $(glibcxx_toolexeclibdir)
-
-# These bits are all figured out from configure. Look in acinclude.m4
-# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
-CONFIG_CXXFLAGS = \
- $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS)
-WARN_CXXFLAGS = \
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
-# -I/-D flags to pass when compiling.
-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-
diff --git a/contrib/libstdc++/include/Makefile.am b/contrib/libstdc++/include/Makefile.am
deleted file mode 100644
index 6ba5a5491239..000000000000
--- a/contrib/libstdc++/include/Makefile.am
+++ /dev/null
@@ -1,1211 +0,0 @@
-## Makefile for the include subdirectory of the GNU C++ Standard library.
-##
-## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
-## Free Software Foundation, Inc.
-##
-## This file is part of the libstdc++ version 3 distribution.
-## Process this file with automake to produce Makefile.in.
-
-## 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.
-
-include $(top_srcdir)/fragment.am
-
-# Standard C++ includes.
-std_srcdir = ${glibcxx_srcdir}/include/std
-std_builddir = .
-std_headers = \
- ${std_srcdir}/std_algorithm.h \
- ${std_srcdir}/std_bitset.h \
- ${std_srcdir}/std_complex.h \
- ${std_srcdir}/std_deque.h \
- ${std_srcdir}/std_fstream.h \
- ${std_srcdir}/std_functional.h \
- ${std_srcdir}/std_iomanip.h \
- ${std_srcdir}/std_ios.h \
- ${std_srcdir}/std_iosfwd.h \
- ${std_srcdir}/std_iostream.h \
- ${std_srcdir}/std_istream.h \
- ${std_srcdir}/std_iterator.h \
- ${std_srcdir}/std_limits.h \
- ${std_srcdir}/std_list.h \
- ${std_srcdir}/std_locale.h \
- ${std_srcdir}/std_map.h \
- ${std_srcdir}/std_memory.h \
- ${std_srcdir}/std_numeric.h \
- ${std_srcdir}/std_ostream.h \
- ${std_srcdir}/std_queue.h \
- ${std_srcdir}/std_set.h \
- ${std_srcdir}/std_sstream.h \
- ${std_srcdir}/std_stack.h \
- ${std_srcdir}/std_stdexcept.h \
- ${std_srcdir}/std_streambuf.h \
- ${std_srcdir}/std_string.h \
- ${std_srcdir}/std_utility.h \
- ${std_srcdir}/std_valarray.h \
- ${std_srcdir}/std_vector.h
-# Renamed at build time.
-std_headers_rename = \
- algorithm \
- bitset \
- complex \
- deque \
- fstream \
- functional \
- iomanip \
- ios \
- iosfwd \
- iostream \
- istream \
- iterator \
- limits \
- list \
- locale \
- map \
- memory \
- numeric \
- ostream \
- queue \
- set \
- sstream \
- stack \
- stdexcept \
- streambuf \
- string \
- utility \
- valarray \
- vector
-
-bits_srcdir = ${glibcxx_srcdir}/include/bits
-bits_builddir = ./bits
-bits_headers = \
- ${bits_srcdir}/allocator.h \
- ${bits_srcdir}/basic_ios.h \
- ${bits_srcdir}/basic_ios.tcc \
- ${bits_srcdir}/basic_string.h \
- ${bits_srcdir}/basic_string.tcc \
- ${bits_srcdir}/boost_concept_check.h \
- ${bits_srcdir}/char_traits.h \
- ${bits_srcdir}/codecvt.h \
- ${bits_srcdir}/concept_check.h \
- ${bits_srcdir}/cpp_type_traits.h \
- ${bits_srcdir}/deque.tcc \
- ${bits_srcdir}/fstream.tcc \
- ${bits_srcdir}/functexcept.h \
- ${bits_srcdir}/gslice.h \
- ${bits_srcdir}/gslice_array.h \
- ${bits_srcdir}/indirect_array.h \
- ${bits_srcdir}/ios_base.h \
- ${bits_srcdir}/istream.tcc \
- ${bits_srcdir}/list.tcc \
- ${bits_srcdir}/locale_classes.h \
- ${bits_srcdir}/locale_facets.h \
- ${bits_srcdir}/locale_facets.tcc \
- ${bits_srcdir}/localefwd.h \
- ${bits_srcdir}/mask_array.h \
- ${bits_srcdir}/ostream.tcc \
- ${bits_srcdir}/ostream_insert.h \
- ${bits_srcdir}/postypes.h \
- ${bits_srcdir}/stream_iterator.h \
- ${bits_srcdir}/streambuf_iterator.h \
- ${bits_srcdir}/slice_array.h \
- ${bits_srcdir}/sstream.tcc \
- ${bits_srcdir}/stl_algo.h \
- ${bits_srcdir}/stl_algobase.h \
- ${bits_srcdir}/stl_bvector.h \
- ${bits_srcdir}/stl_construct.h \
- ${bits_srcdir}/stl_deque.h \
- ${bits_srcdir}/stl_function.h \
- ${bits_srcdir}/stl_heap.h \
- ${bits_srcdir}/stl_iterator.h \
- ${bits_srcdir}/stl_iterator_base_funcs.h \
- ${bits_srcdir}/stl_iterator_base_types.h \
- ${bits_srcdir}/stl_list.h \
- ${bits_srcdir}/stl_map.h \
- ${bits_srcdir}/stl_multimap.h \
- ${bits_srcdir}/stl_multiset.h \
- ${bits_srcdir}/stl_numeric.h \
- ${bits_srcdir}/stl_pair.h \
- ${bits_srcdir}/stl_queue.h \
- ${bits_srcdir}/stl_raw_storage_iter.h \
- ${bits_srcdir}/stl_relops.h \
- ${bits_srcdir}/stl_set.h \
- ${bits_srcdir}/stl_stack.h \
- ${bits_srcdir}/stl_tempbuf.h \
- ${bits_srcdir}/stl_tree.h \
- ${bits_srcdir}/stl_uninitialized.h \
- ${bits_srcdir}/stl_vector.h \
- ${bits_srcdir}/streambuf.tcc \
- ${bits_srcdir}/stringfwd.h \
- ${bits_srcdir}/valarray_array.h \
- ${bits_srcdir}/valarray_array.tcc \
- ${bits_srcdir}/valarray_before.h \
- ${bits_srcdir}/valarray_after.h \
- ${bits_srcdir}/vector.tcc
-
-backward_srcdir = ${glibcxx_srcdir}/include/backward
-backward_builddir = ./backward
-backward_headers = \
- ${backward_srcdir}/complex.h \
- ${backward_srcdir}/iomanip.h \
- ${backward_srcdir}/istream.h \
- ${backward_srcdir}/ostream.h \
- ${backward_srcdir}/stream.h \
- ${backward_srcdir}/streambuf.h \
- ${backward_srcdir}/algo.h \
- ${backward_srcdir}/algobase.h \
- ${backward_srcdir}/alloc.h \
- ${backward_srcdir}/bvector.h \
- ${backward_srcdir}/defalloc.h \
- ${backward_srcdir}/deque.h \
- ${backward_srcdir}/function.h \
- ${backward_srcdir}/hash_map.h \
- ${backward_srcdir}/hash_set.h \
- ${backward_srcdir}/hashtable.h \
- ${backward_srcdir}/heap.h \
- ${backward_srcdir}/iostream.h \
- ${backward_srcdir}/iterator.h \
- ${backward_srcdir}/list.h \
- ${backward_srcdir}/map.h \
- ${backward_srcdir}/multimap.h \
- ${backward_srcdir}/new.h \
- ${backward_srcdir}/multiset.h \
- ${backward_srcdir}/pair.h \
- ${backward_srcdir}/queue.h \
- ${backward_srcdir}/rope.h \
- ${backward_srcdir}/set.h \
- ${backward_srcdir}/slist.h \
- ${backward_srcdir}/stack.h \
- ${backward_srcdir}/tempbuf.h \
- ${backward_srcdir}/tree.h \
- ${backward_srcdir}/vector.h \
- ${backward_srcdir}/fstream.h \
- ${backward_srcdir}/strstream \
- ${backward_srcdir}/backward_warning.h
-
-
-pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds
-pb_builddir = ./ext/pb_ds
-
-pb_subdirs = \
- ${pb_builddir}/detail \
- ${pb_builddir}/detail/pairing_heap_ \
- ${pb_builddir}/detail/splay_tree_ \
- ${pb_builddir}/detail/list_update_map_ \
- ${pb_builddir}/detail/basic_tree_policy \
- ${pb_builddir}/detail/trie_policy \
- ${pb_builddir}/detail/gp_hash_table_map_ \
- ${pb_builddir}/detail/tree_policy \
- ${pb_builddir}/detail/binomial_heap_base_ \
- ${pb_builddir}/detail/resize_policy \
- ${pb_builddir}/detail/bin_search_tree_ \
- ${pb_builddir}/detail/binomial_heap_ \
- ${pb_builddir}/detail/thin_heap_ \
- ${pb_builddir}/detail/pat_trie_ \
- ${pb_builddir}/detail/cc_hash_table_map_ \
- ${pb_builddir}/detail/rc_binomial_heap_ \
- ${pb_builddir}/detail/left_child_next_sibling_heap_ \
- ${pb_builddir}/detail/unordered_iterator \
- ${pb_builddir}/detail/binary_heap_ \
- ${pb_builddir}/detail/ov_tree_map_ \
- ${pb_builddir}/detail/hash_fn \
- ${pb_builddir}/detail/eq_fn \
- ${pb_builddir}/detail/rb_tree_map_ \
- ${pb_builddir}/detail/list_update_policy
-
-# The ability for make and the underlying host to deal with this
-# unweildy list as one entire entity is not a sure thing, and may
-# cause build errors. Thus, split one list into many smaller
-# mini-lists, with the maximum size per mini-list of no more than 42.
-
-pb_headers1 = \
- ${pb_srcdir}/assoc_container.hpp \
- ${pb_srcdir}/exception.hpp \
- ${pb_srcdir}/hash_policy.hpp \
- ${pb_srcdir}/list_update_policy.hpp \
- ${pb_srcdir}/priority_queue.hpp \
- ${pb_srcdir}/tag_and_trait.hpp \
- ${pb_srcdir}/tree_policy.hpp \
- ${pb_srcdir}/trie_policy.hpp \
- ${pb_srcdir}/detail/basic_tree_policy/basic_tree_policy_base.hpp \
- ${pb_srcdir}/detail/basic_tree_policy/null_node_metadata.hpp \
- ${pb_srcdir}/detail/basic_tree_policy/traits.hpp \
- ${pb_srcdir}/detail/basic_types.hpp \
- ${pb_srcdir}/detail/binary_heap_/binary_heap_.hpp \
- ${pb_srcdir}/detail/binary_heap_/const_iterator.hpp \
- ${pb_srcdir}/detail/binary_heap_/const_point_iterator.hpp \
- ${pb_srcdir}/detail/binary_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/entry_cmp.hpp \
- ${pb_srcdir}/detail/binary_heap_/entry_pred.hpp \
- ${pb_srcdir}/detail/binary_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/resize_policy.hpp \
- ${pb_srcdir}/detail/binary_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/binomial_heap_base_.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_/binomial_heap_.hpp \
- ${pb_srcdir}/detail/binomial_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/bin_search_tree_.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
-
-pb_headers2 = \
- ${pb_srcdir}/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/node_iterators.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/point_iterators.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/r_erase_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/rotate_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/traits.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/cc_ht_map_.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/cmp_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/entry_list_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/resize_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/size_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/standard_policies.hpp
-
-pb_headers3 = \
- ${pb_srcdir}/detail/cc_hash_table_map_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/cond_dealtor.hpp \
- ${pb_srcdir}/detail/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/container_base_dispatch.hpp \
- ${pb_srcdir}/detail/eq_fn/eq_by_less.hpp \
- ${pb_srcdir}/detail/eq_fn/hash_eq_fn.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/gp_ht_map_.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/iterator_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/resize_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/standard_policies.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/hash_fn/direct_mask_range_hashing_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/direct_mod_range_hashing_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/linear_probe_fn_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/mask_based_range_hashing.hpp \
- ${pb_srcdir}/detail/hash_fn/mod_based_range_hashing.hpp \
- ${pb_srcdir}/detail/hash_fn/probe_fn_base.hpp \
- ${pb_srcdir}/detail/hash_fn/quadratic_probe_fn_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/ranged_hash_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/ranged_probe_fn.hpp
-
-pb_headers4 = \
- ${pb_srcdir}/detail/hash_fn/sample_probe_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/sample_ranged_hash_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/sample_ranged_probe_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/sample_range_hashing.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/const_iterator.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/const_point_iterator.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/node.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/null_metadata.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/constructor_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/entry_metadata_base.hpp \
- ${pb_srcdir}/detail/list_update_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/lu_map_.hpp \
- ${pb_srcdir}/detail/list_update_map_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_policy/counter_lu_metadata.hpp \
- ${pb_srcdir}/detail/list_update_policy/counter_lu_policy_imp.hpp \
- ${pb_srcdir}/detail/list_update_policy/mtf_lu_policy_imp.hpp \
- ${pb_srcdir}/detail/list_update_policy/sample_update_policy.hpp \
- ${pb_srcdir}/detail/map_debug_base.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/cond_dtor.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/node_iterators.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/ov_tree_map_.hpp
-
-pb_headers5 = \
- ${pb_srcdir}/detail/ov_tree_map_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/traits.hpp \
- ${pb_srcdir}/detail/pairing_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/pairing_heap_.hpp \
- ${pb_srcdir}/detail/pairing_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/child_iterator.hpp \
- ${pb_srcdir}/detail/pat_trie_/cond_dtor_entry_dealtor.hpp \
- ${pb_srcdir}/detail/pat_trie_/const_child_iterator.hpp \
- ${pb_srcdir}/detail/pat_trie_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/head.hpp \
- ${pb_srcdir}/detail/pat_trie_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/insert_join_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/internal_node.hpp \
- ${pb_srcdir}/detail/pat_trie_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/leaf.hpp \
- ${pb_srcdir}/detail/pat_trie_/node_base.hpp \
- ${pb_srcdir}/detail/pat_trie_/node_iterators.hpp \
- ${pb_srcdir}/detail/pat_trie_/node_metadata_base.hpp \
- ${pb_srcdir}/detail/pat_trie_/pat_trie_.hpp \
- ${pb_srcdir}/detail/pat_trie_/point_iterators.hpp \
- ${pb_srcdir}/detail/pat_trie_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/r_erase_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/rotate_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/split_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/split_join_branch_bag.hpp \
- ${pb_srcdir}/detail/pat_trie_/synth_e_access_traits.hpp \
- ${pb_srcdir}/detail/pat_trie_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/traits.hpp \
- ${pb_srcdir}/detail/pat_trie_/update_fn_imps.hpp \
- ${pb_srcdir}/detail/priority_queue_base_dispatch.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/debug_fn_imps.hpp
-
-pb_headers6 = \
- ${pb_srcdir}/detail/rb_tree_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/node.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/rb_tree_.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/traits.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/rc_binomial_heap_.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/rc.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_exponential_size_policy_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_prime_size_policy_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_standard_resize_policy_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/sample_resize_policy.hpp \
- ${pb_srcdir}/detail/resize_policy/sample_resize_trigger.hpp \
- ${pb_srcdir}/detail/resize_policy/sample_size_policy.hpp \
- ${pb_srcdir}/detail/splay_tree_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/node.hpp \
- ${pb_srcdir}/detail/splay_tree_/splay_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/splay_tree_.hpp \
- ${pb_srcdir}/detail/splay_tree_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/traits.hpp \
- ${pb_srcdir}/detail/standard_policies.hpp \
- ${pb_srcdir}/detail/thin_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/erase_fn_imps.hpp
-
-pb_headers7 = \
- ${pb_srcdir}/detail/thin_heap_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/thin_heap_.hpp \
- ${pb_srcdir}/detail/thin_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/tree_policy/node_metadata_selector.hpp \
- ${pb_srcdir}/detail/tree_policy/null_node_update_imp.hpp \
- ${pb_srcdir}/detail/tree_policy/order_statistics_imp.hpp \
- ${pb_srcdir}/detail/tree_policy/sample_tree_node_update.hpp \
- ${pb_srcdir}/detail/tree_trace_base.hpp \
- ${pb_srcdir}/detail/trie_policy/node_metadata_selector.hpp \
- ${pb_srcdir}/detail/trie_policy/null_node_update_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/order_statistics_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/prefix_search_node_update_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/sample_trie_e_access_traits.hpp \
- ${pb_srcdir}/detail/trie_policy/sample_trie_node_update.hpp \
- ${pb_srcdir}/detail/trie_policy/string_trie_e_access_traits_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/trie_policy_base.hpp \
- ${pb_srcdir}/detail/types_traits.hpp \
- ${pb_srcdir}/detail/type_utils.hpp \
- ${pb_srcdir}/detail/unordered_iterator/const_iterator.hpp \
- ${pb_srcdir}/detail/unordered_iterator/const_point_iterator.hpp \
- ${pb_srcdir}/detail/unordered_iterator/iterator.hpp \
- ${pb_srcdir}/detail/unordered_iterator/point_iterator.hpp
-
-
-
-ext_srcdir = ${glibcxx_srcdir}/include/ext
-ext_builddir = ./ext
-ext_headers = \
- ${ext_srcdir}/algorithm \
- ${ext_srcdir}/atomicity.h \
- ${ext_srcdir}/array_allocator.h \
- ${ext_srcdir}/bitmap_allocator.h \
- ${ext_srcdir}/codecvt_specializations.h \
- ${ext_srcdir}/concurrence.h \
- ${ext_srcdir}/debug_allocator.h \
- ${ext_srcdir}/stdio_filebuf.h \
- ${ext_srcdir}/stdio_sync_filebuf.h \
- ${ext_srcdir}/functional \
- ${ext_srcdir}/hash_map \
- ${ext_srcdir}/hash_set \
- ${ext_srcdir}/hash_fun.h \
- ${ext_srcdir}/hashtable.h \
- ${ext_srcdir}/iterator \
- ${ext_srcdir}/malloc_allocator.h \
- ${ext_srcdir}/memory \
- ${ext_srcdir}/mt_allocator.h \
- ${ext_srcdir}/new_allocator.h \
- ${ext_srcdir}/numeric \
- ${ext_srcdir}/numeric_traits.h \
- ${ext_srcdir}/pod_char_traits.h \
- ${ext_srcdir}/pool_allocator.h \
- ${ext_srcdir}/rb_tree \
- ${ext_srcdir}/rope \
- ${ext_srcdir}/ropeimpl.h \
- ${ext_srcdir}/slist \
- ${ext_srcdir}/throw_allocator.h \
- ${ext_srcdir}/typelist.h \
- ${ext_srcdir}/type_traits.h \
- ${ext_srcdir}/rc_string_base.h \
- ${ext_srcdir}/sso_string_base.h \
- ${ext_srcdir}/vstring.h \
- ${ext_srcdir}/vstring.tcc \
- ${ext_srcdir}/vstring_fwd.h \
- ${ext_srcdir}/vstring_util.h
-
-
-tr1_srcdir = ${glibcxx_srcdir}/include/tr1
-tr1_builddir = ./tr1
-tr1_headers = \
- ${tr1_srcdir}/array \
- ${tr1_srcdir}/bind_repeat.h \
- ${tr1_srcdir}/bind_iterate.h \
- ${tr1_srcdir}/boost_shared_ptr.h \
- ${tr1_srcdir}/cctype \
- ${tr1_srcdir}/cfenv \
- ${tr1_srcdir}/cfloat \
- ${tr1_srcdir}/cinttypes \
- ${tr1_srcdir}/climits \
- ${tr1_srcdir}/cmath \
- ${tr1_srcdir}/common.h \
- ${tr1_srcdir}/complex \
- ${tr1_srcdir}/cstdarg \
- ${tr1_srcdir}/cstdbool \
- ${tr1_srcdir}/cstdint \
- ${tr1_srcdir}/cstdio \
- ${tr1_srcdir}/cstdlib \
- ${tr1_srcdir}/ctgmath \
- ${tr1_srcdir}/ctime \
- ${tr1_srcdir}/ctype.h \
- ${tr1_srcdir}/cwchar \
- ${tr1_srcdir}/cwctype \
- ${tr1_srcdir}/fenv.h \
- ${tr1_srcdir}/float.h \
- ${tr1_srcdir}/functional \
- ${tr1_srcdir}/functional_hash.h \
- ${tr1_srcdir}/functional_iterate.h \
- ${tr1_srcdir}/hashtable \
- ${tr1_srcdir}/hashtable_policy.h \
- ${tr1_srcdir}/inttypes.h \
- ${tr1_srcdir}/limits.h \
- ${tr1_srcdir}/math.h \
- ${tr1_srcdir}/memory \
- ${tr1_srcdir}/mu_iterate.h \
- ${tr1_srcdir}/random \
- ${tr1_srcdir}/random.tcc \
- ${tr1_srcdir}/ref_fwd.h \
- ${tr1_srcdir}/ref_wrap_iterate.h \
- ${tr1_srcdir}/repeat.h \
- ${tr1_srcdir}/stdarg.h \
- ${tr1_srcdir}/stdbool.h \
- ${tr1_srcdir}/stdint.h \
- ${tr1_srcdir}/stdio.h \
- ${tr1_srcdir}/stdlib.h \
- ${tr1_srcdir}/tgmath.h \
- ${tr1_srcdir}/tuple \
- ${tr1_srcdir}/tuple_defs.h \
- ${tr1_srcdir}/tuple_iterate.h \
- ${tr1_srcdir}/type_traits \
- ${tr1_srcdir}/type_traits_fwd.h \
- ${tr1_srcdir}/unordered_set \
- ${tr1_srcdir}/unordered_map \
- ${tr1_srcdir}/utility \
- ${tr1_srcdir}/wchar.h \
- ${tr1_srcdir}/wctype.h
-
-
-# This is the common subset of files that all three "C" header models use.
-c_base_srcdir = $(C_INCLUDE_DIR)
-c_base_builddir = .
-c_base_headers = \
- ${c_base_srcdir}/std_cassert.h \
- ${c_base_srcdir}/std_cctype.h \
- ${c_base_srcdir}/std_cerrno.h \
- ${c_base_srcdir}/std_cfloat.h \
- ${c_base_srcdir}/std_ciso646.h \
- ${c_base_srcdir}/std_climits.h \
- ${c_base_srcdir}/std_clocale.h \
- ${c_base_srcdir}/std_cmath.h \
- ${c_base_srcdir}/std_csetjmp.h \
- ${c_base_srcdir}/std_csignal.h \
- ${c_base_srcdir}/std_cstdarg.h \
- ${c_base_srcdir}/std_cstddef.h \
- ${c_base_srcdir}/std_cstdio.h \
- ${c_base_srcdir}/std_cstdlib.h \
- ${c_base_srcdir}/std_cstring.h \
- ${c_base_srcdir}/std_ctime.h \
- ${c_base_srcdir}/std_cwchar.h \
- ${c_base_srcdir}/std_cwctype.h
-c_base_headers_rename = \
- cassert \
- cctype \
- cerrno \
- cfloat \
- ciso646 \
- climits \
- clocale \
- cmath \
- csetjmp \
- csignal \
- cstdarg \
- cstddef \
- cstdio \
- cstdlib \
- cstring \
- ctime \
- cwchar \
- cwctype
-
-# "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
-
-# Debug mode headers
-debug_srcdir = ${glibcxx_srcdir}/include/debug
-debug_builddir = ./debug
-debug_headers = \
- ${debug_srcdir}/bitset \
- ${debug_srcdir}/debug.h \
- ${debug_srcdir}/deque \
- ${debug_srcdir}/formatter.h \
- ${debug_srcdir}/functions.h \
- ${debug_srcdir}/hash_map \
- ${debug_srcdir}/hash_map.h \
- ${debug_srcdir}/hash_multimap.h \
- ${debug_srcdir}/hash_multiset.h \
- ${debug_srcdir}/hash_set \
- ${debug_srcdir}/hash_set.h \
- ${debug_srcdir}/list \
- ${debug_srcdir}/map \
- ${debug_srcdir}/macros.h \
- ${debug_srcdir}/map.h \
- ${debug_srcdir}/multimap.h \
- ${debug_srcdir}/multiset.h \
- ${debug_srcdir}/safe_base.h \
- ${debug_srcdir}/safe_iterator.h \
- ${debug_srcdir}/safe_iterator.tcc \
- ${debug_srcdir}/safe_sequence.h \
- ${debug_srcdir}/set \
- ${debug_srcdir}/set.h \
- ${debug_srcdir}/string \
- ${debug_srcdir}/vector
-
-# 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
-c_base_headers_extra = ${c_base_srcdir}/cmath.tcc
-else
-c_base_headers_extra =
-endif
-
-if GLIBCXX_C_HEADERS_COMPATIBILITY
-c_compatibility_headers_extra = ${c_compatibility_headers}
-else
-c_compatibility_headers_extra =
-endif
-
-host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
-host_builddir = ./${host_alias}/bits
-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
-host_headers = \
- ${host_srcdir}/ctype_base.h \
- ${host_srcdir}/ctype_inline.h \
- ${host_srcdir}/ctype_noninline.h \
- ${host_srcdir}/os_defines.h \
- ${glibcxx_srcdir}/$(ATOMIC_WORD_SRCDIR)/atomic_word.h \
- ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
- ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h
-
-# Non-installed host_header files.
-COMPATIBILITY_H = config/abi/compatibility.h
-host_headers_noinst = \
- ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) \
- ${glibcxx_srcdir}/$(COMPATIBILITY_H)
-
-# These host_headers_extra files are all built with ad hoc naming rules.
-host_headers_extra = \
- ${host_builddir}/basic_file.h \
- ${host_builddir}/c++config.h \
- ${host_builddir}/c++allocator.h \
- ${host_builddir}/c++io.h \
- ${host_builddir}/c++locale.h \
- ${host_builddir}/messages_members.h \
- ${host_builddir}/time_members.h
-
-thread_host_headers = \
- ${host_builddir}/gthr.h \
- ${host_builddir}/gthr-single.h \
- ${host_builddir}/gthr-posix.h \
- ${host_builddir}/gthr-tpf.h \
- ${host_builddir}/gthr-default.h
-
-
-pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
-pch1_output_builddir = ${host_builddir}/stdc++.h.gch
-pch1_output_anchor = ${host_builddir}/stdc++.h
-pch1_output_installdir = ${host_installdir}/stdc++.h.gch
-pch1a_output = ${pch1_output_builddir}/O0g.gch
-pch1b_output = ${pch1_output_builddir}/O2g.gch
-pch1_output = ${pch1a_output} ${pch1b_output}
-
-pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
-pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch
-pch2_output_anchor = ${host_builddir}/stdtr1c++.h
-pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch
-pch2_output = ${pch2_output_builddir}/O2g.gch
-
-pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
-pch3_output_builddir = ${host_builddir}/extc++.h.gch
-pch3_output_anchor = ${host_builddir}/extc++.h
-pch3_output_installdir = ${host_installdir}/extc++.h.gch
-pch3_output = ${pch3_output_builddir}/O2g.gch
-
-
-pch_output = ${pch1_output} ${pch2_output} ${pch3_output}
-pch_output_dirs = \
- ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
-pch_output_anchors = \
- ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
-PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
-if GLIBCXX_BUILD_PCH
-pch_build = ${pch_output}
-pch_install = install-pch
-else
-pch_build =
-pch_install =
-endif
-
-# List of all timestamp files. By keeping only one copy of this list, both
-# CLEANFILES and all-local are kept up-to-date.
-allstamped = \
- stamp-std stamp-bits stamp-c_base stamp-c_compatibility \
- stamp-backward stamp-ext stamp-pb stamp-tr1 stamp-debug stamp-host
-
-# List of all files that are created by explicit building, editing, or
-# catenation.
-allcreated = \
- ${host_builddir}/c++config.h \
- ${thread_host_headers} \
- ${pch_build}
-
-# Here are the rules for building the headers
-all-local: ${allstamped} ${allcreated}
-
-# This rule is slightly different, in that we must change the name of the
-# local file from std_foo.h to foo.
-stamp-std: ${std_headers}
- @if [ ! -d "${std_builddir}" ]; then \
- mkdir -p ${std_builddir} ;\
- fi ;\
- if [ ! -f stamp-std ]; then \
- (cd ${std_builddir} && for h in $?; do \
- build_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\
- $(LN_S) $$h ./$${build_name} || true ;\
- done) ;\
- fi ;\
- $(STAMP) stamp-std
-
-stamp-bits: ${bits_headers}
- @if [ ! -d "${bits_builddir}" ]; then \
- mkdir -p ${bits_builddir} ;\
- fi ;\
- if [ ! -f stamp-bits ]; then \
- (cd ${bits_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-bits
-
-stamp-c_base: stamp-bits ${c_base_headers} ${c_base_headers_extra}
- @if [ ! -d "${c_base_builddir}" ]; then \
- mkdir -p ${c_base_builddir} ;\
- fi ;\
- if [ ! -f stamp-c_base ]; then \
- (cd ${c_base_builddir} && for h in ${c_base_headers}; do \
- build_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\
- $(LN_S) $$h ./$${build_name} || true ;\
- done) ;\
- if [ ! -z "${c_base_headers_extra}" ]; then \
- (cd ${bits_builddir} && $(LN_S) ${c_base_headers_extra} . || true) ;\
- fi ;\
- fi ;\
- $(STAMP) stamp-c_base
-
-stamp-c_compatibility: ${c_compatibility_headers_extra}
- @if [ ! -d "${c_compatibility_builddir}" ]; then \
- mkdir -p ${c_compatibility_builddir} ;\
- fi ;\
- if [ ! -f stamp-c_compatibility ]; then \
- if [ ! -z "${c_compatibility_headers_extra}" ]; then \
- (cd ${c_compatibility_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- fi ;\
- $(STAMP) stamp-c_compatibility
-
-stamp-backward: ${backward_headers}
- @if [ ! -d "${backward_builddir}" ]; then \
- mkdir -p ${backward_builddir} ;\
- fi ;\
- if [ ! -f stamp-backward ]; then \
- (cd ${backward_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-backward
-
-stamp-ext: ${ext_headers}
- @if [ ! -d "${ext_builddir}" ]; then \
- mkdir -p ${ext_builddir} ;\
- fi ;\
- if [ ! -f stamp-ext ]; then \
- (cd ${ext_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-ext
-
-# Have to deal with nested include directories, gah! Strip off source
-# directory before making the link.
-# XXX check ${pb_headers}
-stamp-pb:
- @if [ ! -d "${pb_builddir}" ]; then \
- mkdir -p ${pb_subdirs} ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers1}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers2}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers3}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers4}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers5}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers6}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers7}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- $(STAMP) stamp-pb
-
-stamp-tr1: ${tr1_headers}
- @if [ ! -d "${tr1_builddir}" ]; then \
- mkdir -p ${tr1_builddir} ;\
- fi ;\
- if [ ! -f stamp-tr1 ]; then \
- (cd ${tr1_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-tr1
-
-stamp-debug: ${debug_headers}
- @if [ ! -d "${debug_builddir}" ]; then \
- mkdir -p ${debug_builddir} ;\
- fi ;\
- if [ ! -f stamp-debug ]; then \
- (cd ${debug_builddir} && @LN_S@ $? . || true) ;\
- fi ;\
- $(STAMP) stamp-debug
-
-stamp-${host_alias}:
- @if [ ! -d ${host_builddir} ]; then \
- mkdir -p ${host_builddir} ;\
- fi ;\
- $(STAMP) stamp-${host_alias}
-
-# Host includes static.
-# XXX Missing dependency info for {host_headers_extra}
-stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias}
- @if [ ! -f stamp-host ]; then \
- (cd ${host_builddir} ;\
- $(LN_S) ${host_headers} . || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_H) basic_file.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(ALLOCATOR_H) c++allocator.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CSTDIO_H) c++io.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_H) c++locale.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) . || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(COMPATIBILITY_H) . || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_H) messages_members.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CTIME_H) time_members.h || true);\
- fi ;\
- $(STAMP) stamp-host
-
-# Host includes dynamic.
-if ENABLE_SYMVERS_GNU_NAMESPACE
-stamp-namespace-version:
- echo 1 > stamp-namespace-version
-else
-stamp-namespace-version:
- echo 0 > stamp-namespace-version
-endif
-
-if ENABLE_VISIBILITY
-stamp-visibility:
- echo 1 > stamp-visibility
-else
-stamp-visibility:
- echo 0 > stamp-visibility
-endif
-
-# NB: The non-empty default ldbl_compat works around an AIX sed
-# oddity, see libstdc++/31957 for details.
-${host_builddir}/c++config.h: ${CONFIG_HEADER} \
- ${glibcxx_srcdir}/include/bits/c++config \
- stamp-${host_alias} \
- ${toplevel_srcdir}/gcc/DATESTAMP \
- stamp-namespace-version \
- stamp-visibility
- @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
- nsa_version=`cat stamp-namespace-version` ;\
- visibility=`cat stamp-visibility` ;\
- ldbl_compat='s,g,g,' ;\
- grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \
- ${CONFIG_HEADER} > /dev/null 2>&1 \
- && ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\
- sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
- -e "s,define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION, define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION $$nsa_version," \
- -e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
- -e "$$ldbl_compat" \
- < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
- sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
- -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
- -e 's/VERSION/_GLIBCXX_VERSION/g' \
- -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
- -e '/[ ]_GLIBCXX_LONG_DOUBLE_COMPAT[ ]/d' \
- < ${CONFIG_HEADER} >> $@ ;\
- echo "" >> $@ ;\
- echo "#endif // _CXXCONFIG_" >> $@
-
-# Host includes for threads
-uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
-
-${host_builddir}/gthr.h: ${toplevel_srcdir}/gcc/gthr.h stamp-${host_alias}
- sed -e '/^#pragma/b' \
- -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
- -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
- < ${toplevel_srcdir}/gcc/gthr.h > $@
-
-${host_builddir}/gthr-single.h: ${toplevel_srcdir}/gcc/gthr-single.h \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- < ${toplevel_srcdir}/gcc/gthr-single.h > $@
-
-${host_builddir}/gthr-posix.h: ${toplevel_srcdir}/gcc/gthr-posix.h \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
- < ${toplevel_srcdir}/gcc/gthr-posix.h > $@
-
-${host_builddir}/gthr-tpf.h: ${toplevel_srcdir}/gcc/gthr-tpf.h \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
- < ${toplevel_srcdir}/gcc/gthr-tpf.h > $@
-
-${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
- -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
- < ${toplevel_srcdir}/gcc/${glibcxx_thread_h} > $@
-
-# Build two precompiled C++ includes, stdc++.h.gch/*.gch
-${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
- if [ ! -d "${pch1_output_builddir}" ]; then \
- mkdir -p ${pch1_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@
- touch ${pch1_output_anchor}
-
-${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
- if [ ! -d "${pch1_output_builddir}" ]; then \
- mkdir -p ${pch1_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
- touch ${pch1_output_anchor}
-
-# Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
-${pch2_output}: ${pch2_source} ${pch1_output}
- if [ ! -d "${pch2_output_builddir}" ]; then \
- mkdir -p ${pch2_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
- touch ${pch2_output_anchor}
-
-# Build a precompiled extension include, extc++.h.gch/O2.gch
-${pch3_output}: ${pch3_source} ${pch2_output}
- if [ ! -d "${pch3_output_builddir}" ]; then \
- mkdir -p ${pch3_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
- touch ${pch3_output_anchor}
-
-# For robustness sake (in light of junk files or in-source
-# configuration), copy from the build or source tree to the install
-# tree using only the human-maintained file lists and directory
-# components. Yes, with minor differences, this is sheer duplication
-# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
-# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
-# host_headers_extra are taken out of the build tree staging area;
-# the rest are taken from the original source tree.
-
-if GLIBCXX_HOSTED
-install-data-local: install-headers ${pch_install}
-else
-install-data-local: install-freestanding-headers
-endif
-
-# This is a subset of the full install-headers rule. We only need <cstddef>,
-# <limits>, <cstdlib>, <cstdarg>, <new>, <typeinfo>, <exception>, and any
-# files which they include (and which we provide). The last three headers
-# are installed by libsupc++, so only the first four and the sub-includes
-# are copied here.
-install-freestanding-headers:
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
- $(mkinstalldirs) $(DESTDIR)${host_installdir}
- for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
- $(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir}
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
- for file in cstddef cstdlib cstdarg; do \
- $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
-
-# The real deal.
-install-headers:
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
- for file in ${bits_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
- for file in ${backward_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
- for file in ${ext_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir}
- for dir in ${pb_subdirs}; do \
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done
- for file in ${pb_headers1}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers2}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers3}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers4}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers5}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers6}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers7}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir}
- for file in ${tr1_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
- for file in ${c_base_headers_rename}; do \
- $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
- c_base_headers_extra_install='$(c_base_headers_extra)';\
- for file in $$c_base_headers_extra_install; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
- c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
- for file in $$c_compatibility_headers_install; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
- for file in ${std_headers_rename}; do \
- $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir}
- for file in ${debug_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${host_installdir}
- for file in ${host_headers} ${host_headers_extra} \
- ${thread_host_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
-
-install-pch:
- $(mkinstalldirs) $(DESTDIR)${pch1_output_installdir}
- for file in ${pch1_output_builddir}/*; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${pch1_output_installdir}; done
- $(mkinstalldirs) $(DESTDIR)${pch2_output_installdir}
- for file in ${pch2_output_builddir}/*; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${pch2_output_installdir}; done
- $(INSTALL_DATA) ${pch1_output_anchor} $(DESTDIR)${host_installdir}
- $(INSTALL_DATA) ${pch2_output_anchor} $(DESTDIR)${host_installdir}
-
-# By adding these files here, automake will remove them for 'make clean'
-CLEANFILES = ${pch_output} ${pch_output_anchors}
-
-# To remove directories.
-clean-local:
- rm -rf ${pch_output_dirs}
-
-# Stop implicit '.o' make rules from ever stomping on extensionless
-# headers, in the improbable case where some foolish, crack-addled
-# developer tries to create them via make in the include build
-# directory. (This is more of an example of how this kind of rule can
-# be made.)
-.PRECIOUS: $(std_headers_rename) $(c_base_headers_rename)
-$(std_headers_rename): ; @:
-$(c_base_headers_rename): ; @:
diff --git a/contrib/libstdc++/include/Makefile.in b/contrib/libstdc++/include/Makefile.in
deleted file mode 100644
index 12ed4d3a8aef..000000000000
--- a/contrib/libstdc++/include/Makefile.in
+++ /dev/null
@@ -1,1582 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/fragment.am
-subdir = include
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
- $(top_srcdir)/../config/lead-dot.m4 \
- $(top_srcdir)/../config/multi.m4 \
- $(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../config/unwind_ipinfo.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
- $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-depcomp =
-am__depfiles_maybe =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
-ACLOCAL = @ACLOCAL@
-ALLOCATOR_H = @ALLOCATOR_H@
-ALLOCATOR_NAME = @ALLOCATOR_NAME@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
-ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASIC_FILE_CC = @BASIC_FILE_CC@
-BASIC_FILE_H = @BASIC_FILE_H@
-CC = @CC@
-CCODECVT_CC = @CCODECVT_CC@
-CCOLLATE_CC = @CCOLLATE_CC@
-CCTYPE_CC = @CCTYPE_CC@
-CFLAGS = @CFLAGS@
-CLOCALE_CC = @CLOCALE_CC@
-CLOCALE_H = @CLOCALE_H@
-CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
-CMESSAGES_CC = @CMESSAGES_CC@
-CMESSAGES_H = @CMESSAGES_H@
-CMONEY_CC = @CMONEY_CC@
-CNUMERIC_CC = @CNUMERIC_CC@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
-CSTDIO_H = @CSTDIO_H@
-CTIME_CC = @CTIME_CC@
-CTIME_H = @CTIME_H@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-C_INCLUDE_DIR = @C_INCLUDE_DIR@
-DEBUG_FLAGS = @DEBUG_FLAGS@
-DEFS = @DEFS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
-ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
-ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
-ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@
-ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
-ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
-ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@
-ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@
-EXEEXT = @EXEEXT@
-EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
-GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
-GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
-GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
-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_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_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
-GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
-GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@
-GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LIBICONV = @LIBICONV@
-LIBMATHOBJS = @LIBMATHOBJS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
-OPT_LDFLAGS = @OPT_LDFLAGS@
-OS_INC_SRCDIR = @OS_INC_SRCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SECTION_FLAGS = @SECTION_FLAGS@
-SECTION_LDFLAGS = @SECTION_LDFLAGS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SYMVER_FILE = @SYMVER_FILE@
-TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WARN_FLAGS = @WARN_FLAGS@
-WERROR = @WERROR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__leading_dot = @am__leading_dot@
-am__tar = @am__tar@
-am__untar = @am__untar@
-baseline_dir = @baseline_dir@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-check_msgfmt = @check_msgfmt@
-datadir = @datadir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-glibcxx_MOFILES = @glibcxx_MOFILES@
-glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
-glibcxx_POFILES = @glibcxx_POFILES@
-glibcxx_builddir = @glibcxx_builddir@
-glibcxx_localedir = @glibcxx_localedir@
-glibcxx_prefixdir = @glibcxx_prefixdir@
-glibcxx_srcdir = @glibcxx_srcdir@
-glibcxx_thread_h = @glibcxx_thread_h@
-glibcxx_toolexecdir = @glibcxx_toolexecdir@
-glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
-gxx_include_dir = @gxx_include_dir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libtool_VERSION = @libtool_VERSION@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-port_specific_symbol_files = @port_specific_symbol_files@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toplevel_srcdir = @toplevel_srcdir@
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-MAINT_CHARSET = latin1
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-PWD_COMMAND = $${PWDCMD-pwd}
-STAMP = echo timestamp >
-toolexecdir = $(glibcxx_toolexecdir)
-toolexeclibdir = $(glibcxx_toolexeclibdir)
-
-# These bits are all figured out from configure. Look in acinclude.m4
-# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
-CONFIG_CXXFLAGS = \
- $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS)
-
-WARN_CXXFLAGS = \
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
-
-# -I/-D flags to pass when compiling.
-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-
-# Standard C++ includes.
-std_srcdir = ${glibcxx_srcdir}/include/std
-std_builddir = .
-std_headers = \
- ${std_srcdir}/std_algorithm.h \
- ${std_srcdir}/std_bitset.h \
- ${std_srcdir}/std_complex.h \
- ${std_srcdir}/std_deque.h \
- ${std_srcdir}/std_fstream.h \
- ${std_srcdir}/std_functional.h \
- ${std_srcdir}/std_iomanip.h \
- ${std_srcdir}/std_ios.h \
- ${std_srcdir}/std_iosfwd.h \
- ${std_srcdir}/std_iostream.h \
- ${std_srcdir}/std_istream.h \
- ${std_srcdir}/std_iterator.h \
- ${std_srcdir}/std_limits.h \
- ${std_srcdir}/std_list.h \
- ${std_srcdir}/std_locale.h \
- ${std_srcdir}/std_map.h \
- ${std_srcdir}/std_memory.h \
- ${std_srcdir}/std_numeric.h \
- ${std_srcdir}/std_ostream.h \
- ${std_srcdir}/std_queue.h \
- ${std_srcdir}/std_set.h \
- ${std_srcdir}/std_sstream.h \
- ${std_srcdir}/std_stack.h \
- ${std_srcdir}/std_stdexcept.h \
- ${std_srcdir}/std_streambuf.h \
- ${std_srcdir}/std_string.h \
- ${std_srcdir}/std_utility.h \
- ${std_srcdir}/std_valarray.h \
- ${std_srcdir}/std_vector.h
-
-# Renamed at build time.
-std_headers_rename = \
- algorithm \
- bitset \
- complex \
- deque \
- fstream \
- functional \
- iomanip \
- ios \
- iosfwd \
- iostream \
- istream \
- iterator \
- limits \
- list \
- locale \
- map \
- memory \
- numeric \
- ostream \
- queue \
- set \
- sstream \
- stack \
- stdexcept \
- streambuf \
- string \
- utility \
- valarray \
- vector
-
-bits_srcdir = ${glibcxx_srcdir}/include/bits
-bits_builddir = ./bits
-bits_headers = \
- ${bits_srcdir}/allocator.h \
- ${bits_srcdir}/basic_ios.h \
- ${bits_srcdir}/basic_ios.tcc \
- ${bits_srcdir}/basic_string.h \
- ${bits_srcdir}/basic_string.tcc \
- ${bits_srcdir}/boost_concept_check.h \
- ${bits_srcdir}/char_traits.h \
- ${bits_srcdir}/codecvt.h \
- ${bits_srcdir}/concept_check.h \
- ${bits_srcdir}/cpp_type_traits.h \
- ${bits_srcdir}/deque.tcc \
- ${bits_srcdir}/fstream.tcc \
- ${bits_srcdir}/functexcept.h \
- ${bits_srcdir}/gslice.h \
- ${bits_srcdir}/gslice_array.h \
- ${bits_srcdir}/indirect_array.h \
- ${bits_srcdir}/ios_base.h \
- ${bits_srcdir}/istream.tcc \
- ${bits_srcdir}/list.tcc \
- ${bits_srcdir}/locale_classes.h \
- ${bits_srcdir}/locale_facets.h \
- ${bits_srcdir}/locale_facets.tcc \
- ${bits_srcdir}/localefwd.h \
- ${bits_srcdir}/mask_array.h \
- ${bits_srcdir}/ostream.tcc \
- ${bits_srcdir}/ostream_insert.h \
- ${bits_srcdir}/postypes.h \
- ${bits_srcdir}/stream_iterator.h \
- ${bits_srcdir}/streambuf_iterator.h \
- ${bits_srcdir}/slice_array.h \
- ${bits_srcdir}/sstream.tcc \
- ${bits_srcdir}/stl_algo.h \
- ${bits_srcdir}/stl_algobase.h \
- ${bits_srcdir}/stl_bvector.h \
- ${bits_srcdir}/stl_construct.h \
- ${bits_srcdir}/stl_deque.h \
- ${bits_srcdir}/stl_function.h \
- ${bits_srcdir}/stl_heap.h \
- ${bits_srcdir}/stl_iterator.h \
- ${bits_srcdir}/stl_iterator_base_funcs.h \
- ${bits_srcdir}/stl_iterator_base_types.h \
- ${bits_srcdir}/stl_list.h \
- ${bits_srcdir}/stl_map.h \
- ${bits_srcdir}/stl_multimap.h \
- ${bits_srcdir}/stl_multiset.h \
- ${bits_srcdir}/stl_numeric.h \
- ${bits_srcdir}/stl_pair.h \
- ${bits_srcdir}/stl_queue.h \
- ${bits_srcdir}/stl_raw_storage_iter.h \
- ${bits_srcdir}/stl_relops.h \
- ${bits_srcdir}/stl_set.h \
- ${bits_srcdir}/stl_stack.h \
- ${bits_srcdir}/stl_tempbuf.h \
- ${bits_srcdir}/stl_tree.h \
- ${bits_srcdir}/stl_uninitialized.h \
- ${bits_srcdir}/stl_vector.h \
- ${bits_srcdir}/streambuf.tcc \
- ${bits_srcdir}/stringfwd.h \
- ${bits_srcdir}/valarray_array.h \
- ${bits_srcdir}/valarray_array.tcc \
- ${bits_srcdir}/valarray_before.h \
- ${bits_srcdir}/valarray_after.h \
- ${bits_srcdir}/vector.tcc
-
-backward_srcdir = ${glibcxx_srcdir}/include/backward
-backward_builddir = ./backward
-backward_headers = \
- ${backward_srcdir}/complex.h \
- ${backward_srcdir}/iomanip.h \
- ${backward_srcdir}/istream.h \
- ${backward_srcdir}/ostream.h \
- ${backward_srcdir}/stream.h \
- ${backward_srcdir}/streambuf.h \
- ${backward_srcdir}/algo.h \
- ${backward_srcdir}/algobase.h \
- ${backward_srcdir}/alloc.h \
- ${backward_srcdir}/bvector.h \
- ${backward_srcdir}/defalloc.h \
- ${backward_srcdir}/deque.h \
- ${backward_srcdir}/function.h \
- ${backward_srcdir}/hash_map.h \
- ${backward_srcdir}/hash_set.h \
- ${backward_srcdir}/hashtable.h \
- ${backward_srcdir}/heap.h \
- ${backward_srcdir}/iostream.h \
- ${backward_srcdir}/iterator.h \
- ${backward_srcdir}/list.h \
- ${backward_srcdir}/map.h \
- ${backward_srcdir}/multimap.h \
- ${backward_srcdir}/new.h \
- ${backward_srcdir}/multiset.h \
- ${backward_srcdir}/pair.h \
- ${backward_srcdir}/queue.h \
- ${backward_srcdir}/rope.h \
- ${backward_srcdir}/set.h \
- ${backward_srcdir}/slist.h \
- ${backward_srcdir}/stack.h \
- ${backward_srcdir}/tempbuf.h \
- ${backward_srcdir}/tree.h \
- ${backward_srcdir}/vector.h \
- ${backward_srcdir}/fstream.h \
- ${backward_srcdir}/strstream \
- ${backward_srcdir}/backward_warning.h
-
-pb_srcdir = ${glibcxx_srcdir}/include/ext/pb_ds
-pb_builddir = ./ext/pb_ds
-pb_subdirs = \
- ${pb_builddir}/detail \
- ${pb_builddir}/detail/pairing_heap_ \
- ${pb_builddir}/detail/splay_tree_ \
- ${pb_builddir}/detail/list_update_map_ \
- ${pb_builddir}/detail/basic_tree_policy \
- ${pb_builddir}/detail/trie_policy \
- ${pb_builddir}/detail/gp_hash_table_map_ \
- ${pb_builddir}/detail/tree_policy \
- ${pb_builddir}/detail/binomial_heap_base_ \
- ${pb_builddir}/detail/resize_policy \
- ${pb_builddir}/detail/bin_search_tree_ \
- ${pb_builddir}/detail/binomial_heap_ \
- ${pb_builddir}/detail/thin_heap_ \
- ${pb_builddir}/detail/pat_trie_ \
- ${pb_builddir}/detail/cc_hash_table_map_ \
- ${pb_builddir}/detail/rc_binomial_heap_ \
- ${pb_builddir}/detail/left_child_next_sibling_heap_ \
- ${pb_builddir}/detail/unordered_iterator \
- ${pb_builddir}/detail/binary_heap_ \
- ${pb_builddir}/detail/ov_tree_map_ \
- ${pb_builddir}/detail/hash_fn \
- ${pb_builddir}/detail/eq_fn \
- ${pb_builddir}/detail/rb_tree_map_ \
- ${pb_builddir}/detail/list_update_policy
-
-
-# The ability for make and the underlying host to deal with this
-# unweildy list as one entire entity is not a sure thing, and may
-# cause build errors. Thus, split one list into many smaller
-# mini-lists, with the maximum size per mini-list of no more than 42.
-pb_headers1 = \
- ${pb_srcdir}/assoc_container.hpp \
- ${pb_srcdir}/exception.hpp \
- ${pb_srcdir}/hash_policy.hpp \
- ${pb_srcdir}/list_update_policy.hpp \
- ${pb_srcdir}/priority_queue.hpp \
- ${pb_srcdir}/tag_and_trait.hpp \
- ${pb_srcdir}/tree_policy.hpp \
- ${pb_srcdir}/trie_policy.hpp \
- ${pb_srcdir}/detail/basic_tree_policy/basic_tree_policy_base.hpp \
- ${pb_srcdir}/detail/basic_tree_policy/null_node_metadata.hpp \
- ${pb_srcdir}/detail/basic_tree_policy/traits.hpp \
- ${pb_srcdir}/detail/basic_types.hpp \
- ${pb_srcdir}/detail/binary_heap_/binary_heap_.hpp \
- ${pb_srcdir}/detail/binary_heap_/const_iterator.hpp \
- ${pb_srcdir}/detail/binary_heap_/const_point_iterator.hpp \
- ${pb_srcdir}/detail/binary_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/entry_cmp.hpp \
- ${pb_srcdir}/detail/binary_heap_/entry_pred.hpp \
- ${pb_srcdir}/detail/binary_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/resize_policy.hpp \
- ${pb_srcdir}/detail/binary_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/binary_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/binomial_heap_base_.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_base_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_/binomial_heap_.hpp \
- ${pb_srcdir}/detail/binomial_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/binomial_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/bin_search_tree_.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
-
-pb_headers2 = \
- ${pb_srcdir}/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/node_iterators.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/point_iterators.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/r_erase_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/rotate_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/bin_search_tree_/traits.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/cc_ht_map_.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/cmp_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/entry_list_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/resize_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/size_fn_imps.hpp \
- ${pb_srcdir}/detail/cc_hash_table_map_/standard_policies.hpp
-
-pb_headers3 = \
- ${pb_srcdir}/detail/cc_hash_table_map_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/cond_dealtor.hpp \
- ${pb_srcdir}/detail/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/container_base_dispatch.hpp \
- ${pb_srcdir}/detail/eq_fn/eq_by_less.hpp \
- ${pb_srcdir}/detail/eq_fn/hash_eq_fn.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/gp_ht_map_.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/iterator_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/resize_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/standard_policies.hpp \
- ${pb_srcdir}/detail/gp_hash_table_map_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/hash_fn/direct_mask_range_hashing_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/direct_mod_range_hashing_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/linear_probe_fn_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/mask_based_range_hashing.hpp \
- ${pb_srcdir}/detail/hash_fn/mod_based_range_hashing.hpp \
- ${pb_srcdir}/detail/hash_fn/probe_fn_base.hpp \
- ${pb_srcdir}/detail/hash_fn/quadratic_probe_fn_imp.hpp \
- ${pb_srcdir}/detail/hash_fn/ranged_hash_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/ranged_probe_fn.hpp
-
-pb_headers4 = \
- ${pb_srcdir}/detail/hash_fn/sample_probe_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/sample_ranged_hash_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/sample_ranged_probe_fn.hpp \
- ${pb_srcdir}/detail/hash_fn/sample_range_hashing.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/const_iterator.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/const_point_iterator.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/node.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/null_metadata.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/constructor_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/entry_metadata_base.hpp \
- ${pb_srcdir}/detail/list_update_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_map_/lu_map_.hpp \
- ${pb_srcdir}/detail/list_update_map_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/list_update_policy/counter_lu_metadata.hpp \
- ${pb_srcdir}/detail/list_update_policy/counter_lu_policy_imp.hpp \
- ${pb_srcdir}/detail/list_update_policy/mtf_lu_policy_imp.hpp \
- ${pb_srcdir}/detail/list_update_policy/sample_update_policy.hpp \
- ${pb_srcdir}/detail/map_debug_base.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/cond_dtor.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/node_iterators.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/ov_tree_map_.hpp
-
-pb_headers5 = \
- ${pb_srcdir}/detail/ov_tree_map_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/ov_tree_map_/traits.hpp \
- ${pb_srcdir}/detail/pairing_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/pairing_heap_/pairing_heap_.hpp \
- ${pb_srcdir}/detail/pairing_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/child_iterator.hpp \
- ${pb_srcdir}/detail/pat_trie_/cond_dtor_entry_dealtor.hpp \
- ${pb_srcdir}/detail/pat_trie_/const_child_iterator.hpp \
- ${pb_srcdir}/detail/pat_trie_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/head.hpp \
- ${pb_srcdir}/detail/pat_trie_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/insert_join_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/internal_node.hpp \
- ${pb_srcdir}/detail/pat_trie_/iterators_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/leaf.hpp \
- ${pb_srcdir}/detail/pat_trie_/node_base.hpp \
- ${pb_srcdir}/detail/pat_trie_/node_iterators.hpp \
- ${pb_srcdir}/detail/pat_trie_/node_metadata_base.hpp \
- ${pb_srcdir}/detail/pat_trie_/pat_trie_.hpp \
- ${pb_srcdir}/detail/pat_trie_/point_iterators.hpp \
- ${pb_srcdir}/detail/pat_trie_/policy_access_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/r_erase_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/rotate_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/split_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/split_join_branch_bag.hpp \
- ${pb_srcdir}/detail/pat_trie_/synth_e_access_traits.hpp \
- ${pb_srcdir}/detail/pat_trie_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/pat_trie_/traits.hpp \
- ${pb_srcdir}/detail/pat_trie_/update_fn_imps.hpp \
- ${pb_srcdir}/detail/priority_queue_base_dispatch.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/debug_fn_imps.hpp
-
-pb_headers6 = \
- ${pb_srcdir}/detail/rb_tree_map_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/node.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/rb_tree_.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/rb_tree_map_/traits.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/rc_binomial_heap_.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/rc.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/rc_binomial_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_exponential_size_policy_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_prime_size_policy_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/hash_standard_resize_policy_imp.hpp \
- ${pb_srcdir}/detail/resize_policy/sample_resize_policy.hpp \
- ${pb_srcdir}/detail/resize_policy/sample_resize_trigger.hpp \
- ${pb_srcdir}/detail/resize_policy/sample_size_policy.hpp \
- ${pb_srcdir}/detail/splay_tree_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/erase_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/info_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/node.hpp \
- ${pb_srcdir}/detail/splay_tree_/splay_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/splay_tree_.hpp \
- ${pb_srcdir}/detail/splay_tree_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/splay_tree_/traits.hpp \
- ${pb_srcdir}/detail/standard_policies.hpp \
- ${pb_srcdir}/detail/thin_heap_/constructors_destructor_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/debug_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/erase_fn_imps.hpp
-
-pb_headers7 = \
- ${pb_srcdir}/detail/thin_heap_/find_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/insert_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/split_join_fn_imps.hpp \
- ${pb_srcdir}/detail/thin_heap_/thin_heap_.hpp \
- ${pb_srcdir}/detail/thin_heap_/trace_fn_imps.hpp \
- ${pb_srcdir}/detail/tree_policy/node_metadata_selector.hpp \
- ${pb_srcdir}/detail/tree_policy/null_node_update_imp.hpp \
- ${pb_srcdir}/detail/tree_policy/order_statistics_imp.hpp \
- ${pb_srcdir}/detail/tree_policy/sample_tree_node_update.hpp \
- ${pb_srcdir}/detail/tree_trace_base.hpp \
- ${pb_srcdir}/detail/trie_policy/node_metadata_selector.hpp \
- ${pb_srcdir}/detail/trie_policy/null_node_update_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/order_statistics_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/prefix_search_node_update_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/sample_trie_e_access_traits.hpp \
- ${pb_srcdir}/detail/trie_policy/sample_trie_node_update.hpp \
- ${pb_srcdir}/detail/trie_policy/string_trie_e_access_traits_imp.hpp \
- ${pb_srcdir}/detail/trie_policy/trie_policy_base.hpp \
- ${pb_srcdir}/detail/types_traits.hpp \
- ${pb_srcdir}/detail/type_utils.hpp \
- ${pb_srcdir}/detail/unordered_iterator/const_iterator.hpp \
- ${pb_srcdir}/detail/unordered_iterator/const_point_iterator.hpp \
- ${pb_srcdir}/detail/unordered_iterator/iterator.hpp \
- ${pb_srcdir}/detail/unordered_iterator/point_iterator.hpp
-
-ext_srcdir = ${glibcxx_srcdir}/include/ext
-ext_builddir = ./ext
-ext_headers = \
- ${ext_srcdir}/algorithm \
- ${ext_srcdir}/atomicity.h \
- ${ext_srcdir}/array_allocator.h \
- ${ext_srcdir}/bitmap_allocator.h \
- ${ext_srcdir}/codecvt_specializations.h \
- ${ext_srcdir}/concurrence.h \
- ${ext_srcdir}/debug_allocator.h \
- ${ext_srcdir}/stdio_filebuf.h \
- ${ext_srcdir}/stdio_sync_filebuf.h \
- ${ext_srcdir}/functional \
- ${ext_srcdir}/hash_map \
- ${ext_srcdir}/hash_set \
- ${ext_srcdir}/hash_fun.h \
- ${ext_srcdir}/hashtable.h \
- ${ext_srcdir}/iterator \
- ${ext_srcdir}/malloc_allocator.h \
- ${ext_srcdir}/memory \
- ${ext_srcdir}/mt_allocator.h \
- ${ext_srcdir}/new_allocator.h \
- ${ext_srcdir}/numeric \
- ${ext_srcdir}/numeric_traits.h \
- ${ext_srcdir}/pod_char_traits.h \
- ${ext_srcdir}/pool_allocator.h \
- ${ext_srcdir}/rb_tree \
- ${ext_srcdir}/rope \
- ${ext_srcdir}/ropeimpl.h \
- ${ext_srcdir}/slist \
- ${ext_srcdir}/throw_allocator.h \
- ${ext_srcdir}/typelist.h \
- ${ext_srcdir}/type_traits.h \
- ${ext_srcdir}/rc_string_base.h \
- ${ext_srcdir}/sso_string_base.h \
- ${ext_srcdir}/vstring.h \
- ${ext_srcdir}/vstring.tcc \
- ${ext_srcdir}/vstring_fwd.h \
- ${ext_srcdir}/vstring_util.h
-
-tr1_srcdir = ${glibcxx_srcdir}/include/tr1
-tr1_builddir = ./tr1
-tr1_headers = \
- ${tr1_srcdir}/array \
- ${tr1_srcdir}/bind_repeat.h \
- ${tr1_srcdir}/bind_iterate.h \
- ${tr1_srcdir}/boost_shared_ptr.h \
- ${tr1_srcdir}/cctype \
- ${tr1_srcdir}/cfenv \
- ${tr1_srcdir}/cfloat \
- ${tr1_srcdir}/cinttypes \
- ${tr1_srcdir}/climits \
- ${tr1_srcdir}/cmath \
- ${tr1_srcdir}/common.h \
- ${tr1_srcdir}/complex \
- ${tr1_srcdir}/cstdarg \
- ${tr1_srcdir}/cstdbool \
- ${tr1_srcdir}/cstdint \
- ${tr1_srcdir}/cstdio \
- ${tr1_srcdir}/cstdlib \
- ${tr1_srcdir}/ctgmath \
- ${tr1_srcdir}/ctime \
- ${tr1_srcdir}/ctype.h \
- ${tr1_srcdir}/cwchar \
- ${tr1_srcdir}/cwctype \
- ${tr1_srcdir}/fenv.h \
- ${tr1_srcdir}/float.h \
- ${tr1_srcdir}/functional \
- ${tr1_srcdir}/functional_hash.h \
- ${tr1_srcdir}/functional_iterate.h \
- ${tr1_srcdir}/hashtable \
- ${tr1_srcdir}/hashtable_policy.h \
- ${tr1_srcdir}/inttypes.h \
- ${tr1_srcdir}/limits.h \
- ${tr1_srcdir}/math.h \
- ${tr1_srcdir}/memory \
- ${tr1_srcdir}/mu_iterate.h \
- ${tr1_srcdir}/random \
- ${tr1_srcdir}/random.tcc \
- ${tr1_srcdir}/ref_fwd.h \
- ${tr1_srcdir}/ref_wrap_iterate.h \
- ${tr1_srcdir}/repeat.h \
- ${tr1_srcdir}/stdarg.h \
- ${tr1_srcdir}/stdbool.h \
- ${tr1_srcdir}/stdint.h \
- ${tr1_srcdir}/stdio.h \
- ${tr1_srcdir}/stdlib.h \
- ${tr1_srcdir}/tgmath.h \
- ${tr1_srcdir}/tuple \
- ${tr1_srcdir}/tuple_defs.h \
- ${tr1_srcdir}/tuple_iterate.h \
- ${tr1_srcdir}/type_traits \
- ${tr1_srcdir}/type_traits_fwd.h \
- ${tr1_srcdir}/unordered_set \
- ${tr1_srcdir}/unordered_map \
- ${tr1_srcdir}/utility \
- ${tr1_srcdir}/wchar.h \
- ${tr1_srcdir}/wctype.h
-
-
-# This is the common subset of files that all three "C" header models use.
-c_base_srcdir = $(C_INCLUDE_DIR)
-c_base_builddir = .
-c_base_headers = \
- ${c_base_srcdir}/std_cassert.h \
- ${c_base_srcdir}/std_cctype.h \
- ${c_base_srcdir}/std_cerrno.h \
- ${c_base_srcdir}/std_cfloat.h \
- ${c_base_srcdir}/std_ciso646.h \
- ${c_base_srcdir}/std_climits.h \
- ${c_base_srcdir}/std_clocale.h \
- ${c_base_srcdir}/std_cmath.h \
- ${c_base_srcdir}/std_csetjmp.h \
- ${c_base_srcdir}/std_csignal.h \
- ${c_base_srcdir}/std_cstdarg.h \
- ${c_base_srcdir}/std_cstddef.h \
- ${c_base_srcdir}/std_cstdio.h \
- ${c_base_srcdir}/std_cstdlib.h \
- ${c_base_srcdir}/std_cstring.h \
- ${c_base_srcdir}/std_ctime.h \
- ${c_base_srcdir}/std_cwchar.h \
- ${c_base_srcdir}/std_cwctype.h
-
-c_base_headers_rename = \
- cassert \
- cctype \
- cerrno \
- cfloat \
- ciso646 \
- climits \
- clocale \
- cmath \
- csetjmp \
- csignal \
- cstdarg \
- cstddef \
- cstdio \
- cstdlib \
- cstring \
- ctime \
- cwchar \
- cwctype
-
-
-# "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
-
-
-# Debug mode headers
-debug_srcdir = ${glibcxx_srcdir}/include/debug
-debug_builddir = ./debug
-debug_headers = \
- ${debug_srcdir}/bitset \
- ${debug_srcdir}/debug.h \
- ${debug_srcdir}/deque \
- ${debug_srcdir}/formatter.h \
- ${debug_srcdir}/functions.h \
- ${debug_srcdir}/hash_map \
- ${debug_srcdir}/hash_map.h \
- ${debug_srcdir}/hash_multimap.h \
- ${debug_srcdir}/hash_multiset.h \
- ${debug_srcdir}/hash_set \
- ${debug_srcdir}/hash_set.h \
- ${debug_srcdir}/list \
- ${debug_srcdir}/map \
- ${debug_srcdir}/macros.h \
- ${debug_srcdir}/map.h \
- ${debug_srcdir}/multimap.h \
- ${debug_srcdir}/multiset.h \
- ${debug_srcdir}/safe_base.h \
- ${debug_srcdir}/safe_iterator.h \
- ${debug_srcdir}/safe_iterator.tcc \
- ${debug_srcdir}/safe_sequence.h \
- ${debug_srcdir}/set \
- ${debug_srcdir}/set.h \
- ${debug_srcdir}/string \
- ${debug_srcdir}/vector
-
-@GLIBCXX_C_HEADERS_C_STD_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_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)
-host_builddir = ./${host_alias}/bits
-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
-host_headers = \
- ${host_srcdir}/ctype_base.h \
- ${host_srcdir}/ctype_inline.h \
- ${host_srcdir}/ctype_noninline.h \
- ${host_srcdir}/os_defines.h \
- ${glibcxx_srcdir}/$(ATOMIC_WORD_SRCDIR)/atomic_word.h \
- ${glibcxx_srcdir}/$(ABI_TWEAKS_SRCDIR)/cxxabi_tweaks.h \
- ${glibcxx_srcdir}/$(CPU_DEFINES_SRCDIR)/cpu_defines.h
-
-
-# Non-installed host_header files.
-COMPATIBILITY_H = config/abi/compatibility.h
-host_headers_noinst = \
- ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) \
- ${glibcxx_srcdir}/$(COMPATIBILITY_H)
-
-
-# These host_headers_extra files are all built with ad hoc naming rules.
-host_headers_extra = \
- ${host_builddir}/basic_file.h \
- ${host_builddir}/c++config.h \
- ${host_builddir}/c++allocator.h \
- ${host_builddir}/c++io.h \
- ${host_builddir}/c++locale.h \
- ${host_builddir}/messages_members.h \
- ${host_builddir}/time_members.h
-
-thread_host_headers = \
- ${host_builddir}/gthr.h \
- ${host_builddir}/gthr-single.h \
- ${host_builddir}/gthr-posix.h \
- ${host_builddir}/gthr-tpf.h \
- ${host_builddir}/gthr-default.h
-
-pch1_source = ${glibcxx_srcdir}/include/precompiled/stdc++.h
-pch1_output_builddir = ${host_builddir}/stdc++.h.gch
-pch1_output_anchor = ${host_builddir}/stdc++.h
-pch1_output_installdir = ${host_installdir}/stdc++.h.gch
-pch1a_output = ${pch1_output_builddir}/O0g.gch
-pch1b_output = ${pch1_output_builddir}/O2g.gch
-pch1_output = ${pch1a_output} ${pch1b_output}
-pch2_source = ${glibcxx_srcdir}/include/precompiled/stdtr1c++.h
-pch2_output_builddir = ${host_builddir}/stdtr1c++.h.gch
-pch2_output_anchor = ${host_builddir}/stdtr1c++.h
-pch2_output_installdir = ${host_installdir}/stdtr1c++.h.gch
-pch2_output = ${pch2_output_builddir}/O2g.gch
-pch3_source = ${glibcxx_srcdir}/include/precompiled/extc++.h
-pch3_output_builddir = ${host_builddir}/extc++.h.gch
-pch3_output_anchor = ${host_builddir}/extc++.h
-pch3_output_installdir = ${host_installdir}/extc++.h.gch
-pch3_output = ${pch3_output_builddir}/O2g.gch
-pch_output = ${pch1_output} ${pch2_output} ${pch3_output}
-pch_output_dirs = \
- ${pch1_output_builddir} ${pch2_output_builddir} ${pch3_output_builddir}
-
-pch_output_anchors = \
- ${pch1_output_anchor} ${pch2_output_anchor} ${pch3_output_anchor}
-
-PCHFLAGS = -Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
-@GLIBCXX_BUILD_PCH_FALSE@pch_build =
-@GLIBCXX_BUILD_PCH_TRUE@pch_build = ${pch_output}
-@GLIBCXX_BUILD_PCH_FALSE@pch_install =
-@GLIBCXX_BUILD_PCH_TRUE@pch_install = install-pch
-
-# List of all timestamp files. By keeping only one copy of this list, both
-# CLEANFILES and all-local are kept up-to-date.
-allstamped = \
- stamp-std stamp-bits stamp-c_base stamp-c_compatibility \
- stamp-backward stamp-ext stamp-pb stamp-tr1 stamp-debug stamp-host
-
-
-# List of all files that are created by explicit building, editing, or
-# catenation.
-allcreated = \
- ${host_builddir}/c++config.h \
- ${thread_host_headers} \
- ${pch_build}
-
-
-# Host includes for threads
-uppercase = [ABCDEFGHIJKLMNOPQRSTUVWXYZ_]
-
-# By adding these files here, automake will remove them for 'make clean'
-CLEANFILES = ${pch_output} ${pch_output_anchors}
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps include/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign --ignore-deps include/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/..
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile all-local
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: all all-am all-local check check-am clean clean-generic \
- clean-libtool clean-local distclean distclean-generic \
- distclean-libtool distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am \
- install-data-local install-exec install-exec-am install-info \
- install-info-am install-man install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-info-am
-
-
-# Here are the rules for building the headers
-all-local: ${allstamped} ${allcreated}
-
-# This rule is slightly different, in that we must change the name of the
-# local file from std_foo.h to foo.
-stamp-std: ${std_headers}
- @if [ ! -d "${std_builddir}" ]; then \
- mkdir -p ${std_builddir} ;\
- fi ;\
- if [ ! -f stamp-std ]; then \
- (cd ${std_builddir} && for h in $?; do \
- build_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\
- $(LN_S) $$h ./$${build_name} || true ;\
- done) ;\
- fi ;\
- $(STAMP) stamp-std
-
-stamp-bits: ${bits_headers}
- @if [ ! -d "${bits_builddir}" ]; then \
- mkdir -p ${bits_builddir} ;\
- fi ;\
- if [ ! -f stamp-bits ]; then \
- (cd ${bits_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-bits
-
-stamp-c_base: stamp-bits ${c_base_headers} ${c_base_headers_extra}
- @if [ ! -d "${c_base_builddir}" ]; then \
- mkdir -p ${c_base_builddir} ;\
- fi ;\
- if [ ! -f stamp-c_base ]; then \
- (cd ${c_base_builddir} && for h in ${c_base_headers}; do \
- build_name=`echo $$h | sed -e 's,.*/std_,,' -e 's,\.h$$,,'` ;\
- $(LN_S) $$h ./$${build_name} || true ;\
- done) ;\
- if [ ! -z "${c_base_headers_extra}" ]; then \
- (cd ${bits_builddir} && $(LN_S) ${c_base_headers_extra} . || true) ;\
- fi ;\
- fi ;\
- $(STAMP) stamp-c_base
-
-stamp-c_compatibility: ${c_compatibility_headers_extra}
- @if [ ! -d "${c_compatibility_builddir}" ]; then \
- mkdir -p ${c_compatibility_builddir} ;\
- fi ;\
- if [ ! -f stamp-c_compatibility ]; then \
- if [ ! -z "${c_compatibility_headers_extra}" ]; then \
- (cd ${c_compatibility_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- fi ;\
- $(STAMP) stamp-c_compatibility
-
-stamp-backward: ${backward_headers}
- @if [ ! -d "${backward_builddir}" ]; then \
- mkdir -p ${backward_builddir} ;\
- fi ;\
- if [ ! -f stamp-backward ]; then \
- (cd ${backward_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-backward
-
-stamp-ext: ${ext_headers}
- @if [ ! -d "${ext_builddir}" ]; then \
- mkdir -p ${ext_builddir} ;\
- fi ;\
- if [ ! -f stamp-ext ]; then \
- (cd ${ext_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-ext
-
-# Have to deal with nested include directories, gah! Strip off source
-# directory before making the link.
-# XXX check ${pb_headers}
-stamp-pb:
- @if [ ! -d "${pb_builddir}" ]; then \
- mkdir -p ${pb_subdirs} ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers1}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers2}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers3}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers4}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers5}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers6}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- @if [ ! -f stamp-pb ]; then \
- cd ${pb_builddir} && for h in ${pb_headers7}; do \
- build_name=`echo $$h | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(LN_S) $$h $${build_name} || true ;\
- done ;\
- fi
- $(STAMP) stamp-pb
-
-stamp-tr1: ${tr1_headers}
- @if [ ! -d "${tr1_builddir}" ]; then \
- mkdir -p ${tr1_builddir} ;\
- fi ;\
- if [ ! -f stamp-tr1 ]; then \
- (cd ${tr1_builddir} && $(LN_S) $? . || true) ;\
- fi ;\
- $(STAMP) stamp-tr1
-
-stamp-debug: ${debug_headers}
- @if [ ! -d "${debug_builddir}" ]; then \
- mkdir -p ${debug_builddir} ;\
- fi ;\
- if [ ! -f stamp-debug ]; then \
- (cd ${debug_builddir} && @LN_S@ $? . || true) ;\
- fi ;\
- $(STAMP) stamp-debug
-
-stamp-${host_alias}:
- @if [ ! -d ${host_builddir} ]; then \
- mkdir -p ${host_builddir} ;\
- fi ;\
- $(STAMP) stamp-${host_alias}
-
-# Host includes static.
-# XXX Missing dependency info for {host_headers_extra}
-stamp-host: ${host_headers} ${host_headers_noinst} stamp-${host_alias}
- @if [ ! -f stamp-host ]; then \
- (cd ${host_builddir} ;\
- $(LN_S) ${host_headers} . || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_H) basic_file.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(ALLOCATOR_H) c++allocator.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CSTDIO_H) c++io.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_H) c++locale.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_INTERNAL_H) . || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(COMPATIBILITY_H) . || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_H) messages_members.h || true ;\
- $(LN_S) ${glibcxx_srcdir}/$(CTIME_H) time_members.h || true);\
- fi ;\
- $(STAMP) stamp-host
-
-# Host includes dynamic.
-@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@stamp-namespace-version:
-@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@ echo 1 > stamp-namespace-version
-@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@stamp-namespace-version:
-@ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ echo 0 > stamp-namespace-version
-
-@ENABLE_VISIBILITY_TRUE@stamp-visibility:
-@ENABLE_VISIBILITY_TRUE@ echo 1 > stamp-visibility
-@ENABLE_VISIBILITY_FALSE@stamp-visibility:
-@ENABLE_VISIBILITY_FALSE@ echo 0 > stamp-visibility
-
-# NB: The non-empty default ldbl_compat works around an AIX sed
-# oddity, see libstdc++/31957 for details.
-${host_builddir}/c++config.h: ${CONFIG_HEADER} \
- ${glibcxx_srcdir}/include/bits/c++config \
- stamp-${host_alias} \
- ${toplevel_srcdir}/gcc/DATESTAMP \
- stamp-namespace-version \
- stamp-visibility
- @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\
- nsa_version=`cat stamp-namespace-version` ;\
- visibility=`cat stamp-visibility` ;\
- ldbl_compat='s,g,g,' ;\
- grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \
- ${CONFIG_HEADER} > /dev/null 2>&1 \
- && ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\
- sed -e "s,define __GLIBCXX__,define __GLIBCXX__ $$date," \
- -e "s,define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION, define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION $$nsa_version," \
- -e "s,define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY, define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY $$visibility," \
- -e "$$ldbl_compat" \
- < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
- sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
- -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
- -e 's/VERSION/_GLIBCXX_VERSION/g' \
- -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
- -e '/[ ]_GLIBCXX_LONG_DOUBLE_COMPAT[ ]/d' \
- < ${CONFIG_HEADER} >> $@ ;\
- echo "" >> $@ ;\
- echo "#endif // _CXXCONFIG_" >> $@
-
-${host_builddir}/gthr.h: ${toplevel_srcdir}/gcc/gthr.h stamp-${host_alias}
- sed -e '/^#pragma/b' \
- -e '/^#/s/\(${uppercase}${uppercase}*\)/_GLIBCXX_\1/g' \
- -e 's/_GLIBCXX_SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
- < ${toplevel_srcdir}/gcc/gthr.h > $@
-
-${host_builddir}/gthr-single.h: ${toplevel_srcdir}/gcc/gthr-single.h \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- < ${toplevel_srcdir}/gcc/gthr-single.h > $@
-
-${host_builddir}/gthr-posix.h: ${toplevel_srcdir}/gcc/gthr-posix.h \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
- < ${toplevel_srcdir}/gcc/gthr-posix.h > $@
-
-${host_builddir}/gthr-tpf.h: ${toplevel_srcdir}/gcc/gthr-tpf.h \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
- < ${toplevel_srcdir}/gcc/gthr-tpf.h > $@
-
-${host_builddir}/gthr-default.h: ${toplevel_srcdir}/gcc/${glibcxx_thread_h} \
- stamp-${host_alias}
- sed -e 's/\(UNUSED\)/_GLIBCXX_\1/g' \
- -e 's/\(GCC${uppercase}*_H\)/_GLIBCXX_\1/g' \
- -e 's/SUPPORTS_WEAK/__GXX_WEAK__/g' \
- -e 's/\(${uppercase}*USE_WEAK\)/_GLIBCXX_\1/g' \
- -e 's,^#include "\(.*\)",#include <bits/\1>,g' \
- < ${toplevel_srcdir}/gcc/${glibcxx_thread_h} > $@
-
-# Build two precompiled C++ includes, stdc++.h.gch/*.gch
-${pch1a_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
- if [ ! -d "${pch1_output_builddir}" ]; then \
- mkdir -p ${pch1_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O0 -g ${pch1_source} -o $@
- touch ${pch1_output_anchor}
-
-${pch1b_output}: ${allstamped} ${host_builddir}/c++config.h ${pch1_source}
- if [ ! -d "${pch1_output_builddir}" ]; then \
- mkdir -p ${pch1_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch1_source} -o $@
- touch ${pch1_output_anchor}
-
-# Build a precompiled TR1 include, stdtr1c++.h.gch/O2.gch
-${pch2_output}: ${pch2_source} ${pch1_output}
- if [ ! -d "${pch2_output_builddir}" ]; then \
- mkdir -p ${pch2_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch2_source} -o $@
- touch ${pch2_output_anchor}
-
-# Build a precompiled extension include, extc++.h.gch/O2.gch
-${pch3_output}: ${pch3_source} ${pch2_output}
- if [ ! -d "${pch3_output_builddir}" ]; then \
- mkdir -p ${pch3_output_builddir}; \
- fi; \
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) -O2 -g ${pch3_source} -o $@
- touch ${pch3_output_anchor}
-
-# For robustness sake (in light of junk files or in-source
-# configuration), copy from the build or source tree to the install
-# tree using only the human-maintained file lists and directory
-# components. Yes, with minor differences, this is sheer duplication
-# of the staging rules above using $(INSTALL_DATA) instead of LN_S and
-# `$(mkinstalldirs)' instead of `mkdir -p'. In particular,
-# host_headers_extra are taken out of the build tree staging area;
-# the rest are taken from the original source tree.
-
-@GLIBCXX_HOSTED_TRUE@install-data-local: install-headers ${pch_install}
-@GLIBCXX_HOSTED_FALSE@install-data-local: install-freestanding-headers
-
-# This is a subset of the full install-headers rule. We only need <cstddef>,
-# <limits>, <cstdlib>, <cstdarg>, <new>, <typeinfo>, <exception>, and any
-# files which they include (and which we provide). The last three headers
-# are installed by libsupc++, so only the first four and the sub-includes
-# are copied here.
-install-freestanding-headers:
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
- $(mkinstalldirs) $(DESTDIR)${host_installdir}
- for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
- $(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir}
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
- for file in cstddef cstdlib cstdarg; do \
- $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
-
-# The real deal.
-install-headers:
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${bits_builddir}
- for file in ${bits_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${backward_builddir}
- for file in ${backward_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${backward_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${ext_builddir}
- for file in ${ext_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${ext_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pb_builddir}
- for dir in ${pb_subdirs}; do \
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/$${dir} ; done
- for file in ${pb_headers1}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers2}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers3}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers4}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers5}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers6}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- for file in ${pb_headers7}; do \
- install_base=$(DESTDIR)${gxx_include_dir}/${pb_builddir} ; \
- relative_name=`echo $$file | sed -e "s|${pb_srcdir}|.|g"` ;\
- $(INSTALL_DATA) $${file} $${install_base}/$${relative_name} ; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${tr1_builddir}
- for file in ${tr1_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${tr1_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
- for file in ${c_base_headers_rename}; do \
- $(INSTALL_DATA) ${c_base_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${c_base_builddir}; done
- c_base_headers_extra_install='$(c_base_headers_extra)';\
- for file in $$c_base_headers_extra_install; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${bits_builddir}; done
- c_compatibility_headers_install='$(c_compatibility_headers_extra)';\
- for file in $$c_compatibility_headers_install; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
- for file in ${std_headers_rename}; do \
- $(INSTALL_DATA) ${std_builddir}/$${file} $(DESTDIR)${gxx_include_dir}/${std_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir}
- for file in ${debug_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${host_installdir}
- for file in ${host_headers} ${host_headers_extra} \
- ${thread_host_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
-
-install-pch:
- $(mkinstalldirs) $(DESTDIR)${pch1_output_installdir}
- for file in ${pch1_output_builddir}/*; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${pch1_output_installdir}; done
- $(mkinstalldirs) $(DESTDIR)${pch2_output_installdir}
- for file in ${pch2_output_builddir}/*; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${pch2_output_installdir}; done
- $(INSTALL_DATA) ${pch1_output_anchor} $(DESTDIR)${host_installdir}
- $(INSTALL_DATA) ${pch2_output_anchor} $(DESTDIR)${host_installdir}
-
-# To remove directories.
-clean-local:
- rm -rf ${pch_output_dirs}
-
-# Stop implicit '.o' make rules from ever stomping on extensionless
-# headers, in the improbable case where some foolish, crack-addled
-# developer tries to create them via make in the include build
-# directory. (This is more of an example of how this kind of rule can
-# be made.)
-.PRECIOUS: $(std_headers_rename) $(c_base_headers_rename)
-$(std_headers_rename): ; @:
-$(c_base_headers_rename): ; @:
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/contrib/libstdc++/include/backward/algo.h b/contrib/libstdc++/include/backward/algo.h
deleted file mode 100644
index 247460105a4e..000000000000
--- a/contrib/libstdc++/include/backward/algo.h
+++ /dev/null
@@ -1,145 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_ALGO_H
-#define _BACKWARD_ALGO_H 1
-
-#include "backward_warning.h"
-#include "algobase.h"
-#include "tempbuf.h"
-#include "iterator.h"
-#include <bits/stl_algo.h>
-#include <bits/stl_numeric.h>
-#include <ext/algorithm>
-#include <ext/numeric>
-
-// Names from <stl_algo.h>
-using std::for_each;
-using std::find;
-using std::find_if;
-using std::adjacent_find;
-using std::count;
-using std::count_if;
-using std::search;
-using std::search_n;
-using std::swap_ranges;
-using std::transform;
-using std::replace;
-using std::replace_if;
-using std::replace_copy;
-using std::replace_copy_if;
-using std::generate;
-using std::generate_n;
-using std::remove;
-using std::remove_if;
-using std::remove_copy;
-using std::remove_copy_if;
-using std::unique;
-using std::unique_copy;
-using std::reverse;
-using std::reverse_copy;
-using std::rotate;
-using std::rotate_copy;
-using std::random_shuffle;
-using std::partition;
-using std::stable_partition;
-using std::sort;
-using std::stable_sort;
-using std::partial_sort;
-using std::partial_sort_copy;
-using std::nth_element;
-using std::lower_bound;
-using std::upper_bound;
-using std::equal_range;
-using std::binary_search;
-using std::merge;
-using std::inplace_merge;
-using std::includes;
-using std::set_union;
-using std::set_intersection;
-using std::set_difference;
-using std::set_symmetric_difference;
-using std::min_element;
-using std::max_element;
-using std::next_permutation;
-using std::prev_permutation;
-using std::find_first_of;
-using std::find_end;
-
-// Names from stl_heap.h
-using std::push_heap;
-using std::pop_heap;
-using std::make_heap;
-using std::sort_heap;
-
-// Names from stl_numeric.h
-using std::accumulate;
-using std::inner_product;
-using std::partial_sum;
-using std::adjacent_difference;
-
-// Names from ext/algorithm
-using __gnu_cxx::random_sample;
-using __gnu_cxx::random_sample_n;
-using __gnu_cxx::is_sorted;
-using __gnu_cxx::is_heap;
-using __gnu_cxx::count; // Extension returning void
-using __gnu_cxx::count_if; // Extension returning void
-
-// Names from ext/numeric
-using __gnu_cxx::power;
-using __gnu_cxx::iota;
-
-#endif /* _BACKWARD_ALGO_H */
diff --git a/contrib/libstdc++/include/backward/algobase.h b/contrib/libstdc++/include/backward/algobase.h
deleted file mode 100644
index 289e9886d1c2..000000000000
--- a/contrib/libstdc++/include/backward/algobase.h
+++ /dev/null
@@ -1,91 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_ALGOBASE_H
-#define _BACKWARD_ALGOBASE_H 1
-
-#include "backward_warning.h"
-#include "pair.h"
-#include "iterator.h"
-#include <bits/stl_algobase.h>
-#include <bits/stl_uninitialized.h>
-#include <ext/algorithm>
-#include <ext/memory>
-
-// Names from stl_algobase.h
-using std::iter_swap;
-using std::swap;
-using std::min;
-using std::max;
-using std::copy;
-using std::copy_backward;
-using std::fill;
-using std::fill_n;
-using std::mismatch;
-using std::equal;
-using std::lexicographical_compare;
-
-// Names from stl_uninitialized.h
-using std::uninitialized_copy;
-using std::uninitialized_fill;
-using std::uninitialized_fill_n;
-
-// Names from ext/algorithm
-using __gnu_cxx::copy_n;
-using __gnu_cxx::lexicographical_compare_3way;
-
-// Names from ext/memory
-using __gnu_cxx::uninitialized_copy_n;
-
-#endif /* _BACKWARD_ALGOBASE_H */
diff --git a/contrib/libstdc++/include/backward/alloc.h b/contrib/libstdc++/include/backward/alloc.h
deleted file mode 100644
index 40a0af1f9995..000000000000
--- a/contrib/libstdc++/include/backward/alloc.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001, 2003, 2004 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.
-
-/*
- * Copyright (c) 1996-1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_ALLOC_H
-#define _BACKWARD_ALLOC_H 1
-
-#include "backward_warning.h"
-#include <bits/c++config.h>
-#include <bits/allocator.h>
-
-using std::allocator;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/backward_warning.h b/contrib/libstdc++/include/backward/backward_warning.h
deleted file mode 100644
index 80eabfe878cf..000000000000
--- a/contrib/libstdc++/include/backward/backward_warning.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (C) 2001 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.
-
-#ifndef _BACKWARD_BACKWARD_WARNING_H
-#define _BACKWARD_BACKWARD_WARNING_H 1
-
-#ifdef __DEPRECATED
-#warning This file includes at least one deprecated or antiquated header. \
-Please consider using one of the 32 headers found in section 17.4.1.2 of the \
-C++ standard. Examples include substituting the <X> header for the <X.h> \
-header for C++ includes, or <iostream> instead of the deprecated header \
-<iostream.h>. To disable this warning use -Wno-deprecated.
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/backward/bvector.h b/contrib/libstdc++/include/backward/bvector.h
deleted file mode 100644
index 9a2c44da1441..000000000000
--- a/contrib/libstdc++/include/backward/bvector.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001, 2004 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_BVECTOR_H
-#define _BACKWARD_BVECTOR_H 1
-
-#include "backward_warning.h"
-#include <vector>
-
-typedef std::vector<bool, std::allocator<bool> > bit_vector;
-
-#endif /* _BACKWARD_BVECTOR_H */
diff --git a/contrib/libstdc++/include/backward/complex.h b/contrib/libstdc++/include/backward/complex.h
deleted file mode 100644
index 7972cf7303f2..000000000000
--- a/contrib/libstdc++/include/backward/complex.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright (C) 2000 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.
-
-#ifndef _BACKWARD_COMPLEX_H
-#define _BACKWARD_COMPLEX_H 1
-
-#include "backward_warning.h"
-#include <complex>
-
-using std::complex;
-typedef complex<float> float_complex;
-typedef complex<double> double_complex;
-typedef complex<long double> long_double_complex;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/defalloc.h b/contrib/libstdc++/include/backward/defalloc.h
deleted file mode 100644
index ffa9b16828b4..000000000000
--- a/contrib/libstdc++/include/backward/defalloc.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-// Inclusion of this file is DEPRECATED. This is the original HP
-// default allocator. It is provided only for backward compatibility.
-// This file WILL BE REMOVED in a future release.
-//
-// DO NOT USE THIS FILE unless you have an old container implementation
-// that requires an allocator with the HP-style interface.
-//
-// Standard-conforming allocators have a very different interface. The
-// standard default allocator is declared in the header <memory>.
-
-#ifndef _BACKWARD_DEFALLOC_H
-#define _BACKWARD_DEFALLOC_H 1
-
-#include "backward_warning.h"
-#include "new.h"
-#include <stddef.h>
-#include <stdlib.h>
-#include <limits.h>
-#include "iostream.h"
-#include "algobase.h"
-
-
-template <class _Tp>
-inline _Tp* allocate(ptrdiff_t __size, _Tp*) {
- set_new_handler(0);
- _Tp* __tmp = (_Tp*)(::operator new((size_t)(__size * sizeof(_Tp))));
- if (__tmp == 0) {
- cerr << "out of memory" << endl;
- exit(1);
- }
- return __tmp;
-}
-
-
-template <class _Tp>
-inline void deallocate(_Tp* __buffer) {
- ::operator delete(__buffer);
-}
-
-template <class _Tp>
-class allocator {
-public:
- typedef _Tp value_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- pointer allocate(size_type __n) {
- return ::allocate((difference_type)__n, (pointer)0);
- }
- void deallocate(pointer __p) { ::deallocate(__p); }
- pointer address(reference __x) { return (pointer)&__x; }
- const_pointer const_address(const_reference __x) {
- return (const_pointer)&__x;
- }
- size_type init_page_size() {
- return max(size_type(1), size_type(4096/sizeof(_Tp)));
- }
- size_type max_size() const {
- return max(size_type(1), size_type(UINT_MAX/sizeof(_Tp)));
- }
-};
-
-class allocator<void> {
-public:
- typedef void* pointer;
-};
-
-
-
-#endif /* _BACKWARD_DEFALLOC_H */
diff --git a/contrib/libstdc++/include/backward/deque.h b/contrib/libstdc++/include/backward/deque.h
deleted file mode 100644
index a4a6b4181176..000000000000
--- a/contrib/libstdc++/include/backward/deque.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_DEQUE_H
-#define _BACKWARD_DEQUE_H 1
-
-#include "backward_warning.h"
-#include "algobase.h"
-#include "alloc.h"
-#include <deque>
-
-using std::deque;
-
-#endif /* _BACKWARD_DEQUE_H */
diff --git a/contrib/libstdc++/include/backward/fstream.h b/contrib/libstdc++/include/backward/fstream.h
deleted file mode 100644
index 92835f9b8448..000000000000
--- a/contrib/libstdc++/include/backward/fstream.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright (C) 2000, 2001 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.
-
-#ifndef _BACKWARD_FSTREAM_H
-#define _BACKWARD_FSTREAM_H 1
-
-#include "backward_warning.h"
-#include <fstream>
-
-using std::filebuf;
-using std::ifstream;
-using std::ofstream;
-using std::fstream;
-using std::streampos;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-using std::wfilebuf;
-using std::wifstream;
-using std::wofstream;
-using std::wfstream;
-using std::wstreampos;
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/backward/function.h b/contrib/libstdc++/include/backward/function.h
deleted file mode 100644
index b5be371d8cd9..000000000000
--- a/contrib/libstdc++/include/backward/function.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_FUNCTION_H
-#define _BACKWARD_FUNCTION_H 1
-
-#include "backward_warning.h"
-#include <bits/c++config.h>
-#include <stddef.h>
-#include <bits/stl_function.h>
-#include <ext/functional>
-
-// Names from stl_function.h
-using std::unary_function;
-using std::binary_function;
-using std::plus;
-using std::minus;
-using std::multiplies;
-using std::divides;
-using std::modulus;
-using std::negate;
-using std::equal_to;
-using std::not_equal_to;
-using std::greater;
-using std::less;
-using std::greater_equal;
-using std::less_equal;
-using std::logical_and;
-using std::logical_or;
-using std::logical_not;
-using std::unary_negate;
-using std::binary_negate;
-using std::not1;
-using std::not2;
-using std::binder1st;
-using std::binder2nd;
-using std::bind1st;
-using std::bind2nd;
-using std::pointer_to_unary_function;
-using std::pointer_to_binary_function;
-using std::ptr_fun;
-using std::mem_fun_t;
-using std::const_mem_fun_t;
-using std::mem_fun_ref_t;
-using std::const_mem_fun_ref_t;
-using std::mem_fun1_t;
-using std::const_mem_fun1_t;
-using std::mem_fun1_ref_t;
-using std::const_mem_fun1_ref_t;
-using std::mem_fun;
-using std::mem_fun_ref;
-
-// Names from ext/functional
-using __gnu_cxx::identity_element;
-using __gnu_cxx::unary_compose;
-using __gnu_cxx::binary_compose;
-using __gnu_cxx::compose1;
-using __gnu_cxx::compose2;
-using __gnu_cxx::identity;
-using __gnu_cxx::select1st;
-using __gnu_cxx::select2nd;
-using __gnu_cxx::project1st;
-using __gnu_cxx::project2nd;
-using __gnu_cxx::constant_void_fun;
-using __gnu_cxx::constant_unary_fun;
-using __gnu_cxx::constant_binary_fun;
-using __gnu_cxx::constant0;
-using __gnu_cxx::constant1;
-using __gnu_cxx::constant2;
-using __gnu_cxx::subtractive_rng;
-using __gnu_cxx::mem_fun1;
-using __gnu_cxx::mem_fun1_ref;
-
-#endif /* _BACKWARD_FUNCTION_H */
diff --git a/contrib/libstdc++/include/backward/hash_map.h b/contrib/libstdc++/include/backward/hash_map.h
deleted file mode 100644
index aa1452200a3e..000000000000
--- a/contrib/libstdc++/include/backward/hash_map.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef _BACKWARD_HASH_MAP_H
-#define _BACKWARD_HASH_MAP_H 1
-
-#include "backward_warning.h"
-#include "algobase.h"
-#include <ext/hash_map>
-
-using __gnu_cxx::hash;
-using __gnu_cxx::hashtable;
-using __gnu_cxx::hash_map;
-using __gnu_cxx::hash_multimap;
-
-#endif /* _BACKWARD_HASH_MAP_H */
diff --git a/contrib/libstdc++/include/backward/hash_set.h b/contrib/libstdc++/include/backward/hash_set.h
deleted file mode 100644
index c2c6e393e42b..000000000000
--- a/contrib/libstdc++/include/backward/hash_set.h
+++ /dev/null
@@ -1,69 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef _BACKWARD_HASH_SET_H
-#define _BACKWARD_HASH_SET_H 1
-
-#include "backward_warning.h"
-#include "algobase.h"
-#include <ext/hash_set>
-
-using __gnu_cxx::hash;
-using __gnu_cxx::hashtable;
-using __gnu_cxx::hash_set;
-using __gnu_cxx::hash_multiset;
-
-#endif /* _BACKWARD_HASH_SET_H */
-
diff --git a/contrib/libstdc++/include/backward/hashtable.h b/contrib/libstdc++/include/backward/hashtable.h
deleted file mode 100644
index 7b7511b832cb..000000000000
--- a/contrib/libstdc++/include/backward/hashtable.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _BACKWARD_HASHTABLE_H
-#define _BACKWARD_HASHTABLE_H 1
-
-#include "backward_warning.h"
-#include <ext/hashtable.h>
-#include "algo.h"
-#include "alloc.h"
-#include "vector.h"
-
-using __gnu_cxx::hash;
-using __gnu_cxx::hashtable;
-
-#endif /* _BACKWARD_HASHTABLE_H */
diff --git a/contrib/libstdc++/include/backward/heap.h b/contrib/libstdc++/include/backward/heap.h
deleted file mode 100644
index ef2e68475aa1..000000000000
--- a/contrib/libstdc++/include/backward/heap.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_HEAP_H
-#define _BACKWARD_HEAP_H 1
-
-#include "backward_warning.h"
-#include <bits/c++config.h>
-#include <bits/stl_heap.h>
-
-using std::push_heap;
-using std::pop_heap;
-using std::make_heap;
-using std::sort_heap;
-
-#endif /* _BACKWARD_HEAP_H */
diff --git a/contrib/libstdc++/include/backward/iomanip.h b/contrib/libstdc++/include/backward/iomanip.h
deleted file mode 100644
index a4099a7bec42..000000000000
--- a/contrib/libstdc++/include/backward/iomanip.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright (C) 2000 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.
-
-#ifndef _BACKWARD_IOMANIP_H
-#define _BACKWARD_IOMANIP_H 1
-
-#include "backward_warning.h"
-#include "iostream.h"
-#include <iomanip>
-
-// These are from <ios> as per [27.4].
-using std::boolalpha;
-using std::noboolalpha;
-using std::showbase;
-using std::noshowbase;
-using std::showpoint;
-using std::noshowpoint;
-using std::showpos;
-using std::noshowpos;
-using std::skipws;
-using std::noskipws;
-using std::uppercase;
-using std::nouppercase;
-using std::internal;
-using std::left;
-using std::right;
-using std::dec;
-using std::hex;
-using std::oct;
-using std::fixed;
-using std::scientific;
-
-// These are from <iomanip> as per [27.6]. Manipulators from <istream>
-// and <ostream> (e.g., endl) are made available via <iostream.h>.
-using std::resetiosflags;
-using std::setiosflags;
-using std::setbase;
-using std::setfill;
-using std::setprecision;
-using std::setw;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/iostream.h b/contrib/libstdc++/include/backward/iostream.h
deleted file mode 100644
index ed275ffa98dd..000000000000
--- a/contrib/libstdc++/include/backward/iostream.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright (C) 1997-1999, 2000 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.
-
-#ifndef _BACKWARD_IOSTREAM_H
-#define _BACKWARD_IOSTREAM_H 1
-
-#include "backward_warning.h"
-#include <iostream>
-
-using std::iostream;
-using std::ostream;
-using std::istream;
-using std::ios;
-using std::streambuf;
-
-using std::cout;
-using std::cin;
-using std::cerr;
-using std::clog;
-#ifdef _GLIBCXX_USE_WCHAR_T
-using std::wcout;
-using std::wcin;
-using std::wcerr;
-using std::wclog;
-#endif
-
-using std::ws;
-using std::endl;
-using std::ends;
-using std::flush;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/istream.h b/contrib/libstdc++/include/backward/istream.h
deleted file mode 100644
index b1c55d189913..000000000000
--- a/contrib/libstdc++/include/backward/istream.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2000 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.
-
-#ifndef _BACKWARD_ISTREAM_H
-#define _BACKWARD_ISTREAM_H 1
-
-#include "backward_warning.h"
-#include "iostream.h"
-
-#endif
diff --git a/contrib/libstdc++/include/backward/iterator.h b/contrib/libstdc++/include/backward/iterator.h
deleted file mode 100644
index 89496fb8fff4..000000000000
--- a/contrib/libstdc++/include/backward/iterator.h
+++ /dev/null
@@ -1,187 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001, 2004 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_ITERATOR_H
-#define _BACKWARD_ITERATOR_H 1
-
-#include "backward_warning.h"
-#include "function.h"
-#include <stddef.h>
-#include "iostream.h"
-#include <iterator>
-
-#include <bits/stl_construct.h>
-#include <bits/stl_raw_storage_iter.h>
-
-#include <ext/iterator> // For 3-parameter distance extension
-
-// Names from stl_iterator.h
-using std::input_iterator_tag;
-using std::output_iterator_tag;
-using std::forward_iterator_tag;
-using std::bidirectional_iterator_tag;
-using std::random_access_iterator_tag;
-
-#if 0
-using std::iterator;
-#endif
-
-// The base classes input_iterator, output_iterator, forward_iterator,
-// bidirectional_iterator, and random_access_iterator are not part of
-// the C++ standard. (They have been replaced by struct iterator.)
-// They are included for backward compatibility with the HP STL.
-template<typename _Tp, typename _Distance>
- struct input_iterator {
- typedef input_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef _Distance difference_type;
- typedef _Tp* pointer;
- typedef _Tp& reference;
- };
-
-struct output_iterator {
- typedef output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
-};
-
-template<typename _Tp, typename _Distance>
- struct forward_iterator {
- typedef forward_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef _Distance difference_type;
- typedef _Tp* pointer;
- typedef _Tp& reference;
- };
-
-template<typename _Tp, typename _Distance>
- struct bidirectional_iterator {
- typedef bidirectional_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef _Distance difference_type;
- typedef _Tp* pointer;
- typedef _Tp& reference;
- };
-
-template<typename _Tp, typename _Distance>
- struct random_access_iterator {
- typedef random_access_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef _Distance difference_type;
- typedef _Tp* pointer;
- typedef _Tp& reference;
- };
-
-using std::iterator_traits;
-
-template <class _Iter>
- inline typename iterator_traits<_Iter>::iterator_category
- iterator_category(const _Iter& __i)
- { return __iterator_category(__i); }
-
-template <class _Iter>
- inline typename iterator_traits<_Iter>::difference_type*
- distance_type(const _Iter&)
- { return static_cast<typename iterator_traits<_Iter>::difference_type*>(0); }
-
-template<class _Iter>
- inline typename iterator_traits<_Iter>::value_type*
- value_type(const _Iter& __i)
- { return static_cast<typename iterator_traits<_Iter>::value_type*>(0); }
-
-using std::distance;
-using __gnu_cxx::distance; // 3-parameter extension
-using std::advance;
-
-using std::insert_iterator;
-using std::front_insert_iterator;
-using std::back_insert_iterator;
-using std::inserter;
-using std::front_inserter;
-using std::back_inserter;
-
-using std::reverse_iterator;
-
-using std::istream_iterator;
-using std::ostream_iterator;
-
-// Names from stl_construct.h
-template<class _T1, class _T2>
- inline void
- construct(_T1* __p, const _T2& __value)
- { std::_Construct(__p, __value); }
-
-template<class _T1>
- inline void
- construct(_T1* __p)
- { std::_Construct(__p); }
-
-template <class _Tp>
- inline void
- destroy(_Tp* __pointer)
- { std::_Destroy(__pointer); }
-
-template <class _ForwardIterator>
- inline void
- destroy(_ForwardIterator __first, _ForwardIterator __last)
- { std::_Destroy(__first, __last); }
-
-
-// Names from stl_raw_storage_iter.h
-using std::raw_storage_iterator;
-
-#endif /* _BACKWARD_ITERATOR_H */
diff --git a/contrib/libstdc++/include/backward/list.h b/contrib/libstdc++/include/backward/list.h
deleted file mode 100644
index d70a6e4ae7d4..000000000000
--- a/contrib/libstdc++/include/backward/list.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_LIST_H
-#define _BACKWARD_LIST_H 1
-
-#include "backward_warning.h"
-#include "algobase.h"
-#include "alloc.h"
-#include <list>
-
-using std::list;
-
-#endif /* _BACKWARD_LIST_H */
diff --git a/contrib/libstdc++/include/backward/map.h b/contrib/libstdc++/include/backward/map.h
deleted file mode 100644
index 2ff3cec667e7..000000000000
--- a/contrib/libstdc++/include/backward/map.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_MAP_H
-#define _BACKWARD_MAP_H 1
-
-#include "backward_warning.h"
-#include "tree.h"
-#include <map>
-
-using std::map;
-
-#endif /* _BACKWARD_MAP_H */
diff --git a/contrib/libstdc++/include/backward/multimap.h b/contrib/libstdc++/include/backward/multimap.h
deleted file mode 100644
index 515d2995049b..000000000000
--- a/contrib/libstdc++/include/backward/multimap.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_MULTIMAP_H
-#define _BACKWARD_MULTIMAP_H 1
-
-#include "backward_warning.h"
-#include "tree.h"
-#include <map>
-
-using std::multimap;
-
-#endif /* _BACKWARD_MULTIMAP_H */
diff --git a/contrib/libstdc++/include/backward/multiset.h b/contrib/libstdc++/include/backward/multiset.h
deleted file mode 100644
index 1f857ae6eb06..000000000000
--- a/contrib/libstdc++/include/backward/multiset.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_MULTISET_H
-#define _BACKWARD_MULTISET_H 1
-
-#include "backward_warning.h"
-#include "tree.h"
-#include <set>
-
-using std::multiset;
-
-#endif /* _BACKWARD_MULTISET_H */
diff --git a/contrib/libstdc++/include/backward/new.h b/contrib/libstdc++/include/backward/new.h
deleted file mode 100644
index 9cfbab27fe6b..000000000000
--- a/contrib/libstdc++/include/backward/new.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// -*- C++ -*- forwarding header.
-// Copyright (C) 2000 Free Software Foundation
-
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#ifndef _BACKWARD_NEW_H
-#define _BACKWARD_NEW_H 1
-
-#include "backward_warning.h"
-#include <new>
-
-using std::bad_alloc;
-using std::nothrow_t;
-using std::nothrow;
-using std::new_handler;
-using std::set_new_handler;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/ostream.h b/contrib/libstdc++/include/backward/ostream.h
deleted file mode 100644
index 07ef9b0f2b37..000000000000
--- a/contrib/libstdc++/include/backward/ostream.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2000 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.
-
-#ifndef _BACKWARD_OSTREAM_H
-#define _BACKWARD_OSTREAM_H 1
-
-#include "backward_warning.h"
-#include "iostream.h"
-
-#endif
diff --git a/contrib/libstdc++/include/backward/pair.h b/contrib/libstdc++/include/backward/pair.h
deleted file mode 100644
index 4985bcbfdd2a..000000000000
--- a/contrib/libstdc++/include/backward/pair.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_PAIR_H
-#define _BACKWARD_PAIR_H 1
-
-#include "backward_warning.h"
-#include <bits/c++config.h>
-#include <bits/stl_pair.h>
-
-using std::pair;
-using std::make_pair;
-
-#endif /* _BACKWARD_PAIR_H */
diff --git a/contrib/libstdc++/include/backward/queue.h b/contrib/libstdc++/include/backward/queue.h
deleted file mode 100644
index da7505c28d1a..000000000000
--- a/contrib/libstdc++/include/backward/queue.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (C) 2001 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.
-
-#ifndef _BACKWARD_QUEUE_H
-#define _BACKWARD_QUEUE_H 1
-
-#include "backward_warning.h"
-#include <queue>
-
-using std::queue;
-using std::priority_queue;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/rope.h b/contrib/libstdc++/include/backward/rope.h
deleted file mode 100644
index 71e881532678..000000000000
--- a/contrib/libstdc++/include/backward/rope.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_ROPE_H
-#define _BACKWARD_ROPE_H 1
-
-#include "backward_warning.h"
-#include "hashtable.h"
-#include <ext/rope>
-
-using __gnu_cxx::char_producer;
-using __gnu_cxx::sequence_buffer;
-using __gnu_cxx::rope;
-using __gnu_cxx::crope;
-using __gnu_cxx::wrope;
-
-#endif /* _BACKWARD_ROPE_H */
diff --git a/contrib/libstdc++/include/backward/set.h b/contrib/libstdc++/include/backward/set.h
deleted file mode 100644
index 3c6a390cf49d..000000000000
--- a/contrib/libstdc++/include/backward/set.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_SET_H
-#define _BACKWARD_SET_H 1
-
-#include "backward_warning.h"
-#include "tree.h"
-#include <set>
-
-using std::set;
-
-#endif /* _BACKWARD_SET_H */
diff --git a/contrib/libstdc++/include/backward/slist.h b/contrib/libstdc++/include/backward/slist.h
deleted file mode 100644
index 9b9a43d3f0d7..000000000000
--- a/contrib/libstdc++/include/backward/slist.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef _BACKWARD_SLIST_H
-#define _BACKWARD_SLIST_H 1
-
-#include "backward_warning.h"
-#include <ext/slist>
-
-using __gnu_cxx::slist;
-
-#endif /* _BACKWARD_SLIST_H */
diff --git a/contrib/libstdc++/include/backward/stack.h b/contrib/libstdc++/include/backward/stack.h
deleted file mode 100644
index 07df41769e00..000000000000
--- a/contrib/libstdc++/include/backward/stack.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_STACK_H
-#define _BACKWARD_STACK_H 1
-
-#include "backward_warning.h"
-#include "vector.h"
-#include "deque.h"
-#include "heap.h"
-#include "queue.h"
-#include <stack>
-
-using std::stack;
-
-#endif /* _BACKWARD_STACK_H */
diff --git a/contrib/libstdc++/include/backward/stream.h b/contrib/libstdc++/include/backward/stream.h
deleted file mode 100644
index c137601e6769..000000000000
--- a/contrib/libstdc++/include/backward/stream.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2000 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.
-
-#ifndef _BACKWARD_STREAM_H
-#define _BACKWARD_STREAM_H 1
-
-#include "backward_warning.h"
-#include "iostream.h"
-
-#endif
diff --git a/contrib/libstdc++/include/backward/streambuf.h b/contrib/libstdc++/include/backward/streambuf.h
deleted file mode 100644
index bac24495a056..000000000000
--- a/contrib/libstdc++/include/backward/streambuf.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (C) 2000 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.
-
-#ifndef _BACKWARD_STREAMBUF_H
-#define _BACKWARD_STREAMBUF_H 1
-
-#include "backward_warning.h"
-#include <streambuf>
-
-using std::streambuf;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/strstream b/contrib/libstdc++/include/backward/strstream
deleted file mode 100644
index d0d5a13863f7..000000000000
--- a/contrib/libstdc++/include/backward/strstream
+++ /dev/null
@@ -1,181 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- * Copyright (c) 1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-// WARNING: The classes defined in this header are DEPRECATED. This
-// header is defined in section D.7.1 of the C++ standard, and it
-// MAY BE REMOVED in a future standard revision. You should use the
-// header <sstream> instead.
-
-#ifndef __SGI_STL_STRSTREAM
-#define __SGI_STL_STRSTREAM
-
-#include "backward_warning.h"
-#include <iosfwd>
-#include <ios>
-#include <istream>
-#include <ostream>
-#include <string>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Class strstreambuf, a streambuf class that manages an array of char.
- // Note that this class is not a template.
- class strstreambuf : public basic_streambuf<char, char_traits<char> >
- {
- public:
- // Types.
- typedef char_traits<char> _Traits;
- typedef basic_streambuf<char, _Traits> _Base;
-
- public:
- // Constructor, destructor
- explicit strstreambuf(streamsize __initial_capacity = 0);
- strstreambuf(void* (*__alloc)(size_t), void (*__free)(void*));
-
- strstreambuf(char* __get, streamsize __n, char* __put = 0);
- strstreambuf(signed char* __get, streamsize __n, signed char* __put = 0);
- strstreambuf(unsigned char* __get, streamsize __n, unsigned char* __put=0);
-
- strstreambuf(const char* __get, streamsize __n);
- strstreambuf(const signed char* __get, streamsize __n);
- strstreambuf(const unsigned char* __get, streamsize __n);
-
- virtual ~strstreambuf();
-
- public:
- void freeze(bool = true);
- char* str();
- int pcount() const;
-
- protected:
- virtual int_type overflow(int_type __c = _Traits::eof());
- virtual int_type pbackfail(int_type __c = _Traits::eof());
- virtual int_type underflow();
- virtual _Base* setbuf(char* __buf, streamsize __n);
- virtual pos_type seekoff(off_type __off, ios_base::seekdir __dir,
- ios_base::openmode __mode
- = ios_base::in | ios_base::out);
- virtual pos_type seekpos(pos_type __pos, ios_base::openmode __mode
- = ios_base::in | ios_base::out);
-
- private:
- strstreambuf&
- operator=(const strstreambuf&);
-
- strstreambuf(const strstreambuf&);
-
- // Dynamic allocation, possibly using _M_alloc_fun and _M_free_fun.
- char* _M_alloc(size_t);
- void _M_free(char*);
-
- // Helper function used in constructors.
- void _M_setup(char* __get, char* __put, streamsize __n);
-
- private:
- // Data members.
- void* (*_M_alloc_fun)(size_t);
- void (*_M_free_fun)(void*);
-
- bool _M_dynamic : 1;
- bool _M_frozen : 1;
- bool _M_constant : 1;
- };
-
- // Class istrstream, an istream that manages a strstreambuf.
- class istrstream : public basic_istream<char>
- {
- public:
- explicit istrstream(char*);
- explicit istrstream(const char*);
- istrstream(char* , streamsize);
- istrstream(const char*, streamsize);
- virtual ~istrstream();
-
- strstreambuf* rdbuf() const;
- char* str();
-
- private:
- strstreambuf _M_buf;
- };
-
- // Class ostrstream
- class ostrstream : public basic_ostream<char>
- {
- public:
- ostrstream();
- ostrstream(char*, int, ios_base::openmode = ios_base::out);
- virtual ~ostrstream();
-
- strstreambuf* rdbuf() const;
- void freeze(bool = true);
- char* str();
- int pcount() const;
-
- private:
- strstreambuf _M_buf;
- };
-
- // Class strstream
- class strstream : public basic_iostream<char>
- {
- public:
- typedef char char_type;
- typedef char_traits<char>::int_type int_type;
- typedef char_traits<char>::pos_type pos_type;
- typedef char_traits<char>::off_type off_type;
-
- strstream();
- strstream(char*, int, ios_base::openmode = ios_base::in | ios_base::out);
- virtual ~strstream();
-
- strstreambuf* rdbuf() const;
- void freeze(bool = true);
- int pcount() const;
- char* str();
-
- private:
- strstreambuf _M_buf;
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/backward/tempbuf.h b/contrib/libstdc++/include/backward/tempbuf.h
deleted file mode 100644
index af6e57daa3b0..000000000000
--- a/contrib/libstdc++/include/backward/tempbuf.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_TEMPBUF_H
-#define _BACKWARD_TEMPBUF_H 1
-
-#include "backward_warning.h"
-#include "pair.h"
-#include "iterator.h"
-#include <limits.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <bits/cpp_type_traits.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <ext/memory>
-
-using std::get_temporary_buffer;
-using std::return_temporary_buffer;
-using __gnu_cxx::temporary_buffer;
-
-#endif /* _BACKWARD_TEMPBUF_H */
diff --git a/contrib/libstdc++/include/backward/tree.h b/contrib/libstdc++/include/backward/tree.h
deleted file mode 100644
index 88a2f1d7c824..000000000000
--- a/contrib/libstdc++/include/backward/tree.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-#ifndef _BACKWARD_TREE
-#define _BACKWARD_TREE 1
-
-#include "backward_warning.h"
-#include <ext/rb_tree>
-
-using __gnu_cxx::rb_tree;
-
-#endif
diff --git a/contrib/libstdc++/include/backward/vector.h b/contrib/libstdc++/include/backward/vector.h
deleted file mode 100644
index 8cd8dd0f3608..000000000000
--- a/contrib/libstdc++/include/backward/vector.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// Backward-compat support -*- C++ -*-
-
-// Copyright (C) 2001 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#ifndef _BACKWARD_VECTOR_H
-#define _BACKWARD_VECTOR_H 1
-
-#include "backward_warning.h"
-#include "algobase.h"
-#include "alloc.h"
-#include <vector>
-
-using std::vector;
-
-#endif /* _BACKWARD_VECTOR_H */
diff --git a/contrib/libstdc++/include/bits/allocator.h b/contrib/libstdc++/include/bits/allocator.h
deleted file mode 100644
index 4d62c0ae8f32..000000000000
--- a/contrib/libstdc++/include/bits/allocator.h
+++ /dev/null
@@ -1,163 +0,0 @@
-// Allocators -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- * Copyright (c) 1996-1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file allocator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _ALLOCATOR_H
-#define _ALLOCATOR_H 1
-
-// Define the base class to std::allocator.
-#include <bits/c++allocator.h>
-
-#include <bits/cpp_type_traits.h> // for __is_empty
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _Tp>
- class allocator;
-
- /// allocator<void> specialization.
- template<>
- class allocator<void>
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef void* pointer;
- typedef const void* const_pointer;
- typedef void value_type;
-
- template<typename _Tp1>
- struct rebind
- { typedef allocator<_Tp1> other; };
- };
-
- /**
- * @brief The "standard" allocator, as per [20.4].
- *
- * Further details:
- * http://gcc.gnu.org/onlinedocs/libstdc++/20_util/allocator.html
- */
- template<typename _Tp>
- class allocator: public __glibcxx_base_allocator<_Tp>
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
-
- template<typename _Tp1>
- struct rebind
- { typedef allocator<_Tp1> other; };
-
- allocator() throw() { }
-
- allocator(const allocator& __a) throw()
- : __glibcxx_base_allocator<_Tp>(__a) { }
-
- template<typename _Tp1>
- allocator(const allocator<_Tp1>&) throw() { }
-
- ~allocator() throw() { }
-
- // Inherit everything else.
- };
-
- template<typename _T1, typename _T2>
- inline bool
- operator==(const allocator<_T1>&, const allocator<_T2>&)
- { return true; }
-
- template<typename _Tp>
- inline bool
- operator==(const allocator<_Tp>&, const allocator<_Tp>&)
- { return true; }
-
- template<typename _T1, typename _T2>
- inline bool
- operator!=(const allocator<_T1>&, const allocator<_T2>&)
- { return false; }
-
- template<typename _Tp>
- inline bool
- operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
- { return false; }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class allocator<char>;
- extern template class allocator<wchar_t>;
-#endif
-
- // Undefine.
-#undef __glibcxx_base_allocator
-
- // To implement Option 3 of DR 431.
- template<typename _Alloc, bool = std::__is_empty<_Alloc>::__value>
- struct __alloc_swap
- { static void _S_do_it(_Alloc&, _Alloc&) { } };
-
- template<typename _Alloc>
- struct __alloc_swap<_Alloc, false>
- {
- static void
- _S_do_it(_Alloc& __one, _Alloc& __two)
- {
- // Precondition: swappable allocators.
- if (__one != __two)
- swap(__one, __two);
- }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/basic_ios.h b/contrib/libstdc++/include/bits/basic_ios.h
deleted file mode 100644
index d078431b9fd0..000000000000
--- a/contrib/libstdc++/include/bits/basic_ios.h
+++ /dev/null
@@ -1,468 +0,0 @@
-// Iostreams base classes -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 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 basic_ios.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _BASIC_IOS_H
-#define _BASIC_IOS_H 1
-
-#pragma GCC system_header
-
-#include <bits/streambuf_iterator.h>
-#include <bits/localefwd.h>
-#include <bits/locale_classes.h>
-#include <bits/locale_facets.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 27.4.5 Template class basic_ios
- /**
- * @brief Virtual base class for all stream classes.
- *
- * Most of the member functions called dispatched on stream objects
- * (e.g., @c std::cout.foo(bar);) are consolidated in this class.
- */
- template<typename _CharT, typename _Traits>
- class basic_ios : public ios_base
- {
- public:
- //@{
- /**
- * These are standard types. They permit a standardized way of
- * referring to names of (or names dependant on) the template
- * parameters, which are specific to the implementation.
- */
- typedef _CharT char_type;
- typedef typename _Traits::int_type int_type;
- typedef typename _Traits::pos_type pos_type;
- typedef typename _Traits::off_type off_type;
- typedef _Traits traits_type;
- //@}
-
- //@{
- /**
- * @if maint
- * These are non-standard types.
- * @endif
- */
- typedef ctype<_CharT> __ctype_type;
- typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
- __num_put_type;
- typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
- __num_get_type;
- //@}
-
- // Data members:
- protected:
- basic_ostream<_CharT, _Traits>* _M_tie;
- mutable char_type _M_fill;
- mutable bool _M_fill_init;
- basic_streambuf<_CharT, _Traits>* _M_streambuf;
-
- // Cached use_facet<ctype>, which is based on the current locale info.
- const __ctype_type* _M_ctype;
- // For ostream.
- const __num_put_type* _M_num_put;
- // For istream.
- const __num_get_type* _M_num_get;
-
- public:
- //@{
- /**
- * @brief The quick-and-easy status check.
- *
- * This allows you to write constructs such as
- * "if (!a_stream) ..." and "while (a_stream) ..."
- */
- operator void*() const
- { return this->fail() ? 0 : const_cast<basic_ios*>(this); }
-
- bool
- operator!() const
- { return this->fail(); }
- //@}
-
- /**
- * @brief Returns the error state of the stream buffer.
- * @return A bit pattern (well, isn't everything?)
- *
- * See std::ios_base::iostate for the possible bit values. Most
- * users will call one of the interpreting wrappers, e.g., good().
- */
- iostate
- rdstate() const
- { return _M_streambuf_state; }
-
- /**
- * @brief [Re]sets the error state.
- * @param state The new state flag(s) to set.
- *
- * See std::ios_base::iostate for the possible bit values. Most
- * users will not need to pass an argument.
- */
- void
- clear(iostate __state = goodbit);
-
- /**
- * @brief Sets additional flags in the error state.
- * @param state The additional state flag(s) to set.
- *
- * See std::ios_base::iostate for the possible bit values.
- */
- void
- setstate(iostate __state)
- { this->clear(this->rdstate() | __state); }
-
- // Flip the internal state on for the proper state bits, then re
- // throws the propagated exception if bit also set in
- // exceptions().
- void
- _M_setstate(iostate __state)
- {
- // 27.6.1.2.1 Common requirements.
- // Turn this on without causing an ios::failure to be thrown.
- _M_streambuf_state |= __state;
- if (this->exceptions() & __state)
- __throw_exception_again;
- }
-
- /**
- * @brief Fast error checking.
- * @return True if no error flags are set.
- *
- * A wrapper around rdstate.
- */
- bool
- good() const
- { return this->rdstate() == 0; }
-
- /**
- * @brief Fast error checking.
- * @return True if the eofbit is set.
- *
- * Note that other iostate flags may also be set.
- */
- bool
- eof() const
- { return (this->rdstate() & eofbit) != 0; }
-
- /**
- * @brief Fast error checking.
- * @return True if either the badbit or the failbit is set.
- *
- * Checking the badbit in fail() is historical practice.
- * Note that other iostate flags may also be set.
- */
- bool
- fail() const
- { return (this->rdstate() & (badbit | failbit)) != 0; }
-
- /**
- * @brief Fast error checking.
- * @return True if the badbit is set.
- *
- * Note that other iostate flags may also be set.
- */
- bool
- bad() const
- { return (this->rdstate() & badbit) != 0; }
-
- /**
- * @brief Throwing exceptions on errors.
- * @return The current exceptions mask.
- *
- * This changes nothing in the stream. See the one-argument version
- * of exceptions(iostate) for the meaning of the return value.
- */
- iostate
- exceptions() const
- { return _M_exception; }
-
- /**
- * @brief Throwing exceptions on errors.
- * @param except The new exceptions mask.
- *
- * By default, error flags are set silently. You can set an
- * exceptions mask for each stream; if a bit in the mask becomes set
- * in the error flags, then an exception of type
- * std::ios_base::failure is thrown.
- *
- * If the error flage is already set when the exceptions mask is
- * added, the exception is immediately thrown. Try running the
- * following under GCC 3.1 or later:
- * @code
- * #include <iostream>
- * #include <fstream>
- * #include <exception>
- *
- * int main()
- * {
- * std::set_terminate (__gnu_cxx::__verbose_terminate_handler);
- *
- * std::ifstream f ("/etc/motd");
- *
- * std::cerr << "Setting badbit\n";
- * f.setstate (std::ios_base::badbit);
- *
- * std::cerr << "Setting exception mask\n";
- * f.exceptions (std::ios_base::badbit);
- * }
- * @endcode
- */
- void
- exceptions(iostate __except)
- {
- _M_exception = __except;
- this->clear(_M_streambuf_state);
- }
-
- // Constructor/destructor:
- /**
- * @brief Constructor performs initialization.
- *
- * The parameter is passed by derived streams.
- */
- explicit
- basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
- : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
- _M_ctype(0), _M_num_put(0), _M_num_get(0)
- { this->init(__sb); }
-
- /**
- * @brief Empty.
- *
- * The destructor does nothing. More specifically, it does not
- * destroy the streambuf held by rdbuf().
- */
- virtual
- ~basic_ios() { }
-
- // Members:
- /**
- * @brief Fetches the current @e tied stream.
- * @return A pointer to the tied stream, or NULL if the stream is
- * not tied.
- *
- * A stream may be @e tied (or synchronized) to a second output
- * stream. When this stream performs any I/O, the tied stream is
- * first flushed. For example, @c std::cin is tied to @c std::cout.
- */
- basic_ostream<_CharT, _Traits>*
- tie() const
- { return _M_tie; }
-
- /**
- * @brief Ties this stream to an output stream.
- * @param tiestr The output stream.
- * @return The previously tied output stream, or NULL if the stream
- * was not tied.
- *
- * This sets up a new tie; see tie() for more.
- */
- basic_ostream<_CharT, _Traits>*
- tie(basic_ostream<_CharT, _Traits>* __tiestr)
- {
- basic_ostream<_CharT, _Traits>* __old = _M_tie;
- _M_tie = __tiestr;
- return __old;
- }
-
- /**
- * @brief Accessing the underlying buffer.
- * @return The current stream buffer.
- *
- * This does not change the state of the stream.
- */
- basic_streambuf<_CharT, _Traits>*
- rdbuf() const
- { return _M_streambuf; }
-
- /**
- * @brief Changing the underlying buffer.
- * @param sb The new stream buffer.
- * @return The previous stream buffer.
- *
- * Associates a new buffer with the current stream, and clears the
- * error state.
- *
- * Due to historical accidents which the LWG refuses to correct, the
- * I/O library suffers from a design error: this function is hidden
- * in derived classes by overrides of the zero-argument @c rdbuf(),
- * which is non-virtual for hysterical raisins. As a result, you
- * must use explicit qualifications to access this function via any
- * derived class. For example:
- *
- * @code
- * std::fstream foo; // or some other derived type
- * std::streambuf* p = .....;
- *
- * foo.ios::rdbuf(p); // ios == basic_ios<char>
- * @endcode
- */
- basic_streambuf<_CharT, _Traits>*
- rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
-
- /**
- * @brief Copies fields of __rhs into this.
- * @param __rhs The source values for the copies.
- * @return Reference to this object.
- *
- * All fields of __rhs are copied into this object except that rdbuf()
- * and rdstate() remain unchanged. All values in the pword and iword
- * arrays are copied. Before copying, each callback is invoked with
- * erase_event. After copying, each (new) callback is invoked with
- * copyfmt_event. The final step is to copy exceptions().
- */
- basic_ios&
- copyfmt(const basic_ios& __rhs);
-
- /**
- * @brief Retreives the "empty" character.
- * @return The current fill character.
- *
- * It defaults to a space (' ') in the current locale.
- */
- char_type
- fill() const
- {
- if (!_M_fill_init)
- {
- _M_fill = this->widen(' ');
- _M_fill_init = true;
- }
- return _M_fill;
- }
-
- /**
- * @brief Sets a new "empty" character.
- * @param ch The new character.
- * @return The previous fill character.
- *
- * The fill character is used to fill out space when P+ characters
- * have been requested (e.g., via setw), Q characters are actually
- * used, and Q<P. It defaults to a space (' ') in the current locale.
- */
- char_type
- fill(char_type __ch)
- {
- char_type __old = this->fill();
- _M_fill = __ch;
- return __old;
- }
-
- // Locales:
- /**
- * @brief Moves to a new locale.
- * @param loc The new locale.
- * @return The previous locale.
- *
- * Calls @c ios_base::imbue(loc), and if a stream buffer is associated
- * with this stream, calls that buffer's @c pubimbue(loc).
- *
- * Additional l10n notes are at
- * http://gcc.gnu.org/onlinedocs/libstdc++/22_locale/howto.html
- */
- locale
- imbue(const locale& __loc);
-
- /**
- * @brief Squeezes characters.
- * @param c The character to narrow.
- * @param dfault The character to narrow.
- * @return The narrowed character.
- *
- * Maps a character of @c char_type to a character of @c char,
- * if possible.
- *
- * Returns the result of
- * @code
- * std::use_facet<ctype<char_type> >(getloc()).narrow(c,dfault)
- * @endcode
- *
- * Additional l10n notes are at
- * http://gcc.gnu.org/onlinedocs/libstdc++/22_locale/howto.html
- */
- char
- narrow(char_type __c, char __dfault) const;
-
- /**
- * @brief Widens characters.
- * @param c The character to widen.
- * @return The widened character.
- *
- * Maps a character of @c char to a character of @c char_type.
- *
- * Returns the result of
- * @code
- * std::use_facet<ctype<char_type> >(getloc()).widen(c)
- * @endcode
- *
- * Additional l10n notes are at
- * http://gcc.gnu.org/onlinedocs/libstdc++/22_locale/howto.html
- */
- char_type
- widen(char __c) const;
-
- protected:
- // 27.4.5.1 basic_ios constructors
- /**
- * @brief Empty.
- *
- * The default constructor does nothing and is not normally
- * accessible to users.
- */
- basic_ios()
- : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
- _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
- { }
-
- /**
- * @brief All setup is performed here.
- *
- * This is called from the public constructor. It is not virtual and
- * cannot be redefined.
- */
- void
- init(basic_streambuf<_CharT, _Traits>* __sb);
-
- void
- _M_cache_locale(const locale& __loc);
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-#include <bits/basic_ios.tcc>
-#endif
-
-#endif /* _BASIC_IOS_H */
diff --git a/contrib/libstdc++/include/bits/basic_ios.tcc b/contrib/libstdc++/include/bits/basic_ios.tcc
deleted file mode 100644
index e8434a5bdf08..000000000000
--- a/contrib/libstdc++/include/bits/basic_ios.tcc
+++ /dev/null
@@ -1,202 +0,0 @@
-// basic_ios member functions -*- C++ -*-
-
-// Copyright (C) 1999, 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 basic_ios.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _BASIC_IOS_TCC
-#define _BASIC_IOS_TCC 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits>
- void
- basic_ios<_CharT, _Traits>::clear(iostate __state)
- {
- if (this->rdbuf())
- _M_streambuf_state = __state;
- else
- _M_streambuf_state = __state | badbit;
- if (this->exceptions() & this->rdstate())
- __throw_ios_failure(__N("basic_ios::clear"));
- }
-
- template<typename _CharT, typename _Traits>
- basic_streambuf<_CharT, _Traits>*
- basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
- {
- basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
- _M_streambuf = __sb;
- this->clear();
- return __old;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ios<_CharT, _Traits>&
- basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 292. effects of a.copyfmt (a)
- if (this != &__rhs)
- {
- // Per 27.1.1, do not call imbue, yet must trash all caches
- // associated with imbue()
-
- // Alloc any new word array first, so if it fails we have "rollback".
- _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
- _M_local_word : new _Words[__rhs._M_word_size];
-
- // Bump refs before doing callbacks, for safety.
- _Callback_list* __cb = __rhs._M_callbacks;
- if (__cb)
- __cb->_M_add_reference();
- _M_call_callbacks(erase_event);
- if (_M_word != _M_local_word)
- {
- delete [] _M_word;
- _M_word = 0;
- }
- _M_dispose_callbacks();
-
- // NB: Don't want any added during above.
- _M_callbacks = __cb;
- for (int __i = 0; __i < __rhs._M_word_size; ++__i)
- __words[__i] = __rhs._M_word[__i];
- _M_word = __words;
- _M_word_size = __rhs._M_word_size;
-
- this->flags(__rhs.flags());
- this->width(__rhs.width());
- this->precision(__rhs.precision());
- this->tie(__rhs.tie());
- this->fill(__rhs.fill());
- _M_ios_locale = __rhs.getloc();
- _M_cache_locale(_M_ios_locale);
-
- _M_call_callbacks(copyfmt_event);
-
- // The next is required to be the last assignment.
- this->exceptions(__rhs.exceptions());
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- char
- basic_ios<_CharT, _Traits>::narrow(char_type __c, char __dfault) const
- { return __check_facet(_M_ctype).narrow(__c, __dfault); }
-
- template<typename _CharT, typename _Traits>
- _CharT
- basic_ios<_CharT, _Traits>::widen(char __c) const
- { return __check_facet(_M_ctype).widen(__c); }
-
- // Locales:
- template<typename _CharT, typename _Traits>
- locale
- basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
- {
- locale __old(this->getloc());
- ios_base::imbue(__loc);
- _M_cache_locale(__loc);
- if (this->rdbuf() != 0)
- this->rdbuf()->pubimbue(__loc);
- return __old;
- }
-
- template<typename _CharT, typename _Traits>
- void
- basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
- {
- // NB: This may be called more than once on the same object.
- ios_base::_M_init();
-
- // Cache locale data and specific facets used by iostreams.
- _M_cache_locale(_M_ios_locale);
-
- // NB: The 27.4.4.1 Postconditions Table specifies requirements
- // after basic_ios::init() has been called. As part of this,
- // fill() must return widen(' ') any time after init() has been
- // called, which needs an imbued ctype facet of char_type to
- // return without throwing an exception. Unfortunately,
- // ctype<char_type> is not necessarily a required facet, so
- // streams with char_type != [char, wchar_t] will not have it by
- // default. Because of this, the correct value for _M_fill is
- // constructed on the first call of fill(). That way,
- // unformatted input and output with non-required basic_ios
- // instantiations is possible even without imbuing the expected
- // ctype<char_type> facet.
- _M_fill = _CharT();
- _M_fill_init = false;
-
- _M_tie = 0;
- _M_exception = goodbit;
- _M_streambuf = __sb;
- _M_streambuf_state = __sb ? goodbit : badbit;
- }
-
- template<typename _CharT, typename _Traits>
- void
- basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
- {
- if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
- _M_ctype = &use_facet<__ctype_type>(__loc);
- else
- _M_ctype = 0;
-
- if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
- _M_num_put = &use_facet<__num_put_type>(__loc);
- else
- _M_num_put = 0;
-
- if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
- _M_num_get = &use_facet<__num_get_type>(__loc);
- else
- _M_num_get = 0;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class basic_ios<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class basic_ios<wchar_t>;
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/basic_string.h b/contrib/libstdc++/include/bits/basic_string.h
deleted file mode 100644
index 90d2e2d5f421..000000000000
--- a/contrib/libstdc++/include/bits/basic_string.h
+++ /dev/null
@@ -1,2467 +0,0 @@
-// Components for manipulating sequences of characters -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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 basic_string.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 21 Strings library
-//
-
-#ifndef _BASIC_STRING_H
-#define _BASIC_STRING_H 1
-
-#pragma GCC system_header
-
-#include <ext/atomicity.h>
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @class basic_string basic_string.h <string>
- * @brief Managing sequences of characters and character-like objects.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and a
- * <a href="tables.html#67">sequence</a>. Of the
- * <a href="tables.html#68">optional sequence requirements</a>, only
- * @c push_back, @c at, and array access are supported.
- *
- * @doctodo
- *
- *
- * @if maint
- * Documentation? What's that?
- * Nathan Myers <ncm@cantrip.org>.
- *
- * A string looks like this:
- *
- * @code
- * [_Rep]
- * _M_length
- * [basic_string<char_type>] _M_capacity
- * _M_dataplus _M_refcount
- * _M_p ----------------> unnamed array of char_type
- * @endcode
- *
- * Where the _M_p points to the first character in the string, and
- * you cast it to a pointer-to-_Rep and subtract 1 to get a
- * pointer to the header.
- *
- * This approach has the enormous advantage that a string object
- * requires only one allocation. All the ugliness is confined
- * within a single pair of inline functions, which each compile to
- * a single "add" instruction: _Rep::_M_data(), and
- * string::_M_rep(); and the allocation function which gets a
- * block of raw bytes and with room enough and constructs a _Rep
- * object at the front.
- *
- * The reason you want _M_data pointing to the character array and
- * not the _Rep is so that the debugger can see the string
- * contents. (Probably we should add a non-inline member to get
- * the _Rep for the debugger to use, so users can check the actual
- * string length.)
- *
- * Note that the _Rep object is a POD so that you can have a
- * static "empty string" _Rep object already "constructed" before
- * static constructors have run. The reference-count encoding is
- * chosen so that a 0 indicates one reference, so you never try to
- * destroy the empty-string _Rep object.
- *
- * All but the last paragraph is considered pretty conventional
- * for a C++ string implementation.
- * @endif
- */
- // 21.3 Template class basic_string
- template<typename _CharT, typename _Traits, typename _Alloc>
- class basic_string
- {
- typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type;
-
- // Types:
- public:
- typedef _Traits traits_type;
- typedef typename _Traits::char_type value_type;
- typedef _Alloc allocator_type;
- typedef typename _CharT_alloc_type::size_type size_type;
- typedef typename _CharT_alloc_type::difference_type difference_type;
- typedef typename _CharT_alloc_type::reference reference;
- typedef typename _CharT_alloc_type::const_reference const_reference;
- typedef typename _CharT_alloc_type::pointer pointer;
- typedef typename _CharT_alloc_type::const_pointer const_pointer;
- typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
- typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
- const_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
-
- private:
- // _Rep: string representation
- // Invariants:
- // 1. String really contains _M_length + 1 characters: due to 21.3.4
- // must be kept null-terminated.
- // 2. _M_capacity >= _M_length
- // Allocated memory is always (_M_capacity + 1) * sizeof(_CharT).
- // 3. _M_refcount has three states:
- // -1: leaked, one reference, no ref-copies allowed, non-const.
- // 0: one reference, non-const.
- // n>0: n + 1 references, operations require a lock, const.
- // 4. All fields==0 is an empty string, given the extra storage
- // beyond-the-end for a null terminator; thus, the shared
- // empty string representation needs no constructor.
-
- struct _Rep_base
- {
- size_type _M_length;
- size_type _M_capacity;
- _Atomic_word _M_refcount;
- };
-
- struct _Rep : _Rep_base
- {
- // Types:
- typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc;
-
- // (Public) Data members:
-
- // The maximum number of individual char_type elements of an
- // individual string is determined by _S_max_size. This is the
- // value that will be returned by max_size(). (Whereas npos
- // is the maximum number of bytes the allocator can allocate.)
- // If one was to divvy up the theoretical largest size string,
- // with a terminating character and m _CharT elements, it'd
- // look like this:
- // npos = sizeof(_Rep) + (m * sizeof(_CharT)) + sizeof(_CharT)
- // Solving for m:
- // m = ((npos - sizeof(_Rep))/sizeof(CharT)) - 1
- // In addition, this implementation quarters this amount.
- static const size_type _S_max_size;
- static const _CharT _S_terminal;
-
- // The following storage is init'd to 0 by the linker, resulting
- // (carefully) in an empty string with one reference.
- static size_type _S_empty_rep_storage[];
-
- static _Rep&
- _S_empty_rep()
- {
- // NB: Mild hack to avoid strict-aliasing warnings. Note that
- // _S_empty_rep_storage is never modified and the punning should
- // be reasonably safe in this case.
- void* __p = reinterpret_cast<void*>(&_S_empty_rep_storage);
- return *reinterpret_cast<_Rep*>(__p);
- }
-
- bool
- _M_is_leaked() const
- { return this->_M_refcount < 0; }
-
- bool
- _M_is_shared() const
- { return this->_M_refcount > 0; }
-
- void
- _M_set_leaked()
- { this->_M_refcount = -1; }
-
- void
- _M_set_sharable()
- { this->_M_refcount = 0; }
-
- void
- _M_set_length_and_sharable(size_type __n)
- {
- this->_M_set_sharable(); // One reference.
- this->_M_length = __n;
- traits_type::assign(this->_M_refdata()[__n], _S_terminal);
- // grrr. (per 21.3.4)
- // You cannot leave those LWG people alone for a second.
- }
-
- _CharT*
- _M_refdata() throw()
- { return reinterpret_cast<_CharT*>(this + 1); }
-
- _CharT*
- _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2)
- {
- return (!_M_is_leaked() && __alloc1 == __alloc2)
- ? _M_refcopy() : _M_clone(__alloc1);
- }
-
- // Create & Destroy
- static _Rep*
- _S_create(size_type, size_type, const _Alloc&);
-
- void
- _M_dispose(const _Alloc& __a)
- {
-#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
- if (__builtin_expect(this != &_S_empty_rep(), false))
-#endif
- if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount,
- -1) <= 0)
- _M_destroy(__a);
- } // XXX MT
-
- void
- _M_destroy(const _Alloc&) throw();
-
- _CharT*
- _M_refcopy() throw()
- {
-#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
- if (__builtin_expect(this != &_S_empty_rep(), false))
-#endif
- __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1);
- return _M_refdata();
- } // XXX MT
-
- _CharT*
- _M_clone(const _Alloc&, size_type __res = 0);
- };
-
- // Use empty-base optimization: http://www.cantrip.org/emptyopt.html
- struct _Alloc_hider : _Alloc
- {
- _Alloc_hider(_CharT* __dat, const _Alloc& __a)
- : _Alloc(__a), _M_p(__dat) { }
-
- _CharT* _M_p; // The actual data.
- };
-
- public:
- // Data Members (public):
- // NB: This is an unsigned type, and thus represents the maximum
- // size that the allocator can hold.
- /// Value returned by various member functions when they fail.
- static const size_type npos = static_cast<size_type>(-1);
-
- private:
- // Data Members (private):
- mutable _Alloc_hider _M_dataplus;
-
- _CharT*
- _M_data() const
- { return _M_dataplus._M_p; }
-
- _CharT*
- _M_data(_CharT* __p)
- { return (_M_dataplus._M_p = __p); }
-
- _Rep*
- _M_rep() const
- { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); }
-
- // For the internal use we have functions similar to `begin'/`end'
- // but they do not call _M_leak.
- iterator
- _M_ibegin() const
- { return iterator(_M_data()); }
-
- iterator
- _M_iend() const
- { return iterator(_M_data() + this->size()); }
-
- void
- _M_leak() // for use in begin() & non-const op[]
- {
- if (!_M_rep()->_M_is_leaked())
- _M_leak_hard();
- }
-
- size_type
- _M_check(size_type __pos, const char* __s) const
- {
- if (__pos > this->size())
- __throw_out_of_range(__N(__s));
- return __pos;
- }
-
- void
- _M_check_length(size_type __n1, size_type __n2, const char* __s) const
- {
- if (this->max_size() - (this->size() - __n1) < __n2)
- __throw_length_error(__N(__s));
- }
-
- // NB: _M_limit doesn't check for a bad __pos value.
- size_type
- _M_limit(size_type __pos, size_type __off) const
- {
- const bool __testoff = __off < this->size() - __pos;
- return __testoff ? __off : this->size() - __pos;
- }
-
- // True if _Rep and source do not overlap.
- bool
- _M_disjunct(const _CharT* __s) const
- {
- return (less<const _CharT*>()(__s, _M_data())
- || less<const _CharT*>()(_M_data() + this->size(), __s));
- }
-
- // When __n = 1 way faster than the general multichar
- // traits_type::copy/move/assign.
- static void
- _M_copy(_CharT* __d, const _CharT* __s, size_type __n)
- {
- if (__n == 1)
- traits_type::assign(*__d, *__s);
- else
- traits_type::copy(__d, __s, __n);
- }
-
- static void
- _M_move(_CharT* __d, const _CharT* __s, size_type __n)
- {
- if (__n == 1)
- traits_type::assign(*__d, *__s);
- else
- traits_type::move(__d, __s, __n);
- }
-
- static void
- _M_assign(_CharT* __d, size_type __n, _CharT __c)
- {
- if (__n == 1)
- traits_type::assign(*__d, __c);
- else
- traits_type::assign(__d, __n, __c);
- }
-
- // _S_copy_chars is a separate template to permit specialization
- // to optimize for the common case of pointers as iterators.
- template<class _Iterator>
- static void
- _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
- {
- for (; __k1 != __k2; ++__k1, ++__p)
- traits_type::assign(*__p, *__k1); // These types are off.
- }
-
- static void
- _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2)
- { _S_copy_chars(__p, __k1.base(), __k2.base()); }
-
- static void
- _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
- { _S_copy_chars(__p, __k1.base(), __k2.base()); }
-
- static void
- _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2)
- { _M_copy(__p, __k1, __k2 - __k1); }
-
- static void
- _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
- { _M_copy(__p, __k1, __k2 - __k1); }
-
- static int
- _S_compare(size_type __x, size_type __y)
- {
- if (__x > __y)
- return 1;
- if (__x < __y)
- return -1;
- return 0;
- }
-
- void
- _M_mutate(size_type __pos, size_type __len1, size_type __len2);
-
- void
- _M_leak_hard();
-
- static _Rep&
- _S_empty_rep()
- { return _Rep::_S_empty_rep(); }
-
- public:
- // Construct/copy/destroy:
- // NB: We overload ctors in some cases instead of using default
- // arguments, per 17.4.4.4 para. 2 item 2.
-
- /**
- * @brief Default constructor creates an empty string.
- */
- inline
- basic_string();
-
- /**
- * @brief Construct an empty string using allocator @a a.
- */
- explicit
- basic_string(const _Alloc& __a);
-
- // NB: per LWG issue 42, semantics different from IS:
- /**
- * @brief Construct string with copy of value of @a str.
- * @param str Source string.
- */
- basic_string(const basic_string& __str);
- /**
- * @brief Construct string as copy of a substring.
- * @param str Source string.
- * @param pos Index of first character to copy from.
- * @param n Number of characters to copy (default remainder).
- */
- basic_string(const basic_string& __str, size_type __pos,
- size_type __n = npos);
- /**
- * @brief Construct string as copy of a substring.
- * @param str Source string.
- * @param pos Index of first character to copy from.
- * @param n Number of characters to copy.
- * @param a Allocator to use.
- */
- basic_string(const basic_string& __str, size_type __pos,
- size_type __n, const _Alloc& __a);
-
- /**
- * @brief Construct string initialized by a character array.
- * @param s Source character array.
- * @param n Number of characters to copy.
- * @param a Allocator to use (default is default allocator).
- *
- * NB: @a s must have at least @a n characters, '\0' has no special
- * meaning.
- */
- basic_string(const _CharT* __s, size_type __n,
- const _Alloc& __a = _Alloc());
- /**
- * @brief Construct string as copy of a C string.
- * @param s Source C string.
- * @param a Allocator to use (default is default allocator).
- */
- basic_string(const _CharT* __s, const _Alloc& __a = _Alloc());
- /**
- * @brief Construct string as multiple characters.
- * @param n Number of characters.
- * @param c Character to use.
- * @param a Allocator to use (default is default allocator).
- */
- basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc());
-
- /**
- * @brief Construct string as copy of a range.
- * @param beg Start of range.
- * @param end End of range.
- * @param a Allocator to use (default is default allocator).
- */
- template<class _InputIterator>
- basic_string(_InputIterator __beg, _InputIterator __end,
- const _Alloc& __a = _Alloc());
-
- /**
- * @brief Destroy the string instance.
- */
- ~basic_string()
- { _M_rep()->_M_dispose(this->get_allocator()); }
-
- /**
- * @brief Assign the value of @a str to this string.
- * @param str Source string.
- */
- basic_string&
- operator=(const basic_string& __str)
- { return this->assign(__str); }
-
- /**
- * @brief Copy contents of @a s into this string.
- * @param s Source null-terminated string.
- */
- basic_string&
- operator=(const _CharT* __s)
- { return this->assign(__s); }
-
- /**
- * @brief Set value to string of length 1.
- * @param c Source character.
- *
- * Assigning to a character makes this string length 1 and
- * (*this)[0] == @a c.
- */
- basic_string&
- operator=(_CharT __c)
- {
- this->assign(1, __c);
- return *this;
- }
-
- // Iterators:
- /**
- * Returns a read/write iterator that points to the first character in
- * the %string. Unshares the string.
- */
- iterator
- begin()
- {
- _M_leak();
- return iterator(_M_data());
- }
-
- /**
- * Returns a read-only (constant) iterator that points to the first
- * character in the %string.
- */
- const_iterator
- begin() const
- { return const_iterator(_M_data()); }
-
- /**
- * Returns a read/write iterator that points one past the last
- * character in the %string. Unshares the string.
- */
- iterator
- end()
- {
- _M_leak();
- return iterator(_M_data() + this->size());
- }
-
- /**
- * Returns a read-only (constant) iterator that points one past the
- * last character in the %string.
- */
- const_iterator
- end() const
- { return const_iterator(_M_data() + this->size()); }
-
- /**
- * Returns a read/write reverse iterator that points to the last
- * character in the %string. Iteration is done in reverse element
- * order. Unshares the string.
- */
- reverse_iterator
- rbegin()
- { return reverse_iterator(this->end()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to the last character in the %string. Iteration is done in
- * reverse element order.
- */
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(this->end()); }
-
- /**
- * Returns a read/write reverse iterator that points to one before the
- * first character in the %string. Iteration is done in reverse
- * element order. Unshares the string.
- */
- reverse_iterator
- rend()
- { return reverse_iterator(this->begin()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to one before the first character in the %string. Iteration
- * is done in reverse element order.
- */
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(this->begin()); }
-
- public:
- // Capacity:
- /// Returns the number of characters in the string, not including any
- /// null-termination.
- size_type
- size() const
- { return _M_rep()->_M_length; }
-
- /// Returns the number of characters in the string, not including any
- /// null-termination.
- size_type
- length() const
- { return _M_rep()->_M_length; }
-
- /// Returns the size() of the largest possible %string.
- size_type
- max_size() const
- { return _Rep::_S_max_size; }
-
- /**
- * @brief Resizes the %string to the specified number of characters.
- * @param n Number of characters the %string should contain.
- * @param c Character to fill any new elements.
- *
- * This function will %resize the %string to the specified
- * number of characters. If the number is smaller than the
- * %string's current size the %string is truncated, otherwise
- * the %string is extended and new elements are set to @a c.
- */
- void
- resize(size_type __n, _CharT __c);
-
- /**
- * @brief Resizes the %string to the specified number of characters.
- * @param n Number of characters the %string should contain.
- *
- * This function will resize the %string to the specified length. If
- * the new size is smaller than the %string's current size the %string
- * is truncated, otherwise the %string is extended and new characters
- * are default-constructed. For basic types such as char, this means
- * setting them to 0.
- */
- void
- resize(size_type __n)
- { this->resize(__n, _CharT()); }
-
- /**
- * Returns the total number of characters that the %string can hold
- * before needing to allocate more memory.
- */
- size_type
- capacity() const
- { return _M_rep()->_M_capacity; }
-
- /**
- * @brief Attempt to preallocate enough memory for specified number of
- * characters.
- * @param res_arg Number of characters required.
- * @throw std::length_error If @a res_arg exceeds @c max_size().
- *
- * This function attempts to reserve enough memory for the
- * %string to hold the specified number of characters. If the
- * number requested is more than max_size(), length_error is
- * thrown.
- *
- * The advantage of this function is that if optimal code is a
- * necessity and the user can determine the string length that will be
- * required, the user can reserve the memory in %advance, and thus
- * prevent a possible reallocation of memory and copying of %string
- * data.
- */
- void
- reserve(size_type __res_arg = 0);
-
- /**
- * Erases the string, making it empty.
- */
- void
- clear()
- { _M_mutate(0, this->size(), 0); }
-
- /**
- * Returns true if the %string is empty. Equivalent to *this == "".
- */
- bool
- empty() const
- { return this->size() == 0; }
-
- // Element access:
- /**
- * @brief Subscript access to the data contained in the %string.
- * @param pos The index of the character to access.
- * @return Read-only (constant) reference to the character.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().)
- */
- const_reference
- operator[] (size_type __pos) const
- {
- _GLIBCXX_DEBUG_ASSERT(__pos <= size());
- return _M_data()[__pos];
- }
-
- /**
- * @brief Subscript access to the data contained in the %string.
- * @param pos The index of the character to access.
- * @return Read/write reference to the character.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().) Unshares the string.
- */
- reference
- operator[](size_type __pos)
- {
- // allow pos == size() as v3 extension:
- _GLIBCXX_DEBUG_ASSERT(__pos <= size());
- // but be strict in pedantic mode:
- _GLIBCXX_DEBUG_PEDASSERT(__pos < size());
- _M_leak();
- return _M_data()[__pos];
- }
-
- /**
- * @brief Provides access to the data contained in the %string.
- * @param n The index of the character to access.
- * @return Read-only (const) reference to the character.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter is
- * first checked that it is in the range of the string. The function
- * throws out_of_range if the check fails.
- */
- const_reference
- at(size_type __n) const
- {
- if (__n >= this->size())
- __throw_out_of_range(__N("basic_string::at"));
- return _M_data()[__n];
- }
-
- /**
- * @brief Provides access to the data contained in the %string.
- * @param n The index of the character to access.
- * @return Read/write reference to the character.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter is
- * first checked that it is in the range of the string. The function
- * throws out_of_range if the check fails. Success results in
- * unsharing the string.
- */
- reference
- at(size_type __n)
- {
- if (__n >= size())
- __throw_out_of_range(__N("basic_string::at"));
- _M_leak();
- return _M_data()[__n];
- }
-
- // Modifiers:
- /**
- * @brief Append a string to this string.
- * @param str The string to append.
- * @return Reference to this string.
- */
- basic_string&
- operator+=(const basic_string& __str)
- { return this->append(__str); }
-
- /**
- * @brief Append a C string.
- * @param s The C string to append.
- * @return Reference to this string.
- */
- basic_string&
- operator+=(const _CharT* __s)
- { return this->append(__s); }
-
- /**
- * @brief Append a character.
- * @param c The character to append.
- * @return Reference to this string.
- */
- basic_string&
- operator+=(_CharT __c)
- {
- this->push_back(__c);
- return *this;
- }
-
- /**
- * @brief Append a string to this string.
- * @param str The string to append.
- * @return Reference to this string.
- */
- basic_string&
- append(const basic_string& __str);
-
- /**
- * @brief Append a substring.
- * @param str The string to append.
- * @param pos Index of the first character of str to append.
- * @param n The number of characters to append.
- * @return Reference to this string.
- * @throw std::out_of_range if @a pos is not a valid index.
- *
- * This function appends @a n characters from @a str starting at @a pos
- * to this string. If @a n is is larger than the number of available
- * characters in @a str, the remainder of @a str is appended.
- */
- basic_string&
- append(const basic_string& __str, size_type __pos, size_type __n);
-
- /**
- * @brief Append a C substring.
- * @param s The C string to append.
- * @param n The number of characters to append.
- * @return Reference to this string.
- */
- basic_string&
- append(const _CharT* __s, size_type __n);
-
- /**
- * @brief Append a C string.
- * @param s The C string to append.
- * @return Reference to this string.
- */
- basic_string&
- append(const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->append(__s, traits_type::length(__s));
- }
-
- /**
- * @brief Append multiple characters.
- * @param n The number of characters to append.
- * @param c The character to use.
- * @return Reference to this string.
- *
- * Appends n copies of c to this string.
- */
- basic_string&
- append(size_type __n, _CharT __c);
-
- /**
- * @brief Append a range of characters.
- * @param first Iterator referencing the first character to append.
- * @param last Iterator marking the end of the range.
- * @return Reference to this string.
- *
- * Appends characters in the range [first,last) to this string.
- */
- template<class _InputIterator>
- basic_string&
- append(_InputIterator __first, _InputIterator __last)
- { return this->replace(_M_iend(), _M_iend(), __first, __last); }
-
- /**
- * @brief Append a single character.
- * @param c Character to append.
- */
- void
- push_back(_CharT __c)
- {
- const size_type __len = 1 + this->size();
- if (__len > this->capacity() || _M_rep()->_M_is_shared())
- this->reserve(__len);
- traits_type::assign(_M_data()[this->size()], __c);
- _M_rep()->_M_set_length_and_sharable(__len);
- }
-
- /**
- * @brief Set value to contents of another string.
- * @param str Source string to use.
- * @return Reference to this string.
- */
- basic_string&
- assign(const basic_string& __str);
-
- /**
- * @brief Set value to a substring of a string.
- * @param str The string to use.
- * @param pos Index of the first character of str.
- * @param n Number of characters to use.
- * @return Reference to this string.
- * @throw std::out_of_range if @a pos is not a valid index.
- *
- * This function sets this string to the substring of @a str consisting
- * of @a n characters at @a pos. If @a n is is larger than the number
- * of available characters in @a str, the remainder of @a str is used.
- */
- basic_string&
- assign(const basic_string& __str, size_type __pos, size_type __n)
- { return this->assign(__str._M_data()
- + __str._M_check(__pos, "basic_string::assign"),
- __str._M_limit(__pos, __n)); }
-
- /**
- * @brief Set value to a C substring.
- * @param s The C string to use.
- * @param n Number of characters to use.
- * @return Reference to this string.
- *
- * This function sets the value of this string to the first @a n
- * characters of @a s. If @a n is is larger than the number of
- * available characters in @a s, the remainder of @a s is used.
- */
- basic_string&
- assign(const _CharT* __s, size_type __n);
-
- /**
- * @brief Set value to contents of a C string.
- * @param s The C string to use.
- * @return Reference to this string.
- *
- * This function sets the value of this string to the value of @a s.
- * The data is copied, so there is no dependence on @a s once the
- * function returns.
- */
- basic_string&
- assign(const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->assign(__s, traits_type::length(__s));
- }
-
- /**
- * @brief Set value to multiple characters.
- * @param n Length of the resulting string.
- * @param c The character to use.
- * @return Reference to this string.
- *
- * This function sets the value of this string to @a n copies of
- * character @a c.
- */
- basic_string&
- assign(size_type __n, _CharT __c)
- { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
-
- /**
- * @brief Set value to a range of characters.
- * @param first Iterator referencing the first character to append.
- * @param last Iterator marking the end of the range.
- * @return Reference to this string.
- *
- * Sets value of string to characters in the range [first,last).
- */
- template<class _InputIterator>
- basic_string&
- assign(_InputIterator __first, _InputIterator __last)
- { return this->replace(_M_ibegin(), _M_iend(), __first, __last); }
-
- /**
- * @brief Insert multiple characters.
- * @param p Iterator referencing location in string to insert at.
- * @param n Number of characters to insert
- * @param c The character to insert.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts @a n copies of character @a c starting at the position
- * referenced by iterator @a p. If adding characters causes the length
- * to exceed max_size(), length_error is thrown. The value of the
- * string doesn't change if an error is thrown.
- */
- void
- insert(iterator __p, size_type __n, _CharT __c)
- { this->replace(__p, __p, __n, __c); }
-
- /**
- * @brief Insert a range of characters.
- * @param p Iterator referencing location in string to insert at.
- * @param beg Start of range.
- * @param end End of range.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts characters in range [beg,end). If adding characters causes
- * the length to exceed max_size(), length_error is thrown. The value
- * of the string doesn't change if an error is thrown.
- */
- template<class _InputIterator>
- void
- insert(iterator __p, _InputIterator __beg, _InputIterator __end)
- { this->replace(__p, __p, __beg, __end); }
-
- /**
- * @brief Insert value of a string.
- * @param pos1 Iterator referencing location in string to insert at.
- * @param str The string to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts value of @a str starting at @a pos1. If adding characters
- * causes the length to exceed max_size(), length_error is thrown. The
- * value of the string doesn't change if an error is thrown.
- */
- basic_string&
- insert(size_type __pos1, const basic_string& __str)
- { return this->insert(__pos1, __str, size_type(0), __str.size()); }
-
- /**
- * @brief Insert a substring.
- * @param pos1 Iterator referencing location in string to insert at.
- * @param str The string to insert.
- * @param pos2 Start of characters in str to insert.
- * @param n Number of characters to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos1 > size() or
- * @a pos2 > @a str.size().
- *
- * Starting at @a pos1, insert @a n character of @a str beginning with
- * @a pos2. If adding characters causes the length to exceed
- * max_size(), length_error is thrown. If @a pos1 is beyond the end of
- * this string or @a pos2 is beyond the end of @a str, out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- basic_string&
- insert(size_type __pos1, const basic_string& __str,
- size_type __pos2, size_type __n)
- { return this->insert(__pos1, __str._M_data()
- + __str._M_check(__pos2, "basic_string::insert"),
- __str._M_limit(__pos2, __n)); }
-
- /**
- * @brief Insert a C substring.
- * @param pos Iterator referencing location in string to insert at.
- * @param s The C string to insert.
- * @param n The number of characters to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Inserts the first @a n characters of @a s starting at @a pos. If
- * adding characters causes the length to exceed max_size(),
- * length_error is thrown. If @a pos is beyond end(), out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- basic_string&
- insert(size_type __pos, const _CharT* __s, size_type __n);
-
- /**
- * @brief Insert a C string.
- * @param pos Iterator referencing location in string to insert at.
- * @param s The C string to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Inserts the first @a n characters of @a s starting at @a pos. If
- * adding characters causes the length to exceed max_size(),
- * length_error is thrown. If @a pos is beyond end(), out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- basic_string&
- insert(size_type __pos, const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->insert(__pos, __s, traits_type::length(__s));
- }
-
- /**
- * @brief Insert multiple characters.
- * @param pos Index in string to insert at.
- * @param n Number of characters to insert
- * @param c The character to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Inserts @a n copies of character @a c starting at index @a pos. If
- * adding characters causes the length to exceed max_size(),
- * length_error is thrown. If @a pos > length(), out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- basic_string&
- insert(size_type __pos, size_type __n, _CharT __c)
- { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
- size_type(0), __n, __c); }
-
- /**
- * @brief Insert one character.
- * @param p Iterator referencing position in string to insert at.
- * @param c The character to insert.
- * @return Iterator referencing newly inserted char.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts character @a c at position referenced by @a p. If adding
- * character causes the length to exceed max_size(), length_error is
- * thrown. If @a p is beyond end of string, out_of_range is thrown.
- * The value of the string doesn't change if an error is thrown.
- */
- iterator
- insert(iterator __p, _CharT __c)
- {
- _GLIBCXX_DEBUG_PEDASSERT(__p >= _M_ibegin() && __p <= _M_iend());
- const size_type __pos = __p - _M_ibegin();
- _M_replace_aux(__pos, size_type(0), size_type(1), __c);
- _M_rep()->_M_set_leaked();
- return iterator(_M_data() + __pos);
- }
-
- /**
- * @brief Remove characters.
- * @param pos Index of first character to remove (default 0).
- * @param n Number of characters to remove (default remainder).
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Removes @a n characters from this string starting at @a pos. The
- * length of the string is reduced by @a n. If there are < @a n
- * characters to remove, the remainder of the string is truncated. If
- * @a p is beyond end of string, out_of_range is thrown. The value of
- * the string doesn't change if an error is thrown.
- */
- basic_string&
- erase(size_type __pos = 0, size_type __n = npos)
- {
- _M_mutate(_M_check(__pos, "basic_string::erase"),
- _M_limit(__pos, __n), size_type(0));
- return *this;
- }
-
- /**
- * @brief Remove one character.
- * @param position Iterator referencing the character to remove.
- * @return iterator referencing same location after removal.
- *
- * Removes the character at @a position from this string. The value
- * of the string doesn't change if an error is thrown.
- */
- iterator
- erase(iterator __position)
- {
- _GLIBCXX_DEBUG_PEDASSERT(__position >= _M_ibegin()
- && __position < _M_iend());
- const size_type __pos = __position - _M_ibegin();
- _M_mutate(__pos, size_type(1), size_type(0));
- _M_rep()->_M_set_leaked();
- return iterator(_M_data() + __pos);
- }
-
- /**
- * @brief Remove a range of characters.
- * @param first Iterator referencing the first character to remove.
- * @param last Iterator referencing the end of the range.
- * @return Iterator referencing location of first after removal.
- *
- * Removes the characters in the range [first,last) from this string.
- * The value of the string doesn't change if an error is thrown.
- */
- iterator
- erase(iterator __first, iterator __last)
- {
- _GLIBCXX_DEBUG_PEDASSERT(__first >= _M_ibegin() && __first <= __last
- && __last <= _M_iend());
- const size_type __pos = __first - _M_ibegin();
- _M_mutate(__pos, __last - __first, size_type(0));
- _M_rep()->_M_set_leaked();
- return iterator(_M_data() + __pos);
- }
-
- /**
- * @brief Replace characters with value from another string.
- * @param pos Index of first character to replace.
- * @param n Number of characters to be replaced.
- * @param str String to insert.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos+n) from this string.
- * In place, the value of @a str is inserted. If @a pos is beyond end
- * of string, out_of_range is thrown. If the length of the result
- * exceeds max_size(), length_error is thrown. The value of the string
- * doesn't change if an error is thrown.
- */
- basic_string&
- replace(size_type __pos, size_type __n, const basic_string& __str)
- { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
-
- /**
- * @brief Replace characters with value from another string.
- * @param pos1 Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param str String to insert.
- * @param pos2 Index of first character of str to use.
- * @param n2 Number of characters from str to use.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos1 > size() or @a pos2 >
- * str.size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos1,pos1 + n) from this
- * string. In place, the value of @a str is inserted. If @a pos is
- * beyond end of string, out_of_range is thrown. If the length of the
- * result exceeds max_size(), length_error is thrown. The value of the
- * string doesn't change if an error is thrown.
- */
- basic_string&
- replace(size_type __pos1, size_type __n1, const basic_string& __str,
- size_type __pos2, size_type __n2)
- { return this->replace(__pos1, __n1, __str._M_data()
- + __str._M_check(__pos2, "basic_string::replace"),
- __str._M_limit(__pos2, __n2)); }
-
- /**
- * @brief Replace characters with value of a C substring.
- * @param pos Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param s C string to insert.
- * @param n2 Number of characters from @a s to use.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos1 > size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos + n1) from this string.
- * In place, the first @a n2 characters of @a s are inserted, or all
- * of @a s if @a n2 is too large. If @a pos is beyond end of string,
- * out_of_range is thrown. If the length of result exceeds max_size(),
- * length_error is thrown. The value of the string doesn't change if
- * an error is thrown.
- */
- basic_string&
- replace(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2);
-
- /**
- * @brief Replace characters with value of a C string.
- * @param pos Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param s C string to insert.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos > size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos + n1) from this string.
- * In place, the first @a n characters of @a s are inserted. If @a
- * pos is beyond end of string, out_of_range is thrown. If the length
- * of result exceeds max_size(), length_error is thrown. The value of
- * the string doesn't change if an error is thrown.
- */
- basic_string&
- replace(size_type __pos, size_type __n1, const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->replace(__pos, __n1, __s, traits_type::length(__s));
- }
-
- /**
- * @brief Replace characters with multiple characters.
- * @param pos Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param n2 Number of characters to insert.
- * @param c Character to insert.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos > size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos + n1) from this string.
- * In place, @a n2 copies of @a c are inserted. If @a pos is beyond
- * end of string, out_of_range is thrown. If the length of result
- * exceeds max_size(), length_error is thrown. The value of the string
- * doesn't change if an error is thrown.
- */
- basic_string&
- replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
- { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
- _M_limit(__pos, __n1), __n2, __c); }
-
- /**
- * @brief Replace range of characters with string.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param str String value to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, the value of
- * @a str is inserted. If the length of result exceeds max_size(),
- * length_error is thrown. The value of the string doesn't change if
- * an error is thrown.
- */
- basic_string&
- replace(iterator __i1, iterator __i2, const basic_string& __str)
- { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
-
- /**
- * @brief Replace range of characters with C substring.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param s C string value to insert.
- * @param n Number of characters from s to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, the first @a
- * n characters of @a s are inserted. If the length of result exceeds
- * max_size(), length_error is thrown. The value of the string doesn't
- * change if an error is thrown.
- */
- basic_string&
- replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n);
- }
-
- /**
- * @brief Replace range of characters with C string.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param s C string value to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, the
- * characters of @a s are inserted. If the length of result exceeds
- * max_size(), length_error is thrown. The value of the string doesn't
- * change if an error is thrown.
- */
- basic_string&
- replace(iterator __i1, iterator __i2, const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->replace(__i1, __i2, __s, traits_type::length(__s));
- }
-
- /**
- * @brief Replace range of characters with multiple characters
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param n Number of characters to insert.
- * @param c Character to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, @a n copies
- * of @a c are inserted. If the length of result exceeds max_size(),
- * length_error is thrown. The value of the string doesn't change if
- * an error is thrown.
- */
- basic_string&
- replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c);
- }
-
- /**
- * @brief Replace range of characters with range.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param k1 Iterator referencing start of range to insert.
- * @param k2 Iterator referencing end of range to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, characters
- * in the range [k1,k2) are inserted. If the length of result exceeds
- * max_size(), length_error is thrown. The value of the string doesn't
- * change if an error is thrown.
- */
- template<class _InputIterator>
- basic_string&
- replace(iterator __i1, iterator __i2,
- _InputIterator __k1, _InputIterator __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
- }
-
- // Specializations for the common case of pointer and iterator:
- // useful to avoid the overhead of temporary buffering in _M_replace.
- basic_string&
- replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1, __k2 - __k1);
- }
-
- basic_string&
- replace(iterator __i1, iterator __i2,
- const _CharT* __k1, const _CharT* __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1, __k2 - __k1);
- }
-
- basic_string&
- replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1.base(), __k2 - __k1);
- }
-
- basic_string&
- replace(iterator __i1, iterator __i2,
- const_iterator __k1, const_iterator __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1.base(), __k2 - __k1);
- }
-
- private:
- template<class _Integer>
- basic_string&
- _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n,
- _Integer __val, __true_type)
- { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); }
-
- template<class _InputIterator>
- basic_string&
- _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
- _InputIterator __k2, __false_type);
-
- basic_string&
- _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
- _CharT __c);
-
- basic_string&
- _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
- size_type __n2);
-
- // _S_construct_aux is used to implement the 21.3.1 para 15 which
- // requires special behaviour if _InIter is an integral type
- template<class _InIterator>
- static _CharT*
- _S_construct_aux(_InIterator __beg, _InIterator __end,
- const _Alloc& __a, __false_type)
- {
- typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
- return _S_construct(__beg, __end, __a, _Tag());
- }
-
- template<class _InIterator>
- static _CharT*
- _S_construct_aux(_InIterator __beg, _InIterator __end,
- const _Alloc& __a, __true_type)
- { return _S_construct(static_cast<size_type>(__beg),
- static_cast<value_type>(__end), __a); }
-
- template<class _InIterator>
- static _CharT*
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a)
- {
- typedef typename std::__is_integer<_InIterator>::__type _Integral;
- return _S_construct_aux(__beg, __end, __a, _Integral());
- }
-
- // For Input Iterators, used in istreambuf_iterators, etc.
- template<class _InIterator>
- static _CharT*
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
- input_iterator_tag);
-
- // For forward_iterators up to random_access_iterators, used for
- // string::iterator, _CharT*, etc.
- template<class _FwdIterator>
- static _CharT*
- _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a,
- forward_iterator_tag);
-
- static _CharT*
- _S_construct(size_type __req, _CharT __c, const _Alloc& __a);
-
- public:
-
- /**
- * @brief Copy substring into C string.
- * @param s C string to copy value into.
- * @param n Number of characters to copy.
- * @param pos Index of first character to copy.
- * @return Number of characters actually copied
- * @throw std::out_of_range If pos > size().
- *
- * Copies up to @a n characters starting at @a pos into the C string @a
- * s. If @a pos is greater than size(), out_of_range is thrown.
- */
- size_type
- copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
-
- /**
- * @brief Swap contents with another string.
- * @param s String to swap with.
- *
- * Exchanges the contents of this string with that of @a s in constant
- * time.
- */
- void
- swap(basic_string& __s);
-
- // String operations:
- /**
- * @brief Return const pointer to null-terminated contents.
- *
- * This is a handle to internal data. Do not modify or dire things may
- * happen.
- */
- const _CharT*
- c_str() const
- { return _M_data(); }
-
- /**
- * @brief Return const pointer to contents.
- *
- * This is a handle to internal data. Do not modify or dire things may
- * happen.
- */
- const _CharT*
- data() const
- { return _M_data(); }
-
- /**
- * @brief Return copy of allocator used to construct this string.
- */
- allocator_type
- get_allocator() const
- { return _M_dataplus; }
-
- /**
- * @brief Find position of a C substring.
- * @param s C string to locate.
- * @param pos Index of character to search from.
- * @param n Number of characters from @a s to search for.
- * @return Index of start of first occurrence.
- *
- * Starting from @a pos, searches forward for the first @a n characters
- * in @a s within this string. If found, returns the index where it
- * begins. If not found, returns npos.
- */
- size_type
- find(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find position of a string.
- * @param str String to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of start of first occurrence.
- *
- * Starting from @a pos, searches forward for value of @a str within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- find(const basic_string& __str, size_type __pos = 0) const
- { return this->find(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find position of a C string.
- * @param s C string to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of start of first occurrence.
- *
- * Starting from @a pos, searches forward for the value of @a s within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- find(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_requires_string(__s);
- return this->find(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for @a c within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- */
- size_type
- find(_CharT __c, size_type __pos = 0) const;
-
- /**
- * @brief Find last position of a string.
- * @param str String to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of start of last occurrence.
- *
- * Starting from @a pos, searches backward for value of @a str within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- rfind(const basic_string& __str, size_type __pos = npos) const
- { return this->rfind(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find last position of a C substring.
- * @param s C string to locate.
- * @param pos Index of character to search back from.
- * @param n Number of characters from s to search for.
- * @return Index of start of last occurrence.
- *
- * Starting from @a pos, searches backward for the first @a n
- * characters in @a s within this string. If found, returns the index
- * where it begins. If not found, returns npos.
- */
- size_type
- rfind(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find last position of a C string.
- * @param s C string to locate.
- * @param pos Index of character to start search at (default end).
- * @return Index of start of last occurrence.
- *
- * Starting from @a pos, searches backward for the value of @a s within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- rfind(const _CharT* __s, size_type __pos = npos) const
- {
- __glibcxx_requires_string(__s);
- return this->rfind(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find last position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for @a c within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- */
- size_type
- rfind(_CharT __c, size_type __pos = npos) const;
-
- /**
- * @brief Find position of a character of string.
- * @param str String containing characters to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for one of the characters of
- * @a str within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_first_of(const basic_string& __str, size_type __pos = 0) const
- { return this->find_first_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find position of a character of C substring.
- * @param s String containing characters to locate.
- * @param pos Index of character to search from.
- * @param n Number of characters from s to search for.
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for one of the first @a n
- * characters of @a s within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_first_of(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find position of a character of C string.
- * @param s String containing characters to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for one of the characters of
- * @a s within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_first_of(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_requires_string(__s);
- return this->find_first_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for the character @a c within
- * this string. If found, returns the index where it was found. If
- * not found, returns npos.
- *
- * Note: equivalent to find(c, pos).
- */
- size_type
- find_first_of(_CharT __c, size_type __pos = 0) const
- { return this->find(__c, __pos); }
-
- /**
- * @brief Find last position of a character of string.
- * @param str String containing characters to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for one of the characters of
- * @a str within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_last_of(const basic_string& __str, size_type __pos = npos) const
- { return this->find_last_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find last position of a character of C substring.
- * @param s C string containing characters to locate.
- * @param pos Index of character to search back from.
- * @param n Number of characters from s to search for.
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for one of the first @a n
- * characters of @a s within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_last_of(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find last position of a character of C string.
- * @param s C string containing characters to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for one of the characters of
- * @a s within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_last_of(const _CharT* __s, size_type __pos = npos) const
- {
- __glibcxx_requires_string(__s);
- return this->find_last_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find last position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for @a c within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- *
- * Note: equivalent to rfind(c, pos).
- */
- size_type
- find_last_of(_CharT __c, size_type __pos = npos) const
- { return this->rfind(__c, __pos); }
-
- /**
- * @brief Find position of a character not in string.
- * @param str String containing characters to avoid.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character not contained
- * in @a str within this string. If found, returns the index where it
- * was found. If not found, returns npos.
- */
- size_type
- find_first_not_of(const basic_string& __str, size_type __pos = 0) const
- { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find position of a character not in C substring.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search from.
- * @param n Number of characters from s to consider.
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character not contained
- * in the first @a n characters of @a s within this string. If found,
- * returns the index where it was found. If not found, returns npos.
- */
- size_type
- find_first_not_of(const _CharT* __s, size_type __pos,
- size_type __n) const;
-
- /**
- * @brief Find position of a character not in C string.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character not contained
- * in @a s within this string. If found, returns the index where it
- * was found. If not found, returns npos.
- */
- size_type
- find_first_not_of(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_requires_string(__s);
- return this->find_first_not_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find position of a different character.
- * @param c Character to avoid.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character other than @a c
- * within this string. If found, returns the index where it was found.
- * If not found, returns npos.
- */
- size_type
- find_first_not_of(_CharT __c, size_type __pos = 0) const;
-
- /**
- * @brief Find last position of a character not in string.
- * @param str String containing characters to avoid.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character not
- * contained in @a str within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_last_not_of(const basic_string& __str, size_type __pos = npos) const
- { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find last position of a character not in C substring.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search back from.
- * @param n Number of characters from s to consider.
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character not
- * contained in the first @a n characters of @a s within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- */
- size_type
- find_last_not_of(const _CharT* __s, size_type __pos,
- size_type __n) const;
- /**
- * @brief Find last position of a character not in C string.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character not
- * contained in @a s within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_last_not_of(const _CharT* __s, size_type __pos = npos) const
- {
- __glibcxx_requires_string(__s);
- return this->find_last_not_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find last position of a different character.
- * @param c Character to avoid.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character other than
- * @a c within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_last_not_of(_CharT __c, size_type __pos = npos) const;
-
- /**
- * @brief Get a substring.
- * @param pos Index of first character (default 0).
- * @param n Number of characters in substring (default remainder).
- * @return The new string.
- * @throw std::out_of_range If pos > size().
- *
- * Construct and return a new string using the @a n characters starting
- * at @a pos. If the string is too short, use the remainder of the
- * characters. If @a pos is beyond the end of the string, out_of_range
- * is thrown.
- */
- basic_string
- substr(size_type __pos = 0, size_type __n = npos) const
- { return basic_string(*this,
- _M_check(__pos, "basic_string::substr"), __n); }
-
- /**
- * @brief Compare to a string.
- * @param str String to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Returns an integer < 0 if this string is ordered before @a str, 0 if
- * their values are equivalent, or > 0 if this string is ordered after
- * @a str. Determines the effective length rlen of the strings to
- * compare as the smallest of size() and str.size(). The function
- * then compares the two strings by calling traits::compare(data(),
- * str.data(),rlen). If the result of the comparison is nonzero returns
- * it, otherwise the shorter one is ordered first.
- */
- int
- compare(const basic_string& __str) const
- {
- const size_type __size = this->size();
- const size_type __osize = __str.size();
- const size_type __len = std::min(__size, __osize);
-
- int __r = traits_type::compare(_M_data(), __str.data(), __len);
- if (!__r)
- __r = _S_compare(__size, __osize);
- return __r;
- }
-
- /**
- * @brief Compare substring to a string.
- * @param pos Index of first character of substring.
- * @param n Number of characters in substring.
- * @param str String to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n characters starting
- * at @a pos. Returns an integer < 0 if the substring is ordered
- * before @a str, 0 if their values are equivalent, or > 0 if the
- * substring is ordered after @a str. Determines the effective length
- * rlen of the strings to compare as the smallest of the length of the
- * substring and @a str.size(). The function then compares the two
- * strings by calling traits::compare(substring.data(),str.data(),rlen).
- * If the result of the comparison is nonzero returns it, otherwise the
- * shorter one is ordered first.
- */
- int
- compare(size_type __pos, size_type __n, const basic_string& __str) const;
-
- /**
- * @brief Compare substring to a substring.
- * @param pos1 Index of first character of substring.
- * @param n1 Number of characters in substring.
- * @param str String to compare against.
- * @param pos2 Index of first character of substring of str.
- * @param n2 Number of characters in substring of str.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n1 characters starting
- * at @a pos1. Form the substring of @a str from the @a n2 characters
- * starting at @a pos2. Returns an integer < 0 if this substring is
- * ordered before the substring of @a str, 0 if their values are
- * equivalent, or > 0 if this substring is ordered after the substring
- * of @a str. Determines the effective length rlen of the strings
- * to compare as the smallest of the lengths of the substrings. The
- * function then compares the two strings by calling
- * traits::compare(substring.data(),str.substr(pos2,n2).data(),rlen).
- * If the result of the comparison is nonzero returns it, otherwise the
- * shorter one is ordered first.
- */
- int
- compare(size_type __pos1, size_type __n1, const basic_string& __str,
- size_type __pos2, size_type __n2) const;
-
- /**
- * @brief Compare to a C string.
- * @param s C string to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Returns an integer < 0 if this string is ordered before @a s, 0 if
- * their values are equivalent, or > 0 if this string is ordered after
- * @a s. Determines the effective length rlen of the strings to
- * compare as the smallest of size() and the length of a string
- * constructed from @a s. The function then compares the two strings
- * by calling traits::compare(data(),s,rlen). If the result of the
- * comparison is nonzero returns it, otherwise the shorter one is
- * ordered first.
- */
- int
- compare(const _CharT* __s) const;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 5 String::compare specification questionable
- /**
- * @brief Compare substring to a C string.
- * @param pos Index of first character of substring.
- * @param n1 Number of characters in substring.
- * @param s C string to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n1 characters starting
- * at @a pos. Returns an integer < 0 if the substring is ordered
- * before @a s, 0 if their values are equivalent, or > 0 if the
- * substring is ordered after @a s. Determines the effective length
- * rlen of the strings to compare as the smallest of the length of the
- * substring and the length of a string constructed from @a s. The
- * function then compares the two string by calling
- * traits::compare(substring.data(),s,rlen). If the result of the
- * comparison is nonzero returns it, otherwise the shorter one is
- * ordered first.
- */
- int
- compare(size_type __pos, size_type __n1, const _CharT* __s) const;
-
- /**
- * @brief Compare substring against a character array.
- * @param pos1 Index of first character of substring.
- * @param n1 Number of characters in substring.
- * @param s character array to compare against.
- * @param n2 Number of characters of s.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n1 characters starting
- * at @a pos1. Form a string from the first @a n2 characters of @a s.
- * Returns an integer < 0 if this substring is ordered before the string
- * from @a s, 0 if their values are equivalent, or > 0 if this substring
- * is ordered after the string from @a s. Determines the effective
- * length rlen of the strings to compare as the smallest of the length
- * of the substring and @a n2. The function then compares the two
- * strings by calling traits::compare(substring.data(),s,rlen). If the
- * result of the comparison is nonzero returns it, otherwise the shorter
- * one is ordered first.
- *
- * NB: s must have at least n2 characters, '\0' has no special
- * meaning.
- */
- int
- compare(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2) const;
- };
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline basic_string<_CharT, _Traits, _Alloc>::
- basic_string()
-#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
- : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { }
-#else
- : _M_dataplus(_S_construct(size_type(), _CharT(), _Alloc()), _Alloc()) { }
-#endif
-
- // operator+
- /**
- * @brief Concatenate two strings.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with value of @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>
- operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- {
- basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
- __str.append(__rhs);
- return __str;
- }
-
- /**
- * @brief Concatenate C string and string.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with value of @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT,_Traits,_Alloc>
- operator+(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Alloc>& __rhs);
-
- /**
- * @brief Concatenate character and string.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT,_Traits,_Alloc>
- operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
-
- /**
- * @brief Concatenate string and C string.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline basic_string<_CharT, _Traits, _Alloc>
- operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const _CharT* __rhs)
- {
- basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
- __str.append(__rhs);
- return __str;
- }
-
- /**
- * @brief Concatenate string and character.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline basic_string<_CharT, _Traits, _Alloc>
- operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
- {
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef typename __string_type::size_type __size_type;
- __string_type __str(__lhs);
- __str.append(__size_type(1), __rhs);
- return __str;
- }
-
- // operator ==
- /**
- * @brief Test equivalence of two strings.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs.compare(@a rhs) == 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __lhs.compare(__rhs) == 0; }
-
- /**
- * @brief Test equivalence of C string and string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a rhs.compare(@a lhs) == 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator==(const _CharT* __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __rhs.compare(__lhs) == 0; }
-
- /**
- * @brief Test equivalence of string and C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs.compare(@a rhs) == 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) == 0; }
-
- // operator !=
- /**
- * @brief Test difference of two strings.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs.compare(@a rhs) != 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __rhs.compare(__lhs) != 0; }
-
- /**
- * @brief Test difference of C string and string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a rhs.compare(@a lhs) != 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator!=(const _CharT* __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __rhs.compare(__lhs) != 0; }
-
- /**
- * @brief Test difference of string and C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs.compare(@a rhs) != 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) != 0; }
-
- // operator <
- /**
- * @brief Test if string precedes string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs precedes @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __lhs.compare(__rhs) < 0; }
-
- /**
- * @brief Test if string precedes C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs precedes @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) < 0; }
-
- /**
- * @brief Test if C string precedes string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs precedes @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator<(const _CharT* __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __rhs.compare(__lhs) > 0; }
-
- // operator >
- /**
- * @brief Test if string follows string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs follows @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __lhs.compare(__rhs) > 0; }
-
- /**
- * @brief Test if string follows C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs follows @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) > 0; }
-
- /**
- * @brief Test if C string follows string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs follows @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator>(const _CharT* __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __rhs.compare(__lhs) < 0; }
-
- // operator <=
- /**
- * @brief Test if string doesn't follow string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs doesn't follow @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __lhs.compare(__rhs) <= 0; }
-
- /**
- * @brief Test if string doesn't follow C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs doesn't follow @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) <= 0; }
-
- /**
- * @brief Test if C string doesn't follow string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs doesn't follow @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator<=(const _CharT* __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __rhs.compare(__lhs) >= 0; }
-
- // operator >=
- /**
- * @brief Test if string doesn't precede string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs doesn't precede @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __lhs.compare(__rhs) >= 0; }
-
- /**
- * @brief Test if string doesn't precede C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs doesn't precede @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) >= 0; }
-
- /**
- * @brief Test if C string doesn't precede string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs doesn't precede @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline bool
- operator>=(const _CharT* __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { return __rhs.compare(__lhs) <= 0; }
-
- /**
- * @brief Swap contents of two strings.
- * @param lhs First string.
- * @param rhs Second string.
- *
- * Exchanges the contents of @a lhs and @a rhs in constant time.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline void
- swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
- basic_string<_CharT, _Traits, _Alloc>& __rhs)
- { __lhs.swap(__rhs); }
-
- /**
- * @brief Read stream into a string.
- * @param is Input stream.
- * @param str Buffer to store into.
- * @return Reference to the input stream.
- *
- * Stores characters from @a is into @a str until whitespace is found, the
- * end of the stream is encountered, or str.max_size() is reached. If
- * is.width() is non-zero, that is the limit on the number of characters
- * stored into @a str. Any previous contents of @a str are erased.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __is,
- basic_string<_CharT, _Traits, _Alloc>& __str);
-
- template<>
- basic_istream<char>&
- operator>>(basic_istream<char>& __is, basic_string<char>& __str);
-
- /**
- * @brief Write string to a stream.
- * @param os Output stream.
- * @param str String to write out.
- * @return Reference to the output stream.
- *
- * Output characters of @a str into os following the same rules as for
- * writing a C string.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __os,
- const basic_string<_CharT, _Traits, _Alloc>& __str)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 586. string inserter not a formatted function
- return __ostream_insert(__os, __str.data(), __str.size());
- }
-
- /**
- * @brief Read a line from stream into a string.
- * @param is Input stream.
- * @param str Buffer to store into.
- * @param delim Character marking end of line.
- * @return Reference to the input stream.
- *
- * Stores characters from @a is into @a str until @a delim is found, the
- * end of the stream is encountered, or str.max_size() is reached. If
- * is.width() is non-zero, that is the limit on the number of characters
- * stored into @a str. Any previous contents of @a str are erased. If @a
- * delim was encountered, it is extracted but not stored into @a str.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_istream<_CharT, _Traits>&
- getline(basic_istream<_CharT, _Traits>& __is,
- basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
-
- /**
- * @brief Read a line from stream into a string.
- * @param is Input stream.
- * @param str Buffer to store into.
- * @return Reference to the input stream.
- *
- * Stores characters from is into @a str until '\n' is found, the end of
- * the stream is encountered, or str.max_size() is reached. If is.width()
- * is non-zero, that is the limit on the number of characters stored into
- * @a str. Any previous contents of @a str are erased. If end of line was
- * encountered, it is extracted but not stored into @a str.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- inline basic_istream<_CharT, _Traits>&
- getline(basic_istream<_CharT, _Traits>& __is,
- basic_string<_CharT, _Traits, _Alloc>& __str)
- { return getline(__is, __str, __is.widen('\n')); }
-
- template<>
- basic_istream<char>&
- getline(basic_istream<char>& __in, basic_string<char>& __str,
- char __delim);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- basic_istream<wchar_t>&
- getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
- wchar_t __delim);
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _BASIC_STRING_H */
diff --git a/contrib/libstdc++/include/bits/basic_string.tcc b/contrib/libstdc++/include/bits/basic_string.tcc
deleted file mode 100644
index 78428c1eff69..000000000000
--- a/contrib/libstdc++/include/bits/basic_string.tcc
+++ /dev/null
@@ -1,1012 +0,0 @@
-// Components for manipulating sequences of characters -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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 basic_string.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 21 Strings library
-//
-
-// Written by Jason Merrill based upon the specification by Takanori Adachi
-// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers to ISO-14882.
-
-#ifndef _BASIC_STRING_TCC
-#define _BASIC_STRING_TCC 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _Type>
- inline bool
- __is_null_pointer(_Type* __ptr)
- { return __ptr == 0; }
-
- template<typename _Type>
- inline bool
- __is_null_pointer(_Type)
- { return false; }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- const typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- _Rep::_S_max_size = (((npos - sizeof(_Rep_base))/sizeof(_CharT)) - 1) / 4;
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- const _CharT
- basic_string<_CharT, _Traits, _Alloc>::
- _Rep::_S_terminal = _CharT();
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- const typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::npos;
-
- // Linker sets _S_empty_rep_storage to all 0s (one reference, empty string)
- // at static init time (before static ctors are run).
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::_Rep::_S_empty_rep_storage[
- (sizeof(_Rep_base) + sizeof(_CharT) + sizeof(size_type) - 1) /
- sizeof(size_type)];
-
- // NB: This is the special case for Input Iterators, used in
- // istreambuf_iterators, etc.
- // Input Iterators have a cost structure very different from
- // pointers, calling for a different coding style.
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InIterator>
- _CharT*
- basic_string<_CharT, _Traits, _Alloc>::
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
- input_iterator_tag)
- {
-#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
- if (__beg == __end && __a == _Alloc())
- return _S_empty_rep()._M_refdata();
-#endif
- // Avoid reallocation for common case.
- _CharT __buf[128];
- size_type __len = 0;
- while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT))
- {
- __buf[__len++] = *__beg;
- ++__beg;
- }
- _Rep* __r = _Rep::_S_create(__len, size_type(0), __a);
- _M_copy(__r->_M_refdata(), __buf, __len);
- try
- {
- while (__beg != __end)
- {
- if (__len == __r->_M_capacity)
- {
- // Allocate more space.
- _Rep* __another = _Rep::_S_create(__len + 1, __len, __a);
- _M_copy(__another->_M_refdata(), __r->_M_refdata(), __len);
- __r->_M_destroy(__a);
- __r = __another;
- }
- __r->_M_refdata()[__len++] = *__beg;
- ++__beg;
- }
- }
- catch(...)
- {
- __r->_M_destroy(__a);
- __throw_exception_again;
- }
- __r->_M_set_length_and_sharable(__len);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- template <typename _InIterator>
- _CharT*
- basic_string<_CharT, _Traits, _Alloc>::
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
- forward_iterator_tag)
- {
-#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
- if (__beg == __end && __a == _Alloc())
- return _S_empty_rep()._M_refdata();
-#endif
- // NB: Not required, but considered best practice.
- if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0))
- __throw_logic_error(__N("basic_string::_S_construct NULL not valid"));
-
- const size_type __dnew = static_cast<size_type>(std::distance(__beg,
- __end));
- // Check for out_of_range and length_error exceptions.
- _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a);
- try
- { _S_copy_chars(__r->_M_refdata(), __beg, __end); }
- catch(...)
- {
- __r->_M_destroy(__a);
- __throw_exception_again;
- }
- __r->_M_set_length_and_sharable(__dnew);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- _CharT*
- basic_string<_CharT, _Traits, _Alloc>::
- _S_construct(size_type __n, _CharT __c, const _Alloc& __a)
- {
-#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
- if (__n == 0 && __a == _Alloc())
- return _S_empty_rep()._M_refdata();
-#endif
- // Check for out_of_range and length_error exceptions.
- _Rep* __r = _Rep::_S_create(__n, size_type(0), __a);
- if (__n)
- _M_assign(__r->_M_refdata(), __n, __c);
-
- __r->_M_set_length_and_sharable(__n);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(const basic_string& __str)
- : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()),
- __str.get_allocator()),
- __str.get_allocator())
- { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(const _Alloc& __a)
- : _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a)
- { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(const basic_string& __str, size_type __pos, size_type __n)
- : _M_dataplus(_S_construct(__str._M_data()
- + __str._M_check(__pos,
- "basic_string::basic_string"),
- __str._M_data() + __str._M_limit(__pos, __n)
- + __pos, _Alloc()), _Alloc())
- { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(const basic_string& __str, size_type __pos,
- size_type __n, const _Alloc& __a)
- : _M_dataplus(_S_construct(__str._M_data()
- + __str._M_check(__pos,
- "basic_string::basic_string"),
- __str._M_data() + __str._M_limit(__pos, __n)
- + __pos, __a), __a)
- { }
-
- // TBD: DPG annotate
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(const _CharT* __s, size_type __n, const _Alloc& __a)
- : _M_dataplus(_S_construct(__s, __s + __n, __a), __a)
- { }
-
- // TBD: DPG annotate
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(const _CharT* __s, const _Alloc& __a)
- : _M_dataplus(_S_construct(__s, __s ? __s + traits_type::length(__s) :
- __s + npos, __a), __a)
- { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(size_type __n, _CharT __c, const _Alloc& __a)
- : _M_dataplus(_S_construct(__n, __c, __a), __a)
- { }
-
- // TBD: DPG annotate
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InputIterator>
- basic_string<_CharT, _Traits, _Alloc>::
- basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a)
- : _M_dataplus(_S_construct(__beg, __end, __a), __a)
- { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- assign(const basic_string& __str)
- {
- if (_M_rep() != __str._M_rep())
- {
- // XXX MT
- const allocator_type __a = this->get_allocator();
- _CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator());
- _M_rep()->_M_dispose(__a);
- _M_data(__tmp);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- assign(const _CharT* __s, size_type __n)
- {
- __glibcxx_requires_string_len(__s, __n);
- _M_check_length(this->size(), __n, "basic_string::assign");
- if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
- return _M_replace_safe(size_type(0), this->size(), __s, __n);
- else
- {
- // Work in-place.
- const size_type __pos = __s - _M_data();
- if (__pos >= __n)
- _M_copy(_M_data(), __s, __n);
- else if (__pos)
- _M_move(_M_data(), __s, __n);
- _M_rep()->_M_set_length_and_sharable(__n);
- return *this;
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- append(size_type __n, _CharT __c)
- {
- if (__n)
- {
- _M_check_length(size_type(0), __n, "basic_string::append");
- const size_type __len = __n + this->size();
- if (__len > this->capacity() || _M_rep()->_M_is_shared())
- this->reserve(__len);
- _M_assign(_M_data() + this->size(), __n, __c);
- _M_rep()->_M_set_length_and_sharable(__len);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- append(const _CharT* __s, size_type __n)
- {
- __glibcxx_requires_string_len(__s, __n);
- if (__n)
- {
- _M_check_length(size_type(0), __n, "basic_string::append");
- const size_type __len = __n + this->size();
- if (__len > this->capacity() || _M_rep()->_M_is_shared())
- {
- if (_M_disjunct(__s))
- this->reserve(__len);
- else
- {
- const size_type __off = __s - _M_data();
- this->reserve(__len);
- __s = _M_data() + __off;
- }
- }
- _M_copy(_M_data() + this->size(), __s, __n);
- _M_rep()->_M_set_length_and_sharable(__len);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- append(const basic_string& __str)
- {
- const size_type __size = __str.size();
- if (__size)
- {
- const size_type __len = __size + this->size();
- if (__len > this->capacity() || _M_rep()->_M_is_shared())
- this->reserve(__len);
- _M_copy(_M_data() + this->size(), __str._M_data(), __size);
- _M_rep()->_M_set_length_and_sharable(__len);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- append(const basic_string& __str, size_type __pos, size_type __n)
- {
- __str._M_check(__pos, "basic_string::append");
- __n = __str._M_limit(__pos, __n);
- if (__n)
- {
- const size_type __len = __n + this->size();
- if (__len > this->capacity() || _M_rep()->_M_is_shared())
- this->reserve(__len);
- _M_copy(_M_data() + this->size(), __str._M_data() + __pos, __n);
- _M_rep()->_M_set_length_and_sharable(__len);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- insert(size_type __pos, const _CharT* __s, size_type __n)
- {
- __glibcxx_requires_string_len(__s, __n);
- _M_check(__pos, "basic_string::insert");
- _M_check_length(size_type(0), __n, "basic_string::insert");
- if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
- return _M_replace_safe(__pos, size_type(0), __s, __n);
- else
- {
- // Work in-place.
- const size_type __off = __s - _M_data();
- _M_mutate(__pos, 0, __n);
- __s = _M_data() + __off;
- _CharT* __p = _M_data() + __pos;
- if (__s + __n <= __p)
- _M_copy(__p, __s, __n);
- else if (__s >= __p)
- _M_copy(__p, __s + __n, __n);
- else
- {
- const size_type __nleft = __p - __s;
- _M_copy(__p, __s, __nleft);
- _M_copy(__p + __nleft, __p + __n, __n - __nleft);
- }
- return *this;
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- replace(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2)
- {
- __glibcxx_requires_string_len(__s, __n2);
- _M_check(__pos, "basic_string::replace");
- __n1 = _M_limit(__pos, __n1);
- _M_check_length(__n1, __n2, "basic_string::replace");
- bool __left;
- if (_M_disjunct(__s) || _M_rep()->_M_is_shared())
- return _M_replace_safe(__pos, __n1, __s, __n2);
- else if ((__left = __s + __n2 <= _M_data() + __pos)
- || _M_data() + __pos + __n1 <= __s)
- {
- // Work in-place: non-overlapping case.
- size_type __off = __s - _M_data();
- __left ? __off : (__off += __n2 - __n1);
- _M_mutate(__pos, __n1, __n2);
- _M_copy(_M_data() + __pos, _M_data() + __off, __n2);
- return *this;
- }
- else
- {
- // Todo: overlapping case.
- const basic_string __tmp(__s, __n2);
- return _M_replace_safe(__pos, __n1, __tmp._M_data(), __n2);
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- basic_string<_CharT, _Traits, _Alloc>::_Rep::
- _M_destroy(const _Alloc& __a) throw ()
- {
- const size_type __size = sizeof(_Rep_base) +
- (this->_M_capacity + 1) * sizeof(_CharT);
- _Raw_bytes_alloc(__a).deallocate(reinterpret_cast<char*>(this), __size);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- basic_string<_CharT, _Traits, _Alloc>::
- _M_leak_hard()
- {
-#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
- if (_M_rep() == &_S_empty_rep())
- return;
-#endif
- if (_M_rep()->_M_is_shared())
- _M_mutate(0, 0, 0);
- _M_rep()->_M_set_leaked();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- basic_string<_CharT, _Traits, _Alloc>::
- _M_mutate(size_type __pos, size_type __len1, size_type __len2)
- {
- const size_type __old_size = this->size();
- const size_type __new_size = __old_size + __len2 - __len1;
- const size_type __how_much = __old_size - __pos - __len1;
-
- if (__new_size > this->capacity() || _M_rep()->_M_is_shared())
- {
- // Must reallocate.
- const allocator_type __a = get_allocator();
- _Rep* __r = _Rep::_S_create(__new_size, this->capacity(), __a);
-
- if (__pos)
- _M_copy(__r->_M_refdata(), _M_data(), __pos);
- if (__how_much)
- _M_copy(__r->_M_refdata() + __pos + __len2,
- _M_data() + __pos + __len1, __how_much);
-
- _M_rep()->_M_dispose(__a);
- _M_data(__r->_M_refdata());
- }
- else if (__how_much && __len1 != __len2)
- {
- // Work in-place.
- _M_move(_M_data() + __pos + __len2,
- _M_data() + __pos + __len1, __how_much);
- }
- _M_rep()->_M_set_length_and_sharable(__new_size);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- basic_string<_CharT, _Traits, _Alloc>::
- reserve(size_type __res)
- {
- if (__res != this->capacity() || _M_rep()->_M_is_shared())
- {
- // Make sure we don't shrink below the current size
- if (__res < this->size())
- __res = this->size();
- const allocator_type __a = get_allocator();
- _CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size());
- _M_rep()->_M_dispose(__a);
- _M_data(__tmp);
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- basic_string<_CharT, _Traits, _Alloc>::
- swap(basic_string& __s)
- {
- if (_M_rep()->_M_is_leaked())
- _M_rep()->_M_set_sharable();
- if (__s._M_rep()->_M_is_leaked())
- __s._M_rep()->_M_set_sharable();
- if (this->get_allocator() == __s.get_allocator())
- {
- _CharT* __tmp = _M_data();
- _M_data(__s._M_data());
- __s._M_data(__tmp);
- }
- // The code below can usually be optimized away.
- else
- {
- const basic_string __tmp1(_M_ibegin(), _M_iend(),
- __s.get_allocator());
- const basic_string __tmp2(__s._M_ibegin(), __s._M_iend(),
- this->get_allocator());
- *this = __tmp2;
- __s = __tmp1;
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::_Rep*
- basic_string<_CharT, _Traits, _Alloc>::_Rep::
- _S_create(size_type __capacity, size_type __old_capacity,
- const _Alloc& __alloc)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 83. String::npos vs. string::max_size()
- if (__capacity > _S_max_size)
- __throw_length_error(__N("basic_string::_S_create"));
-
- // The standard places no restriction on allocating more memory
- // than is strictly needed within this layer at the moment or as
- // requested by an explicit application call to reserve().
-
- // Many malloc implementations perform quite poorly when an
- // application attempts to allocate memory in a stepwise fashion
- // growing each allocation size by only 1 char. Additionally,
- // it makes little sense to allocate less linear memory than the
- // natural blocking size of the malloc implementation.
- // Unfortunately, we would need a somewhat low-level calculation
- // with tuned parameters to get this perfect for any particular
- // malloc implementation. Fortunately, generalizations about
- // common features seen among implementations seems to suffice.
-
- // __pagesize need not match the actual VM page size for good
- // results in practice, thus we pick a common value on the low
- // side. __malloc_header_size is an estimate of the amount of
- // overhead per memory allocation (in practice seen N * sizeof
- // (void*) where N is 0, 2 or 4). According to folklore,
- // picking this value on the high side is better than
- // low-balling it (especially when this algorithm is used with
- // malloc implementations that allocate memory blocks rounded up
- // to a size which is a power of 2).
- const size_type __pagesize = 4096;
- const size_type __malloc_header_size = 4 * sizeof(void*);
-
- // The below implements an exponential growth policy, necessary to
- // meet amortized linear time requirements of the library: see
- // http://gcc.gnu.org/ml/libstdc++/2001-07/msg00085.html.
- // It's active for allocations requiring an amount of memory above
- // system pagesize. This is consistent with the requirements of the
- // standard: http://gcc.gnu.org/ml/libstdc++/2001-07/msg00130.html
- if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
- __capacity = 2 * __old_capacity;
-
- // NB: Need an array of char_type[__capacity], plus a terminating
- // null char_type() element, plus enough for the _Rep data structure.
- // Whew. Seemingly so needy, yet so elemental.
- size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
-
- const size_type __adj_size = __size + __malloc_header_size;
- if (__adj_size > __pagesize && __capacity > __old_capacity)
- {
- const size_type __extra = __pagesize - __adj_size % __pagesize;
- __capacity += __extra / sizeof(_CharT);
- // Never allocate a string bigger than _S_max_size.
- if (__capacity > _S_max_size)
- __capacity = _S_max_size;
- __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
- }
-
- // NB: Might throw, but no worries about a leak, mate: _Rep()
- // does not throw.
- void* __place = _Raw_bytes_alloc(__alloc).allocate(__size);
- _Rep *__p = new (__place) _Rep;
- __p->_M_capacity = __capacity;
- // ABI compatibility - 3.4.x set in _S_create both
- // _M_refcount and _M_length. All callers of _S_create
- // in basic_string.tcc then set just _M_length.
- // In 4.0.x and later both _M_refcount and _M_length
- // are initialized in the callers, unfortunately we can
- // have 3.4.x compiled code with _S_create callers inlined
- // calling 4.0.x+ _S_create.
- __p->_M_set_sharable();
- return __p;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- _CharT*
- basic_string<_CharT, _Traits, _Alloc>::_Rep::
- _M_clone(const _Alloc& __alloc, size_type __res)
- {
- // Requested capacity of the clone.
- const size_type __requested_cap = this->_M_length + __res;
- _Rep* __r = _Rep::_S_create(__requested_cap, this->_M_capacity,
- __alloc);
- if (this->_M_length)
- _M_copy(__r->_M_refdata(), _M_refdata(), this->_M_length);
-
- __r->_M_set_length_and_sharable(this->_M_length);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- basic_string<_CharT, _Traits, _Alloc>::
- resize(size_type __n, _CharT __c)
- {
- const size_type __size = this->size();
- _M_check_length(__size, __n, "basic_string::resize");
- if (__size < __n)
- this->append(__n - __size, __c);
- else if (__n < __size)
- this->erase(__n);
- // else nothing (in particular, avoid calling _M_mutate() unnecessarily.)
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InputIterator>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
- _InputIterator __k2, __false_type)
- {
- const basic_string __s(__k1, __k2);
- const size_type __n1 = __i2 - __i1;
- _M_check_length(__n1, __s.size(), "basic_string::_M_replace_dispatch");
- return _M_replace_safe(__i1 - _M_ibegin(), __n1, __s._M_data(),
- __s.size());
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
- _CharT __c)
- {
- _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
- _M_mutate(__pos1, __n1, __n2);
- if (__n2)
- _M_assign(_M_data() + __pos1, __n2, __c);
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>&
- basic_string<_CharT, _Traits, _Alloc>::
- _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
- size_type __n2)
- {
- _M_mutate(__pos1, __n1, __n2);
- if (__n2)
- _M_copy(_M_data() + __pos1, __s, __n2);
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>
- operator+(const _CharT* __lhs,
- const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- {
- __glibcxx_requires_string(__lhs);
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef typename __string_type::size_type __size_type;
- const __size_type __len = _Traits::length(__lhs);
- __string_type __str;
- __str.reserve(__len + __rhs.size());
- __str.append(__lhs, __len);
- __str.append(__rhs);
- return __str;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_string<_CharT, _Traits, _Alloc>
- operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
- {
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef typename __string_type::size_type __size_type;
- __string_type __str;
- const __size_type __len = __rhs.size();
- __str.reserve(__len + 1);
- __str.append(__size_type(1), __lhs);
- __str.append(__rhs);
- return __str;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- copy(_CharT* __s, size_type __n, size_type __pos) const
- {
- _M_check(__pos, "basic_string::copy");
- __n = _M_limit(__pos, __n);
- __glibcxx_requires_string_len(__s, __n);
- if (__n)
- _M_copy(__s, _M_data() + __pos, __n);
- // 21.3.5.7 par 3: do not append null. (good.)
- return __n;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- const size_type __size = this->size();
- const _CharT* __data = _M_data();
-
- if (__n == 0)
- return __pos <= __size ? __pos : npos;
-
- if (__n <= __size)
- {
- for (; __pos <= __size - __n; ++__pos)
- if (traits_type::eq(__data[__pos], __s[0])
- && traits_type::compare(__data + __pos + 1,
- __s + 1, __n - 1) == 0)
- return __pos;
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find(_CharT __c, size_type __pos) const
- {
- size_type __ret = npos;
- const size_type __size = this->size();
- if (__pos < __size)
- {
- const _CharT* __data = _M_data();
- const size_type __n = __size - __pos;
- const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
- if (__p)
- __ret = __p - __data;
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- rfind(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- const size_type __size = this->size();
- if (__n <= __size)
- {
- __pos = std::min(size_type(__size - __n), __pos);
- const _CharT* __data = _M_data();
- do
- {
- if (traits_type::compare(__data + __pos, __s, __n) == 0)
- return __pos;
- }
- while (__pos-- > 0);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- rfind(_CharT __c, size_type __pos) const
- {
- size_type __size = this->size();
- if (__size)
- {
- if (--__size > __pos)
- __size = __pos;
- for (++__size; __size-- > 0; )
- if (traits_type::eq(_M_data()[__size], __c))
- return __size;
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- for (; __n && __pos < this->size(); ++__pos)
- {
- const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
- if (__p)
- return __pos;
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- size_type __size = this->size();
- if (__size && __n)
- {
- if (--__size > __pos)
- __size = __pos;
- do
- {
- if (traits_type::find(__s, __n, _M_data()[__size]))
- return __size;
- }
- while (__size-- != 0);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- for (; __pos < this->size(); ++__pos)
- if (!traits_type::find(__s, __n, _M_data()[__pos]))
- return __pos;
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find_first_not_of(_CharT __c, size_type __pos) const
- {
- for (; __pos < this->size(); ++__pos)
- if (!traits_type::eq(_M_data()[__pos], __c))
- return __pos;
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- size_type __size = this->size();
- if (__size)
- {
- if (--__size > __pos)
- __size = __pos;
- do
- {
- if (!traits_type::find(__s, __n, _M_data()[__size]))
- return __size;
- }
- while (__size--);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename basic_string<_CharT, _Traits, _Alloc>::size_type
- basic_string<_CharT, _Traits, _Alloc>::
- find_last_not_of(_CharT __c, size_type __pos) const
- {
- size_type __size = this->size();
- if (__size)
- {
- if (--__size > __pos)
- __size = __pos;
- do
- {
- if (!traits_type::eq(_M_data()[__size], __c))
- return __size;
- }
- while (__size--);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- int
- basic_string<_CharT, _Traits, _Alloc>::
- compare(size_type __pos, size_type __n, const basic_string& __str) const
- {
- _M_check(__pos, "basic_string::compare");
- __n = _M_limit(__pos, __n);
- const size_type __osize = __str.size();
- const size_type __len = std::min(__n, __osize);
- int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
- if (!__r)
- __r = _S_compare(__n, __osize);
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- int
- basic_string<_CharT, _Traits, _Alloc>::
- compare(size_type __pos1, size_type __n1, const basic_string& __str,
- size_type __pos2, size_type __n2) const
- {
- _M_check(__pos1, "basic_string::compare");
- __str._M_check(__pos2, "basic_string::compare");
- __n1 = _M_limit(__pos1, __n1);
- __n2 = __str._M_limit(__pos2, __n2);
- const size_type __len = std::min(__n1, __n2);
- int __r = traits_type::compare(_M_data() + __pos1,
- __str.data() + __pos2, __len);
- if (!__r)
- __r = _S_compare(__n1, __n2);
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- int
- basic_string<_CharT, _Traits, _Alloc>::
- compare(const _CharT* __s) const
- {
- __glibcxx_requires_string(__s);
- const size_type __size = this->size();
- const size_type __osize = traits_type::length(__s);
- const size_type __len = std::min(__size, __osize);
- int __r = traits_type::compare(_M_data(), __s, __len);
- if (!__r)
- __r = _S_compare(__size, __osize);
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- int
- basic_string <_CharT, _Traits, _Alloc>::
- compare(size_type __pos, size_type __n1, const _CharT* __s) const
- {
- __glibcxx_requires_string(__s);
- _M_check(__pos, "basic_string::compare");
- __n1 = _M_limit(__pos, __n1);
- const size_type __osize = traits_type::length(__s);
- const size_type __len = std::min(__n1, __osize);
- int __r = traits_type::compare(_M_data() + __pos, __s, __len);
- if (!__r)
- __r = _S_compare(__n1, __osize);
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- int
- basic_string <_CharT, _Traits, _Alloc>::
- compare(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2) const
- {
- __glibcxx_requires_string_len(__s, __n2);
- _M_check(__pos, "basic_string::compare");
- __n1 = _M_limit(__pos, __n1);
- const size_type __len = std::min(__n1, __n2);
- int __r = traits_type::compare(_M_data() + __pos, __s, __len);
- if (!__r)
- __r = _S_compare(__n1, __n2);
- return __r;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class basic_string<char>;
- extern template
- basic_istream<char>&
- operator>>(basic_istream<char>&, string&);
- extern template
- basic_ostream<char>&
- operator<<(basic_ostream<char>&, const string&);
- extern template
- basic_istream<char>&
- getline(basic_istream<char>&, string&, char);
- extern template
- basic_istream<char>&
- getline(basic_istream<char>&, string&);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class basic_string<wchar_t>;
- extern template
- basic_istream<wchar_t>&
- operator>>(basic_istream<wchar_t>&, wstring&);
- extern template
- basic_ostream<wchar_t>&
- operator<<(basic_ostream<wchar_t>&, const wstring&);
- extern template
- basic_istream<wchar_t>&
- getline(basic_istream<wchar_t>&, wstring&, wchar_t);
- extern template
- basic_istream<wchar_t>&
- getline(basic_istream<wchar_t>&, wstring&);
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/boost_concept_check.h b/contrib/libstdc++/include/bits/boost_concept_check.h
deleted file mode 100644
index 3d8fe753987b..000000000000
--- a/contrib/libstdc++/include/bits/boost_concept_check.h
+++ /dev/null
@@ -1,933 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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.
-
-// (C) Copyright Jeremy Siek 2000. Permission to copy, use, modify,
-// sell and distribute this software is granted provided this
-// copyright notice appears in all copies. This software is provided
-// "as is" without express or implied warranty, and with no claim as
-// to its suitability for any purpose.
-//
-
-/** @file boost_concept_check.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// GCC Note: based on version 1.12.0 of the Boost library.
-
-#ifndef _BOOST_CONCEPT_CHECK_H
-#define _BOOST_CONCEPT_CHECK_H 1
-
-#pragma GCC system_header
-
-#include <cstddef> // for ptrdiff_t, used next
-#include <bits/stl_iterator_base_types.h> // for traits and tags
-#include <utility> // for pair<>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
-#define _IsUnused __attribute__ ((__unused__))
-
-// When the C-C code is in use, we would like this function to do as little
-// as possible at runtime, use as few resources as possible, and hopefully
-// be elided out of existence... hmmm.
-template <class _Concept>
-inline void __function_requires()
-{
- void (_Concept::*__x)() _IsUnused = &_Concept::__constraints;
-}
-
-// No definition: if this is referenced, there's a problem with
-// the instantiating type not being one of the required integer types.
-// Unfortunately, this results in a link-time error, not a compile-time error.
-void __error_type_must_be_an_integer_type();
-void __error_type_must_be_an_unsigned_integer_type();
-void __error_type_must_be_a_signed_integer_type();
-
-// ??? Should the "concept_checking*" structs begin with more than _ ?
-#define _GLIBCXX_CLASS_REQUIRES(_type_var, _ns, _concept) \
- typedef void (_ns::_concept <_type_var>::* _func##_type_var##_concept)(); \
- template <_func##_type_var##_concept _Tp1> \
- struct _concept_checking##_type_var##_concept { }; \
- typedef _concept_checking##_type_var##_concept< \
- &_ns::_concept <_type_var>::__constraints> \
- _concept_checking_typedef##_type_var##_concept
-
-#define _GLIBCXX_CLASS_REQUIRES2(_type_var1, _type_var2, _ns, _concept) \
- typedef void (_ns::_concept <_type_var1,_type_var2>::* _func##_type_var1##_type_var2##_concept)(); \
- template <_func##_type_var1##_type_var2##_concept _Tp1> \
- struct _concept_checking##_type_var1##_type_var2##_concept { }; \
- typedef _concept_checking##_type_var1##_type_var2##_concept< \
- &_ns::_concept <_type_var1,_type_var2>::__constraints> \
- _concept_checking_typedef##_type_var1##_type_var2##_concept
-
-#define _GLIBCXX_CLASS_REQUIRES3(_type_var1, _type_var2, _type_var3, _ns, _concept) \
- typedef void (_ns::_concept <_type_var1,_type_var2,_type_var3>::* _func##_type_var1##_type_var2##_type_var3##_concept)(); \
- template <_func##_type_var1##_type_var2##_type_var3##_concept _Tp1> \
- struct _concept_checking##_type_var1##_type_var2##_type_var3##_concept { }; \
- typedef _concept_checking##_type_var1##_type_var2##_type_var3##_concept< \
- &_ns::_concept <_type_var1,_type_var2,_type_var3>::__constraints> \
- _concept_checking_typedef##_type_var1##_type_var2##_type_var3##_concept
-
-#define _GLIBCXX_CLASS_REQUIRES4(_type_var1, _type_var2, _type_var3, _type_var4, _ns, _concept) \
- typedef void (_ns::_concept <_type_var1,_type_var2,_type_var3,_type_var4>::* _func##_type_var1##_type_var2##_type_var3##_type_var4##_concept)(); \
- template <_func##_type_var1##_type_var2##_type_var3##_type_var4##_concept _Tp1> \
- struct _concept_checking##_type_var1##_type_var2##_type_var3##_type_var4##_concept { }; \
- typedef _concept_checking##_type_var1##_type_var2##_type_var3##_type_var4##_concept< \
- &_ns::_concept <_type_var1,_type_var2,_type_var3,_type_var4>::__constraints> \
- _concept_checking_typedef##_type_var1##_type_var2##_type_var3##_type_var4##_concept
-
-
-template <class _Tp1, class _Tp2>
-struct _Aux_require_same { };
-
-template <class _Tp>
-struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
-
- template <class _Tp1, class _Tp2>
- struct _SameTypeConcept
- {
- void __constraints() {
- typedef typename _Aux_require_same<_Tp1, _Tp2>::_Type _Required;
- }
- };
-
- template <class _Tp>
- struct _IntegerConcept {
- void __constraints() {
- __error_type_must_be_an_integer_type();
- }
- };
- template <> struct _IntegerConcept<short> { void __constraints() {} };
- template <> struct _IntegerConcept<unsigned short> { void __constraints(){} };
- template <> struct _IntegerConcept<int> { void __constraints() {} };
- template <> struct _IntegerConcept<unsigned int> { void __constraints() {} };
- template <> struct _IntegerConcept<long> { void __constraints() {} };
- template <> struct _IntegerConcept<unsigned long> { void __constraints() {} };
- template <> struct _IntegerConcept<long long> { void __constraints() {} };
- template <> struct _IntegerConcept<unsigned long long>
- { void __constraints() {} };
-
- template <class _Tp>
- struct _SignedIntegerConcept {
- void __constraints() {
- __error_type_must_be_a_signed_integer_type();
- }
- };
- template <> struct _SignedIntegerConcept<short> { void __constraints() {} };
- template <> struct _SignedIntegerConcept<int> { void __constraints() {} };
- template <> struct _SignedIntegerConcept<long> { void __constraints() {} };
- template <> struct _SignedIntegerConcept<long long> { void __constraints(){}};
-
- template <class _Tp>
- struct _UnsignedIntegerConcept {
- void __constraints() {
- __error_type_must_be_an_unsigned_integer_type();
- }
- };
- template <> struct _UnsignedIntegerConcept<unsigned short>
- { void __constraints() {} };
- template <> struct _UnsignedIntegerConcept<unsigned int>
- { void __constraints() {} };
- template <> struct _UnsignedIntegerConcept<unsigned long>
- { void __constraints() {} };
- template <> struct _UnsignedIntegerConcept<unsigned long long>
- { void __constraints() {} };
-
- //===========================================================================
- // Basic Concepts
-
- template <class _Tp>
- struct _DefaultConstructibleConcept
- {
- void __constraints() {
- _Tp __a _IsUnused; // require default constructor
- }
- };
-
- template <class _Tp>
- struct _AssignableConcept
- {
- void __constraints() {
- __a = __a; // require assignment operator
- __const_constraints(__a);
- }
- void __const_constraints(const _Tp& __b) {
- __a = __b; // const required for argument to assignment
- }
- _Tp __a;
- // possibly should be "Tp* a;" and then dereference "a" in constraint
- // functions? present way would require a default ctor, i think...
- };
-
- template <class _Tp>
- struct _CopyConstructibleConcept
- {
- void __constraints() {
- _Tp __a(__b); // require copy constructor
- _Tp* __ptr _IsUnused = &__a; // require address of operator
- __const_constraints(__a);
- }
- void __const_constraints(const _Tp& __a) {
- _Tp __c _IsUnused(__a); // require const copy constructor
- const _Tp* __ptr _IsUnused = &__a; // require const address of operator
- }
- _Tp __b;
- };
-
- // The SGI STL version of Assignable requires copy constructor and operator=
- template <class _Tp>
- struct _SGIAssignableConcept
- {
- void __constraints() {
- _Tp __b _IsUnused(__a);
- __a = __a; // require assignment operator
- __const_constraints(__a);
- }
- void __const_constraints(const _Tp& __b) {
- _Tp __c _IsUnused(__b);
- __a = __b; // const required for argument to assignment
- }
- _Tp __a;
- };
-
- template <class _From, class _To>
- struct _ConvertibleConcept
- {
- void __constraints() {
- _To __y _IsUnused = __x;
- }
- _From __x;
- };
-
- // The C++ standard requirements for many concepts talk about return
- // types that must be "convertible to bool". The problem with this
- // requirement is that it leaves the door open for evil proxies that
- // define things like operator|| with strange return types. Two
- // possible solutions are:
- // 1) require the return type to be exactly bool
- // 2) stay with convertible to bool, and also
- // specify stuff about all the logical operators.
- // For now we just test for convertible to bool.
- template <class _Tp>
- void __aux_require_boolean_expr(const _Tp& __t) {
- bool __x _IsUnused = __t;
- }
-
-// FIXME
- template <class _Tp>
- struct _EqualityComparableConcept
- {
- void __constraints() {
- __aux_require_boolean_expr(__a == __b);
- }
- _Tp __a, __b;
- };
-
- template <class _Tp>
- struct _LessThanComparableConcept
- {
- void __constraints() {
- __aux_require_boolean_expr(__a < __b);
- }
- _Tp __a, __b;
- };
-
- // This is equivalent to SGI STL's LessThanComparable.
- template <class _Tp>
- struct _ComparableConcept
- {
- void __constraints() {
- __aux_require_boolean_expr(__a < __b);
- __aux_require_boolean_expr(__a > __b);
- __aux_require_boolean_expr(__a <= __b);
- __aux_require_boolean_expr(__a >= __b);
- }
- _Tp __a, __b;
- };
-
-#define _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(_OP,_NAME) \
- template <class _First, class _Second> \
- struct _NAME { \
- void __constraints() { (void)__constraints_(); } \
- bool __constraints_() { \
- return __a _OP __b; \
- } \
- _First __a; \
- _Second __b; \
- }
-
-#define _GLIBCXX_DEFINE_BINARY_OPERATOR_CONSTRAINT(_OP,_NAME) \
- template <class _Ret, class _First, class _Second> \
- struct _NAME { \
- void __constraints() { (void)__constraints_(); } \
- _Ret __constraints_() { \
- return __a _OP __b; \
- } \
- _First __a; \
- _Second __b; \
- }
-
- _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(==, _EqualOpConcept);
- _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(!=, _NotEqualOpConcept);
- _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<, _LessThanOpConcept);
- _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(<=, _LessEqualOpConcept);
- _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>, _GreaterThanOpConcept);
- _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT(>=, _GreaterEqualOpConcept);
-
- _GLIBCXX_DEFINE_BINARY_OPERATOR_CONSTRAINT(+, _PlusOpConcept);
- _GLIBCXX_DEFINE_BINARY_OPERATOR_CONSTRAINT(*, _TimesOpConcept);
- _GLIBCXX_DEFINE_BINARY_OPERATOR_CONSTRAINT(/, _DivideOpConcept);
- _GLIBCXX_DEFINE_BINARY_OPERATOR_CONSTRAINT(-, _SubtractOpConcept);
- _GLIBCXX_DEFINE_BINARY_OPERATOR_CONSTRAINT(%, _ModOpConcept);
-
-#undef _GLIBCXX_DEFINE_BINARY_PREDICATE_OP_CONSTRAINT
-#undef _GLIBCXX_DEFINE_BINARY_OPERATOR_CONSTRAINT
-
- //===========================================================================
- // Function Object Concepts
-
- template <class _Func, class _Return>
- struct _GeneratorConcept
- {
- void __constraints() {
- const _Return& __r _IsUnused = __f();// require operator() member function
- }
- _Func __f;
- };
-
-
- template <class _Func>
- struct _GeneratorConcept<_Func,void>
- {
- void __constraints() {
- __f(); // require operator() member function
- }
- _Func __f;
- };
-
- template <class _Func, class _Return, class _Arg>
- struct _UnaryFunctionConcept
- {
- void __constraints() {
- __r = __f(__arg); // require operator()
- }
- _Func __f;
- _Arg __arg;
- _Return __r;
- };
-
- template <class _Func, class _Arg>
- struct _UnaryFunctionConcept<_Func, void, _Arg> {
- void __constraints() {
- __f(__arg); // require operator()
- }
- _Func __f;
- _Arg __arg;
- };
-
- template <class _Func, class _Return, class _First, class _Second>
- struct _BinaryFunctionConcept
- {
- void __constraints() {
- __r = __f(__first, __second); // require operator()
- }
- _Func __f;
- _First __first;
- _Second __second;
- _Return __r;
- };
-
- template <class _Func, class _First, class _Second>
- struct _BinaryFunctionConcept<_Func, void, _First, _Second>
- {
- void __constraints() {
- __f(__first, __second); // require operator()
- }
- _Func __f;
- _First __first;
- _Second __second;
- };
-
- template <class _Func, class _Arg>
- struct _UnaryPredicateConcept
- {
- void __constraints() {
- __aux_require_boolean_expr(__f(__arg)); // require op() returning bool
- }
- _Func __f;
- _Arg __arg;
- };
-
- template <class _Func, class _First, class _Second>
- struct _BinaryPredicateConcept
- {
- void __constraints() {
- __aux_require_boolean_expr(__f(__a, __b)); // require op() returning bool
- }
- _Func __f;
- _First __a;
- _Second __b;
- };
-
- // use this when functor is used inside a container class like std::set
- template <class _Func, class _First, class _Second>
- struct _Const_BinaryPredicateConcept {
- void __constraints() {
- __const_constraints(__f);
- }
- void __const_constraints(const _Func& __fun) {
- __function_requires<_BinaryPredicateConcept<_Func, _First, _Second> >();
- // operator() must be a const member function
- __aux_require_boolean_expr(__fun(__a, __b));
- }
- _Func __f;
- _First __a;
- _Second __b;
- };
-
- //===========================================================================
- // Iterator Concepts
-
- template <class _Tp>
- struct _TrivialIteratorConcept
- {
- void __constraints() {
-// __function_requires< _DefaultConstructibleConcept<_Tp> >();
- __function_requires< _AssignableConcept<_Tp> >();
- __function_requires< _EqualityComparableConcept<_Tp> >();
-// typedef typename std::iterator_traits<_Tp>::value_type _V;
- (void)*__i; // require dereference operator
- }
- _Tp __i;
- };
-
- template <class _Tp>
- struct _Mutable_TrivialIteratorConcept
- {
- void __constraints() {
- __function_requires< _TrivialIteratorConcept<_Tp> >();
- *__i = *__j; // require dereference and assignment
- }
- _Tp __i, __j;
- };
-
- template <class _Tp>
- struct _InputIteratorConcept
- {
- void __constraints() {
- __function_requires< _TrivialIteratorConcept<_Tp> >();
- // require iterator_traits typedef's
- typedef typename std::iterator_traits<_Tp>::difference_type _Diff;
-// __function_requires< _SignedIntegerConcept<_Diff> >();
- typedef typename std::iterator_traits<_Tp>::reference _Ref;
- typedef typename std::iterator_traits<_Tp>::pointer _Pt;
- typedef typename std::iterator_traits<_Tp>::iterator_category _Cat;
- __function_requires< _ConvertibleConcept<
- typename std::iterator_traits<_Tp>::iterator_category,
- std::input_iterator_tag> >();
- ++__i; // require preincrement operator
- __i++; // require postincrement operator
- }
- _Tp __i;
- };
-
- template <class _Tp, class _ValueT>
- struct _OutputIteratorConcept
- {
- void __constraints() {
- __function_requires< _AssignableConcept<_Tp> >();
- ++__i; // require preincrement operator
- __i++; // require postincrement operator
- *__i++ = __t; // require postincrement and assignment
- }
- _Tp __i;
- _ValueT __t;
- };
-
- template <class _Tp>
- struct _ForwardIteratorConcept
- {
- void __constraints() {
- __function_requires< _InputIteratorConcept<_Tp> >();
- __function_requires< _DefaultConstructibleConcept<_Tp> >();
- __function_requires< _ConvertibleConcept<
- typename std::iterator_traits<_Tp>::iterator_category,
- std::forward_iterator_tag> >();
- typedef typename std::iterator_traits<_Tp>::reference _Ref;
- _Ref __r _IsUnused = *__i;
- }
- _Tp __i;
- };
-
- template <class _Tp>
- struct _Mutable_ForwardIteratorConcept
- {
- void __constraints() {
- __function_requires< _ForwardIteratorConcept<_Tp> >();
- *__i++ = *__i; // require postincrement and assignment
- }
- _Tp __i;
- };
-
- template <class _Tp>
- struct _BidirectionalIteratorConcept
- {
- void __constraints() {
- __function_requires< _ForwardIteratorConcept<_Tp> >();
- __function_requires< _ConvertibleConcept<
- typename std::iterator_traits<_Tp>::iterator_category,
- std::bidirectional_iterator_tag> >();
- --__i; // require predecrement operator
- __i--; // require postdecrement operator
- }
- _Tp __i;
- };
-
- template <class _Tp>
- struct _Mutable_BidirectionalIteratorConcept
- {
- void __constraints() {
- __function_requires< _BidirectionalIteratorConcept<_Tp> >();
- __function_requires< _Mutable_ForwardIteratorConcept<_Tp> >();
- *__i-- = *__i; // require postdecrement and assignment
- }
- _Tp __i;
- };
-
-
- template <class _Tp>
- struct _RandomAccessIteratorConcept
- {
- void __constraints() {
- __function_requires< _BidirectionalIteratorConcept<_Tp> >();
- __function_requires< _ComparableConcept<_Tp> >();
- __function_requires< _ConvertibleConcept<
- typename std::iterator_traits<_Tp>::iterator_category,
- std::random_access_iterator_tag> >();
- // ??? We don't use _Ref, are we just checking for "referenceability"?
- typedef typename std::iterator_traits<_Tp>::reference _Ref;
-
- __i += __n; // require assignment addition operator
- __i = __i + __n; __i = __n + __i; // require addition with difference type
- __i -= __n; // require assignment subtraction op
- __i = __i - __n; // require subtraction with
- // difference type
- __n = __i - __j; // require difference operator
- (void)__i[__n]; // require element access operator
- }
- _Tp __a, __b;
- _Tp __i, __j;
- typename std::iterator_traits<_Tp>::difference_type __n;
- };
-
- template <class _Tp>
- struct _Mutable_RandomAccessIteratorConcept
- {
- void __constraints() {
- __function_requires< _RandomAccessIteratorConcept<_Tp> >();
- __function_requires< _Mutable_BidirectionalIteratorConcept<_Tp> >();
- __i[__n] = *__i; // require element access and assignment
- }
- _Tp __i;
- typename std::iterator_traits<_Tp>::difference_type __n;
- };
-
- //===========================================================================
- // Container Concepts
-
- template <class _Container>
- struct _ContainerConcept
- {
- typedef typename _Container::value_type _Value_type;
- typedef typename _Container::difference_type _Difference_type;
- typedef typename _Container::size_type _Size_type;
- typedef typename _Container::const_reference _Const_reference;
- typedef typename _Container::const_pointer _Const_pointer;
- typedef typename _Container::const_iterator _Const_iterator;
-
- void __constraints() {
- __function_requires< _InputIteratorConcept<_Const_iterator> >();
- __function_requires< _AssignableConcept<_Container> >();
- const _Container __c;
- __i = __c.begin();
- __i = __c.end();
- __n = __c.size();
- __n = __c.max_size();
- __b = __c.empty();
- }
- bool __b;
- _Const_iterator __i;
- _Size_type __n;
- };
-
- template <class _Container>
- struct _Mutable_ContainerConcept
- {
- typedef typename _Container::value_type _Value_type;
- typedef typename _Container::reference _Reference;
- typedef typename _Container::iterator _Iterator;
- typedef typename _Container::pointer _Pointer;
-
- void __constraints() {
- __function_requires< _ContainerConcept<_Container> >();
- __function_requires< _AssignableConcept<_Value_type> >();
- __function_requires< _InputIteratorConcept<_Iterator> >();
-
- __i = __c.begin();
- __i = __c.end();
- __c.swap(__c2);
- }
- _Iterator __i;
- _Container __c, __c2;
- };
-
- template <class _ForwardContainer>
- struct _ForwardContainerConcept
- {
- void __constraints() {
- __function_requires< _ContainerConcept<_ForwardContainer> >();
- typedef typename _ForwardContainer::const_iterator _Const_iterator;
- __function_requires< _ForwardIteratorConcept<_Const_iterator> >();
- }
- };
-
- template <class _ForwardContainer>
- struct _Mutable_ForwardContainerConcept
- {
- void __constraints() {
- __function_requires< _ForwardContainerConcept<_ForwardContainer> >();
- __function_requires< _Mutable_ContainerConcept<_ForwardContainer> >();
- typedef typename _ForwardContainer::iterator _Iterator;
- __function_requires< _Mutable_ForwardIteratorConcept<_Iterator> >();
- }
- };
-
- template <class _ReversibleContainer>
- struct _ReversibleContainerConcept
- {
- typedef typename _ReversibleContainer::const_iterator _Const_iterator;
- typedef typename _ReversibleContainer::const_reverse_iterator
- _Const_reverse_iterator;
-
- void __constraints() {
- __function_requires< _ForwardContainerConcept<_ReversibleContainer> >();
- __function_requires< _BidirectionalIteratorConcept<_Const_iterator> >();
- __function_requires<
- _BidirectionalIteratorConcept<_Const_reverse_iterator> >();
-
- const _ReversibleContainer __c;
- _Const_reverse_iterator __i = __c.rbegin();
- __i = __c.rend();
- }
- };
-
- template <class _ReversibleContainer>
- struct _Mutable_ReversibleContainerConcept
- {
- typedef typename _ReversibleContainer::iterator _Iterator;
- typedef typename _ReversibleContainer::reverse_iterator _Reverse_iterator;
-
- void __constraints() {
- __function_requires<_ReversibleContainerConcept<_ReversibleContainer> >();
- __function_requires<
- _Mutable_ForwardContainerConcept<_ReversibleContainer> >();
- __function_requires<_Mutable_BidirectionalIteratorConcept<_Iterator> >();
- __function_requires<
- _Mutable_BidirectionalIteratorConcept<_Reverse_iterator> >();
-
- _Reverse_iterator __i = __c.rbegin();
- __i = __c.rend();
- }
- _ReversibleContainer __c;
- };
-
- template <class _RandomAccessContainer>
- struct _RandomAccessContainerConcept
- {
- typedef typename _RandomAccessContainer::size_type _Size_type;
- typedef typename _RandomAccessContainer::const_reference _Const_reference;
- typedef typename _RandomAccessContainer::const_iterator _Const_iterator;
- typedef typename _RandomAccessContainer::const_reverse_iterator
- _Const_reverse_iterator;
-
- void __constraints() {
- __function_requires<
- _ReversibleContainerConcept<_RandomAccessContainer> >();
- __function_requires< _RandomAccessIteratorConcept<_Const_iterator> >();
- __function_requires<
- _RandomAccessIteratorConcept<_Const_reverse_iterator> >();
-
- const _RandomAccessContainer __c;
- _Const_reference __r _IsUnused = __c[__n];
- }
- _Size_type __n;
- };
-
- template <class _RandomAccessContainer>
- struct _Mutable_RandomAccessContainerConcept
- {
- typedef typename _RandomAccessContainer::size_type _Size_type;
- typedef typename _RandomAccessContainer::reference _Reference;
- typedef typename _RandomAccessContainer::iterator _Iterator;
- typedef typename _RandomAccessContainer::reverse_iterator _Reverse_iterator;
-
- void __constraints() {
- __function_requires<
- _RandomAccessContainerConcept<_RandomAccessContainer> >();
- __function_requires<
- _Mutable_ReversibleContainerConcept<_RandomAccessContainer> >();
- __function_requires< _Mutable_RandomAccessIteratorConcept<_Iterator> >();
- __function_requires<
- _Mutable_RandomAccessIteratorConcept<_Reverse_iterator> >();
-
- _Reference __r _IsUnused = __c[__i];
- }
- _Size_type __i;
- _RandomAccessContainer __c;
- };
-
- // A Sequence is inherently mutable
- template <class _Sequence>
- struct _SequenceConcept
- {
- typedef typename _Sequence::reference _Reference;
- typedef typename _Sequence::const_reference _Const_reference;
-
- void __constraints() {
- // Matt Austern's book puts DefaultConstructible here, the C++
- // standard places it in Container
- // function_requires< DefaultConstructible<Sequence> >();
- __function_requires< _Mutable_ForwardContainerConcept<_Sequence> >();
- __function_requires< _DefaultConstructibleConcept<_Sequence> >();
-
- _Sequence
- __c _IsUnused(__n, __t),
- __c2 _IsUnused(__first, __last);
-
- __c.insert(__p, __t);
- __c.insert(__p, __n, __t);
- __c.insert(__p, __first, __last);
-
- __c.erase(__p);
- __c.erase(__p, __q);
-
- _Reference __r _IsUnused = __c.front();
-
- __const_constraints(__c);
- }
- void __const_constraints(const _Sequence& __c) {
- _Const_reference __r _IsUnused = __c.front();
- }
- typename _Sequence::value_type __t;
- typename _Sequence::size_type __n;
- typename _Sequence::value_type *__first, *__last;
- typename _Sequence::iterator __p, __q;
- };
-
- template <class _FrontInsertionSequence>
- struct _FrontInsertionSequenceConcept
- {
- void __constraints() {
- __function_requires< _SequenceConcept<_FrontInsertionSequence> >();
-
- __c.push_front(__t);
- __c.pop_front();
- }
- _FrontInsertionSequence __c;
- typename _FrontInsertionSequence::value_type __t;
- };
-
- template <class _BackInsertionSequence>
- struct _BackInsertionSequenceConcept
- {
- typedef typename _BackInsertionSequence::reference _Reference;
- typedef typename _BackInsertionSequence::const_reference _Const_reference;
-
- void __constraints() {
- __function_requires< _SequenceConcept<_BackInsertionSequence> >();
-
- __c.push_back(__t);
- __c.pop_back();
- _Reference __r _IsUnused = __c.back();
- }
- void __const_constraints(const _BackInsertionSequence& __c) {
- _Const_reference __r _IsUnused = __c.back();
- };
- _BackInsertionSequence __c;
- typename _BackInsertionSequence::value_type __t;
- };
-
- template <class _AssociativeContainer>
- struct _AssociativeContainerConcept
- {
- void __constraints() {
- __function_requires< _ForwardContainerConcept<_AssociativeContainer> >();
- __function_requires<
- _DefaultConstructibleConcept<_AssociativeContainer> >();
-
- __i = __c.find(__k);
- __r = __c.equal_range(__k);
- __c.erase(__k);
- __c.erase(__i);
- __c.erase(__r.first, __r.second);
- __const_constraints(__c);
- }
- void __const_constraints(const _AssociativeContainer& __c) {
- __ci = __c.find(__k);
- __n = __c.count(__k);
- __cr = __c.equal_range(__k);
- }
- typedef typename _AssociativeContainer::iterator _Iterator;
- typedef typename _AssociativeContainer::const_iterator _Const_iterator;
-
- _AssociativeContainer __c;
- _Iterator __i;
- std::pair<_Iterator,_Iterator> __r;
- _Const_iterator __ci;
- std::pair<_Const_iterator,_Const_iterator> __cr;
- typename _AssociativeContainer::key_type __k;
- typename _AssociativeContainer::size_type __n;
- };
-
- template <class _UniqueAssociativeContainer>
- struct _UniqueAssociativeContainerConcept
- {
- void __constraints() {
- __function_requires<
- _AssociativeContainerConcept<_UniqueAssociativeContainer> >();
-
- _UniqueAssociativeContainer __c(__first, __last);
-
- __pos_flag = __c.insert(__t);
- __c.insert(__first, __last);
- }
- std::pair<typename _UniqueAssociativeContainer::iterator, bool> __pos_flag;
- typename _UniqueAssociativeContainer::value_type __t;
- typename _UniqueAssociativeContainer::value_type *__first, *__last;
- };
-
- template <class _MultipleAssociativeContainer>
- struct _MultipleAssociativeContainerConcept
- {
- void __constraints() {
- __function_requires<
- _AssociativeContainerConcept<_MultipleAssociativeContainer> >();
-
- _MultipleAssociativeContainer __c(__first, __last);
-
- __pos = __c.insert(__t);
- __c.insert(__first, __last);
-
- }
- typename _MultipleAssociativeContainer::iterator __pos;
- typename _MultipleAssociativeContainer::value_type __t;
- typename _MultipleAssociativeContainer::value_type *__first, *__last;
- };
-
- template <class _SimpleAssociativeContainer>
- struct _SimpleAssociativeContainerConcept
- {
- void __constraints() {
- __function_requires<
- _AssociativeContainerConcept<_SimpleAssociativeContainer> >();
- typedef typename _SimpleAssociativeContainer::key_type _Key_type;
- typedef typename _SimpleAssociativeContainer::value_type _Value_type;
- typedef typename _Aux_require_same<_Key_type, _Value_type>::_Type
- _Required;
- }
- };
-
- template <class _SimpleAssociativeContainer>
- struct _PairAssociativeContainerConcept
- {
- void __constraints() {
- __function_requires<
- _AssociativeContainerConcept<_SimpleAssociativeContainer> >();
- typedef typename _SimpleAssociativeContainer::key_type _Key_type;
- typedef typename _SimpleAssociativeContainer::value_type _Value_type;
- typedef typename _SimpleAssociativeContainer::mapped_type _Mapped_type;
- typedef std::pair<const _Key_type, _Mapped_type> _Required_value_type;
- typedef typename _Aux_require_same<_Value_type,
- _Required_value_type>::_Type _Required;
- }
- };
-
- template <class _SortedAssociativeContainer>
- struct _SortedAssociativeContainerConcept
- {
- void __constraints() {
- __function_requires<
- _AssociativeContainerConcept<_SortedAssociativeContainer> >();
- __function_requires<
- _ReversibleContainerConcept<_SortedAssociativeContainer> >();
-
- _SortedAssociativeContainer
- __c _IsUnused(__kc),
- __c2 _IsUnused(__first, __last),
- __c3 _IsUnused(__first, __last, __kc);
-
- __p = __c.upper_bound(__k);
- __p = __c.lower_bound(__k);
- __r = __c.equal_range(__k);
-
- __c.insert(__p, __t);
- }
- void __const_constraints(const _SortedAssociativeContainer& __c) {
- __kc = __c.key_comp();
- __vc = __c.value_comp();
-
- __cp = __c.upper_bound(__k);
- __cp = __c.lower_bound(__k);
- __cr = __c.equal_range(__k);
- }
- typename _SortedAssociativeContainer::key_compare __kc;
- typename _SortedAssociativeContainer::value_compare __vc;
- typename _SortedAssociativeContainer::value_type __t;
- typename _SortedAssociativeContainer::key_type __k;
- typedef typename _SortedAssociativeContainer::iterator _Iterator;
- typedef typename _SortedAssociativeContainer::const_iterator
- _Const_iterator;
-
- _Iterator __p;
- _Const_iterator __cp;
- std::pair<_Iterator,_Iterator> __r;
- std::pair<_Const_iterator,_Const_iterator> __cr;
- typename _SortedAssociativeContainer::value_type *__first, *__last;
- };
-
- // HashedAssociativeContainer
-
-_GLIBCXX_END_NAMESPACE
-
-#undef _IsUnused
-
-#endif // _GLIBCXX_BOOST_CONCEPT_CHECK
-
-
diff --git a/contrib/libstdc++/include/bits/c++config b/contrib/libstdc++/include/bits/c++config
deleted file mode 100644
index cf20c1b27a1d..000000000000
--- a/contrib/libstdc++/include/bits/c++config
+++ /dev/null
@@ -1,206 +0,0 @@
-// Predefined symbols and macros -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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 c++config.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CXXCONFIG
-#define _CXXCONFIG 1
-
-// Pick up any OS-specific definitions.
-#include <bits/os_defines.h>
-
-// Pick up any CPU-specific definitions.
-#include <bits/cpu_defines.h>
-
-// The current version of the C++ library in compressed ISO date format.
-#define __GLIBCXX__
-
-// Macros for visibility.
-#define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-
-#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY
-#define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))
-#else
-#define _GLIBCXX_VISIBILITY(V)
-#endif
-
-// Macros for controlling various namespace association schemes and modes.
-#ifdef _GLIBCXX_DEBUG
-# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1
-#endif
-
-#define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION
-
-// Macros for namespace scope.
-// _GLIBCXX_BEGIN_NAMESPACE
-// _GLIBCXX_END_NAMESPACE
-// _GLIBCXX_BEGIN_NESTED_NAMESPACE
-// _GLIBCXX_END_NESTED_NAMESPACE
-#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION
-# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY(default) {
-# define _GLIBCXX_END_NESTED_NAMESPACE } }
-# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6)
-# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE
-#else
-# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY(default) {
-# define _GLIBCXX_END_NAMESPACE }
-# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG
-# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY(default) {
-# define _GLIBCXX_END_NESTED_NAMESPACE } }
-# else
-# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X)
-# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE
-# endif
-#endif
-
-// Namespace associations for versioning mode.
-#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION
-namespace std
-{
- namespace _6 { }
- using namespace _6 __attribute__ ((strong));
-}
-
-// In addition, other supported namespace configurations.
-namespace __gnu_cxx
-{
- namespace _6 { }
- using namespace _6 __attribute__ ((strong));
-}
-
-namespace std
-{
- namespace tr1
- {
- namespace _6 { }
- using namespace _6 __attribute__ ((strong));
- }
-}
-#endif
-
-// Namespace associations for debug mode.
-#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG
-namespace std
-{
- namespace __norm { }
- namespace __debug { }
- using namespace __debug __attribute__ ((strong));
-}
-
-namespace __gnu_cxx
-{
- namespace __norm { }
- namespace __debug { }
- using namespace __debug __attribute__ ((strong));
-}
-
-# define _GLIBCXX_STD __norm
-# define _GLIBCXX_EXT __norm
-# define _GLIBCXX_EXTERN_TEMPLATE 0
-# if __NO_INLINE__ && !__GXX_WEAK__
-# warning debug mode without inlining may fail due to lack of weak symbols
-# endif
-#else
-#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION
-# define _GLIBCXX_STD _6
-# define _GLIBCXX_EXT _6
-#else
-# define _GLIBCXX_STD std
-# define _GLIBCXX_EXT __gnu_cxx
-#endif
-#endif
-
-/* Define if compatibility should be provided for -mlong-double-64. */
-#undef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-// XXX GLIBCXX_ABI Deprecated
-// Namespace associations for long double 128 mode.
-_GLIBCXX_BEGIN_NAMESPACE(std)
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
-# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128::
-# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 {
-# define _GLIBCXX_END_LDBL_NAMESPACE }
- namespace __gnu_cxx_ldbl128 { }
- using namespace __gnu_cxx_ldbl128 __attribute__((__strong__));
-#else
-# define _GLIBCXX_LDBL_NAMESPACE
-# define _GLIBCXX_BEGIN_LDBL_NAMESPACE
-# define _GLIBCXX_END_LDBL_NAMESPACE
-#endif
-_GLIBCXX_END_NAMESPACE
-
-
-// Allow use of "export template." This is currently not a feature
-// that g++ supports.
-// #define _GLIBCXX_EXPORT_TEMPLATE 1
-
-// Allow use of the GNU syntax extension, "extern template." This
-// extension is fully documented in the g++ manual, but in a nutshell,
-// it inhibits all implicit instantiations and is used throughout the
-// library to avoid multiple weak definitions for required types that
-// are already explicitly instantiated in the library binary. This
-// substantially reduces the binary size of resulting executables.
-#ifndef _GLIBCXX_EXTERN_TEMPLATE
-# define _GLIBCXX_EXTERN_TEMPLATE 1
-#endif
-
-
-// Certain function definitions that are meant to be overridable from
-// user code are decorated with this macro. For some targets, this
-// macro causes these definitions to be weak.
-#ifndef _GLIBCXX_WEAK_DEFINITION
-# define _GLIBCXX_WEAK_DEFINITION
-#endif
-
-// The remainder of the prewritten config is automatic; all the
-// user hooks are listed above.
-
-// Create a boolean flag to be used to determine if --fast-math is set.
-#ifdef __FAST_MATH__
-# define _GLIBCXX_FAST_MATH 1
-#else
-# define _GLIBCXX_FAST_MATH 0
-#endif
-
-// This marks string literals in header files to be extracted for eventual
-// translation. It is primarily used for messages in thrown exceptions; see
-// src/functexcept.cc. We use __N because the more traditional _N is used
-// for something else under certain OSes (see BADNAMES).
-#define __N(msgid) (msgid)
-
-// For example, <windows.h> is known to #define min and max as macros...
-#undef min
-#undef max
-
-// End of prewritten config; the discovered settings follow.
diff --git a/contrib/libstdc++/include/bits/char_traits.h b/contrib/libstdc++/include/bits/char_traits.h
deleted file mode 100644
index 58cddf6ec5b5..000000000000
--- a/contrib/libstdc++/include/bits/char_traits.h
+++ /dev/null
@@ -1,367 +0,0 @@
-// Character Traits for use by standard string and iostream -*- C++ -*-
-
-// 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 char_traits.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 21 Strings library
-//
-
-#ifndef _CHAR_TRAITS_H
-#define _CHAR_TRAITS_H 1
-
-#pragma GCC system_header
-
-#include <cstring> // For memmove, memset, memchr
-#include <bits/stl_algobase.h>// For copy, lexicographical_compare, fill_n
-#include <bits/postypes.h> // For streampos
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- /**
- * @brief Mapping from character type to associated types.
- *
- * @note This is an implementation class for the generic version
- * of char_traits. It defines int_type, off_type, pos_type, and
- * state_type. By default these are unsigned long, streamoff,
- * streampos, and mbstate_t. Users who need a different set of
- * types, but who don't need to change the definitions of any function
- * defined in char_traits, can specialize __gnu_cxx::_Char_types
- * while leaving __gnu_cxx::char_traits alone. */
- template <class _CharT>
- struct _Char_types
- {
- typedef unsigned long int_type;
- typedef std::streampos pos_type;
- typedef std::streamoff off_type;
- typedef std::mbstate_t state_type;
- };
-
-
- /**
- * @brief Base class used to implement std::char_traits.
- *
- * @note For any given actual character type, this definition is
- * probably wrong. (Most of the member functions are likely to be
- * right, but the int_type and state_type typedefs, and the eof()
- * member function, are likely to be wrong.) The reason this class
- * exists is so users can specialize it. Classes in namespace std
- * may not be specialized for fundamentl types, but classes in
- * namespace __gnu_cxx may be.
- *
- * See http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html#5
- * for advice on how to make use of this class for "unusual" character
- * types. Also, check out include/ext/pod_char_traits.h.
- */
- template<typename _CharT>
- struct char_traits
- {
- typedef _CharT char_type;
- typedef typename _Char_types<_CharT>::int_type int_type;
- typedef typename _Char_types<_CharT>::pos_type pos_type;
- typedef typename _Char_types<_CharT>::off_type off_type;
- typedef typename _Char_types<_CharT>::state_type state_type;
-
- static void
- assign(char_type& __c1, const char_type& __c2)
- { __c1 = __c2; }
-
- static bool
- eq(const char_type& __c1, const char_type& __c2)
- { return __c1 == __c2; }
-
- static bool
- lt(const char_type& __c1, const char_type& __c2)
- { return __c1 < __c2; }
-
- static int
- compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
-
- static std::size_t
- length(const char_type* __s);
-
- static const char_type*
- find(const char_type* __s, std::size_t __n, const char_type& __a);
-
- static char_type*
- move(char_type* __s1, const char_type* __s2, std::size_t __n);
-
- static char_type*
- copy(char_type* __s1, const char_type* __s2, std::size_t __n);
-
- static char_type*
- assign(char_type* __s, std::size_t __n, char_type __a);
-
- static char_type
- to_char_type(const int_type& __c)
- { return static_cast<char_type>(__c); }
-
- static int_type
- to_int_type(const char_type& __c)
- { return static_cast<int_type>(__c); }
-
- static bool
- eq_int_type(const int_type& __c1, const int_type& __c2)
- { return __c1 == __c2; }
-
- static int_type
- eof()
- { return static_cast<int_type>(EOF); }
-
- static int_type
- not_eof(const int_type& __c)
- { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
- };
-
- template<typename _CharT>
- int
- char_traits<_CharT>::
- compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
- {
- for (std::size_t __i = 0; __i < __n; ++__i)
- if (lt(__s1[__i], __s2[__i]))
- return -1;
- else if (lt(__s2[__i], __s1[__i]))
- return 1;
- return 0;
- }
-
- template<typename _CharT>
- std::size_t
- char_traits<_CharT>::
- length(const char_type* __p)
- {
- std::size_t __i = 0;
- while (!eq(__p[__i], char_type()))
- ++__i;
- return __i;
- }
-
- template<typename _CharT>
- const typename char_traits<_CharT>::char_type*
- char_traits<_CharT>::
- find(const char_type* __s, std::size_t __n, const char_type& __a)
- {
- for (std::size_t __i = 0; __i < __n; ++__i)
- if (eq(__s[__i], __a))
- return __s + __i;
- return 0;
- }
-
- template<typename _CharT>
- typename char_traits<_CharT>::char_type*
- char_traits<_CharT>::
- move(char_type* __s1, const char_type* __s2, std::size_t __n)
- {
- return static_cast<_CharT*>(std::memmove(__s1, __s2,
- __n * sizeof(char_type)));
- }
-
- template<typename _CharT>
- typename char_traits<_CharT>::char_type*
- char_traits<_CharT>::
- copy(char_type* __s1, const char_type* __s2, std::size_t __n)
- {
- std::copy(__s2, __s2 + __n, __s1);
- return __s1;
- }
-
- template<typename _CharT>
- typename char_traits<_CharT>::char_type*
- char_traits<_CharT>::
- assign(char_type* __s, std::size_t __n, char_type __a)
- {
- std::fill_n(__s, __n, __a);
- return __s;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 21.1
- /**
- * @brief Basis for explicit traits specializations.
- *
- * @note For any given actual character type, this definition is
- * probably wrong. Since this is just a thin wrapper around
- * __gnu_cxx::char_traits, it is possible to achieve a more
- * appropriate definition by specializing __gnu_cxx::char_traits.
- *
- * See http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html#5
- * for advice on how to make use of this class for "unusual" character
- * types. Also, check out include/ext/pod_char_traits.h.
- */
- template<class _CharT>
- struct char_traits : public __gnu_cxx::char_traits<_CharT>
- { };
-
-
- /// @brief 21.1.3.1 char_traits specializations
- template<>
- struct char_traits<char>
- {
- typedef char char_type;
- typedef int int_type;
- typedef streampos pos_type;
- typedef streamoff off_type;
- typedef mbstate_t state_type;
-
- static void
- assign(char_type& __c1, const char_type& __c2)
- { __c1 = __c2; }
-
- static bool
- eq(const char_type& __c1, const char_type& __c2)
- { return __c1 == __c2; }
-
- static bool
- lt(const char_type& __c1, const char_type& __c2)
- { return __c1 < __c2; }
-
- static int
- compare(const char_type* __s1, const char_type* __s2, size_t __n)
- { return memcmp(__s1, __s2, __n); }
-
- static size_t
- length(const char_type* __s)
- { return strlen(__s); }
-
- static const char_type*
- find(const char_type* __s, size_t __n, const char_type& __a)
- { return static_cast<const char_type*>(memchr(__s, __a, __n)); }
-
- static char_type*
- move(char_type* __s1, const char_type* __s2, size_t __n)
- { return static_cast<char_type*>(memmove(__s1, __s2, __n)); }
-
- static char_type*
- copy(char_type* __s1, const char_type* __s2, size_t __n)
- { return static_cast<char_type*>(memcpy(__s1, __s2, __n)); }
-
- static char_type*
- assign(char_type* __s, size_t __n, char_type __a)
- { return static_cast<char_type*>(memset(__s, __a, __n)); }
-
- static char_type
- to_char_type(const int_type& __c)
- { return static_cast<char_type>(__c); }
-
- // To keep both the byte 0xff and the eof symbol 0xffffffff
- // from ending up as 0xffffffff.
- static int_type
- to_int_type(const char_type& __c)
- { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
-
- static bool
- eq_int_type(const int_type& __c1, const int_type& __c2)
- { return __c1 == __c2; }
-
- static int_type
- eof() { return static_cast<int_type>(EOF); }
-
- static int_type
- not_eof(const int_type& __c)
- { return (__c == eof()) ? 0 : __c; }
- };
-
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- /// @brief 21.1.3.2 char_traits specializations
- template<>
- struct char_traits<wchar_t>
- {
- typedef wchar_t char_type;
- typedef wint_t int_type;
- typedef streamoff off_type;
- typedef wstreampos pos_type;
- typedef mbstate_t state_type;
-
- static void
- assign(char_type& __c1, const char_type& __c2)
- { __c1 = __c2; }
-
- static bool
- eq(const char_type& __c1, const char_type& __c2)
- { return __c1 == __c2; }
-
- static bool
- lt(const char_type& __c1, const char_type& __c2)
- { return __c1 < __c2; }
-
- static int
- compare(const char_type* __s1, const char_type* __s2, size_t __n)
- { return wmemcmp(__s1, __s2, __n); }
-
- static size_t
- length(const char_type* __s)
- { return wcslen(__s); }
-
- static const char_type*
- find(const char_type* __s, size_t __n, const char_type& __a)
- { return wmemchr(__s, __a, __n); }
-
- static char_type*
- move(char_type* __s1, const char_type* __s2, size_t __n)
- { return wmemmove(__s1, __s2, __n); }
-
- static char_type*
- copy(char_type* __s1, const char_type* __s2, size_t __n)
- { return wmemcpy(__s1, __s2, __n); }
-
- static char_type*
- assign(char_type* __s, size_t __n, char_type __a)
- { return wmemset(__s, __a, __n); }
-
- static char_type
- to_char_type(const int_type& __c) { return char_type(__c); }
-
- static int_type
- to_int_type(const char_type& __c) { return int_type(__c); }
-
- static bool
- eq_int_type(const int_type& __c1, const int_type& __c2)
- { return __c1 == __c2; }
-
- static int_type
- eof() { return static_cast<int_type>(WEOF); }
-
- static int_type
- not_eof(const int_type& __c)
- { return eq_int_type(__c, eof()) ? 0 : __c; }
- };
-#endif //_GLIBCXX_USE_WCHAR_T
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/codecvt.h b/contrib/libstdc++/include/bits/codecvt.h
deleted file mode 100644
index d417a6ffcc4f..000000000000
--- a/contrib/libstdc++/include/bits/codecvt.h
+++ /dev/null
@@ -1,474 +0,0 @@
-// Locale support (codecvt) -*- C++ -*-
-
-// Copyright (C) 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 bits/codecvt.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.2.1.5 Template class codecvt
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#ifndef _CODECVT_H
-#define _CODECVT_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// @brief Empty base class for codecvt facet [22.2.1.5].
- class codecvt_base
- {
- public:
- enum result
- {
- ok,
- partial,
- error,
- noconv
- };
- };
-
- /**
- * @brief Common base for codecvt functions.
- *
- * This template class provides implementations of the public functions
- * that forward to the protected virtual functions.
- *
- * This template also provides abstract stubs for the protected virtual
- * functions.
- */
- template<typename _InternT, typename _ExternT, typename _StateT>
- class __codecvt_abstract_base
- : public locale::facet, public codecvt_base
- {
- public:
- // Types:
- typedef codecvt_base::result result;
- typedef _InternT intern_type;
- typedef _ExternT extern_type;
- typedef _StateT state_type;
-
- // 22.2.1.5.1 codecvt members
- /**
- * @brief Convert from internal to external character set.
- *
- * Converts input string of intern_type to output string of
- * extern_type. This is analogous to wcsrtombs. It does this by
- * calling codecvt::do_out.
- *
- * The source and destination character sets are determined by the
- * facet's locale, internal and external types.
- *
- * The characters in [from,from_end) are converted and written to
- * [to,to_end). from_next and to_next are set to point to the
- * character following the last successfully converted character,
- * respectively. If the result needed no conversion, from_next and
- * to_next are not affected.
- *
- * The @a state argument should be intialized if the input is at the
- * beginning and carried from a previous call if continuing
- * conversion. There are no guarantees about how @a state is used.
- *
- * The result returned is a member of codecvt_base::result. If
- * all the input is converted, returns codecvt_base::ok. If no
- * conversion is necessary, returns codecvt_base::noconv. If
- * the input ends early or there is insufficient space in the
- * output, returns codecvt_base::partial. Otherwise the
- * conversion failed and codecvt_base::error is returned.
- *
- * @param state Persistent conversion state data.
- * @param from Start of input.
- * @param from_end End of input.
- * @param from_next Returns start of unconverted data.
- * @param to Start of output buffer.
- * @param to_end End of output buffer.
- * @param to_next Returns start of unused output area.
- * @return codecvt_base::result.
- */
- result
- out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const
- {
- return this->do_out(__state, __from, __from_end, __from_next,
- __to, __to_end, __to_next);
- }
-
- /**
- * @brief Reset conversion state.
- *
- * Writes characters to output that would restore @a state to initial
- * conditions. The idea is that if a partial conversion occurs, then
- * the converting the characters written by this function would leave
- * the state in initial conditions, rather than partial conversion
- * state. It does this by calling codecvt::do_unshift().
- *
- * For example, if 4 external characters always converted to 1 internal
- * character, and input to in() had 6 external characters with state
- * saved, this function would write two characters to the output and
- * set the state to initialized conditions.
- *
- * The source and destination character sets are determined by the
- * facet's locale, internal and external types.
- *
- * The result returned is a member of codecvt_base::result. If the
- * state could be reset and data written, returns codecvt_base::ok. If
- * no conversion is necessary, returns codecvt_base::noconv. If the
- * output has insufficient space, returns codecvt_base::partial.
- * Otherwise the reset failed and codecvt_base::error is returned.
- *
- * @param state Persistent conversion state data.
- * @param to Start of output buffer.
- * @param to_end End of output buffer.
- * @param to_next Returns start of unused output area.
- * @return codecvt_base::result.
- */
- result
- unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const
- { return this->do_unshift(__state, __to,__to_end,__to_next); }
-
- /**
- * @brief Convert from external to internal character set.
- *
- * Converts input string of extern_type to output string of
- * intern_type. This is analogous to mbsrtowcs. It does this by
- * calling codecvt::do_in.
- *
- * The source and destination character sets are determined by the
- * facet's locale, internal and external types.
- *
- * The characters in [from,from_end) are converted and written to
- * [to,to_end). from_next and to_next are set to point to the
- * character following the last successfully converted character,
- * respectively. If the result needed no conversion, from_next and
- * to_next are not affected.
- *
- * The @a state argument should be intialized if the input is at the
- * beginning and carried from a previous call if continuing
- * conversion. There are no guarantees about how @a state is used.
- *
- * The result returned is a member of codecvt_base::result. If
- * all the input is converted, returns codecvt_base::ok. If no
- * conversion is necessary, returns codecvt_base::noconv. If
- * the input ends early or there is insufficient space in the
- * output, returns codecvt_base::partial. Otherwise the
- * conversion failed and codecvt_base::error is returned.
- *
- * @param state Persistent conversion state data.
- * @param from Start of input.
- * @param from_end End of input.
- * @param from_next Returns start of unconverted data.
- * @param to Start of output buffer.
- * @param to_end End of output buffer.
- * @param to_next Returns start of unused output area.
- * @return codecvt_base::result.
- */
- result
- in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const
- {
- return this->do_in(__state, __from, __from_end, __from_next,
- __to, __to_end, __to_next);
- }
-
- int
- encoding() const throw()
- { return this->do_encoding(); }
-
- bool
- always_noconv() const throw()
- { return this->do_always_noconv(); }
-
- int
- length(state_type& __state, const extern_type* __from,
- const extern_type* __end, size_t __max) const
- { return this->do_length(__state, __from, __end, __max); }
-
- int
- max_length() const throw()
- { return this->do_max_length(); }
-
- protected:
- explicit
- __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
-
- virtual
- ~__codecvt_abstract_base() { }
-
- /**
- * @brief Convert from internal to external character set.
- *
- * Converts input string of intern_type to output string of
- * extern_type. This function is a hook for derived classes to change
- * the value returned. @see out for more information.
- */
- virtual result
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const = 0;
-
- virtual result
- do_unshift(state_type& __state, extern_type* __to,
- extern_type* __to_end, extern_type*& __to_next) const = 0;
-
- virtual result
- do_in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const = 0;
-
- virtual int
- do_encoding() const throw() = 0;
-
- virtual bool
- do_always_noconv() const throw() = 0;
-
- virtual int
- do_length(state_type&, const extern_type* __from,
- const extern_type* __end, size_t __max) const = 0;
-
- virtual int
- do_max_length() const throw() = 0;
- };
-
- /// @brief class codecvt [22.2.1.5].
- /// NB: Generic, mostly useless implementation.
- template<typename _InternT, typename _ExternT, typename _StateT>
- class codecvt
- : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
- {
- public:
- // Types:
- typedef codecvt_base::result result;
- typedef _InternT intern_type;
- typedef _ExternT extern_type;
- typedef _StateT state_type;
-
- protected:
- __c_locale _M_c_locale_codecvt;
-
- public:
- static locale::id id;
-
- explicit
- codecvt(size_t __refs = 0)
- : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs) { }
-
- explicit
- codecvt(__c_locale __cloc, size_t __refs = 0);
-
- protected:
- virtual
- ~codecvt() { }
-
- virtual result
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const;
-
- virtual result
- do_unshift(state_type& __state, extern_type* __to,
- extern_type* __to_end, extern_type*& __to_next) const;
-
- virtual result
- do_in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const;
-
- virtual int
- do_encoding() const throw();
-
- virtual bool
- do_always_noconv() const throw();
-
- virtual int
- do_length(state_type&, const extern_type* __from,
- const extern_type* __end, size_t __max) const;
-
- virtual int
- do_max_length() const throw();
- };
-
- template<typename _InternT, typename _ExternT, typename _StateT>
- locale::id codecvt<_InternT, _ExternT, _StateT>::id;
-
- /// @brief class codecvt<char, char, mbstate_t> specialization.
- template<>
- class codecvt<char, char, mbstate_t>
- : public __codecvt_abstract_base<char, char, mbstate_t>
- {
- public:
- // Types:
- typedef char intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- protected:
- __c_locale _M_c_locale_codecvt;
-
- public:
- static locale::id id;
-
- explicit
- codecvt(size_t __refs = 0);
-
- explicit
- codecvt(__c_locale __cloc, size_t __refs = 0);
-
- protected:
- virtual
- ~codecvt();
-
- virtual result
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const;
-
- virtual result
- do_unshift(state_type& __state, extern_type* __to,
- extern_type* __to_end, extern_type*& __to_next) const;
-
- virtual result
- do_in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const;
-
- virtual int
- do_encoding() const throw();
-
- virtual bool
- do_always_noconv() const throw();
-
- virtual int
- do_length(state_type&, const extern_type* __from,
- const extern_type* __end, size_t __max) const;
-
- virtual int
- do_max_length() const throw();
- };
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- /// @brief class codecvt<wchar_t, char, mbstate_t> specialization.
- template<>
- class codecvt<wchar_t, char, mbstate_t>
- : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
- {
- public:
- // Types:
- typedef wchar_t intern_type;
- typedef char extern_type;
- typedef mbstate_t state_type;
-
- protected:
- __c_locale _M_c_locale_codecvt;
-
- public:
- static locale::id id;
-
- explicit
- codecvt(size_t __refs = 0);
-
- explicit
- codecvt(__c_locale __cloc, size_t __refs = 0);
-
- protected:
- virtual
- ~codecvt();
-
- virtual result
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const;
-
- virtual result
- do_unshift(state_type& __state,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const;
-
- virtual result
- do_in(state_type& __state,
- const extern_type* __from, const extern_type* __from_end,
- const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const;
-
- virtual
- int do_encoding() const throw();
-
- virtual
- bool do_always_noconv() const throw();
-
- virtual
- int do_length(state_type&, const extern_type* __from,
- const extern_type* __end, size_t __max) const;
-
- virtual int
- do_max_length() const throw();
- };
-#endif //_GLIBCXX_USE_WCHAR_T
-
- /// @brief class codecvt_byname [22.2.1.6].
- template<typename _InternT, typename _ExternT, typename _StateT>
- class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
- {
- public:
- explicit
- codecvt_byname(const char* __s, size_t __refs = 0)
- : codecvt<_InternT, _ExternT, _StateT>(__refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
- this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
- }
- }
-
- protected:
- virtual
- ~codecvt_byname() { }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif // _CODECVT_H
diff --git a/contrib/libstdc++/include/bits/concept_check.h b/contrib/libstdc++/include/bits/concept_check.h
deleted file mode 100644
index 98cb42d85568..000000000000
--- a/contrib/libstdc++/include/bits/concept_check.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// Concept-checking control -*- C++ -*-
-
-// Copyright (C) 2001 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 concept_check.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CONCEPT_CHECK_H
-#define _CONCEPT_CHECK_H 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-
-// All places in libstdc++-v3 where these are used, or /might/ be used, or
-// don't need to be used, or perhaps /should/ be used, are commented with
-// "concept requirements" (and maybe some more text). So grep like crazy
-// if you're looking for additional places to use these.
-
-// Concept-checking code is off by default unless users turn it on via
-// configure options or editing c++config.h.
-
-#ifndef _GLIBCXX_CONCEPT_CHECKS
-
-#define __glibcxx_function_requires(...)
-#define __glibcxx_class_requires(_a,_b)
-#define __glibcxx_class_requires2(_a,_b,_c)
-#define __glibcxx_class_requires3(_a,_b,_c,_d)
-#define __glibcxx_class_requires4(_a,_b,_c,_d,_e)
-
-#else // the checks are on
-
-#include <bits/boost_concept_check.h>
-
-// Note that the obvious and elegant approach of
-//
-//#define glibcxx_function_requires(C) boost::function_requires< boost::C >()
-//
-// won't work due to concept templates with more than one parameter, e.g.,
-// BinaryPredicateConcept. The preprocessor tries to split things up on
-// the commas in the template argument list. We can't use an inner pair of
-// parenthesis to hide the commas, because "boost::(Temp<Foo,Bar>)" isn't
-// a valid instantiation pattern. Thus, we steal a feature from C99.
-
-#define __glibcxx_function_requires(...) \
- __gnu_cxx::__function_requires< __gnu_cxx::__VA_ARGS__ >();
-#define __glibcxx_class_requires(_a,_C) \
- _GLIBCXX_CLASS_REQUIRES(_a, __gnu_cxx, _C);
-#define __glibcxx_class_requires2(_a,_b,_C) \
- _GLIBCXX_CLASS_REQUIRES2(_a, _b, __gnu_cxx, _C);
-#define __glibcxx_class_requires3(_a,_b,_c,_C) \
- _GLIBCXX_CLASS_REQUIRES3(_a, _b, _c, __gnu_cxx, _C);
-#define __glibcxx_class_requires4(_a,_b,_c,_d,_C) \
- _GLIBCXX_CLASS_REQUIRES4(_a, _b, _c, _d, __gnu_cxx, _C);
-
-#endif // enable/disable
-
-#endif // _GLIBCXX_CONCEPT_CHECK
diff --git a/contrib/libstdc++/include/bits/cpp_type_traits.h b/contrib/libstdc++/include/bits/cpp_type_traits.h
deleted file mode 100644
index 9a6a16872435..000000000000
--- a/contrib/libstdc++/include/bits/cpp_type_traits.h
+++ /dev/null
@@ -1,414 +0,0 @@
-// The -*- C++ -*- type traits classes for internal use in libstdc++
-
-// Copyright (C) 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 cpp_type_traits.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-
-#ifndef _CPP_TYPE_TRAITS_H
-#define _CPP_TYPE_TRAITS_H 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-
-//
-// This file provides some compile-time information about various types.
-// These representations were designed, on purpose, to be constant-expressions
-// and not types as found in <bits/type_traits.h>. In particular, they
-// can be used in control structures and the optimizer hopefully will do
-// the obvious thing.
-//
-// Why integral expressions, and not functions nor types?
-// Firstly, these compile-time entities are used as template-arguments
-// so function return values won't work: We need compile-time entities.
-// We're left with types and constant integral expressions.
-// Secondly, from the point of view of ease of use, type-based compile-time
-// information is -not- *that* convenient. On has to write lots of
-// overloaded functions and to hope that the compiler will select the right
-// one. As a net effect, the overall structure isn't very clear at first
-// glance.
-// Thirdly, partial ordering and overload resolution (of function templates)
-// is highly costly in terms of compiler-resource. It is a Good Thing to
-// keep these resource consumption as least as possible.
-//
-// See valarray_array.h for a case use.
-//
-// -- Gaby (dosreis@cmla.ens-cachan.fr) 2000-03-06.
-//
-// Update 2005: types are also provided and <bits/type_traits.h> has been
-// removed.
-//
-
-// Forward declaration hack, should really include this from somewhere.
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<typename _Iterator, typename _Container>
- class __normal_iterator;
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
-#ifdef __clang__
-// When using clang, suppress warnings about possible keywords (such as
-// __is_void, __is_pod, etc) being used as identifiers.
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wkeyword-compat"
-#endif
-
-namespace __detail
-{
- // NB: g++ can not compile these if declared within the class
- // __is_pod itself.
- typedef char __one;
- typedef char __two[2];
-
- template<typename _Tp>
- __one __test_type(int _Tp::*);
- template<typename _Tp>
- __two& __test_type(...);
-} // namespace __detail
-
-
- struct __true_type { };
- struct __false_type { };
-
- template<bool>
- struct __truth_type
- { typedef __false_type __type; };
-
- template<>
- struct __truth_type<true>
- { typedef __true_type __type; };
-
- // N.B. The conversions to bool are needed due to the issue
- // explained in c++/19404.
- template<class _Sp, class _Tp>
- struct __traitor
- {
- enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
- typedef typename __truth_type<__value>::__type __type;
- };
-
- // Compare for equality of types.
- template<typename, typename>
- struct __are_same
- {
- enum { __value = 0 };
- typedef __false_type __type;
- };
-
- template<typename _Tp>
- struct __are_same<_Tp, _Tp>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- // Holds if the template-argument is a void type.
- template<typename _Tp>
- struct __is_void
- {
- enum { __value = 0 };
- typedef __false_type __type;
- };
-
- template<>
- struct __is_void<void>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- //
- // Integer types
- //
- template<typename _Tp>
- struct __is_integer
- {
- enum { __value = 0 };
- typedef __false_type __type;
- };
-
- // Thirteen specializations (yes there are eleven standard integer
- // types; 'long long' and 'unsigned long long' are supported as
- // extensions)
- template<>
- struct __is_integer<bool>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<char>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<signed char>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<unsigned char>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
-# ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- struct __is_integer<wchar_t>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-# endif
-
- template<>
- struct __is_integer<short>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<unsigned short>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<int>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<unsigned int>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<long>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<unsigned long>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<long long>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_integer<unsigned long long>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- //
- // Floating point types
- //
- template<typename _Tp>
- struct __is_floating
- {
- enum { __value = 0 };
- typedef __false_type __type;
- };
-
- // three specializations (float, double and 'long double')
- template<>
- struct __is_floating<float>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_floating<double>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- template<>
- struct __is_floating<long double>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- //
- // Pointer types
- //
- template<typename _Tp>
- struct __is_pointer
- {
- enum { __value = 0 };
- typedef __false_type __type;
- };
-
- template<typename _Tp>
- struct __is_pointer<_Tp*>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- //
- // Normal iterator type
- //
- template<typename _Tp>
- struct __is_normal_iterator
- {
- enum { __value = 0 };
- typedef __false_type __type;
- };
-
- template<typename _Iterator, typename _Container>
- struct __is_normal_iterator< __gnu_cxx::__normal_iterator<_Iterator,
- _Container> >
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
- //
- // An arithmetic type is an integer type or a floating point type
- //
- template<typename _Tp>
- struct __is_arithmetic
- : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
- { };
-
- //
- // A fundamental type is `void' or and arithmetic type
- //
- template<typename _Tp>
- struct __is_fundamental
- : public __traitor<__is_void<_Tp>, __is_arithmetic<_Tp> >
- { };
-
- //
- // A scalar type is an arithmetic type or a pointer type
- //
- template<typename _Tp>
- struct __is_scalar
- : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
- { };
-
- // For the immediate use, the following is a good approximation.
- template<typename _Tp>
- struct __is_pod
- {
- enum
- {
- __value = (sizeof(__detail::__test_type<_Tp>(0))
- != sizeof(__detail::__one))
- };
- };
-
- //
- // A stripped-down version of std::tr1::is_empty
- //
- template<typename _Tp>
- struct __is_empty
- {
- private:
- template<typename>
- struct __first { };
- template<typename _Up>
- struct __second
- : public _Up { };
-
- public:
- enum
- {
- __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>)
- };
- };
-
- //
- // For use in std::copy and std::find overloads for streambuf iterators.
- //
- template<typename _Tp>
- struct __is_char
- {
- enum { __value = 0 };
- typedef __false_type __type;
- };
-
- template<>
- struct __is_char<char>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- struct __is_char<wchar_t>
- {
- enum { __value = 1 };
- typedef __true_type __type;
- };
-#endif
-
-#ifdef __clang__
-#pragma clang diagnostic pop
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif //_CPP_TYPE_TRAITS_H
diff --git a/contrib/libstdc++/include/bits/deque.tcc b/contrib/libstdc++/include/bits/deque.tcc
deleted file mode 100644
index 3f53f20bd9bc..000000000000
--- a/contrib/libstdc++/include/bits/deque.tcc
+++ /dev/null
@@ -1,778 +0,0 @@
-// Deque implementation (out of line) -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003, 2004, 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
-// 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file deque.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _DEQUE_TCC
-#define _DEQUE_TCC 1
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- template <typename _Tp, typename _Alloc>
- deque<_Tp, _Alloc>&
- deque<_Tp, _Alloc>::
- operator=(const deque& __x)
- {
- const size_type __len = size();
- if (&__x != this)
- {
- if (__len >= __x.size())
- _M_erase_at_end(std::copy(__x.begin(), __x.end(),
- this->_M_impl._M_start));
- else
- {
- const_iterator __mid = __x.begin() + difference_type(__len);
- std::copy(__x.begin(), __mid, this->_M_impl._M_start);
- insert(this->_M_impl._M_finish, __mid, __x.end());
- }
- }
- return *this;
- }
-
- template <typename _Tp, typename _Alloc>
- typename deque<_Tp, _Alloc>::iterator
- deque<_Tp, _Alloc>::
- insert(iterator __position, const value_type& __x)
- {
- if (__position._M_cur == this->_M_impl._M_start._M_cur)
- {
- push_front(__x);
- return this->_M_impl._M_start;
- }
- else if (__position._M_cur == this->_M_impl._M_finish._M_cur)
- {
- push_back(__x);
- iterator __tmp = this->_M_impl._M_finish;
- --__tmp;
- return __tmp;
- }
- else
- return _M_insert_aux(__position, __x);
- }
-
- template <typename _Tp, typename _Alloc>
- typename deque<_Tp, _Alloc>::iterator
- deque<_Tp, _Alloc>::
- erase(iterator __position)
- {
- iterator __next = __position;
- ++__next;
- const difference_type __index = __position - begin();
- if (static_cast<size_type>(__index) < (size() >> 1))
- {
- if (__position != begin())
- std::copy_backward(begin(), __position, __next);
- pop_front();
- }
- else
- {
- if (__next != end())
- std::copy(__next, end(), __position);
- pop_back();
- }
- return begin() + __index;
- }
-
- template <typename _Tp, typename _Alloc>
- typename deque<_Tp, _Alloc>::iterator
- deque<_Tp, _Alloc>::
- erase(iterator __first, iterator __last)
- {
- if (__first == begin() && __last == end())
- {
- clear();
- return end();
- }
- else
- {
- const difference_type __n = __last - __first;
- const difference_type __elems_before = __first - begin();
- if (static_cast<size_type>(__elems_before) <= (size() - __n) / 2)
- {
- if (__first != begin())
- std::copy_backward(begin(), __first, __last);
- _M_erase_at_begin(begin() + __n);
- }
- else
- {
- if (__last != end())
- std::copy(__last, end(), __first);
- _M_erase_at_end(end() - __n);
- }
- return begin() + __elems_before;
- }
- }
-
- template <typename _Tp, class _Alloc>
- template <typename _InputIterator>
- void
- deque<_Tp, _Alloc>::
- _M_assign_aux(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag)
- {
- iterator __cur = begin();
- for (; __first != __last && __cur != end(); ++__cur, ++__first)
- *__cur = *__first;
- if (__first == __last)
- _M_erase_at_end(__cur);
- else
- insert(end(), __first, __last);
- }
-
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_fill_insert(iterator __pos, size_type __n, const value_type& __x)
- {
- if (__pos._M_cur == this->_M_impl._M_start._M_cur)
- {
- iterator __new_start = _M_reserve_elements_at_front(__n);
- try
- {
- std::__uninitialized_fill_a(__new_start, this->_M_impl._M_start,
- __x, _M_get_Tp_allocator());
- this->_M_impl._M_start = __new_start;
- }
- catch(...)
- {
- _M_destroy_nodes(__new_start._M_node,
- this->_M_impl._M_start._M_node);
- __throw_exception_again;
- }
- }
- else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
- {
- iterator __new_finish = _M_reserve_elements_at_back(__n);
- try
- {
- std::__uninitialized_fill_a(this->_M_impl._M_finish,
- __new_finish, __x,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = __new_finish;
- }
- catch(...)
- {
- _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
- __new_finish._M_node + 1);
- __throw_exception_again;
- }
- }
- else
- _M_insert_aux(__pos, __n, __x);
- }
-
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_fill_initialize(const value_type& __value)
- {
- _Map_pointer __cur;
- try
- {
- for (__cur = this->_M_impl._M_start._M_node;
- __cur < this->_M_impl._M_finish._M_node;
- ++__cur)
- std::__uninitialized_fill_a(*__cur, *__cur + _S_buffer_size(),
- __value, _M_get_Tp_allocator());
- std::__uninitialized_fill_a(this->_M_impl._M_finish._M_first,
- this->_M_impl._M_finish._M_cur,
- __value, _M_get_Tp_allocator());
- }
- catch(...)
- {
- std::_Destroy(this->_M_impl._M_start, iterator(*__cur, __cur),
- _M_get_Tp_allocator());
- __throw_exception_again;
- }
- }
-
- template <typename _Tp, typename _Alloc>
- template <typename _InputIterator>
- void
- deque<_Tp, _Alloc>::
- _M_range_initialize(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag)
- {
- this->_M_initialize_map(0);
- try
- {
- for (; __first != __last; ++__first)
- push_back(*__first);
- }
- catch(...)
- {
- clear();
- __throw_exception_again;
- }
- }
-
- template <typename _Tp, typename _Alloc>
- template <typename _ForwardIterator>
- void
- deque<_Tp, _Alloc>::
- _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag)
- {
- const size_type __n = std::distance(__first, __last);
- this->_M_initialize_map(__n);
-
- _Map_pointer __cur_node;
- try
- {
- for (__cur_node = this->_M_impl._M_start._M_node;
- __cur_node < this->_M_impl._M_finish._M_node;
- ++__cur_node)
- {
- _ForwardIterator __mid = __first;
- std::advance(__mid, _S_buffer_size());
- std::__uninitialized_copy_a(__first, __mid, *__cur_node,
- _M_get_Tp_allocator());
- __first = __mid;
- }
- std::__uninitialized_copy_a(__first, __last,
- this->_M_impl._M_finish._M_first,
- _M_get_Tp_allocator());
- }
- catch(...)
- {
- std::_Destroy(this->_M_impl._M_start,
- iterator(*__cur_node, __cur_node),
- _M_get_Tp_allocator());
- __throw_exception_again;
- }
- }
-
- // Called only if _M_impl._M_finish._M_cur == _M_impl._M_finish._M_last - 1.
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_push_back_aux(const value_type& __t)
- {
- value_type __t_copy = __t;
- _M_reserve_map_at_back();
- *(this->_M_impl._M_finish._M_node + 1) = this->_M_allocate_node();
- try
- {
- this->_M_impl.construct(this->_M_impl._M_finish._M_cur, __t_copy);
- this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node
- + 1);
- this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_first;
- }
- catch(...)
- {
- _M_deallocate_node(*(this->_M_impl._M_finish._M_node + 1));
- __throw_exception_again;
- }
- }
-
- // Called only if _M_impl._M_start._M_cur == _M_impl._M_start._M_first.
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_push_front_aux(const value_type& __t)
- {
- value_type __t_copy = __t;
- _M_reserve_map_at_front();
- *(this->_M_impl._M_start._M_node - 1) = this->_M_allocate_node();
- try
- {
- this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node
- - 1);
- this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_last - 1;
- this->_M_impl.construct(this->_M_impl._M_start._M_cur, __t_copy);
- }
- catch(...)
- {
- ++this->_M_impl._M_start;
- _M_deallocate_node(*(this->_M_impl._M_start._M_node - 1));
- __throw_exception_again;
- }
- }
-
- // Called only if _M_impl._M_finish._M_cur == _M_impl._M_finish._M_first.
- template <typename _Tp, typename _Alloc>
- void deque<_Tp, _Alloc>::
- _M_pop_back_aux()
- {
- _M_deallocate_node(this->_M_impl._M_finish._M_first);
- this->_M_impl._M_finish._M_set_node(this->_M_impl._M_finish._M_node - 1);
- this->_M_impl._M_finish._M_cur = this->_M_impl._M_finish._M_last - 1;
- this->_M_impl.destroy(this->_M_impl._M_finish._M_cur);
- }
-
- // Called only if _M_impl._M_start._M_cur == _M_impl._M_start._M_last - 1.
- // Note that if the deque has at least one element (a precondition for this
- // member function), and if
- // _M_impl._M_start._M_cur == _M_impl._M_start._M_last,
- // then the deque must have at least two nodes.
- template <typename _Tp, typename _Alloc>
- void deque<_Tp, _Alloc>::
- _M_pop_front_aux()
- {
- this->_M_impl.destroy(this->_M_impl._M_start._M_cur);
- _M_deallocate_node(this->_M_impl._M_start._M_first);
- this->_M_impl._M_start._M_set_node(this->_M_impl._M_start._M_node + 1);
- this->_M_impl._M_start._M_cur = this->_M_impl._M_start._M_first;
- }
-
- template <typename _Tp, typename _Alloc>
- template <typename _InputIterator>
- void
- deque<_Tp, _Alloc>::
- _M_range_insert_aux(iterator __pos,
- _InputIterator __first, _InputIterator __last,
- std::input_iterator_tag)
- { std::copy(__first, __last, std::inserter(*this, __pos)); }
-
- template <typename _Tp, typename _Alloc>
- template <typename _ForwardIterator>
- void
- deque<_Tp, _Alloc>::
- _M_range_insert_aux(iterator __pos,
- _ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag)
- {
- const size_type __n = std::distance(__first, __last);
- if (__pos._M_cur == this->_M_impl._M_start._M_cur)
- {
- iterator __new_start = _M_reserve_elements_at_front(__n);
- try
- {
- std::__uninitialized_copy_a(__first, __last, __new_start,
- _M_get_Tp_allocator());
- this->_M_impl._M_start = __new_start;
- }
- catch(...)
- {
- _M_destroy_nodes(__new_start._M_node,
- this->_M_impl._M_start._M_node);
- __throw_exception_again;
- }
- }
- else if (__pos._M_cur == this->_M_impl._M_finish._M_cur)
- {
- iterator __new_finish = _M_reserve_elements_at_back(__n);
- try
- {
- std::__uninitialized_copy_a(__first, __last,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = __new_finish;
- }
- catch(...)
- {
- _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
- __new_finish._M_node + 1);
- __throw_exception_again;
- }
- }
- else
- _M_insert_aux(__pos, __first, __last, __n);
- }
-
- template <typename _Tp, typename _Alloc>
- typename deque<_Tp, _Alloc>::iterator
- deque<_Tp, _Alloc>::
- _M_insert_aux(iterator __pos, const value_type& __x)
- {
- difference_type __index = __pos - this->_M_impl._M_start;
- value_type __x_copy = __x; // XXX copy
- if (static_cast<size_type>(__index) < size() / 2)
- {
- push_front(front());
- iterator __front1 = this->_M_impl._M_start;
- ++__front1;
- iterator __front2 = __front1;
- ++__front2;
- __pos = this->_M_impl._M_start + __index;
- iterator __pos1 = __pos;
- ++__pos1;
- std::copy(__front2, __pos1, __front1);
- }
- else
- {
- push_back(back());
- iterator __back1 = this->_M_impl._M_finish;
- --__back1;
- iterator __back2 = __back1;
- --__back2;
- __pos = this->_M_impl._M_start + __index;
- std::copy_backward(__pos, __back2, __back1);
- }
- *__pos = __x_copy;
- return __pos;
- }
-
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_insert_aux(iterator __pos, size_type __n, const value_type& __x)
- {
- const difference_type __elems_before = __pos - this->_M_impl._M_start;
- const size_type __length = this->size();
- value_type __x_copy = __x;
- if (__elems_before < difference_type(__length / 2))
- {
- iterator __new_start = _M_reserve_elements_at_front(__n);
- iterator __old_start = this->_M_impl._M_start;
- __pos = this->_M_impl._M_start + __elems_before;
- try
- {
- if (__elems_before >= difference_type(__n))
- {
- iterator __start_n = (this->_M_impl._M_start
- + difference_type(__n));
- std::__uninitialized_copy_a(this->_M_impl._M_start,
- __start_n, __new_start,
- _M_get_Tp_allocator());
- this->_M_impl._M_start = __new_start;
- std::copy(__start_n, __pos, __old_start);
- std::fill(__pos - difference_type(__n), __pos, __x_copy);
- }
- else
- {
- std::__uninitialized_copy_fill(this->_M_impl._M_start,
- __pos, __new_start,
- this->_M_impl._M_start,
- __x_copy,
- _M_get_Tp_allocator());
- this->_M_impl._M_start = __new_start;
- std::fill(__old_start, __pos, __x_copy);
- }
- }
- catch(...)
- {
- _M_destroy_nodes(__new_start._M_node,
- this->_M_impl._M_start._M_node);
- __throw_exception_again;
- }
- }
- else
- {
- iterator __new_finish = _M_reserve_elements_at_back(__n);
- iterator __old_finish = this->_M_impl._M_finish;
- const difference_type __elems_after =
- difference_type(__length) - __elems_before;
- __pos = this->_M_impl._M_finish - __elems_after;
- try
- {
- if (__elems_after > difference_type(__n))
- {
- iterator __finish_n = (this->_M_impl._M_finish
- - difference_type(__n));
- std::__uninitialized_copy_a(__finish_n,
- this->_M_impl._M_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = __new_finish;
- std::copy_backward(__pos, __finish_n, __old_finish);
- std::fill(__pos, __pos + difference_type(__n), __x_copy);
- }
- else
- {
- std::__uninitialized_fill_copy(this->_M_impl._M_finish,
- __pos + difference_type(__n),
- __x_copy, __pos,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = __new_finish;
- std::fill(__pos, __old_finish, __x_copy);
- }
- }
- catch(...)
- {
- _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
- __new_finish._M_node + 1);
- __throw_exception_again;
- }
- }
- }
-
- template <typename _Tp, typename _Alloc>
- template <typename _ForwardIterator>
- void
- deque<_Tp, _Alloc>::
- _M_insert_aux(iterator __pos,
- _ForwardIterator __first, _ForwardIterator __last,
- size_type __n)
- {
- const difference_type __elemsbefore = __pos - this->_M_impl._M_start;
- const size_type __length = size();
- if (static_cast<size_type>(__elemsbefore) < __length / 2)
- {
- iterator __new_start = _M_reserve_elements_at_front(__n);
- iterator __old_start = this->_M_impl._M_start;
- __pos = this->_M_impl._M_start + __elemsbefore;
- try
- {
- if (__elemsbefore >= difference_type(__n))
- {
- iterator __start_n = (this->_M_impl._M_start
- + difference_type(__n));
- std::__uninitialized_copy_a(this->_M_impl._M_start,
- __start_n, __new_start,
- _M_get_Tp_allocator());
- this->_M_impl._M_start = __new_start;
- std::copy(__start_n, __pos, __old_start);
- std::copy(__first, __last, __pos - difference_type(__n));
- }
- else
- {
- _ForwardIterator __mid = __first;
- std::advance(__mid, difference_type(__n) - __elemsbefore);
- std::__uninitialized_copy_copy(this->_M_impl._M_start,
- __pos, __first, __mid,
- __new_start,
- _M_get_Tp_allocator());
- this->_M_impl._M_start = __new_start;
- std::copy(__mid, __last, __old_start);
- }
- }
- catch(...)
- {
- _M_destroy_nodes(__new_start._M_node,
- this->_M_impl._M_start._M_node);
- __throw_exception_again;
- }
- }
- else
- {
- iterator __new_finish = _M_reserve_elements_at_back(__n);
- iterator __old_finish = this->_M_impl._M_finish;
- const difference_type __elemsafter =
- difference_type(__length) - __elemsbefore;
- __pos = this->_M_impl._M_finish - __elemsafter;
- try
- {
- if (__elemsafter > difference_type(__n))
- {
- iterator __finish_n = (this->_M_impl._M_finish
- - difference_type(__n));
- std::__uninitialized_copy_a(__finish_n,
- this->_M_impl._M_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = __new_finish;
- std::copy_backward(__pos, __finish_n, __old_finish);
- std::copy(__first, __last, __pos);
- }
- else
- {
- _ForwardIterator __mid = __first;
- std::advance(__mid, __elemsafter);
- std::__uninitialized_copy_copy(__mid, __last, __pos,
- this->_M_impl._M_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = __new_finish;
- std::copy(__first, __mid, __pos);
- }
- }
- catch(...)
- {
- _M_destroy_nodes(this->_M_impl._M_finish._M_node + 1,
- __new_finish._M_node + 1);
- __throw_exception_again;
- }
- }
- }
-
- template<typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_destroy_data_aux(iterator __first, iterator __last)
- {
- for (_Map_pointer __node = __first._M_node + 1;
- __node < __last._M_node; ++__node)
- std::_Destroy(*__node, *__node + _S_buffer_size(),
- _M_get_Tp_allocator());
-
- if (__first._M_node != __last._M_node)
- {
- std::_Destroy(__first._M_cur, __first._M_last,
- _M_get_Tp_allocator());
- std::_Destroy(__last._M_first, __last._M_cur,
- _M_get_Tp_allocator());
- }
- else
- std::_Destroy(__first._M_cur, __last._M_cur,
- _M_get_Tp_allocator());
- }
-
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_new_elements_at_front(size_type __new_elems)
- {
- if (this->max_size() - this->size() < __new_elems)
- __throw_length_error(__N("deque::_M_new_elements_at_front"));
-
- const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
- / _S_buffer_size());
- _M_reserve_map_at_front(__new_nodes);
- size_type __i;
- try
- {
- for (__i = 1; __i <= __new_nodes; ++__i)
- *(this->_M_impl._M_start._M_node - __i) = this->_M_allocate_node();
- }
- catch(...)
- {
- for (size_type __j = 1; __j < __i; ++__j)
- _M_deallocate_node(*(this->_M_impl._M_start._M_node - __j));
- __throw_exception_again;
- }
- }
-
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_new_elements_at_back(size_type __new_elems)
- {
- if (this->max_size() - this->size() < __new_elems)
- __throw_length_error(__N("deque::_M_new_elements_at_back"));
-
- const size_type __new_nodes = ((__new_elems + _S_buffer_size() - 1)
- / _S_buffer_size());
- _M_reserve_map_at_back(__new_nodes);
- size_type __i;
- try
- {
- for (__i = 1; __i <= __new_nodes; ++__i)
- *(this->_M_impl._M_finish._M_node + __i) = this->_M_allocate_node();
- }
- catch(...)
- {
- for (size_type __j = 1; __j < __i; ++__j)
- _M_deallocate_node(*(this->_M_impl._M_finish._M_node + __j));
- __throw_exception_again;
- }
- }
-
- template <typename _Tp, typename _Alloc>
- void
- deque<_Tp, _Alloc>::
- _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front)
- {
- const size_type __old_num_nodes
- = this->_M_impl._M_finish._M_node - this->_M_impl._M_start._M_node + 1;
- const size_type __new_num_nodes = __old_num_nodes + __nodes_to_add;
-
- _Map_pointer __new_nstart;
- if (this->_M_impl._M_map_size > 2 * __new_num_nodes)
- {
- __new_nstart = this->_M_impl._M_map + (this->_M_impl._M_map_size
- - __new_num_nodes) / 2
- + (__add_at_front ? __nodes_to_add : 0);
- if (__new_nstart < this->_M_impl._M_start._M_node)
- std::copy(this->_M_impl._M_start._M_node,
- this->_M_impl._M_finish._M_node + 1,
- __new_nstart);
- else
- std::copy_backward(this->_M_impl._M_start._M_node,
- this->_M_impl._M_finish._M_node + 1,
- __new_nstart + __old_num_nodes);
- }
- else
- {
- size_type __new_map_size = this->_M_impl._M_map_size
- + std::max(this->_M_impl._M_map_size,
- __nodes_to_add) + 2;
-
- _Map_pointer __new_map = this->_M_allocate_map(__new_map_size);
- __new_nstart = __new_map + (__new_map_size - __new_num_nodes) / 2
- + (__add_at_front ? __nodes_to_add : 0);
- std::copy(this->_M_impl._M_start._M_node,
- this->_M_impl._M_finish._M_node + 1,
- __new_nstart);
- _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
-
- this->_M_impl._M_map = __new_map;
- this->_M_impl._M_map_size = __new_map_size;
- }
-
- this->_M_impl._M_start._M_set_node(__new_nstart);
- this->_M_impl._M_finish._M_set_node(__new_nstart + __old_num_nodes - 1);
- }
-
- // Overload for deque::iterators, exploiting the "segmented-iterator
- // optimization". NB: leave const_iterators alone!
- template<typename _Tp>
- void
- fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
- const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value)
- {
- typedef typename _Deque_iterator<_Tp, _Tp&, _Tp*>::_Self _Self;
-
- for (typename _Self::_Map_pointer __node = __first._M_node + 1;
- __node < __last._M_node; ++__node)
- std::fill(*__node, *__node + _Self::_S_buffer_size(), __value);
-
- if (__first._M_node != __last._M_node)
- {
- std::fill(__first._M_cur, __first._M_last, __value);
- std::fill(__last._M_first, __last._M_cur, __value);
- }
- else
- std::fill(__first._M_cur, __last._M_cur, __value);
- }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/fstream.tcc b/contrib/libstdc++/include/bits/fstream.tcc
deleted file mode 100644
index 7b6f09beabe8..000000000000
--- a/contrib/libstdc++/include/bits/fstream.tcc
+++ /dev/null
@@ -1,910 +0,0 @@
-// File based streams -*- C++ -*-
-
-// 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 fstream.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 27.8 File-based streams
-//
-
-#ifndef _FSTREAM_TCC
-#define _FSTREAM_TCC 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits>
- void
- basic_filebuf<_CharT, _Traits>::
- _M_allocate_internal_buffer()
- {
- // Allocate internal buffer only if one doesn't already exist
- // (either allocated or provided by the user via setbuf).
- if (!_M_buf_allocated && !_M_buf)
- {
- _M_buf = new char_type[_M_buf_size];
- _M_buf_allocated = true;
- }
- }
-
- template<typename _CharT, typename _Traits>
- void
- basic_filebuf<_CharT, _Traits>::
- _M_destroy_internal_buffer() throw()
- {
- if (_M_buf_allocated)
- {
- delete [] _M_buf;
- _M_buf = NULL;
- _M_buf_allocated = false;
- }
- delete [] _M_ext_buf;
- _M_ext_buf = NULL;
- _M_ext_buf_size = 0;
- _M_ext_next = NULL;
- _M_ext_end = NULL;
- }
-
- template<typename _CharT, typename _Traits>
- basic_filebuf<_CharT, _Traits>::
- basic_filebuf() : __streambuf_type(), _M_lock(), _M_file(&_M_lock),
- _M_mode(ios_base::openmode(0)), _M_state_beg(), _M_state_cur(),
- _M_state_last(), _M_buf(NULL), _M_buf_size(BUFSIZ),
- _M_buf_allocated(false), _M_reading(false), _M_writing(false), _M_pback(),
- _M_pback_cur_save(0), _M_pback_end_save(0), _M_pback_init(false),
- _M_codecvt(0), _M_ext_buf(0), _M_ext_buf_size(0), _M_ext_next(0),
- _M_ext_end(0)
- {
- if (has_facet<__codecvt_type>(this->_M_buf_locale))
- _M_codecvt = &use_facet<__codecvt_type>(this->_M_buf_locale);
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
- basic_filebuf<_CharT, _Traits>::
- open(const char* __s, ios_base::openmode __mode)
- {
- __filebuf_type *__ret = NULL;
- if (!this->is_open())
- {
- _M_file.open(__s, __mode);
- if (this->is_open())
- {
- _M_allocate_internal_buffer();
- _M_mode = __mode;
-
- // Setup initial buffer to 'uncommitted' mode.
- _M_reading = false;
- _M_writing = false;
- _M_set_buffer(-1);
-
- // Reset to initial state.
- _M_state_last = _M_state_cur = _M_state_beg;
-
- // 27.8.1.3,4
- if ((__mode & ios_base::ate)
- && this->seekoff(0, ios_base::end, __mode)
- == pos_type(off_type(-1)))
- this->close();
- else
- __ret = this;
- }
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::__filebuf_type*
- basic_filebuf<_CharT, _Traits>::
- close() throw()
- {
- __filebuf_type* __ret = NULL;
- if (this->is_open())
- {
- bool __testfail = false;
- try
- {
- if (!_M_terminate_output())
- __testfail = true;
- }
- catch(...)
- { __testfail = true; }
-
- // NB: Do this here so that re-opened filebufs will be cool...
- _M_mode = ios_base::openmode(0);
- _M_pback_init = false;
- _M_destroy_internal_buffer();
- _M_reading = false;
- _M_writing = false;
- _M_set_buffer(-1);
- _M_state_last = _M_state_cur = _M_state_beg;
-
- if (!_M_file.close())
- __testfail = true;
-
- if (!__testfail)
- __ret = this;
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- streamsize
- basic_filebuf<_CharT, _Traits>::
- showmanyc()
- {
- streamsize __ret = -1;
- const bool __testin = _M_mode & ios_base::in;
- if (__testin && this->is_open())
- {
- // For a stateful encoding (-1) the pending sequence might be just
- // shift and unshift prefixes with no actual character.
- __ret = this->egptr() - this->gptr();
-
-#if _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM
- // About this workaround, see libstdc++/20806.
- const bool __testbinary = _M_mode & ios_base::binary;
- if (__check_facet(_M_codecvt).encoding() >= 0
- && __testbinary)
-#else
- if (__check_facet(_M_codecvt).encoding() >= 0)
-#endif
- __ret += _M_file.showmanyc() / _M_codecvt->max_length();
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::int_type
- basic_filebuf<_CharT, _Traits>::
- underflow()
- {
- int_type __ret = traits_type::eof();
- const bool __testin = _M_mode & ios_base::in;
- if (__testin && !_M_writing)
- {
- // Check for pback madness, and if so switch back to the
- // normal buffers and jet outta here before expensive
- // fileops happen...
- _M_destroy_pback();
-
- if (this->gptr() < this->egptr())
- return traits_type::to_int_type(*this->gptr());
-
- // Get and convert input sequence.
- const size_t __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1;
-
- // Will be set to true if ::read() returns 0 indicating EOF.
- bool __got_eof = false;
- // Number of internal characters produced.
- streamsize __ilen = 0;
- codecvt_base::result __r = codecvt_base::ok;
- if (__check_facet(_M_codecvt).always_noconv())
- {
- __ilen = _M_file.xsgetn(reinterpret_cast<char*>(this->eback()),
- __buflen);
- if (__ilen == 0)
- __got_eof = true;
- }
- else
- {
- // Worst-case number of external bytes.
- // XXX Not done encoding() == -1.
- const int __enc = _M_codecvt->encoding();
- streamsize __blen; // Minimum buffer size.
- streamsize __rlen; // Number of chars to read.
- if (__enc > 0)
- __blen = __rlen = __buflen * __enc;
- else
- {
- __blen = __buflen + _M_codecvt->max_length() - 1;
- __rlen = __buflen;
- }
- const streamsize __remainder = _M_ext_end - _M_ext_next;
- __rlen = __rlen > __remainder ? __rlen - __remainder : 0;
-
- // An imbue in 'read' mode implies first converting the external
- // chars already present.
- if (_M_reading && this->egptr() == this->eback() && __remainder)
- __rlen = 0;
-
- // Allocate buffer if necessary and move unconverted
- // bytes to front.
- if (_M_ext_buf_size < __blen)
- {
- char* __buf = new char[__blen];
- if (__remainder)
- std::memcpy(__buf, _M_ext_next, __remainder);
-
- delete [] _M_ext_buf;
- _M_ext_buf = __buf;
- _M_ext_buf_size = __blen;
- }
- else if (__remainder)
- std::memmove(_M_ext_buf, _M_ext_next, __remainder);
-
- _M_ext_next = _M_ext_buf;
- _M_ext_end = _M_ext_buf + __remainder;
- _M_state_last = _M_state_cur;
-
- do
- {
- if (__rlen > 0)
- {
- // Sanity check!
- // This may fail if the return value of
- // codecvt::max_length() is bogus.
- if (_M_ext_end - _M_ext_buf + __rlen > _M_ext_buf_size)
- {
- __throw_ios_failure(__N("basic_filebuf::underflow "
- "codecvt::max_length() "
- "is not valid"));
- }
- streamsize __elen = _M_file.xsgetn(_M_ext_end, __rlen);
- if (__elen == 0)
- __got_eof = true;
- else if (__elen == -1)
- break;
- _M_ext_end += __elen;
- }
-
- char_type* __iend;
- __r = _M_codecvt->in(_M_state_cur, _M_ext_next,
- _M_ext_end, _M_ext_next, this->eback(),
- this->eback() + __buflen, __iend);
- if (__r == codecvt_base::noconv)
- {
- size_t __avail = _M_ext_end - _M_ext_buf;
- __ilen = std::min(__avail, __buflen);
- traits_type::copy(this->eback(),
- reinterpret_cast<char_type*>(_M_ext_buf), __ilen);
- _M_ext_next = _M_ext_buf + __ilen;
- }
- else
- __ilen = __iend - this->eback();
-
- // _M_codecvt->in may return error while __ilen > 0: this is
- // ok, and actually occurs in case of mixed encodings (e.g.,
- // XML files).
- if (__r == codecvt_base::error)
- break;
-
- __rlen = 1;
- }
- while (__ilen == 0 && !__got_eof);
- }
-
- if (__ilen > 0)
- {
- _M_set_buffer(__ilen);
- _M_reading = true;
- __ret = traits_type::to_int_type(*this->gptr());
- }
- else if (__got_eof)
- {
- // If the actual end of file is reached, set 'uncommitted'
- // mode, thus allowing an immediate write without an
- // intervening seek.
- _M_set_buffer(-1);
- _M_reading = false;
- // However, reaching it while looping on partial means that
- // the file has got an incomplete character.
- if (__r == codecvt_base::partial)
- __throw_ios_failure(__N("basic_filebuf::underflow "
- "incomplete character in file"));
- }
- else if (__r == codecvt_base::error)
- __throw_ios_failure(__N("basic_filebuf::underflow "
- "invalid byte sequence in file"));
- else
- __throw_ios_failure(__N("basic_filebuf::underflow "
- "error reading the file"));
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::int_type
- basic_filebuf<_CharT, _Traits>::
- pbackfail(int_type __i)
- {
- int_type __ret = traits_type::eof();
- const bool __testin = _M_mode & ios_base::in;
- if (__testin && !_M_writing)
- {
- // Remember whether the pback buffer is active, otherwise below
- // we may try to store in it a second char (libstdc++/9761).
- const bool __testpb = _M_pback_init;
- const bool __testeof = traits_type::eq_int_type(__i, __ret);
- int_type __tmp;
- if (this->eback() < this->gptr())
- {
- this->gbump(-1);
- __tmp = traits_type::to_int_type(*this->gptr());
- }
- else if (this->seekoff(-1, ios_base::cur) != pos_type(off_type(-1)))
- {
- __tmp = this->underflow();
- if (traits_type::eq_int_type(__tmp, __ret))
- return __ret;
- }
- else
- {
- // At the beginning of the buffer, need to make a
- // putback position available. But the seek may fail
- // (f.i., at the beginning of a file, see
- // libstdc++/9439) and in that case we return
- // traits_type::eof().
- return __ret;
- }
-
- // Try to put back __i into input sequence in one of three ways.
- // Order these tests done in is unspecified by the standard.
- if (!__testeof && traits_type::eq_int_type(__i, __tmp))
- __ret = __i;
- else if (__testeof)
- __ret = traits_type::not_eof(__i);
- else if (!__testpb)
- {
- _M_create_pback();
- _M_reading = true;
- *this->gptr() = traits_type::to_char_type(__i);
- __ret = __i;
- }
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::int_type
- basic_filebuf<_CharT, _Traits>::
- overflow(int_type __c)
- {
- int_type __ret = traits_type::eof();
- const bool __testeof = traits_type::eq_int_type(__c, __ret);
- const bool __testout = _M_mode & ios_base::out;
- if (__testout && !_M_reading)
- {
- if (this->pbase() < this->pptr())
- {
- // If appropriate, append the overflow char.
- if (!__testeof)
- {
- *this->pptr() = traits_type::to_char_type(__c);
- this->pbump(1);
- }
-
- // Convert pending sequence to external representation,
- // and output.
- if (_M_convert_to_external(this->pbase(),
- this->pptr() - this->pbase()))
- {
- _M_set_buffer(0);
- __ret = traits_type::not_eof(__c);
- }
- }
- else if (_M_buf_size > 1)
- {
- // Overflow in 'uncommitted' mode: set _M_writing, set
- // the buffer to the initial 'write' mode, and put __c
- // into the buffer.
- _M_set_buffer(0);
- _M_writing = true;
- if (!__testeof)
- {
- *this->pptr() = traits_type::to_char_type(__c);
- this->pbump(1);
- }
- __ret = traits_type::not_eof(__c);
- }
- else
- {
- // Unbuffered.
- char_type __conv = traits_type::to_char_type(__c);
- if (__testeof || _M_convert_to_external(&__conv, 1))
- {
- _M_writing = true;
- __ret = traits_type::not_eof(__c);
- }
- }
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- bool
- basic_filebuf<_CharT, _Traits>::
- _M_convert_to_external(_CharT* __ibuf, streamsize __ilen)
- {
- // Sizes of external and pending output.
- streamsize __elen;
- streamsize __plen;
- if (__check_facet(_M_codecvt).always_noconv())
- {
- __elen = _M_file.xsputn(reinterpret_cast<char*>(__ibuf), __ilen);
- __plen = __ilen;
- }
- else
- {
- // Worst-case number of external bytes needed.
- // XXX Not done encoding() == -1.
- streamsize __blen = __ilen * _M_codecvt->max_length();
- char* __buf = static_cast<char*>(__builtin_alloca(__blen));
-
- char* __bend;
- const char_type* __iend;
- codecvt_base::result __r;
- __r = _M_codecvt->out(_M_state_cur, __ibuf, __ibuf + __ilen,
- __iend, __buf, __buf + __blen, __bend);
-
- if (__r == codecvt_base::ok || __r == codecvt_base::partial)
- __blen = __bend - __buf;
- else if (__r == codecvt_base::noconv)
- {
- // Same as the always_noconv case above.
- __buf = reinterpret_cast<char*>(__ibuf);
- __blen = __ilen;
- }
- else
- __throw_ios_failure(__N("basic_filebuf::_M_convert_to_external "
- "conversion error"));
-
- __elen = _M_file.xsputn(__buf, __blen);
- __plen = __blen;
-
- // Try once more for partial conversions.
- if (__r == codecvt_base::partial && __elen == __plen)
- {
- const char_type* __iresume = __iend;
- streamsize __rlen = this->pptr() - __iend;
- __r = _M_codecvt->out(_M_state_cur, __iresume,
- __iresume + __rlen, __iend, __buf,
- __buf + __blen, __bend);
- if (__r != codecvt_base::error)
- {
- __rlen = __bend - __buf;
- __elen = _M_file.xsputn(__buf, __rlen);
- __plen = __rlen;
- }
- else
- __throw_ios_failure(__N("basic_filebuf::_M_convert_to_external "
- "conversion error"));
- }
- }
- return __elen == __plen;
- }
-
- template<typename _CharT, typename _Traits>
- streamsize
- basic_filebuf<_CharT, _Traits>::
- xsgetn(_CharT* __s, streamsize __n)
- {
- // Clear out pback buffer before going on to the real deal...
- streamsize __ret = 0;
- if (_M_pback_init)
- {
- if (__n > 0 && this->gptr() == this->eback())
- {
- *__s++ = *this->gptr();
- this->gbump(1);
- __ret = 1;
- --__n;
- }
- _M_destroy_pback();
- }
-
- // Optimization in the always_noconv() case, to be generalized in the
- // future: when __n > __buflen we read directly instead of using the
- // buffer repeatedly.
- const bool __testin = _M_mode & ios_base::in;
- const streamsize __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1;
-
- if (__n > __buflen && __check_facet(_M_codecvt).always_noconv()
- && __testin && !_M_writing)
- {
- // First, copy the chars already present in the buffer.
- const streamsize __avail = this->egptr() - this->gptr();
- if (__avail != 0)
- {
- if (__avail == 1)
- *__s = *this->gptr();
- else
- traits_type::copy(__s, this->gptr(), __avail);
- __s += __avail;
- this->gbump(__avail);
- __ret += __avail;
- __n -= __avail;
- }
-
- // Need to loop in case of short reads (relatively common
- // with pipes).
- streamsize __len;
- for (;;)
- {
- __len = _M_file.xsgetn(reinterpret_cast<char*>(__s),
- __n);
- if (__len == -1)
- __throw_ios_failure(__N("basic_filebuf::xsgetn "
- "error reading the file"));
- if (__len == 0)
- break;
-
- __n -= __len;
- __ret += __len;
- if (__n == 0)
- break;
-
- __s += __len;
- }
-
- if (__n == 0)
- {
- _M_set_buffer(0);
- _M_reading = true;
- }
- else if (__len == 0)
- {
- // If end of file is reached, set 'uncommitted'
- // mode, thus allowing an immediate write without
- // an intervening seek.
- _M_set_buffer(-1);
- _M_reading = false;
- }
- }
- else
- __ret += __streambuf_type::xsgetn(__s, __n);
-
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- streamsize
- basic_filebuf<_CharT, _Traits>::
- xsputn(const _CharT* __s, streamsize __n)
- {
- // Optimization in the always_noconv() case, to be generalized in the
- // future: when __n is sufficiently large we write directly instead of
- // using the buffer.
- streamsize __ret = 0;
- const bool __testout = _M_mode & ios_base::out;
- if (__check_facet(_M_codecvt).always_noconv()
- && __testout && !_M_reading)
- {
- // Measurement would reveal the best choice.
- const streamsize __chunk = 1ul << 10;
- streamsize __bufavail = this->epptr() - this->pptr();
-
- // Don't mistake 'uncommitted' mode buffered with unbuffered.
- if (!_M_writing && _M_buf_size > 1)
- __bufavail = _M_buf_size - 1;
-
- const streamsize __limit = std::min(__chunk, __bufavail);
- if (__n >= __limit)
- {
- const streamsize __buffill = this->pptr() - this->pbase();
- const char* __buf = reinterpret_cast<const char*>(this->pbase());
- __ret = _M_file.xsputn_2(__buf, __buffill,
- reinterpret_cast<const char*>(__s),
- __n);
- if (__ret == __buffill + __n)
- {
- _M_set_buffer(0);
- _M_writing = true;
- }
- if (__ret > __buffill)
- __ret -= __buffill;
- else
- __ret = 0;
- }
- else
- __ret = __streambuf_type::xsputn(__s, __n);
- }
- else
- __ret = __streambuf_type::xsputn(__s, __n);
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::__streambuf_type*
- basic_filebuf<_CharT, _Traits>::
- setbuf(char_type* __s, streamsize __n)
- {
- if (!this->is_open())
- {
- if (__s == 0 && __n == 0)
- _M_buf_size = 1;
- else if (__s && __n > 0)
- {
- // This is implementation-defined behavior, and assumes that
- // an external char_type array of length __n exists and has
- // been pre-allocated. If this is not the case, things will
- // quickly blow up. When __n > 1, __n - 1 positions will be
- // used for the get area, __n - 1 for the put area and 1
- // position to host the overflow char of a full put area.
- // When __n == 1, 1 position will be used for the get area
- // and 0 for the put area, as in the unbuffered case above.
- _M_buf = __s;
- _M_buf_size = __n;
- }
- }
- return this;
- }
-
-
- // According to 27.8.1.4 p11 - 13, seekoff should ignore the last
- // argument (of type openmode).
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::pos_type
- basic_filebuf<_CharT, _Traits>::
- seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode)
- {
- int __width = 0;
- if (_M_codecvt)
- __width = _M_codecvt->encoding();
- if (__width < 0)
- __width = 0;
-
- pos_type __ret = pos_type(off_type(-1));
- const bool __testfail = __off != 0 && __width <= 0;
- if (this->is_open() && !__testfail)
- {
- // Ditch any pback buffers to avoid confusion.
- _M_destroy_pback();
-
- // Correct state at destination. Note that this is the correct
- // state for the current position during output, because
- // codecvt::unshift() returns the state to the initial state.
- // This is also the correct state at the end of the file because
- // an unshift sequence should have been written at the end.
- __state_type __state = _M_state_beg;
- off_type __computed_off = __off * __width;
- if (_M_reading && __way == ios_base::cur)
- {
- if (_M_codecvt->always_noconv())
- __computed_off += this->gptr() - this->egptr();
- else
- {
- // Calculate offset from _M_ext_buf that corresponds
- // to gptr(). Note: uses _M_state_last, which
- // corresponds to eback().
- const int __gptr_off =
- _M_codecvt->length(_M_state_last, _M_ext_buf, _M_ext_next,
- this->gptr() - this->eback());
- __computed_off += _M_ext_buf + __gptr_off - _M_ext_end;
-
- // _M_state_last is modified by codecvt::length() so
- // it now corresponds to gptr().
- __state = _M_state_last;
- }
- }
- __ret = _M_seek(__computed_off, __way, __state);
- }
- return __ret;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 171. Strange seekpos() semantics due to joint position
- // According to the resolution of DR 171, seekpos should ignore the last
- // argument (of type openmode).
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::pos_type
- basic_filebuf<_CharT, _Traits>::
- seekpos(pos_type __pos, ios_base::openmode)
- {
- pos_type __ret = pos_type(off_type(-1));
- if (this->is_open())
- {
- // Ditch any pback buffers to avoid confusion.
- _M_destroy_pback();
- __ret = _M_seek(off_type(__pos), ios_base::beg, __pos.state());
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_filebuf<_CharT, _Traits>::pos_type
- basic_filebuf<_CharT, _Traits>::
- _M_seek(off_type __off, ios_base::seekdir __way, __state_type __state)
- {
- pos_type __ret = pos_type(off_type(-1));
- if (_M_terminate_output())
- {
- // Returns pos_type(off_type(-1)) in case of failure.
- __ret = pos_type(_M_file.seekoff(__off, __way));
- if (__ret != pos_type(off_type(-1)))
- {
- _M_reading = false;
- _M_writing = false;
- _M_ext_next = _M_ext_end = _M_ext_buf;
- _M_set_buffer(-1);
- _M_state_cur = __state;
- __ret.state(_M_state_cur);
- }
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- bool
- basic_filebuf<_CharT, _Traits>::
- _M_terminate_output()
- {
- // Part one: update the output sequence.
- bool __testvalid = true;
- if (this->pbase() < this->pptr())
- {
- const int_type __tmp = this->overflow();
- if (traits_type::eq_int_type(__tmp, traits_type::eof()))
- __testvalid = false;
- }
-
- // Part two: output unshift sequence.
- if (_M_writing && !__check_facet(_M_codecvt).always_noconv()
- && __testvalid)
- {
- // Note: this value is arbitrary, since there is no way to
- // get the length of the unshift sequence from codecvt,
- // without calling unshift.
- const size_t __blen = 128;
- char __buf[__blen];
- codecvt_base::result __r;
- streamsize __ilen = 0;
-
- do
- {
- char* __next;
- __r = _M_codecvt->unshift(_M_state_cur, __buf,
- __buf + __blen, __next);
- if (__r == codecvt_base::error)
- __testvalid = false;
- else if (__r == codecvt_base::ok ||
- __r == codecvt_base::partial)
- {
- __ilen = __next - __buf;
- if (__ilen > 0)
- {
- const streamsize __elen = _M_file.xsputn(__buf, __ilen);
- if (__elen != __ilen)
- __testvalid = false;
- }
- }
- }
- while (__r == codecvt_base::partial && __ilen > 0 && __testvalid);
-
- if (__testvalid)
- {
- // This second call to overflow() is required by the standard,
- // but it's not clear why it's needed, since the output buffer
- // should be empty by this point (it should have been emptied
- // in the first call to overflow()).
- const int_type __tmp = this->overflow();
- if (traits_type::eq_int_type(__tmp, traits_type::eof()))
- __testvalid = false;
- }
- }
- return __testvalid;
- }
-
- template<typename _CharT, typename _Traits>
- int
- basic_filebuf<_CharT, _Traits>::
- sync()
- {
- // Make sure that the internal buffer resyncs its idea of
- // the file position with the external file.
- int __ret = 0;
- if (this->pbase() < this->pptr())
- {
- const int_type __tmp = this->overflow();
- if (traits_type::eq_int_type(__tmp, traits_type::eof()))
- __ret = -1;
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- void
- basic_filebuf<_CharT, _Traits>::
- imbue(const locale& __loc)
- {
- bool __testvalid = true;
-
- const __codecvt_type* _M_codecvt_tmp = 0;
- if (__builtin_expect(has_facet<__codecvt_type>(__loc), true))
- _M_codecvt_tmp = &use_facet<__codecvt_type>(__loc);
-
- if (this->is_open())
- {
- // encoding() == -1 is ok only at the beginning.
- if ((_M_reading || _M_writing)
- && __check_facet(_M_codecvt).encoding() == -1)
- __testvalid = false;
- else
- {
- if (_M_reading)
- {
- if (__check_facet(_M_codecvt).always_noconv())
- {
- if (_M_codecvt_tmp
- && !__check_facet(_M_codecvt_tmp).always_noconv())
- __testvalid = this->seekoff(0, ios_base::cur, _M_mode)
- != pos_type(off_type(-1));
- }
- else
- {
- // External position corresponding to gptr().
- _M_ext_next = _M_ext_buf
- + _M_codecvt->length(_M_state_last, _M_ext_buf, _M_ext_next,
- this->gptr() - this->eback());
- const streamsize __remainder = _M_ext_end - _M_ext_next;
- if (__remainder)
- std::memmove(_M_ext_buf, _M_ext_next, __remainder);
-
- _M_ext_next = _M_ext_buf;
- _M_ext_end = _M_ext_buf + __remainder;
- _M_set_buffer(-1);
- _M_state_last = _M_state_cur = _M_state_beg;
- }
- }
- else if (_M_writing && (__testvalid = _M_terminate_output()))
- _M_set_buffer(-1);
- }
- }
-
- if (__testvalid)
- _M_codecvt = _M_codecvt_tmp;
- else
- _M_codecvt = 0;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class basic_filebuf<char>;
- extern template class basic_ifstream<char>;
- extern template class basic_ofstream<char>;
- extern template class basic_fstream<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class basic_filebuf<wchar_t>;
- extern template class basic_ifstream<wchar_t>;
- extern template class basic_ofstream<wchar_t>;
- extern template class basic_fstream<wchar_t>;
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/functexcept.h b/contrib/libstdc++/include/bits/functexcept.h
deleted file mode 100644
index 59358c4060ef..000000000000
--- a/contrib/libstdc++/include/bits/functexcept.h
+++ /dev/null
@@ -1,95 +0,0 @@
-// Function-Based Exception Support -*- C++ -*-
-
-// Copyright (C) 2001, 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 functexcept.h
- * This header provides support for -fno-exceptions.
- */
-
-//
-// ISO C++ 14882: 19.1 Exception classes
-//
-
-#ifndef _FUNCTEXCEPT_H
-#define _FUNCTEXCEPT_H 1
-
-#include <bits/c++config.h>
-#include <exception_defines.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Helper for exception objects in <except>
- void
- __throw_bad_exception(void) __attribute__((__noreturn__));
-
- // Helper for exception objects in <new>
- void
- __throw_bad_alloc(void) __attribute__((__noreturn__));
-
- // Helper for exception objects in <typeinfo>
- void
- __throw_bad_cast(void) __attribute__((__noreturn__));
-
- void
- __throw_bad_typeid(void) __attribute__((__noreturn__));
-
- // Helpers for exception objects in <stdexcept>
- void
- __throw_logic_error(const char*) __attribute__((__noreturn__));
-
- void
- __throw_domain_error(const char*) __attribute__((__noreturn__));
-
- void
- __throw_invalid_argument(const char*) __attribute__((__noreturn__));
-
- void
- __throw_length_error(const char*) __attribute__((__noreturn__));
-
- void
- __throw_out_of_range(const char*) __attribute__((__noreturn__));
-
- void
- __throw_runtime_error(const char*) __attribute__((__noreturn__));
-
- void
- __throw_range_error(const char*) __attribute__((__noreturn__));
-
- void
- __throw_overflow_error(const char*) __attribute__((__noreturn__));
-
- void
- __throw_underflow_error(const char*) __attribute__((__noreturn__));
-
- // Helpers for exception objects in basic_ios
- void
- __throw_ios_failure(const char*) __attribute__((__noreturn__));
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/gslice.h b/contrib/libstdc++/include/bits/gslice.h
deleted file mode 100644
index 12bfc3258ad8..000000000000
--- a/contrib/libstdc++/include/bits/gslice.h
+++ /dev/null
@@ -1,170 +0,0 @@
-// The template and inlines for the -*- C++ -*- gslice class.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 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 gslice.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _GSLICE_H
-#define _GSLICE_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Class defining multi-dimensional subset of an array.
- *
- * The slice class represents a multi-dimensional subset of an array,
- * specified by three parameter sets: start offset, size array, and stride
- * array. The start offset is the index of the first element of the array
- * that is part of the subset. The size and stride array describe each
- * dimension of the slice. Size is the number of elements in that
- * dimension, and stride is the distance in the array between successive
- * elements in that dimension. Each dimension's size and stride is taken
- * to begin at an array element described by the previous dimension. The
- * size array and stride array must be the same size.
- *
- * For example, if you have offset==3, stride[0]==11, size[1]==3,
- * stride[1]==3, then slice[0,0]==array[3], slice[0,1]==array[6],
- * slice[0,2]==array[9], slice[1,0]==array[14], slice[1,1]==array[17],
- * slice[1,2]==array[20].
- */
- class gslice
- {
- public:
- /// Construct an empty slice.
- gslice ();
-
- /**
- * @brief Construct a slice.
- *
- * Constructs a slice with as many dimensions as the length of the @a l
- * and @a s arrays.
- *
- * @param o Offset in array of first element.
- * @param l Array of dimension lengths.
- * @param s Array of dimension strides between array elements.
- */
- gslice(size_t, const valarray<size_t>&, const valarray<size_t>&);
-
- // XXX: the IS says the copy-ctor and copy-assignment operators are
- // synthetized by the compiler but they are just unsuitable
- // for a ref-counted semantic
- /// Copy constructor.
- gslice(const gslice&);
-
- /// Destructor.
- ~gslice();
-
- // XXX: See the note above.
- /// Assignment operator.
- gslice& operator=(const gslice&);
-
- /// Return array offset of first slice element.
- size_t start() const;
-
- /// Return array of sizes of slice dimensions.
- valarray<size_t> size() const;
-
- /// Return array of array strides for each dimension.
- valarray<size_t> stride() const;
-
- private:
- struct _Indexer
- {
- size_t _M_count;
- size_t _M_start;
- valarray<size_t> _M_size;
- valarray<size_t> _M_stride;
- valarray<size_t> _M_index; // Linear array of referenced indices
- _Indexer(size_t, const valarray<size_t>&,
- const valarray<size_t>&);
- void
- _M_increment_use()
- { ++_M_count; }
-
- size_t
- _M_decrement_use()
- { return --_M_count; }
- };
-
- _Indexer* _M_index;
-
- template<typename _Tp> friend class valarray;
- };
-
- inline size_t
- gslice::start () const
- { return _M_index ? _M_index->_M_start : 0; }
-
- inline valarray<size_t>
- gslice::size () const
- { return _M_index ? _M_index->_M_size : valarray<size_t>(); }
-
- inline valarray<size_t>
- gslice::stride () const
- { return _M_index ? _M_index->_M_stride : valarray<size_t>(); }
-
- inline gslice::gslice () : _M_index(0) {}
-
- inline
- gslice::gslice(size_t __o, const valarray<size_t>& __l,
- const valarray<size_t>& __s)
- : _M_index(new gslice::_Indexer(__o, __l, __s)) {}
-
- inline
- gslice::gslice(const gslice& __g) : _M_index(__g._M_index)
- { if (_M_index) _M_index->_M_increment_use(); }
-
- inline
- gslice::~gslice()
- {
- if (_M_index && _M_index->_M_decrement_use() == 0)
- delete _M_index;
- }
-
- inline gslice&
- gslice::operator= (const gslice& __g)
- {
- if (__g._M_index)
- __g._M_index->_M_increment_use();
- if (_M_index && _M_index->_M_decrement_use() == 0)
- delete _M_index;
- _M_index = __g._M_index;
- return *this;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GSLICE_H */
diff --git a/contrib/libstdc++/include/bits/gslice_array.h b/contrib/libstdc++/include/bits/gslice_array.h
deleted file mode 100644
index 55ddc3b17cef..000000000000
--- a/contrib/libstdc++/include/bits/gslice_array.h
+++ /dev/null
@@ -1,214 +0,0 @@
-// The template and inlines for the -*- C++ -*- gslice_array class.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 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 gslice_array.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _GSLICE_ARRAY_H
-#define _GSLICE_ARRAY_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Reference to multi-dimensional subset of an array.
- *
- * A gslice_array is a reference to the actual elements of an array
- * specified by a gslice. The way to get a gslice_array is to call
- * operator[](gslice) on a valarray. The returned gslice_array then
- * permits carrying operations out on the referenced subset of elements in
- * the original valarray. For example, operator+=(valarray) will add
- * values to the subset of elements in the underlying valarray this
- * gslice_array refers to.
- *
- * @param Tp Element type.
- */
- template<typename _Tp>
- class gslice_array
- {
- public:
- typedef _Tp value_type;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 253. valarray helper functions are almost entirely useless
-
- /// Copy constructor. Both slices refer to the same underlying array.
- gslice_array(const gslice_array&);
-
- /// Assignment operator. Assigns slice elements to corresponding
- /// elements of @a a.
- gslice_array& operator=(const gslice_array&);
-
- /// Assign slice elements to corresponding elements of @a v.
- void operator=(const valarray<_Tp>&) const;
- /// Multiply slice elements by corresponding elements of @a v.
- void operator*=(const valarray<_Tp>&) const;
- /// Divide slice elements by corresponding elements of @a v.
- void operator/=(const valarray<_Tp>&) const;
- /// Modulo slice elements by corresponding elements of @a v.
- void operator%=(const valarray<_Tp>&) const;
- /// Add corresponding elements of @a v to slice elements.
- void operator+=(const valarray<_Tp>&) const;
- /// Subtract corresponding elements of @a v from slice elements.
- void operator-=(const valarray<_Tp>&) const;
- /// Logical xor slice elements with corresponding elements of @a v.
- void operator^=(const valarray<_Tp>&) const;
- /// Logical and slice elements with corresponding elements of @a v.
- void operator&=(const valarray<_Tp>&) const;
- /// Logical or slice elements with corresponding elements of @a v.
- void operator|=(const valarray<_Tp>&) const;
- /// Left shift slice elements by corresponding elements of @a v.
- void operator<<=(const valarray<_Tp>&) const;
- /// Right shift slice elements by corresponding elements of @a v.
- void operator>>=(const valarray<_Tp>&) const;
- /// Assign all slice elements to @a t.
- void operator=(const _Tp&) const;
-
- template<class _Dom>
- void operator=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator*=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator/=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator%=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator+=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator-=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator^=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator&=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator|=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator<<=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator>>=(const _Expr<_Dom, _Tp>&) const;
-
- private:
- _Array<_Tp> _M_array;
- const valarray<size_t>& _M_index;
-
- friend class valarray<_Tp>;
-
- gslice_array(_Array<_Tp>, const valarray<size_t>&);
-
- // not implemented
- gslice_array();
- };
-
- template<typename _Tp>
- inline
- gslice_array<_Tp>::gslice_array(_Array<_Tp> __a,
- const valarray<size_t>& __i)
- : _M_array(__a), _M_index(__i) {}
-
- template<typename _Tp>
- inline
- gslice_array<_Tp>::gslice_array(const gslice_array<_Tp>& __a)
- : _M_array(__a._M_array), _M_index(__a._M_index) {}
-
- template<typename _Tp>
- inline gslice_array<_Tp>&
- gslice_array<_Tp>::operator=(const gslice_array<_Tp>& __a)
- {
- std::__valarray_copy(_Array<_Tp>(__a._M_array),
- _Array<size_t>(__a._M_index), _M_index.size(),
- _M_array, _Array<size_t>(_M_index));
- return *this;
- }
-
- template<typename _Tp>
- inline void
- gslice_array<_Tp>::operator=(const _Tp& __t) const
- {
- std::__valarray_fill(_M_array, _Array<size_t>(_M_index),
- _M_index.size(), __t);
- }
-
- template<typename _Tp>
- inline void
- gslice_array<_Tp>::operator=(const valarray<_Tp>& __v) const
- {
- std::__valarray_copy(_Array<_Tp>(__v), __v.size(),
- _M_array, _Array<size_t>(_M_index));
- }
-
- template<typename _Tp>
- template<class _Dom>
- inline void
- gslice_array<_Tp>::operator=(const _Expr<_Dom, _Tp>& __e) const
- {
- std::__valarray_copy (__e, _M_index.size(), _M_array,
- _Array<size_t>(_M_index));
- }
-
-#undef _DEFINE_VALARRAY_OPERATOR
-#define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \
- template<typename _Tp> \
- inline void \
- gslice_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const \
- { \
- _Array_augmented_##_Name(_M_array, _Array<size_t>(_M_index), \
- _Array<_Tp>(__v), __v.size()); \
- } \
- \
- template<typename _Tp> \
- template<class _Dom> \
- inline void \
- gslice_array<_Tp>::operator _Op##= (const _Expr<_Dom, _Tp>& __e) const\
- { \
- _Array_augmented_##_Name(_M_array, _Array<size_t>(_M_index), __e,\
- _M_index.size()); \
- }
-
-_DEFINE_VALARRAY_OPERATOR(*, __multiplies)
-_DEFINE_VALARRAY_OPERATOR(/, __divides)
-_DEFINE_VALARRAY_OPERATOR(%, __modulus)
-_DEFINE_VALARRAY_OPERATOR(+, __plus)
-_DEFINE_VALARRAY_OPERATOR(-, __minus)
-_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor)
-_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and)
-_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or)
-_DEFINE_VALARRAY_OPERATOR(<<, __shift_left)
-_DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
-
-#undef _DEFINE_VALARRAY_OPERATOR
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GSLICE_ARRAY_H */
diff --git a/contrib/libstdc++/include/bits/indirect_array.h b/contrib/libstdc++/include/bits/indirect_array.h
deleted file mode 100644
index d43d801c8109..000000000000
--- a/contrib/libstdc++/include/bits/indirect_array.h
+++ /dev/null
@@ -1,208 +0,0 @@
-// The template and inlines for the -*- C++ -*- indirect_array class.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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 indirect_array.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _INDIRECT_ARRAY_H
-#define _INDIRECT_ARRAY_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Reference to arbitrary subset of an array.
- *
- * An indirect_array is a reference to the actual elements of an array
- * specified by an ordered array of indices. The way to get an
- * indirect_array is to call operator[](valarray<size_t>) on a valarray.
- * The returned indirect_array then permits carrying operations out on the
- * referenced subset of elements in the original valarray.
- *
- * For example, if an indirect_array is obtained using the array (4,2,0) as
- * an argument, and then assigned to an array containing (1,2,3), then the
- * underlying array will have array[0]==3, array[2]==2, and array[4]==1.
- *
- * @param Tp Element type.
- */
- template <class _Tp>
- class indirect_array
- {
- public:
- typedef _Tp value_type;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 253. valarray helper functions are almost entirely useless
-
- /// Copy constructor. Both slices refer to the same underlying array.
- indirect_array(const indirect_array&);
-
- /// Assignment operator. Assigns elements to corresponding elements
- /// of @a a.
- indirect_array& operator=(const indirect_array&);
-
- /// Assign slice elements to corresponding elements of @a v.
- void operator=(const valarray<_Tp>&) const;
- /// Multiply slice elements by corresponding elements of @a v.
- void operator*=(const valarray<_Tp>&) const;
- /// Divide slice elements by corresponding elements of @a v.
- void operator/=(const valarray<_Tp>&) const;
- /// Modulo slice elements by corresponding elements of @a v.
- void operator%=(const valarray<_Tp>&) const;
- /// Add corresponding elements of @a v to slice elements.
- void operator+=(const valarray<_Tp>&) const;
- /// Subtract corresponding elements of @a v from slice elements.
- void operator-=(const valarray<_Tp>&) const;
- /// Logical xor slice elements with corresponding elements of @a v.
- void operator^=(const valarray<_Tp>&) const;
- /// Logical and slice elements with corresponding elements of @a v.
- void operator&=(const valarray<_Tp>&) const;
- /// Logical or slice elements with corresponding elements of @a v.
- void operator|=(const valarray<_Tp>&) const;
- /// Left shift slice elements by corresponding elements of @a v.
- void operator<<=(const valarray<_Tp>&) const;
- /// Right shift slice elements by corresponding elements of @a v.
- void operator>>=(const valarray<_Tp>&) const;
- /// Assign all slice elements to @a t.
- void operator= (const _Tp&) const;
- // ~indirect_array();
-
- template<class _Dom>
- void operator=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator*=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator/=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator%=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator+=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator-=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator^=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator&=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator|=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator<<=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator>>=(const _Expr<_Dom, _Tp>&) const;
-
- private:
- /// Copy constructor. Both slices refer to the same underlying array.
- indirect_array(_Array<_Tp>, size_t, _Array<size_t>);
-
- friend class valarray<_Tp>;
- friend class gslice_array<_Tp>;
-
- const size_t _M_sz;
- const _Array<size_t> _M_index;
- const _Array<_Tp> _M_array;
-
- // not implemented
- indirect_array();
- };
-
- template<typename _Tp>
- inline
- indirect_array<_Tp>::indirect_array(const indirect_array<_Tp>& __a)
- : _M_sz(__a._M_sz), _M_index(__a._M_index), _M_array(__a._M_array) {}
-
- template<typename _Tp>
- inline
- indirect_array<_Tp>::indirect_array(_Array<_Tp> __a, size_t __s,
- _Array<size_t> __i)
- : _M_sz(__s), _M_index(__i), _M_array(__a) {}
-
- template<typename _Tp>
- inline indirect_array<_Tp>&
- indirect_array<_Tp>::operator=(const indirect_array<_Tp>& __a)
- {
- std::__valarray_copy(__a._M_array, _M_sz, __a._M_index, _M_array,
- _M_index);
- return *this;
- }
-
- template<typename _Tp>
- inline void
- indirect_array<_Tp>::operator=(const _Tp& __t) const
- { std::__valarray_fill(_M_array, _M_index, _M_sz, __t); }
-
- template<typename _Tp>
- inline void
- indirect_array<_Tp>::operator=(const valarray<_Tp>& __v) const
- { std::__valarray_copy(_Array<_Tp>(__v), _M_sz, _M_array, _M_index); }
-
- template<typename _Tp>
- template<class _Dom>
- inline void
- indirect_array<_Tp>::operator=(const _Expr<_Dom, _Tp>& __e) const
- { std::__valarray_copy(__e, _M_sz, _M_array, _M_index); }
-
-#undef _DEFINE_VALARRAY_OPERATOR
-#define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \
- template<typename _Tp> \
- inline void \
- indirect_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const\
- { \
- _Array_augmented_##_Name(_M_array, _M_index, _Array<_Tp>(__v), _M_sz); \
- } \
- \
- template<typename _Tp> \
- template<class _Dom> \
- inline void \
- indirect_array<_Tp>::operator _Op##=(const _Expr<_Dom,_Tp>& __e) const\
- { \
- _Array_augmented_##_Name(_M_array, _M_index, __e, _M_sz); \
- }
-
-_DEFINE_VALARRAY_OPERATOR(*, __multiplies)
-_DEFINE_VALARRAY_OPERATOR(/, __divides)
-_DEFINE_VALARRAY_OPERATOR(%, __modulus)
-_DEFINE_VALARRAY_OPERATOR(+, __plus)
-_DEFINE_VALARRAY_OPERATOR(-, __minus)
-_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor)
-_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and)
-_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or)
-_DEFINE_VALARRAY_OPERATOR(<<, __shift_left)
-_DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
-
-#undef _DEFINE_VALARRAY_OPERATOR
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _INDIRECT_ARRAY_H */
diff --git a/contrib/libstdc++/include/bits/ios_base.h b/contrib/libstdc++/include/bits/ios_base.h
deleted file mode 100644
index 33dc256a4cf3..000000000000
--- a/contrib/libstdc++/include/bits/ios_base.h
+++ /dev/null
@@ -1,968 +0,0 @@
-// Iostreams base classes -*- C++ -*-
-
-// 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 ios_base.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 27.4 Iostreams base classes
-//
-
-#ifndef _IOS_BASE_H
-#define _IOS_BASE_H 1
-
-#pragma GCC system_header
-
-#include <ext/atomicity.h>
-#include <bits/localefwd.h>
-#include <bits/locale_classes.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // The following definitions of bitmask types are enums, not ints,
- // as permitted (but not required) in the standard, in order to provide
- // better type safety in iostream calls. A side effect is that
- // expressions involving them are no longer compile-time constants.
- enum _Ios_Fmtflags
- {
- _S_boolalpha = 1L << 0,
- _S_dec = 1L << 1,
- _S_fixed = 1L << 2,
- _S_hex = 1L << 3,
- _S_internal = 1L << 4,
- _S_left = 1L << 5,
- _S_oct = 1L << 6,
- _S_right = 1L << 7,
- _S_scientific = 1L << 8,
- _S_showbase = 1L << 9,
- _S_showpoint = 1L << 10,
- _S_showpos = 1L << 11,
- _S_skipws = 1L << 12,
- _S_unitbuf = 1L << 13,
- _S_uppercase = 1L << 14,
- _S_adjustfield = _S_left | _S_right | _S_internal,
- _S_basefield = _S_dec | _S_oct | _S_hex,
- _S_floatfield = _S_scientific | _S_fixed,
- _S_ios_fmtflags_end = 1L << 16
- };
-
- inline _Ios_Fmtflags
- operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
- { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
-
- inline _Ios_Fmtflags
- operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
- { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
-
- inline _Ios_Fmtflags
- operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
- { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
-
- inline _Ios_Fmtflags&
- operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
- { return __a = __a | __b; }
-
- inline _Ios_Fmtflags&
- operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
- { return __a = __a & __b; }
-
- inline _Ios_Fmtflags&
- operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
- { return __a = __a ^ __b; }
-
- inline _Ios_Fmtflags
- operator~(_Ios_Fmtflags __a)
- { return _Ios_Fmtflags(~static_cast<int>(__a)); }
-
-
- enum _Ios_Openmode
- {
- _S_app = 1L << 0,
- _S_ate = 1L << 1,
- _S_bin = 1L << 2,
- _S_in = 1L << 3,
- _S_out = 1L << 4,
- _S_trunc = 1L << 5,
- _S_ios_openmode_end = 1L << 16
- };
-
- inline _Ios_Openmode
- operator&(_Ios_Openmode __a, _Ios_Openmode __b)
- { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
-
- inline _Ios_Openmode
- operator|(_Ios_Openmode __a, _Ios_Openmode __b)
- { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
-
- inline _Ios_Openmode
- operator^(_Ios_Openmode __a, _Ios_Openmode __b)
- { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
-
- inline _Ios_Openmode&
- operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
- { return __a = __a | __b; }
-
- inline _Ios_Openmode&
- operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
- { return __a = __a & __b; }
-
- inline _Ios_Openmode&
- operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
- { return __a = __a ^ __b; }
-
- inline _Ios_Openmode
- operator~(_Ios_Openmode __a)
- { return _Ios_Openmode(~static_cast<int>(__a)); }
-
-
- enum _Ios_Iostate
- {
- _S_goodbit = 0,
- _S_badbit = 1L << 0,
- _S_eofbit = 1L << 1,
- _S_failbit = 1L << 2,
- _S_ios_iostate_end = 1L << 16
- };
-
- inline _Ios_Iostate
- operator&(_Ios_Iostate __a, _Ios_Iostate __b)
- { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
-
- inline _Ios_Iostate
- operator|(_Ios_Iostate __a, _Ios_Iostate __b)
- { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
-
- inline _Ios_Iostate
- operator^(_Ios_Iostate __a, _Ios_Iostate __b)
- { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
-
- inline _Ios_Iostate&
- operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
- { return __a = __a | __b; }
-
- inline _Ios_Iostate&
- operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
- { return __a = __a & __b; }
-
- inline _Ios_Iostate&
- operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
- { return __a = __a ^ __b; }
-
- inline _Ios_Iostate
- operator~(_Ios_Iostate __a)
- { return _Ios_Iostate(~static_cast<int>(__a)); }
-
- enum _Ios_Seekdir
- {
- _S_beg = 0,
- _S_cur = SEEK_CUR,
- _S_end = SEEK_END,
- _S_ios_seekdir_end = 1L << 16
- };
-
- // 27.4.2 Class ios_base
- /**
- * @brief The base of the I/O class hierarchy.
- *
- * This class defines everything that can be defined about I/O that does
- * not depend on the type of characters being input or output. Most
- * people will only see @c ios_base when they need to specify the full
- * name of the various I/O flags (e.g., the openmodes).
- */
- class ios_base
- {
- public:
-
- // 27.4.2.1.1 Class ios_base::failure
- /// These are thrown to indicate problems. Doc me.
- class failure : public exception
- {
- public:
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 48. Use of non-existent exception constructor
- explicit
- failure(const string& __str) throw();
-
- // This declaration is not useless:
- // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118
- virtual
- ~failure() throw();
-
- virtual const char*
- what() const throw();
-
- private:
- string _M_msg;
- };
-
- // 27.4.2.1.2 Type ios_base::fmtflags
- /**
- * @brief This is a bitmask type.
- *
- * @c "_Ios_Fmtflags" is implementation-defined, but it is valid to
- * perform bitwise operations on these values and expect the Right
- * Thing to happen. Defined objects of type fmtflags are:
- * - boolalpha
- * - dec
- * - fixed
- * - hex
- * - internal
- * - left
- * - oct
- * - right
- * - scientific
- * - showbase
- * - showpoint
- * - showpos
- * - skipws
- * - unitbuf
- * - uppercase
- * - adjustfield
- * - basefield
- * - floatfield
- */
- typedef _Ios_Fmtflags fmtflags;
-
- /// Insert/extract @c bool in alphabetic rather than numeric format.
- static const fmtflags boolalpha = _S_boolalpha;
-
- /// Converts integer input or generates integer output in decimal base.
- static const fmtflags dec = _S_dec;
-
- /// Generate floating-point output in fixed-point notation.
- static const fmtflags fixed = _S_fixed;
-
- /// Converts integer input or generates integer output in hexadecimal base.
- static const fmtflags hex = _S_hex;
-
- /// Adds fill characters at a designated internal point in certain
- /// generated output, or identical to @c right if no such point is
- /// designated.
- static const fmtflags internal = _S_internal;
-
- /// Adds fill characters on the right (final positions) of certain
- /// generated output. (I.e., the thing you print is flush left.)
- static const fmtflags left = _S_left;
-
- /// Converts integer input or generates integer output in octal base.
- static const fmtflags oct = _S_oct;
-
- /// Adds fill characters on the left (initial positions) of certain
- /// generated output. (I.e., the thing you print is flush right.)
- static const fmtflags right = _S_right;
-
- /// Generates floating-point output in scientific notation.
- static const fmtflags scientific = _S_scientific;
-
- /// Generates a prefix indicating the numeric base of generated integer
- /// output.
- static const fmtflags showbase = _S_showbase;
-
- /// Generates a decimal-point character unconditionally in generated
- /// floating-point output.
- static const fmtflags showpoint = _S_showpoint;
-
- /// Generates a + sign in non-negative generated numeric output.
- static const fmtflags showpos = _S_showpos;
-
- /// Skips leading white space before certain input operations.
- static const fmtflags skipws = _S_skipws;
-
- /// Flushes output after each output operation.
- static const fmtflags unitbuf = _S_unitbuf;
-
- /// Replaces certain lowercase letters with their uppercase equivalents
- /// in generated output.
- static const fmtflags uppercase = _S_uppercase;
-
- /// A mask of left|right|internal. Useful for the 2-arg form of @c setf.
- static const fmtflags adjustfield = _S_adjustfield;
-
- /// A mask of dec|oct|hex. Useful for the 2-arg form of @c setf.
- static const fmtflags basefield = _S_basefield;
-
- /// A mask of scientific|fixed. Useful for the 2-arg form of @c setf.
- static const fmtflags floatfield = _S_floatfield;
-
- // 27.4.2.1.3 Type ios_base::iostate
- /**
- * @brief This is a bitmask type.
- *
- * @c "_Ios_Iostate" is implementation-defined, but it is valid to
- * perform bitwise operations on these values and expect the Right
- * Thing to happen. Defined objects of type iostate are:
- * - badbit
- * - eofbit
- * - failbit
- * - goodbit
- */
- typedef _Ios_Iostate iostate;
-
- /// Indicates a loss of integrity in an input or output sequence (such
- /// as an irrecoverable read error from a file).
- static const iostate badbit = _S_badbit;
-
- /// Indicates that an input operation reached the end of an input sequence.
- static const iostate eofbit = _S_eofbit;
-
- /// Indicates that an input operation failed to read the expected
- /// characters, or that an output operation failed to generate the
- /// desired characters.
- static const iostate failbit = _S_failbit;
-
- /// Indicates all is well.
- static const iostate goodbit = _S_goodbit;
-
- // 27.4.2.1.4 Type ios_base::openmode
- /**
- * @brief This is a bitmask type.
- *
- * @c "_Ios_Openmode" is implementation-defined, but it is valid to
- * perform bitwise operations on these values and expect the Right
- * Thing to happen. Defined objects of type openmode are:
- * - app
- * - ate
- * - binary
- * - in
- * - out
- * - trunc
- */
- typedef _Ios_Openmode openmode;
-
- /// Seek to end before each write.
- static const openmode app = _S_app;
-
- /// Open and seek to end immediately after opening.
- static const openmode ate = _S_ate;
-
- /// Perform input and output in binary mode (as opposed to text mode).
- /// This is probably not what you think it is; see
- /// http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#3 and
- /// http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#7 for more.
- static const openmode binary = _S_bin;
-
- /// Open for input. Default for @c ifstream and fstream.
- static const openmode in = _S_in;
-
- /// Open for output. Default for @c ofstream and fstream.
- static const openmode out = _S_out;
-
- /// Open for input. Default for @c ofstream.
- static const openmode trunc = _S_trunc;
-
- // 27.4.2.1.5 Type ios_base::seekdir
- /**
- * @brief This is an enumerated type.
- *
- * @c "_Ios_Seekdir" is implementation-defined. Defined values
- * of type seekdir are:
- * - beg
- * - cur, equivalent to @c SEEK_CUR in the C standard library.
- * - end, equivalent to @c SEEK_END in the C standard library.
- */
- typedef _Ios_Seekdir seekdir;
-
- /// Request a seek relative to the beginning of the stream.
- static const seekdir beg = _S_beg;
-
- /// Request a seek relative to the current position within the sequence.
- static const seekdir cur = _S_cur;
-
- /// Request a seek relative to the current end of the sequence.
- static const seekdir end = _S_end;
-
- // Annex D.6
- typedef int io_state;
- typedef int open_mode;
- typedef int seek_dir;
-
- typedef std::streampos streampos;
- typedef std::streamoff streamoff;
-
- // Callbacks;
- /**
- * @brief The set of events that may be passed to an event callback.
- *
- * erase_event is used during ~ios() and copyfmt(). imbue_event is used
- * during imbue(). copyfmt_event is used during copyfmt().
- */
- enum event
- {
- erase_event,
- imbue_event,
- copyfmt_event
- };
-
- /**
- * @brief The type of an event callback function.
- * @param event One of the members of the event enum.
- * @param ios_base Reference to the ios_base object.
- * @param int The integer provided when the callback was registered.
- *
- * Event callbacks are user defined functions that get called during
- * several ios_base and basic_ios functions, specifically imbue(),
- * copyfmt(), and ~ios().
- */
- typedef void (*event_callback) (event, ios_base&, int);
-
- /**
- * @brief Add the callback __fn with parameter __index.
- * @param __fn The function to add.
- * @param __index The integer to pass to the function when invoked.
- *
- * Registers a function as an event callback with an integer parameter to
- * be passed to the function when invoked. Multiple copies of the
- * function are allowed. If there are multiple callbacks, they are
- * invoked in the order they were registered.
- */
- void
- register_callback(event_callback __fn, int __index);
-
- protected:
- //@{
- /**
- * @if maint
- * ios_base data members (doc me)
- * @endif
- */
- streamsize _M_precision;
- streamsize _M_width;
- fmtflags _M_flags;
- iostate _M_exception;
- iostate _M_streambuf_state;
- //@}
-
- // 27.4.2.6 Members for callbacks
- // 27.4.2.6 ios_base callbacks
- struct _Callback_list
- {
- // Data Members
- _Callback_list* _M_next;
- ios_base::event_callback _M_fn;
- int _M_index;
- _Atomic_word _M_refcount; // 0 means one reference.
-
- _Callback_list(ios_base::event_callback __fn, int __index,
- _Callback_list* __cb)
- : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
-
- void
- _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
-
- // 0 => OK to delete.
- int
- _M_remove_reference()
- { return __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); }
- };
-
- _Callback_list* _M_callbacks;
-
- void
- _M_call_callbacks(event __ev) throw();
-
- void
- _M_dispose_callbacks(void);
-
- // 27.4.2.5 Members for iword/pword storage
- struct _Words
- {
- void* _M_pword;
- long _M_iword;
- _Words() : _M_pword(0), _M_iword(0) { }
- };
-
- // Only for failed iword/pword calls.
- _Words _M_word_zero;
-
- // Guaranteed storage.
- // The first 5 iword and pword slots are reserved for internal use.
- enum { _S_local_word_size = 8 };
- _Words _M_local_word[_S_local_word_size];
-
- // Allocated storage.
- int _M_word_size;
- _Words* _M_word;
-
- _Words&
- _M_grow_words(int __index, bool __iword);
-
- // Members for locale and locale caching.
- locale _M_ios_locale;
-
- void
- _M_init();
-
- public:
-
- // 27.4.2.1.6 Class ios_base::Init
- // Used to initialize standard streams. In theory, g++ could use
- // -finit-priority to order this stuff correctly without going
- // through these machinations.
- class Init
- {
- friend class ios_base;
- public:
- Init();
- ~Init();
-
- private:
- static _Atomic_word _S_refcount;
- static bool _S_synced_with_stdio;
- };
-
- // [27.4.2.2] fmtflags state functions
- /**
- * @brief Access to format flags.
- * @return The format control flags for both input and output.
- */
- inline fmtflags
- flags() const { return _M_flags; }
-
- /**
- * @brief Setting new format flags all at once.
- * @param fmtfl The new flags to set.
- * @return The previous format control flags.
- *
- * This function overwrites all the format flags with @a fmtfl.
- */
- inline fmtflags
- flags(fmtflags __fmtfl)
- {
- fmtflags __old = _M_flags;
- _M_flags = __fmtfl;
- return __old;
- }
-
- /**
- * @brief Setting new format flags.
- * @param fmtfl Additional flags to set.
- * @return The previous format control flags.
- *
- * This function sets additional flags in format control. Flags that
- * were previously set remain set.
- */
- inline fmtflags
- setf(fmtflags __fmtfl)
- {
- fmtflags __old = _M_flags;
- _M_flags |= __fmtfl;
- return __old;
- }
-
- /**
- * @brief Setting new format flags.
- * @param fmtfl Additional flags to set.
- * @param mask The flags mask for @a fmtfl.
- * @return The previous format control flags.
- *
- * This function clears @a mask in the format flags, then sets
- * @a fmtfl @c & @a mask. An example mask is @c ios_base::adjustfield.
- */
- inline fmtflags
- setf(fmtflags __fmtfl, fmtflags __mask)
- {
- fmtflags __old = _M_flags;
- _M_flags &= ~__mask;
- _M_flags |= (__fmtfl & __mask);
- return __old;
- }
-
- /**
- * @brief Clearing format flags.
- * @param mask The flags to unset.
- *
- * This function clears @a mask in the format flags.
- */
- inline void
- unsetf(fmtflags __mask) { _M_flags &= ~__mask; }
-
- /**
- * @brief Flags access.
- * @return The precision to generate on certain output operations.
- *
- * @if maint
- * Be careful if you try to give a definition of "precision" here; see
- * DR 189.
- * @endif
- */
- inline streamsize
- precision() const { return _M_precision; }
-
- /**
- * @brief Changing flags.
- * @param prec The new precision value.
- * @return The previous value of precision().
- */
- inline streamsize
- precision(streamsize __prec)
- {
- streamsize __old = _M_precision;
- _M_precision = __prec;
- return __old;
- }
-
- /**
- * @brief Flags access.
- * @return The minimum field width to generate on output operations.
- *
- * "Minimum field width" refers to the number of characters.
- */
- inline streamsize
- width() const { return _M_width; }
-
- /**
- * @brief Changing flags.
- * @param wide The new width value.
- * @return The previous value of width().
- */
- inline streamsize
- width(streamsize __wide)
- {
- streamsize __old = _M_width;
- _M_width = __wide;
- return __old;
- }
-
- // [27.4.2.4] ios_base static members
- /**
- * @brief Interaction with the standard C I/O objects.
- * @param sync Whether to synchronize or not.
- * @return True if the standard streams were previously synchronized.
- *
- * The synchronization referred to is @e only that between the standard
- * C facilities (e.g., stdout) and the standard C++ objects (e.g.,
- * cout). User-declared streams are unaffected. See
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#8 for more.
- */
- static bool
- sync_with_stdio(bool __sync = true);
-
- // [27.4.2.3] ios_base locale functions
- /**
- * @brief Setting a new locale.
- * @param loc The new locale.
- * @return The previous locale.
- *
- * Sets the new locale for this stream, and then invokes each callback
- * with imbue_event.
- */
- locale
- imbue(const locale& __loc);
-
- /**
- * @brief Locale access
- * @return A copy of the current locale.
- *
- * If @c imbue(loc) has previously been called, then this function
- * returns @c loc. Otherwise, it returns a copy of @c std::locale(),
- * the global C++ locale.
- */
- inline locale
- getloc() const { return _M_ios_locale; }
-
- /**
- * @brief Locale access
- * @return A reference to the current locale.
- *
- * Like getloc above, but returns a reference instead of
- * generating a copy.
- */
- inline const locale&
- _M_getloc() const { return _M_ios_locale; }
-
- // [27.4.2.5] ios_base storage functions
- /**
- * @brief Access to unique indices.
- * @return An integer different from all previous calls.
- *
- * This function returns a unique integer every time it is called. It
- * can be used for any purpose, but is primarily intended to be a unique
- * index for the iword and pword functions. The expectation is that an
- * application calls xalloc in order to obtain an index in the iword and
- * pword arrays that can be used without fear of conflict.
- *
- * The implementation maintains a static variable that is incremented and
- * returned on each invocation. xalloc is guaranteed to return an index
- * that is safe to use in the iword and pword arrays.
- */
- static int
- xalloc() throw();
-
- /**
- * @brief Access to integer array.
- * @param __ix Index into the array.
- * @return A reference to an integer associated with the index.
- *
- * The iword function provides access to an array of integers that can be
- * used for any purpose. The array grows as required to hold the
- * supplied index. All integers in the array are initialized to 0.
- *
- * The implementation reserves several indices. You should use xalloc to
- * obtain an index that is safe to use. Also note that since the array
- * can grow dynamically, it is not safe to hold onto the reference.
- */
- inline long&
- iword(int __ix)
- {
- _Words& __word = (__ix < _M_word_size)
- ? _M_word[__ix] : _M_grow_words(__ix, true);
- return __word._M_iword;
- }
-
- /**
- * @brief Access to void pointer array.
- * @param __ix Index into the array.
- * @return A reference to a void* associated with the index.
- *
- * The pword function provides access to an array of pointers that can be
- * used for any purpose. The array grows as required to hold the
- * supplied index. All pointers in the array are initialized to 0.
- *
- * The implementation reserves several indices. You should use xalloc to
- * obtain an index that is safe to use. Also note that since the array
- * can grow dynamically, it is not safe to hold onto the reference.
- */
- inline void*&
- pword(int __ix)
- {
- _Words& __word = (__ix < _M_word_size)
- ? _M_word[__ix] : _M_grow_words(__ix, false);
- return __word._M_pword;
- }
-
- // Destructor
- /**
- * Invokes each callback with erase_event. Destroys local storage.
- *
- * Note that the ios_base object for the standard streams never gets
- * destroyed. As a result, any callbacks registered with the standard
- * streams will not get invoked with erase_event (unless copyfmt is
- * used).
- */
- virtual ~ios_base();
-
- protected:
- ios_base();
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 50. Copy constructor and assignment operator of ios_base
- private:
- ios_base(const ios_base&);
-
- ios_base&
- operator=(const ios_base&);
- };
-
- // [27.4.5.1] fmtflags manipulators
- /// Calls base.setf(ios_base::boolalpha).
- inline ios_base&
- boolalpha(ios_base& __base)
- {
- __base.setf(ios_base::boolalpha);
- return __base;
- }
-
- /// Calls base.unsetf(ios_base::boolalpha).
- inline ios_base&
- noboolalpha(ios_base& __base)
- {
- __base.unsetf(ios_base::boolalpha);
- return __base;
- }
-
- /// Calls base.setf(ios_base::showbase).
- inline ios_base&
- showbase(ios_base& __base)
- {
- __base.setf(ios_base::showbase);
- return __base;
- }
-
- /// Calls base.unsetf(ios_base::showbase).
- inline ios_base&
- noshowbase(ios_base& __base)
- {
- __base.unsetf(ios_base::showbase);
- return __base;
- }
-
- /// Calls base.setf(ios_base::showpoint).
- inline ios_base&
- showpoint(ios_base& __base)
- {
- __base.setf(ios_base::showpoint);
- return __base;
- }
-
- /// Calls base.unsetf(ios_base::showpoint).
- inline ios_base&
- noshowpoint(ios_base& __base)
- {
- __base.unsetf(ios_base::showpoint);
- return __base;
- }
-
- /// Calls base.setf(ios_base::showpos).
- inline ios_base&
- showpos(ios_base& __base)
- {
- __base.setf(ios_base::showpos);
- return __base;
- }
-
- /// Calls base.unsetf(ios_base::showpos).
- inline ios_base&
- noshowpos(ios_base& __base)
- {
- __base.unsetf(ios_base::showpos);
- return __base;
- }
-
- /// Calls base.setf(ios_base::skipws).
- inline ios_base&
- skipws(ios_base& __base)
- {
- __base.setf(ios_base::skipws);
- return __base;
- }
-
- /// Calls base.unsetf(ios_base::skipws).
- inline ios_base&
- noskipws(ios_base& __base)
- {
- __base.unsetf(ios_base::skipws);
- return __base;
- }
-
- /// Calls base.setf(ios_base::uppercase).
- inline ios_base&
- uppercase(ios_base& __base)
- {
- __base.setf(ios_base::uppercase);
- return __base;
- }
-
- /// Calls base.unsetf(ios_base::uppercase).
- inline ios_base&
- nouppercase(ios_base& __base)
- {
- __base.unsetf(ios_base::uppercase);
- return __base;
- }
-
- /// Calls base.setf(ios_base::unitbuf).
- inline ios_base&
- unitbuf(ios_base& __base)
- {
- __base.setf(ios_base::unitbuf);
- return __base;
- }
-
- /// Calls base.unsetf(ios_base::unitbuf).
- inline ios_base&
- nounitbuf(ios_base& __base)
- {
- __base.unsetf(ios_base::unitbuf);
- return __base;
- }
-
- // [27.4.5.2] adjustfield anipulators
- /// Calls base.setf(ios_base::internal, ios_base::adjustfield).
- inline ios_base&
- internal(ios_base& __base)
- {
- __base.setf(ios_base::internal, ios_base::adjustfield);
- return __base;
- }
-
- /// Calls base.setf(ios_base::left, ios_base::adjustfield).
- inline ios_base&
- left(ios_base& __base)
- {
- __base.setf(ios_base::left, ios_base::adjustfield);
- return __base;
- }
-
- /// Calls base.setf(ios_base::right, ios_base::adjustfield).
- inline ios_base&
- right(ios_base& __base)
- {
- __base.setf(ios_base::right, ios_base::adjustfield);
- return __base;
- }
-
- // [27.4.5.3] basefield anipulators
- /// Calls base.setf(ios_base::dec, ios_base::basefield).
- inline ios_base&
- dec(ios_base& __base)
- {
- __base.setf(ios_base::dec, ios_base::basefield);
- return __base;
- }
-
- /// Calls base.setf(ios_base::hex, ios_base::basefield).
- inline ios_base&
- hex(ios_base& __base)
- {
- __base.setf(ios_base::hex, ios_base::basefield);
- return __base;
- }
-
- /// Calls base.setf(ios_base::oct, ios_base::basefield).
- inline ios_base&
- oct(ios_base& __base)
- {
- __base.setf(ios_base::oct, ios_base::basefield);
- return __base;
- }
-
- // [27.4.5.4] floatfield anipulators
- /// Calls base.setf(ios_base::fixed, ios_base::floatfield).
- inline ios_base&
- fixed(ios_base& __base)
- {
- __base.setf(ios_base::fixed, ios_base::floatfield);
- return __base;
- }
-
- /// Calls base.setf(ios_base::scientific, ios_base::floatfield).
- inline ios_base&
- scientific(ios_base& __base)
- {
- __base.setf(ios_base::scientific, ios_base::floatfield);
- return __base;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _IOS_BASE_H */
-
diff --git a/contrib/libstdc++/include/bits/istream.tcc b/contrib/libstdc++/include/bits/istream.tcc
deleted file mode 100644
index 13facc489a1a..000000000000
--- a/contrib/libstdc++/include/bits/istream.tcc
+++ /dev/null
@@ -1,1047 +0,0 @@
-// istream classes -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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 istream.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 27.6.1 Input streams
-//
-
-#ifndef _ISTREAM_TCC
-#define _ISTREAM_TCC 1
-
-#pragma GCC system_header
-
-#include <locale>
-#include <ostream> // For flush()
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>::sentry::
- sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- if (__in.good())
- {
- if (__in.tie())
- __in.tie()->flush();
- if (!__noskip && (__in.flags() & ios_base::skipws))
- {
- const __int_type __eof = traits_type::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- const __ctype_type& __ct = __check_facet(__in._M_ctype);
- while (!traits_type::eq_int_type(__c, __eof)
- && __ct.is(ctype_base::space,
- traits_type::to_char_type(__c)))
- __c = __sb->snextc();
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 195. Should basic_istream::sentry's constructor ever
- // set eofbit?
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- }
- }
-
- if (__in.good() && __err == ios_base::goodbit)
- _M_ok = true;
- else
- {
- __err |= ios_base::failbit;
- __in.setstate(__err);
- }
- }
-
- template<typename _CharT, typename _Traits>
- template<typename _ValueT>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- _M_extract(_ValueT& __v)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __v);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(short& __n)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 118. basic_istream uses nonexistent num_get member functions.
- long __l;
- _M_extract(__l);
- if (!this->fail())
- {
- if (numeric_limits<short>::min() <= __l
- && __l <= numeric_limits<short>::max())
- __n = __l;
- else
- this->setstate(ios_base::failbit);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(int& __n)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 118. basic_istream uses nonexistent num_get member functions.
- long __l;
- _M_extract(__l);
- if (!this->fail())
- {
- if (numeric_limits<int>::min() <= __l
- && __l <= numeric_limits<int>::max())
- __n = __l;
- else
- this->setstate(ios_base::failbit);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(__streambuf_type* __sbout)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, false);
- if (__cerb && __sbout)
- {
- try
- {
- bool __ineof;
- if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
- __err |= ios_base::failbit;
- if (__ineof)
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::failbit); }
- }
- else if (!__sbout)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_istream<_CharT, _Traits>::int_type
- basic_istream<_CharT, _Traits>::
- get(void)
- {
- const int_type __eof = traits_type::eof();
- int_type __c = __eof;
- _M_gcount = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, true);
- if (__cerb)
- {
- try
- {
- __c = this->rdbuf()->sbumpc();
- // 27.6.1.1 paragraph 3
- if (!traits_type::eq_int_type(__c, __eof))
- _M_gcount = 1;
- else
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- }
- if (!_M_gcount)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return __c;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- get(char_type& __c)
- {
- _M_gcount = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, true);
- if (__cerb)
- {
- try
- {
- const int_type __cb = this->rdbuf()->sbumpc();
- // 27.6.1.1 paragraph 3
- if (!traits_type::eq_int_type(__cb, traits_type::eof()))
- {
- _M_gcount = 1;
- __c = traits_type::to_char_type(__cb);
- }
- else
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- }
- if (!_M_gcount)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- get(char_type* __s, streamsize __n, char_type __delim)
- {
- _M_gcount = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, true);
- if (__cerb)
- {
- try
- {
- const int_type __idelim = traits_type::to_int_type(__delim);
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- while (_M_gcount + 1 < __n
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __idelim))
- {
- *__s++ = traits_type::to_char_type(__c);
- ++_M_gcount;
- __c = __sb->snextc();
- }
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- }
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 243. get and getline when sentry reports failure.
- if (__n > 0)
- *__s = char_type();
- if (!_M_gcount)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- get(__streambuf_type& __sb, char_type __delim)
- {
- _M_gcount = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, true);
- if (__cerb)
- {
- try
- {
- const int_type __idelim = traits_type::to_int_type(__delim);
- const int_type __eof = traits_type::eof();
- __streambuf_type* __this_sb = this->rdbuf();
- int_type __c = __this_sb->sgetc();
- char_type __c2 = traits_type::to_char_type(__c);
-
- while (!traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __idelim)
- && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
- {
- ++_M_gcount;
- __c = __this_sb->snextc();
- __c2 = traits_type::to_char_type(__c);
- }
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- }
- if (!_M_gcount)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- getline(char_type* __s, streamsize __n, char_type __delim)
- {
- _M_gcount = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, true);
- if (__cerb)
- {
- try
- {
- const int_type __idelim = traits_type::to_int_type(__delim);
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- while (_M_gcount + 1 < __n
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __idelim))
- {
- *__s++ = traits_type::to_char_type(__c);
- __c = __sb->snextc();
- ++_M_gcount;
- }
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else
- {
- if (traits_type::eq_int_type(__c, __idelim))
- {
- __sb->sbumpc();
- ++_M_gcount;
- }
- else
- __err |= ios_base::failbit;
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- }
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 243. get and getline when sentry reports failure.
- if (__n > 0)
- *__s = char_type();
- if (!_M_gcount)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- // We provide three overloads, since the first two are much simpler
- // than the general case. Also, the latter two can thus adopt the
- // same "batchy" strategy used by getline above.
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- ignore(void)
- {
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
-
- if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
- __err |= ios_base::eofbit;
- else
- _M_gcount = 1;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- ignore(streamsize __n)
- {
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb && __n > 0)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- // N.B. On LFS-enabled platforms streamsize is still 32 bits
- // wide: if we want to implement the standard mandated behavior
- // for n == max() (see 27.6.1.3/24) we are at risk of signed
- // integer overflow: thus these contortions. Also note that,
- // by definition, when more than 2G chars are actually ignored,
- // _M_gcount (the return value of gcount, that is) cannot be
- // really correct, being unavoidably too small.
- bool __large_ignore = false;
- while (true)
- {
- while (_M_gcount < __n
- && !traits_type::eq_int_type(__c, __eof))
- {
- ++_M_gcount;
- __c = __sb->snextc();
- }
- if (__n == numeric_limits<streamsize>::max()
- && !traits_type::eq_int_type(__c, __eof))
- {
- _M_gcount = numeric_limits<streamsize>::min();
- __large_ignore = true;
- }
- else
- break;
- }
-
- if (__large_ignore)
- _M_gcount = numeric_limits<streamsize>::max();
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- ignore(streamsize __n, int_type __delim)
- {
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb && __n > 0)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- // See comment above.
- bool __large_ignore = false;
- while (true)
- {
- while (_M_gcount < __n
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __delim))
- {
- ++_M_gcount;
- __c = __sb->snextc();
- }
- if (__n == numeric_limits<streamsize>::max()
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __delim))
- {
- _M_gcount = numeric_limits<streamsize>::min();
- __large_ignore = true;
- }
- else
- break;
- }
-
- if (__large_ignore)
- _M_gcount = numeric_limits<streamsize>::max();
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (traits_type::eq_int_type(__c, __delim))
- {
- if (_M_gcount < numeric_limits<streamsize>::max())
- ++_M_gcount;
- __sb->sbumpc();
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_istream<_CharT, _Traits>::int_type
- basic_istream<_CharT, _Traits>::
- peek(void)
- {
- int_type __c = traits_type::eof();
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- __c = this->rdbuf()->sgetc();
- if (traits_type::eq_int_type(__c, traits_type::eof()))
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return __c;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- read(char_type* __s, streamsize __n)
- {
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- _M_gcount = this->rdbuf()->sgetn(__s, __n);
- if (_M_gcount != __n)
- __err |= (ios_base::eofbit | ios_base::failbit);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- streamsize
- basic_istream<_CharT, _Traits>::
- readsome(char_type* __s, streamsize __n)
- {
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- // Cannot compare int_type with streamsize generically.
- const streamsize __num = this->rdbuf()->in_avail();
- if (__num > 0)
- _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
- else if (__num == -1)
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return _M_gcount;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- putback(char_type __c)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 60. What is a formatted input function?
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- if (!__sb
- || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- unget(void)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 60. What is a formatted input function?
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- if (!__sb
- || traits_type::eq_int_type(__sb->sungetc(), __eof))
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- int
- basic_istream<_CharT, _Traits>::
- sync(void)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR60. Do not change _M_gcount.
- int __ret = -1;
- sentry __cerb(*this, true);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- __streambuf_type* __sb = this->rdbuf();
- if (__sb)
- {
- if (__sb->pubsync() == -1)
- __err |= ios_base::badbit;
- else
- __ret = 0;
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_istream<_CharT, _Traits>::pos_type
- basic_istream<_CharT, _Traits>::
- tellg(void)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR60. Do not change _M_gcount.
- pos_type __ret = pos_type(-1);
- try
- {
- if (!this->fail())
- __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
- ios_base::in);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- seekg(pos_type __pos)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR60. Do not change _M_gcount.
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- if (!this->fail())
- {
- // 136. seekp, seekg setting wrong streams?
- const pos_type __p = this->rdbuf()->pubseekpos(__pos,
- ios_base::in);
-
- // 129. Need error indication from seekp() and seekg()
- if (__p == pos_type(off_type(-1)))
- __err |= ios_base::failbit;
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- seekg(off_type __off, ios_base::seekdir __dir)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR60. Do not change _M_gcount.
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- if (!this->fail())
- {
- // 136. seekp, seekg setting wrong streams?
- const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
- ios_base::in);
-
- // 129. Need error indication from seekp() and seekg()
- if (__p == pos_type(off_type(-1)))
- __err |= ios_base::failbit;
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- // 27.6.1.2.3 Character extraction templates
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
- {
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::int_type __int_type;
-
- typename __istream_type::sentry __cerb(__in, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __int_type __cb = __in.rdbuf()->sbumpc();
- if (!_Traits::eq_int_type(__cb, _Traits::eof()))
- __c = _Traits::to_char_type(__cb);
- else
- __err |= (ios_base::eofbit | ios_base::failbit);
- }
- catch(...)
- { __in._M_setstate(ios_base::badbit); }
- if (__err)
- __in.setstate(__err);
- }
- return __in;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
- {
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::__streambuf_type __streambuf_type;
- typedef typename _Traits::int_type int_type;
- typedef _CharT char_type;
- typedef ctype<_CharT> __ctype_type;
-
- streamsize __extracted = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- typename __istream_type::sentry __cerb(__in, false);
- if (__cerb)
- {
- try
- {
- // Figure out how many characters to extract.
- streamsize __num = __in.width();
- if (__num <= 0)
- __num = numeric_limits<streamsize>::max();
-
- const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
-
- const int_type __eof = _Traits::eof();
- __streambuf_type* __sb = __in.rdbuf();
- int_type __c = __sb->sgetc();
-
- while (__extracted < __num - 1
- && !_Traits::eq_int_type(__c, __eof)
- && !__ct.is(ctype_base::space,
- _Traits::to_char_type(__c)))
- {
- *__s++ = _Traits::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- if (_Traits::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 68. Extractors for char* should store null at end
- *__s = char_type();
- __in.width(0);
- }
- catch(...)
- { __in._M_setstate(ios_base::badbit); }
- }
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
- // 27.6.1.4 Standard basic_istream manipulators
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT,_Traits>&
- ws(basic_istream<_CharT,_Traits>& __in)
- {
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::__streambuf_type __streambuf_type;
- typedef typename __istream_type::__ctype_type __ctype_type;
- typedef typename __istream_type::int_type __int_type;
-
- const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
- const __int_type __eof = _Traits::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (!_Traits::eq_int_type(__c, __eof)
- && __ct.is(ctype_base::space, _Traits::to_char_type(__c)))
- __c = __sb->snextc();
-
- if (_Traits::eq_int_type(__c, __eof))
- __in.setstate(ios_base::eofbit);
- return __in;
- }
-
- // 21.3.7.9 basic_string::getline and operators
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in,
- basic_string<_CharT, _Traits, _Alloc>& __str)
- {
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::int_type __int_type;
- typedef typename __istream_type::__streambuf_type __streambuf_type;
- typedef typename __istream_type::__ctype_type __ctype_type;
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef typename __string_type::size_type __size_type;
-
- __size_type __extracted = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- typename __istream_type::sentry __cerb(__in, false);
- if (__cerb)
- {
- try
- {
- // Avoid reallocation for common case.
- __str.erase();
- _CharT __buf[128];
- __size_type __len = 0;
- const streamsize __w = __in.width();
- const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
- : __str.max_size();
- const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
- const __int_type __eof = _Traits::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __n
- && !_Traits::eq_int_type(__c, __eof)
- && !__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
- {
- if (__len == sizeof(__buf) / sizeof(_CharT))
- {
- __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
- __len = 0;
- }
- __buf[__len++] = _Traits::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- __str.append(__buf, __len);
-
- if (_Traits::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- __in.width(0);
- }
- catch(...)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 91. Description of operator>> and getline() for string<>
- // might cause endless loop
- __in._M_setstate(ios_base::badbit);
- }
- }
- // 211. operator>>(istream&, string&) doesn't set failbit
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- basic_istream<_CharT, _Traits>&
- getline(basic_istream<_CharT, _Traits>& __in,
- basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
- {
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::int_type __int_type;
- typedef typename __istream_type::__streambuf_type __streambuf_type;
- typedef typename __istream_type::__ctype_type __ctype_type;
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef typename __string_type::size_type __size_type;
-
- __size_type __extracted = 0;
- const __size_type __n = __str.max_size();
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- typename __istream_type::sentry __cerb(__in, true);
- if (__cerb)
- {
- try
- {
- __str.erase();
- const __int_type __idelim = _Traits::to_int_type(__delim);
- const __int_type __eof = _Traits::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __n
- && !_Traits::eq_int_type(__c, __eof)
- && !_Traits::eq_int_type(__c, __idelim))
- {
- __str += _Traits::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
-
- if (_Traits::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (_Traits::eq_int_type(__c, __idelim))
- {
- ++__extracted;
- __sb->sbumpc();
- }
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 91. Description of operator>> and getline() for string<>
- // might cause endless loop
- __in._M_setstate(ios_base::badbit);
- }
- }
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class basic_istream<char>;
- extern template istream& ws(istream&);
- extern template istream& operator>>(istream&, char&);
- extern template istream& operator>>(istream&, char*);
- extern template istream& operator>>(istream&, unsigned char&);
- extern template istream& operator>>(istream&, signed char&);
- extern template istream& operator>>(istream&, unsigned char*);
- extern template istream& operator>>(istream&, signed char*);
-
- extern template istream& istream::_M_extract(unsigned short&);
- extern template istream& istream::_M_extract(unsigned int&);
- extern template istream& istream::_M_extract(long&);
- extern template istream& istream::_M_extract(unsigned long&);
- extern template istream& istream::_M_extract(bool&);
-#ifdef _GLIBCXX_USE_LONG_LONG
- extern template istream& istream::_M_extract(long long&);
- extern template istream& istream::_M_extract(unsigned long long&);
-#endif
- extern template istream& istream::_M_extract(float&);
- extern template istream& istream::_M_extract(double&);
- extern template istream& istream::_M_extract(long double&);
- extern template istream& istream::_M_extract(void*&);
-
- extern template class basic_iostream<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class basic_istream<wchar_t>;
- extern template wistream& ws(wistream&);
- extern template wistream& operator>>(wistream&, wchar_t&);
- extern template wistream& operator>>(wistream&, wchar_t*);
-
- extern template wistream& wistream::_M_extract(unsigned short&);
- extern template wistream& wistream::_M_extract(unsigned int&);
- extern template wistream& wistream::_M_extract(long&);
- extern template wistream& wistream::_M_extract(unsigned long&);
- extern template wistream& wistream::_M_extract(bool&);
-#ifdef _GLIBCXX_USE_LONG_LONG
- extern template wistream& wistream::_M_extract(long long&);
- extern template wistream& wistream::_M_extract(unsigned long long&);
-#endif
- extern template wistream& wistream::_M_extract(float&);
- extern template wistream& wistream::_M_extract(double&);
- extern template wistream& wistream::_M_extract(long double&);
- extern template wistream& wistream::_M_extract(void*&);
-
- extern template class basic_iostream<wchar_t>;
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/list.tcc b/contrib/libstdc++/include/bits/list.tcc
deleted file mode 100644
index f2849fb6e52a..000000000000
--- a/contrib/libstdc++/include/bits/list.tcc
+++ /dev/null
@@ -1,385 +0,0 @@
-// List implementation (out of line) -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file list.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _LIST_TCC
-#define _LIST_TCC 1
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- template<typename _Tp, typename _Alloc>
- void
- _List_base<_Tp, _Alloc>::
- _M_clear()
- {
- typedef _List_node<_Tp> _Node;
- _Node* __cur = static_cast<_Node*>(this->_M_impl._M_node._M_next);
- while (__cur != &this->_M_impl._M_node)
- {
- _Node* __tmp = __cur;
- __cur = static_cast<_Node*>(__cur->_M_next);
- _M_get_Tp_allocator().destroy(&__tmp->_M_data);
- _M_put_node(__tmp);
- }
- }
-
- template<typename _Tp, typename _Alloc>
- typename list<_Tp, _Alloc>::iterator
- list<_Tp, _Alloc>::
- insert(iterator __position, const value_type& __x)
- {
- _Node* __tmp = _M_create_node(__x);
- __tmp->hook(__position._M_node);
- return iterator(__tmp);
- }
-
- template<typename _Tp, typename _Alloc>
- typename list<_Tp, _Alloc>::iterator
- list<_Tp, _Alloc>::
- erase(iterator __position)
- {
- iterator __ret = iterator(__position._M_node->_M_next);
- _M_erase(__position);
- return __ret;
- }
-
- template<typename _Tp, typename _Alloc>
- void
- list<_Tp, _Alloc>::
- resize(size_type __new_size, value_type __x)
- {
- iterator __i = begin();
- size_type __len = 0;
- for (; __i != end() && __len < __new_size; ++__i, ++__len)
- ;
- if (__len == __new_size)
- erase(__i, end());
- else // __i == end()
- insert(end(), __new_size - __len, __x);
- }
-
- template<typename _Tp, typename _Alloc>
- list<_Tp, _Alloc>&
- list<_Tp, _Alloc>::
- operator=(const list& __x)
- {
- if (this != &__x)
- {
- iterator __first1 = begin();
- iterator __last1 = end();
- const_iterator __first2 = __x.begin();
- const_iterator __last2 = __x.end();
- for (; __first1 != __last1 && __first2 != __last2;
- ++__first1, ++__first2)
- *__first1 = *__first2;
- if (__first2 == __last2)
- erase(__first1, __last1);
- else
- insert(__last1, __first2, __last2);
- }
- return *this;
- }
-
- template<typename _Tp, typename _Alloc>
- void
- list<_Tp, _Alloc>::
- _M_fill_assign(size_type __n, const value_type& __val)
- {
- iterator __i = begin();
- for (; __i != end() && __n > 0; ++__i, --__n)
- *__i = __val;
- if (__n > 0)
- insert(end(), __n, __val);
- else
- erase(__i, end());
- }
-
- template<typename _Tp, typename _Alloc>
- template <typename _InputIterator>
- void
- list<_Tp, _Alloc>::
- _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2,
- __false_type)
- {
- iterator __first1 = begin();
- iterator __last1 = end();
- for (; __first1 != __last1 && __first2 != __last2;
- ++__first1, ++__first2)
- *__first1 = *__first2;
- if (__first2 == __last2)
- erase(__first1, __last1);
- else
- insert(__last1, __first2, __last2);
- }
-
- template<typename _Tp, typename _Alloc>
- void
- list<_Tp, _Alloc>::
- remove(const value_type& __value)
- {
- iterator __first = begin();
- iterator __last = end();
- while (__first != __last)
- {
- iterator __next = __first;
- ++__next;
- if (*__first == __value)
- _M_erase(__first);
- __first = __next;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- void
- list<_Tp, _Alloc>::
- unique()
- {
- iterator __first = begin();
- iterator __last = end();
- if (__first == __last)
- return;
- iterator __next = __first;
- while (++__next != __last)
- {
- if (*__first == *__next)
- _M_erase(__next);
- else
- __first = __next;
- __next = __first;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- void
- list<_Tp, _Alloc>::
- merge(list& __x)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 300. list::merge() specification incomplete
- if (this != &__x)
- {
- _M_check_equal_allocators(__x);
-
- iterator __first1 = begin();
- iterator __last1 = end();
- iterator __first2 = __x.begin();
- iterator __last2 = __x.end();
- while (__first1 != __last1 && __first2 != __last2)
- if (*__first2 < *__first1)
- {
- iterator __next = __first2;
- _M_transfer(__first1, __first2, ++__next);
- __first2 = __next;
- }
- else
- ++__first1;
- if (__first2 != __last2)
- _M_transfer(__last1, __first2, __last2);
- }
- }
-
- template<typename _Tp, typename _Alloc>
- template <typename _StrictWeakOrdering>
- void
- list<_Tp, _Alloc>::
- merge(list& __x, _StrictWeakOrdering __comp)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 300. list::merge() specification incomplete
- if (this != &__x)
- {
- _M_check_equal_allocators(__x);
-
- iterator __first1 = begin();
- iterator __last1 = end();
- iterator __first2 = __x.begin();
- iterator __last2 = __x.end();
- while (__first1 != __last1 && __first2 != __last2)
- if (__comp(*__first2, *__first1))
- {
- iterator __next = __first2;
- _M_transfer(__first1, __first2, ++__next);
- __first2 = __next;
- }
- else
- ++__first1;
- if (__first2 != __last2)
- _M_transfer(__last1, __first2, __last2);
- }
- }
-
- template<typename _Tp, typename _Alloc>
- void
- list<_Tp, _Alloc>::
- sort()
- {
- // Do nothing if the list has length 0 or 1.
- if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
- && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
- {
- list __carry;
- list __tmp[64];
- list * __fill = &__tmp[0];
- list * __counter;
-
- do
- {
- __carry.splice(__carry.begin(), *this, begin());
-
- for(__counter = &__tmp[0];
- __counter != __fill && !__counter->empty();
- ++__counter)
- {
- __counter->merge(__carry);
- __carry.swap(*__counter);
- }
- __carry.swap(*__counter);
- if (__counter == __fill)
- ++__fill;
- }
- while ( !empty() );
-
- for (__counter = &__tmp[1]; __counter != __fill; ++__counter)
- __counter->merge(*(__counter - 1));
- swap( *(__fill - 1) );
- }
- }
-
- template<typename _Tp, typename _Alloc>
- template <typename _Predicate>
- void
- list<_Tp, _Alloc>::
- remove_if(_Predicate __pred)
- {
- iterator __first = begin();
- iterator __last = end();
- while (__first != __last)
- {
- iterator __next = __first;
- ++__next;
- if (__pred(*__first))
- _M_erase(__first);
- __first = __next;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- template <typename _BinaryPredicate>
- void
- list<_Tp, _Alloc>::
- unique(_BinaryPredicate __binary_pred)
- {
- iterator __first = begin();
- iterator __last = end();
- if (__first == __last)
- return;
- iterator __next = __first;
- while (++__next != __last)
- {
- if (__binary_pred(*__first, *__next))
- _M_erase(__next);
- else
- __first = __next;
- __next = __first;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- template <typename _StrictWeakOrdering>
- void
- list<_Tp, _Alloc>::
- sort(_StrictWeakOrdering __comp)
- {
- // Do nothing if the list has length 0 or 1.
- if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node
- && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node)
- {
- list __carry;
- list __tmp[64];
- list * __fill = &__tmp[0];
- list * __counter;
-
- do
- {
- __carry.splice(__carry.begin(), *this, begin());
-
- for(__counter = &__tmp[0];
- __counter != __fill && !__counter->empty();
- ++__counter)
- {
- __counter->merge(__carry, __comp);
- __carry.swap(*__counter);
- }
- __carry.swap(*__counter);
- if (__counter == __fill)
- ++__fill;
- }
- while ( !empty() );
-
- for (__counter = &__tmp[1]; __counter != __fill; ++__counter)
- __counter->merge(*(__counter - 1), __comp);
- swap(*(__fill - 1));
- }
- }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _LIST_TCC */
-
diff --git a/contrib/libstdc++/include/bits/locale_classes.h b/contrib/libstdc++/include/bits/locale_classes.h
deleted file mode 100644
index 547e21d9b434..000000000000
--- a/contrib/libstdc++/include/bits/locale_classes.h
+++ /dev/null
@@ -1,582 +0,0 @@
-// Locale support -*- C++ -*-
-
-// 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 locale_classes.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-#ifndef _LOCALE_CLASSES_H
-#define _LOCALE_CLASSES_H 1
-
-#pragma GCC system_header
-
-#include <bits/localefwd.h>
-#include <cstring> // For strcmp.
-#include <string>
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 22.1.1 Class locale
- /**
- * @brief Container class for localization functionality.
- *
- * The locale class is first a class wrapper for C library locales. It is
- * also an extensible container for user-defined localization. A locale is
- * a collection of facets that implement various localization features such
- * as money, time, and number printing.
- *
- * Constructing C++ locales does not change the C library locale.
- *
- * This library supports efficient construction and copying of locales
- * through a reference counting implementation of the locale class.
- */
- class locale
- {
- public:
- // Types:
- /// Definition of locale::category.
- typedef int category;
-
- // Forward decls and friends:
- class facet;
- class id;
- class _Impl;
-
- friend class facet;
- friend class _Impl;
-
- template<typename _Facet>
- friend bool
- has_facet(const locale&) throw();
-
- template<typename _Facet>
- friend const _Facet&
- use_facet(const locale&);
-
- template<typename _Cache>
- friend struct __use_cache;
-
- //@{
- /**
- * @brief Category values.
- *
- * The standard category values are none, ctype, numeric, collate, time,
- * monetary, and messages. They form a bitmask that supports union and
- * intersection. The category all is the union of these values.
- *
- * @if maint
- * NB: Order must match _S_facet_categories definition in locale.cc
- * @endif
- */
- static const category none = 0;
- static const category ctype = 1L << 0;
- static const category numeric = 1L << 1;
- static const category collate = 1L << 2;
- static const category time = 1L << 3;
- static const category monetary = 1L << 4;
- static const category messages = 1L << 5;
- static const category all = (ctype | numeric | collate |
- time | monetary | messages);
- //@}
-
- // Construct/copy/destroy:
-
- /**
- * @brief Default constructor.
- *
- * Constructs a copy of the global locale. If no locale has been
- * explicitly set, this is the "C" locale.
- */
- locale() throw();
-
- /**
- * @brief Copy constructor.
- *
- * Constructs a copy of @a other.
- *
- * @param other The locale to copy.
- */
- locale(const locale& __other) throw();
-
- /**
- * @brief Named locale constructor.
- *
- * Constructs a copy of the named C library locale.
- *
- * @param s Name of the locale to construct.
- * @throw std::runtime_error if s is null or an undefined locale.
- */
- explicit
- locale(const char* __s);
-
- /**
- * @brief Construct locale with facets from another locale.
- *
- * Constructs a copy of the locale @a base. The facets specified by @a
- * cat are replaced with those from the locale named by @a s. If base is
- * named, this locale instance will also be named.
- *
- * @param base The locale to copy.
- * @param s Name of the locale to use facets from.
- * @param cat Set of categories defining the facets to use from s.
- * @throw std::runtime_error if s is null or an undefined locale.
- */
- locale(const locale& __base, const char* __s, category __cat);
-
- /**
- * @brief Construct locale with facets from another locale.
- *
- * Constructs a copy of the locale @a base. The facets specified by @a
- * cat are replaced with those from the locale @a add. If @a base and @a
- * add are named, this locale instance will also be named.
- *
- * @param base The locale to copy.
- * @param add The locale to use facets from.
- * @param cat Set of categories defining the facets to use from add.
- */
- locale(const locale& __base, const locale& __add, category __cat);
-
- /**
- * @brief Construct locale with another facet.
- *
- * Constructs a copy of the locale @a other. The facet @f is added to
- * @other, replacing an existing facet of type Facet if there is one. If
- * @f is null, this locale is a copy of @a other.
- *
- * @param other The locale to copy.
- * @param f The facet to add in.
- */
- template<typename _Facet>
- locale(const locale& __other, _Facet* __f);
-
- /// Locale destructor.
- ~locale() throw();
-
- /**
- * @brief Assignment operator.
- *
- * Set this locale to be a copy of @a other.
- *
- * @param other The locale to copy.
- * @return A reference to this locale.
- */
- const locale&
- operator=(const locale& __other) throw();
-
- /**
- * @brief Construct locale with another facet.
- *
- * Constructs and returns a new copy of this locale. Adds or replaces an
- * existing facet of type Facet from the locale @a other into the new
- * locale.
- *
- * @param Facet The facet type to copy from other
- * @param other The locale to copy from.
- * @return Newly constructed locale.
- * @throw std::runtime_error if other has no facet of type Facet.
- */
- template<typename _Facet>
- locale
- combine(const locale& __other) const;
-
- // Locale operations:
- /**
- * @brief Return locale name.
- * @return Locale name or "*" if unnamed.
- */
- string
- name() const;
-
- /**
- * @brief Locale equality.
- *
- * @param other The locale to compare against.
- * @return True if other and this refer to the same locale instance, are
- * copies, or have the same name. False otherwise.
- */
- bool
- operator==(const locale& __other) const throw ();
-
- /**
- * @brief Locale inequality.
- *
- * @param other The locale to compare against.
- * @return ! (*this == other)
- */
- inline bool
- operator!=(const locale& __other) const throw ()
- { return !(this->operator==(__other)); }
-
- /**
- * @brief Compare two strings according to collate.
- *
- * Template operator to compare two strings using the compare function of
- * the collate facet in this locale. One use is to provide the locale to
- * the sort function. For example, a vector v of strings could be sorted
- * according to locale loc by doing:
- * @code
- * std::sort(v.begin(), v.end(), loc);
- * @endcode
- *
- * @param s1 First string to compare.
- * @param s2 Second string to compare.
- * @return True if collate<Char> facet compares s1 < s2, else false.
- */
- template<typename _Char, typename _Traits, typename _Alloc>
- bool
- operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
- const basic_string<_Char, _Traits, _Alloc>& __s2) const;
-
- // Global locale objects:
- /**
- * @brief Set global locale
- *
- * This function sets the global locale to the argument and returns a
- * copy of the previous global locale. If the argument has a name, it
- * will also call std::setlocale(LC_ALL, loc.name()).
- *
- * @param locale The new locale to make global.
- * @return Copy of the old global locale.
- */
- static locale
- global(const locale&);
-
- /**
- * @brief Return reference to the "C" locale.
- */
- static const locale&
- classic();
-
- private:
- // The (shared) implementation
- _Impl* _M_impl;
-
- // The "C" reference locale
- static _Impl* _S_classic;
-
- // Current global locale
- static _Impl* _S_global;
-
- // Names of underlying locale categories.
- // NB: locale::global() has to know how to modify all the
- // underlying categories, not just the ones required by the C++
- // standard.
- static const char* const* const _S_categories;
-
- // Number of standard categories. For C++, these categories are
- // collate, ctype, monetary, numeric, time, and messages. These
- // directly correspond to ISO C99 macros LC_COLLATE, LC_CTYPE,
- // LC_MONETARY, LC_NUMERIC, and LC_TIME. In addition, POSIX (IEEE
- // 1003.1-2001) specifies LC_MESSAGES.
- // In addition to the standard categories, the underlying
- // operating system is allowed to define extra LC_*
- // macros. For GNU systems, the following are also valid:
- // LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT,
- // and LC_IDENTIFICATION.
- enum { _S_categories_size = 6 + _GLIBCXX_NUM_CATEGORIES };
-
-#ifdef __GTHREADS
- static __gthread_once_t _S_once;
-#endif
-
- explicit
- locale(_Impl*) throw();
-
- static void
- _S_initialize();
-
- static void
- _S_initialize_once();
-
- static category
- _S_normalize_category(category);
-
- void
- _M_coalesce(const locale& __base, const locale& __add, category __cat);
- };
-
-
- // 22.1.1.1.2 Class locale::facet
- /**
- * @brief Localization functionality base class.
- *
- * The facet class is the base class for a localization feature, such as
- * money, time, and number printing. It provides common support for facets
- * and reference management.
- *
- * Facets may not be copied or assigned.
- */
- class locale::facet
- {
- private:
- friend class locale;
- friend class locale::_Impl;
-
- mutable _Atomic_word _M_refcount;
-
- // Contains data from the underlying "C" library for the classic locale.
- static __c_locale _S_c_locale;
-
- // String literal for the name of the classic locale.
- static const char _S_c_name[2];
-
-#ifdef __GTHREADS
- static __gthread_once_t _S_once;
-#endif
-
- static void
- _S_initialize_once();
-
- protected:
- /**
- * @brief Facet constructor.
- *
- * This is the constructor provided by the standard. If refs is 0, the
- * facet is destroyed when the last referencing locale is destroyed.
- * Otherwise the facet will never be destroyed.
- *
- * @param refs The initial value for reference count.
- */
- explicit
- facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
- { }
-
- /// Facet destructor.
- virtual
- ~facet();
-
- static void
- _S_create_c_locale(__c_locale& __cloc, const char* __s,
- __c_locale __old = 0);
-
- static __c_locale
- _S_clone_c_locale(__c_locale& __cloc);
-
- static void
- _S_destroy_c_locale(__c_locale& __cloc);
-
- // Returns data from the underlying "C" library data for the
- // classic locale.
- static __c_locale
- _S_get_c_locale();
-
- static const char*
- _S_get_c_name();
-
- private:
- inline void
- _M_add_reference() const throw()
- { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
-
- inline void
- _M_remove_reference() const throw()
- {
- if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
- {
- try
- { delete this; }
- catch (...)
- { }
- }
- }
-
- facet(const facet&); // Not defined.
-
- facet&
- operator=(const facet&); // Not defined.
- };
-
-
- // 22.1.1.1.3 Class locale::id
- /**
- * @brief Facet ID class.
- *
- * The ID class provides facets with an index used to identify them.
- * Every facet class must define a public static member locale::id, or be
- * derived from a facet that provides this member, otherwise the facet
- * cannot be used in a locale. The locale::id ensures that each class
- * type gets a unique identifier.
- */
- class locale::id
- {
- private:
- friend class locale;
- friend class locale::_Impl;
-
- template<typename _Facet>
- friend const _Facet&
- use_facet(const locale&);
-
- template<typename _Facet>
- friend bool
- has_facet(const locale&) throw ();
-
- // NB: There is no accessor for _M_index because it may be used
- // before the constructor is run; the effect of calling a member
- // function (even an inline) would be undefined.
- mutable size_t _M_index;
-
- // Last id number assigned.
- static _Atomic_word _S_refcount;
-
- void
- operator=(const id&); // Not defined.
-
- id(const id&); // Not defined.
-
- public:
- // NB: This class is always a static data member, and thus can be
- // counted on to be zero-initialized.
- /// Constructor.
- id() { }
-
- size_t
- _M_id() const;
- };
-
-
- // Implementation object for locale.
- class locale::_Impl
- {
- public:
- // Friends.
- friend class locale;
- friend class locale::facet;
-
- template<typename _Facet>
- friend bool
- has_facet(const locale&) throw();
-
- template<typename _Facet>
- friend const _Facet&
- use_facet(const locale&);
-
- template<typename _Cache>
- friend struct __use_cache;
-
- private:
- // Data Members.
- _Atomic_word _M_refcount;
- const facet** _M_facets;
- size_t _M_facets_size;
- const facet** _M_caches;
- char** _M_names;
- static const locale::id* const _S_id_ctype[];
- static const locale::id* const _S_id_numeric[];
- static const locale::id* const _S_id_collate[];
- static const locale::id* const _S_id_time[];
- static const locale::id* const _S_id_monetary[];
- static const locale::id* const _S_id_messages[];
- static const locale::id* const* const _S_facet_categories[];
-
- inline void
- _M_add_reference() throw()
- { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
-
- inline void
- _M_remove_reference() throw()
- {
- if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
- {
- try
- { delete this; }
- catch(...)
- { }
- }
- }
-
- _Impl(const _Impl&, size_t);
- _Impl(const char*, size_t);
- _Impl(size_t) throw();
-
- ~_Impl() throw();
-
- _Impl(const _Impl&); // Not defined.
-
- void
- operator=(const _Impl&); // Not defined.
-
- inline bool
- _M_check_same_name()
- {
- bool __ret = true;
- if (_M_names[1])
- // We must actually compare all the _M_names: can be all equal!
- for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
- __ret = std::strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
- return __ret;
- }
-
- void
- _M_replace_categories(const _Impl*, category);
-
- void
- _M_replace_category(const _Impl*, const locale::id* const*);
-
- void
- _M_replace_facet(const _Impl*, const locale::id*);
-
- void
- _M_install_facet(const locale::id*, const facet*);
-
- template<typename _Facet>
- inline void
- _M_init_facet(_Facet* __facet)
- { _M_install_facet(&_Facet::id, __facet); }
-
- void
- _M_install_cache(const facet*, size_t);
- };
-
- template<typename _Facet>
- locale::locale(const locale& __other, _Facet* __f)
- {
- _M_impl = new _Impl(*__other._M_impl, 1);
-
- try
- { _M_impl->_M_install_facet(&_Facet::id, __f); }
- catch(...)
- {
- _M_impl->_M_remove_reference();
- __throw_exception_again;
- }
- delete [] _M_impl->_M_names[0];
- _M_impl->_M_names[0] = 0; // Unnamed.
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/locale_facets.h b/contrib/libstdc++/include/bits/locale_facets.h
deleted file mode 100644
index b38033df4cab..000000000000
--- a/contrib/libstdc++/include/bits/locale_facets.h
+++ /dev/null
@@ -1,4689 +0,0 @@
-// Locale support -*- C++ -*-
-
-// 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 locale_facets.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-#ifndef _LOCALE_FACETS_H
-#define _LOCALE_FACETS_H 1
-
-#pragma GCC system_header
-
-#include <ctime> // For struct tm
-#include <cwctype> // For wctype_t
-#include <bits/ctype_base.h>
-#include <iosfwd>
-#include <bits/ios_base.h> // For ios_base, ios_base::iostate
-#include <streambuf>
-#include <bits/cpp_type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // NB: Don't instantiate required wchar_t facets if no wchar_t support.
-#ifdef _GLIBCXX_USE_WCHAR_T
-# define _GLIBCXX_NUM_FACETS 28
-#else
-# define _GLIBCXX_NUM_FACETS 14
-#endif
-
- // Convert string to numeric value of type _Tv and store results.
- // NB: This is specialized for all required types, there is no
- // generic definition.
- template<typename _Tv>
- void
- __convert_to_v(const char* __in, _Tv& __out, ios_base::iostate& __err,
- const __c_locale& __cloc);
-
- // Explicit specializations for required types.
- template<>
- void
- __convert_to_v(const char*, float&, ios_base::iostate&,
- const __c_locale&);
-
- template<>
- void
- __convert_to_v(const char*, double&, ios_base::iostate&,
- const __c_locale&);
-
- template<>
- void
- __convert_to_v(const char*, long double&, ios_base::iostate&,
- const __c_locale&);
-
- // NB: __pad is a struct, rather than a function, so it can be
- // partially-specialized.
- template<typename _CharT, typename _Traits>
- struct __pad
- {
- static void
- _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
- const _CharT* __olds, const streamsize __newlen,
- const streamsize __oldlen, const bool __num);
- };
-
- // Used by both numeric and monetary facets.
- // Inserts "group separator" characters into an array of characters.
- // It's recursive, one iteration per group. It moves the characters
- // in the buffer this way: "xxxx12345" -> "12,345xxx". Call this
- // only with __glen != 0.
- template<typename _CharT>
- _CharT*
- __add_grouping(_CharT* __s, _CharT __sep,
- const char* __gbeg, size_t __gsize,
- const _CharT* __first, const _CharT* __last);
-
- // This template permits specializing facet output code for
- // ostreambuf_iterator. For ostreambuf_iterator, sputn is
- // significantly more efficient than incrementing iterators.
- template<typename _CharT>
- inline
- ostreambuf_iterator<_CharT>
- __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
- {
- __s._M_put(__ws, __len);
- return __s;
- }
-
- // This is the unspecialized form of the template.
- template<typename _CharT, typename _OutIter>
- inline
- _OutIter
- __write(_OutIter __s, const _CharT* __ws, int __len)
- {
- for (int __j = 0; __j < __len; __j++, ++__s)
- *__s = __ws[__j];
- return __s;
- }
-
-
- // 22.2.1.1 Template class ctype
- // Include host and configuration specific ctype enums for ctype_base.
-
- // Common base for ctype<_CharT>.
- /**
- * @brief Common base for ctype facet
- *
- * This template class provides implementations of the public functions
- * that forward to the protected virtual functions.
- *
- * This template also provides abtract stubs for the protected virtual
- * functions.
- */
- template<typename _CharT>
- class __ctype_abstract_base : public locale::facet, public ctype_base
- {
- public:
- // Types:
- /// Typedef for the template parameter
- typedef _CharT char_type;
-
- /**
- * @brief Test char_type classification.
- *
- * This function finds a mask M for @a c and compares it to mask @a m.
- * It does so by returning the value of ctype<char_type>::do_is().
- *
- * @param c The char_type to compare the mask of.
- * @param m The mask to compare against.
- * @return (M & m) != 0.
- */
- bool
- is(mask __m, char_type __c) const
- { return this->do_is(__m, __c); }
-
- /**
- * @brief Return a mask array.
- *
- * This function finds the mask for each char_type in the range [lo,hi)
- * and successively writes it to vec. vec must have as many elements
- * as the char array. It does so by returning the value of
- * ctype<char_type>::do_is().
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param vec Pointer to an array of mask storage.
- * @return @a hi.
- */
- const char_type*
- is(const char_type *__lo, const char_type *__hi, mask *__vec) const
- { return this->do_is(__lo, __hi, __vec); }
-
- /**
- * @brief Find char_type matching a mask
- *
- * This function searches for and returns the first char_type c in
- * [lo,hi) for which is(m,c) is true. It does so by returning
- * ctype<char_type>::do_scan_is().
- *
- * @param m The mask to compare against.
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return Pointer to matching char_type if found, else @a hi.
- */
- const char_type*
- scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
- { return this->do_scan_is(__m, __lo, __hi); }
-
- /**
- * @brief Find char_type not matching a mask
- *
- * This function searches for and returns the first char_type c in
- * [lo,hi) for which is(m,c) is false. It does so by returning
- * ctype<char_type>::do_scan_not().
- *
- * @param m The mask to compare against.
- * @param lo Pointer to first char in range.
- * @param hi Pointer to end of range.
- * @return Pointer to non-matching char if found, else @a hi.
- */
- const char_type*
- scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
- { return this->do_scan_not(__m, __lo, __hi); }
-
- /**
- * @brief Convert to uppercase.
- *
- * This function converts the argument to uppercase if possible.
- * If not possible (for example, '2'), returns the argument. It does
- * so by returning ctype<char_type>::do_toupper().
- *
- * @param c The char_type to convert.
- * @return The uppercase char_type if convertible, else @a c.
- */
- char_type
- toupper(char_type __c) const
- { return this->do_toupper(__c); }
-
- /**
- * @brief Convert array to uppercase.
- *
- * This function converts each char_type in the range [lo,hi) to
- * uppercase if possible. Other elements remain untouched. It does so
- * by returning ctype<char_type>:: do_toupper(lo, hi).
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- const char_type*
- toupper(char_type *__lo, const char_type* __hi) const
- { return this->do_toupper(__lo, __hi); }
-
- /**
- * @brief Convert to lowercase.
- *
- * This function converts the argument to lowercase if possible. If
- * not possible (for example, '2'), returns the argument. It does so
- * by returning ctype<char_type>::do_tolower(c).
- *
- * @param c The char_type to convert.
- * @return The lowercase char_type if convertible, else @a c.
- */
- char_type
- tolower(char_type __c) const
- { return this->do_tolower(__c); }
-
- /**
- * @brief Convert array to lowercase.
- *
- * This function converts each char_type in the range [lo,hi) to
- * lowercase if possible. Other elements remain untouched. It does so
- * by returning ctype<char_type>:: do_tolower(lo, hi).
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- const char_type*
- tolower(char_type* __lo, const char_type* __hi) const
- { return this->do_tolower(__lo, __hi); }
-
- /**
- * @brief Widen char to char_type
- *
- * This function converts the char argument to char_type using the
- * simplest reasonable transformation. It does so by returning
- * ctype<char_type>::do_widen(c).
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char to convert.
- * @return The converted char_type.
- */
- char_type
- widen(char __c) const
- { return this->do_widen(__c); }
-
- /**
- * @brief Widen array to char_type
- *
- * This function converts each char in the input to char_type using the
- * simplest reasonable transformation. It does so by returning
- * ctype<char_type>::do_widen(c).
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- const char*
- widen(const char* __lo, const char* __hi, char_type* __to) const
- { return this->do_widen(__lo, __hi, __to); }
-
- /**
- * @brief Narrow char_type to char
- *
- * This function converts the char_type to char using the simplest
- * reasonable transformation. If the conversion fails, dfault is
- * returned instead. It does so by returning
- * ctype<char_type>::do_narrow(c).
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char_type to convert.
- * @param dfault Char to return if conversion fails.
- * @return The converted char.
- */
- char
- narrow(char_type __c, char __dfault) const
- { return this->do_narrow(__c, __dfault); }
-
- /**
- * @brief Narrow array to char array
- *
- * This function converts each char_type in the input to char using the
- * simplest reasonable transformation and writes the results to the
- * destination array. For any char_type in the input that cannot be
- * converted, @a dfault is used instead. It does so by returning
- * ctype<char_type>::do_narrow(lo, hi, dfault, to).
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param dfault Char to use if conversion fails.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- const char_type*
- narrow(const char_type* __lo, const char_type* __hi,
- char __dfault, char *__to) const
- { return this->do_narrow(__lo, __hi, __dfault, __to); }
-
- protected:
- explicit
- __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
-
- virtual
- ~__ctype_abstract_base() { }
-
- /**
- * @brief Test char_type classification.
- *
- * This function finds a mask M for @a c and compares it to mask @a m.
- *
- * do_is() is a hook for a derived facet to change the behavior of
- * classifying. do_is() must always return the same result for the
- * same input.
- *
- * @param c The char_type to find the mask of.
- * @param m The mask to compare against.
- * @return (M & m) != 0.
- */
- virtual bool
- do_is(mask __m, char_type __c) const = 0;
-
- /**
- * @brief Return a mask array.
- *
- * This function finds the mask for each char_type in the range [lo,hi)
- * and successively writes it to vec. vec must have as many elements
- * as the input.
- *
- * do_is() is a hook for a derived facet to change the behavior of
- * classifying. do_is() must always return the same result for the
- * same input.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param vec Pointer to an array of mask storage.
- * @return @a hi.
- */
- virtual const char_type*
- do_is(const char_type* __lo, const char_type* __hi,
- mask* __vec) const = 0;
-
- /**
- * @brief Find char_type matching mask
- *
- * This function searches for and returns the first char_type c in
- * [lo,hi) for which is(m,c) is true.
- *
- * do_scan_is() is a hook for a derived facet to change the behavior of
- * match searching. do_is() must always return the same result for the
- * same input.
- *
- * @param m The mask to compare against.
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return Pointer to a matching char_type if found, else @a hi.
- */
- virtual const char_type*
- do_scan_is(mask __m, const char_type* __lo,
- const char_type* __hi) const = 0;
-
- /**
- * @brief Find char_type not matching mask
- *
- * This function searches for and returns a pointer to the first
- * char_type c of [lo,hi) for which is(m,c) is false.
- *
- * do_scan_is() is a hook for a derived facet to change the behavior of
- * match searching. do_is() must always return the same result for the
- * same input.
- *
- * @param m The mask to compare against.
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return Pointer to a non-matching char_type if found, else @a hi.
- */
- virtual const char_type*
- do_scan_not(mask __m, const char_type* __lo,
- const char_type* __hi) const = 0;
-
- /**
- * @brief Convert to uppercase.
- *
- * This virtual function converts the char_type argument to uppercase
- * if possible. If not possible (for example, '2'), returns the
- * argument.
- *
- * do_toupper() is a hook for a derived facet to change the behavior of
- * uppercasing. do_toupper() must always return the same result for
- * the same input.
- *
- * @param c The char_type to convert.
- * @return The uppercase char_type if convertible, else @a c.
- */
- virtual char_type
- do_toupper(char_type) const = 0;
-
- /**
- * @brief Convert array to uppercase.
- *
- * This virtual function converts each char_type in the range [lo,hi)
- * to uppercase if possible. Other elements remain untouched.
- *
- * do_toupper() is a hook for a derived facet to change the behavior of
- * uppercasing. do_toupper() must always return the same result for
- * the same input.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- virtual const char_type*
- do_toupper(char_type* __lo, const char_type* __hi) const = 0;
-
- /**
- * @brief Convert to lowercase.
- *
- * This virtual function converts the argument to lowercase if
- * possible. If not possible (for example, '2'), returns the argument.
- *
- * do_tolower() is a hook for a derived facet to change the behavior of
- * lowercasing. do_tolower() must always return the same result for
- * the same input.
- *
- * @param c The char_type to convert.
- * @return The lowercase char_type if convertible, else @a c.
- */
- virtual char_type
- do_tolower(char_type) const = 0;
-
- /**
- * @brief Convert array to lowercase.
- *
- * This virtual function converts each char_type in the range [lo,hi)
- * to lowercase if possible. Other elements remain untouched.
- *
- * do_tolower() is a hook for a derived facet to change the behavior of
- * lowercasing. do_tolower() must always return the same result for
- * the same input.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- virtual const char_type*
- do_tolower(char_type* __lo, const char_type* __hi) const = 0;
-
- /**
- * @brief Widen char
- *
- * This virtual function converts the char to char_type using the
- * simplest reasonable transformation.
- *
- * do_widen() is a hook for a derived facet to change the behavior of
- * widening. do_widen() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char to convert.
- * @return The converted char_type
- */
- virtual char_type
- do_widen(char) const = 0;
-
- /**
- * @brief Widen char array
- *
- * This function converts each char in the input to char_type using the
- * simplest reasonable transformation.
- *
- * do_widen() is a hook for a derived facet to change the behavior of
- * widening. do_widen() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start range.
- * @param hi Pointer to end of range.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- virtual const char*
- do_widen(const char* __lo, const char* __hi,
- char_type* __dest) const = 0;
-
- /**
- * @brief Narrow char_type to char
- *
- * This virtual function converts the argument to char using the
- * simplest reasonable transformation. If the conversion fails, dfault
- * is returned instead.
- *
- * do_narrow() is a hook for a derived facet to change the behavior of
- * narrowing. do_narrow() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char_type to convert.
- * @param dfault Char to return if conversion fails.
- * @return The converted char.
- */
- virtual char
- do_narrow(char_type, char __dfault) const = 0;
-
- /**
- * @brief Narrow char_type array to char
- *
- * This virtual function converts each char_type in the range [lo,hi) to
- * char using the simplest reasonable transformation and writes the
- * results to the destination array. For any element in the input that
- * cannot be converted, @a dfault is used instead.
- *
- * do_narrow() is a hook for a derived facet to change the behavior of
- * narrowing. do_narrow() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param dfault Char to use if conversion fails.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- virtual const char_type*
- do_narrow(const char_type* __lo, const char_type* __hi,
- char __dfault, char* __dest) const = 0;
- };
-
- // NB: Generic, mostly useless implementation.
- /**
- * @brief Template ctype facet
- *
- * This template class defines classification and conversion functions for
- * character sets. It wraps <cctype> functionality. Ctype gets used by
- * streams for many I/O operations.
- *
- * This template provides the protected virtual functions the developer
- * will have to replace in a derived class or specialization to make a
- * working facet. The public functions that access them are defined in
- * __ctype_abstract_base, to allow for implementation flexibility. See
- * ctype<wchar_t> for an example. The functions are documented in
- * __ctype_abstract_base.
- *
- * Note: implementations are provided for all the protected virtual
- * functions, but will likely not be useful.
- */
- template<typename _CharT>
- class ctype : public __ctype_abstract_base<_CharT>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef typename __ctype_abstract_base<_CharT>::mask mask;
-
- /// The facet id for ctype<char_type>
- static locale::id id;
-
- explicit
- ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
-
- protected:
- virtual
- ~ctype();
-
- virtual bool
- do_is(mask __m, char_type __c) const;
-
- virtual const char_type*
- do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
-
- virtual const char_type*
- do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
-
- virtual const char_type*
- do_scan_not(mask __m, const char_type* __lo,
- const char_type* __hi) const;
-
- virtual char_type
- do_toupper(char_type __c) const;
-
- virtual const char_type*
- do_toupper(char_type* __lo, const char_type* __hi) const;
-
- virtual char_type
- do_tolower(char_type __c) const;
-
- virtual const char_type*
- do_tolower(char_type* __lo, const char_type* __hi) const;
-
- virtual char_type
- do_widen(char __c) const;
-
- virtual const char*
- do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
-
- virtual char
- do_narrow(char_type, char __dfault) const;
-
- virtual const char_type*
- do_narrow(const char_type* __lo, const char_type* __hi,
- char __dfault, char* __dest) const;
- };
-
- template<typename _CharT>
- locale::id ctype<_CharT>::id;
-
- // 22.2.1.3 ctype<char> specialization.
- /**
- * @brief The ctype<char> specialization.
- *
- * This class defines classification and conversion functions for
- * the char type. It gets used by char streams for many I/O
- * operations. The char specialization provides a number of
- * optimizations as well.
- */
- template<>
- class ctype<char> : public locale::facet, public ctype_base
- {
- public:
- // Types:
- /// Typedef for the template parameter char.
- typedef char char_type;
-
- protected:
- // Data Members:
- __c_locale _M_c_locale_ctype;
- bool _M_del;
- __to_type _M_toupper;
- __to_type _M_tolower;
- const mask* _M_table;
- mutable char _M_widen_ok;
- mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
- mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
- mutable char _M_narrow_ok; // 0 uninitialized, 1 init,
- // 2 memcpy can't be used
-
- public:
- /// The facet id for ctype<char>
- static locale::id id;
- /// The size of the mask table. It is SCHAR_MAX + 1.
- static const size_t table_size = 1 + static_cast<unsigned char>(-1);
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param table If non-zero, table is used as the per-char mask.
- * Else classic_table() is used.
- * @param del If true, passes ownership of table to this facet.
- * @param refs Passed to the base facet class.
- */
- explicit
- ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
-
- /**
- * @brief Constructor performs static initialization.
- *
- * This constructor is used to construct the initial C locale facet.
- *
- * @param cloc Handle to C locale data.
- * @param table If non-zero, table is used as the per-char mask.
- * @param del If true, passes ownership of table to this facet.
- * @param refs Passed to the base facet class.
- */
- explicit
- ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
- size_t __refs = 0);
-
- /**
- * @brief Test char classification.
- *
- * This function compares the mask table[c] to @a m.
- *
- * @param c The char to compare the mask of.
- * @param m The mask to compare against.
- * @return True if m & table[c] is true, false otherwise.
- */
- inline bool
- is(mask __m, char __c) const;
-
- /**
- * @brief Return a mask array.
- *
- * This function finds the mask for each char in the range [lo, hi) and
- * successively writes it to vec. vec must have as many elements as
- * the char array.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param vec Pointer to an array of mask storage.
- * @return @a hi.
- */
- inline const char*
- is(const char* __lo, const char* __hi, mask* __vec) const;
-
- /**
- * @brief Find char matching a mask
- *
- * This function searches for and returns the first char in [lo,hi) for
- * which is(m,char) is true.
- *
- * @param m The mask to compare against.
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return Pointer to a matching char if found, else @a hi.
- */
- inline const char*
- scan_is(mask __m, const char* __lo, const char* __hi) const;
-
- /**
- * @brief Find char not matching a mask
- *
- * This function searches for and returns a pointer to the first char
- * in [lo,hi) for which is(m,char) is false.
- *
- * @param m The mask to compare against.
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return Pointer to a non-matching char if found, else @a hi.
- */
- inline const char*
- scan_not(mask __m, const char* __lo, const char* __hi) const;
-
- /**
- * @brief Convert to uppercase.
- *
- * This function converts the char argument to uppercase if possible.
- * If not possible (for example, '2'), returns the argument.
- *
- * toupper() acts as if it returns ctype<char>::do_toupper(c).
- * do_toupper() must always return the same result for the same input.
- *
- * @param c The char to convert.
- * @return The uppercase char if convertible, else @a c.
- */
- char_type
- toupper(char_type __c) const
- { return this->do_toupper(__c); }
-
- /**
- * @brief Convert array to uppercase.
- *
- * This function converts each char in the range [lo,hi) to uppercase
- * if possible. Other chars remain untouched.
- *
- * toupper() acts as if it returns ctype<char>:: do_toupper(lo, hi).
- * do_toupper() must always return the same result for the same input.
- *
- * @param lo Pointer to first char in range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- const char_type*
- toupper(char_type *__lo, const char_type* __hi) const
- { return this->do_toupper(__lo, __hi); }
-
- /**
- * @brief Convert to lowercase.
- *
- * This function converts the char argument to lowercase if possible.
- * If not possible (for example, '2'), returns the argument.
- *
- * tolower() acts as if it returns ctype<char>::do_tolower(c).
- * do_tolower() must always return the same result for the same input.
- *
- * @param c The char to convert.
- * @return The lowercase char if convertible, else @a c.
- */
- char_type
- tolower(char_type __c) const
- { return this->do_tolower(__c); }
-
- /**
- * @brief Convert array to lowercase.
- *
- * This function converts each char in the range [lo,hi) to lowercase
- * if possible. Other chars remain untouched.
- *
- * tolower() acts as if it returns ctype<char>:: do_tolower(lo, hi).
- * do_tolower() must always return the same result for the same input.
- *
- * @param lo Pointer to first char in range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- const char_type*
- tolower(char_type* __lo, const char_type* __hi) const
- { return this->do_tolower(__lo, __hi); }
-
- /**
- * @brief Widen char
- *
- * This function converts the char to char_type using the simplest
- * reasonable transformation. For an underived ctype<char> facet, the
- * argument will be returned unchanged.
- *
- * This function works as if it returns ctype<char>::do_widen(c).
- * do_widen() must always return the same result for the same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char to convert.
- * @return The converted character.
- */
- char_type
- widen(char __c) const
- {
- if (_M_widen_ok)
- return _M_widen[static_cast<unsigned char>(__c)];
- this->_M_widen_init();
- return this->do_widen(__c);
- }
-
- /**
- * @brief Widen char array
- *
- * This function converts each char in the input to char using the
- * simplest reasonable transformation. For an underived ctype<char>
- * facet, the argument will be copied unchanged.
- *
- * This function works as if it returns ctype<char>::do_widen(c).
- * do_widen() must always return the same result for the same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to first char in range.
- * @param hi Pointer to end of range.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- const char*
- widen(const char* __lo, const char* __hi, char_type* __to) const
- {
- if (_M_widen_ok == 1)
- {
- memcpy(__to, __lo, __hi - __lo);
- return __hi;
- }
- if (!_M_widen_ok)
- _M_widen_init();
- return this->do_widen(__lo, __hi, __to);
- }
-
- /**
- * @brief Narrow char
- *
- * This function converts the char to char using the simplest
- * reasonable transformation. If the conversion fails, dfault is
- * returned instead. For an underived ctype<char> facet, @a c
- * will be returned unchanged.
- *
- * This function works as if it returns ctype<char>::do_narrow(c).
- * do_narrow() must always return the same result for the same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char to convert.
- * @param dfault Char to return if conversion fails.
- * @return The converted character.
- */
- char
- narrow(char_type __c, char __dfault) const
- {
- if (_M_narrow[static_cast<unsigned char>(__c)])
- return _M_narrow[static_cast<unsigned char>(__c)];
- const char __t = do_narrow(__c, __dfault);
- if (__t != __dfault)
- _M_narrow[static_cast<unsigned char>(__c)] = __t;
- return __t;
- }
-
- /**
- * @brief Narrow char array
- *
- * This function converts each char in the input to char using the
- * simplest reasonable transformation and writes the results to the
- * destination array. For any char in the input that cannot be
- * converted, @a dfault is used instead. For an underived ctype<char>
- * facet, the argument will be copied unchanged.
- *
- * This function works as if it returns ctype<char>::do_narrow(lo, hi,
- * dfault, to). do_narrow() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param dfault Char to use if conversion fails.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- const char_type*
- narrow(const char_type* __lo, const char_type* __hi,
- char __dfault, char *__to) const
- {
- if (__builtin_expect(_M_narrow_ok == 1, true))
- {
- memcpy(__to, __lo, __hi - __lo);
- return __hi;
- }
- if (!_M_narrow_ok)
- _M_narrow_init();
- return this->do_narrow(__lo, __hi, __dfault, __to);
- }
-
- protected:
- /// Returns a pointer to the mask table provided to the constructor, or
- /// the default from classic_table() if none was provided.
- const mask*
- table() const throw()
- { return _M_table; }
-
- /// Returns a pointer to the C locale mask table.
- static const mask*
- classic_table() throw();
-
- /**
- * @brief Destructor.
- *
- * This function deletes table() if @a del was true in the
- * constructor.
- */
- virtual
- ~ctype();
-
- /**
- * @brief Convert to uppercase.
- *
- * This virtual function converts the char argument to uppercase if
- * possible. If not possible (for example, '2'), returns the argument.
- *
- * do_toupper() is a hook for a derived facet to change the behavior of
- * uppercasing. do_toupper() must always return the same result for
- * the same input.
- *
- * @param c The char to convert.
- * @return The uppercase char if convertible, else @a c.
- */
- virtual char_type
- do_toupper(char_type) const;
-
- /**
- * @brief Convert array to uppercase.
- *
- * This virtual function converts each char in the range [lo,hi) to
- * uppercase if possible. Other chars remain untouched.
- *
- * do_toupper() is a hook for a derived facet to change the behavior of
- * uppercasing. do_toupper() must always return the same result for
- * the same input.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- virtual const char_type*
- do_toupper(char_type* __lo, const char_type* __hi) const;
-
- /**
- * @brief Convert to lowercase.
- *
- * This virtual function converts the char argument to lowercase if
- * possible. If not possible (for example, '2'), returns the argument.
- *
- * do_tolower() is a hook for a derived facet to change the behavior of
- * lowercasing. do_tolower() must always return the same result for
- * the same input.
- *
- * @param c The char to convert.
- * @return The lowercase char if convertible, else @a c.
- */
- virtual char_type
- do_tolower(char_type) const;
-
- /**
- * @brief Convert array to lowercase.
- *
- * This virtual function converts each char in the range [lo,hi) to
- * lowercase if possible. Other chars remain untouched.
- *
- * do_tolower() is a hook for a derived facet to change the behavior of
- * lowercasing. do_tolower() must always return the same result for
- * the same input.
- *
- * @param lo Pointer to first char in range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- virtual const char_type*
- do_tolower(char_type* __lo, const char_type* __hi) const;
-
- /**
- * @brief Widen char
- *
- * This virtual function converts the char to char using the simplest
- * reasonable transformation. For an underived ctype<char> facet, the
- * argument will be returned unchanged.
- *
- * do_widen() is a hook for a derived facet to change the behavior of
- * widening. do_widen() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char to convert.
- * @return The converted character.
- */
- virtual char_type
- do_widen(char __c) const
- { return __c; }
-
- /**
- * @brief Widen char array
- *
- * This function converts each char in the range [lo,hi) to char using
- * the simplest reasonable transformation. For an underived
- * ctype<char> facet, the argument will be copied unchanged.
- *
- * do_widen() is a hook for a derived facet to change the behavior of
- * widening. do_widen() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- virtual const char*
- do_widen(const char* __lo, const char* __hi, char_type* __dest) const
- {
- memcpy(__dest, __lo, __hi - __lo);
- return __hi;
- }
-
- /**
- * @brief Narrow char
- *
- * This virtual function converts the char to char using the simplest
- * reasonable transformation. If the conversion fails, dfault is
- * returned instead. For an underived ctype<char> facet, @a c will be
- * returned unchanged.
- *
- * do_narrow() is a hook for a derived facet to change the behavior of
- * narrowing. do_narrow() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char to convert.
- * @param dfault Char to return if conversion fails.
- * @return The converted char.
- */
- virtual char
- do_narrow(char_type __c, char) const
- { return __c; }
-
- /**
- * @brief Narrow char array to char array
- *
- * This virtual function converts each char in the range [lo,hi) to
- * char using the simplest reasonable transformation and writes the
- * results to the destination array. For any char in the input that
- * cannot be converted, @a dfault is used instead. For an underived
- * ctype<char> facet, the argument will be copied unchanged.
- *
- * do_narrow() is a hook for a derived facet to change the behavior of
- * narrowing. do_narrow() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param dfault Char to use if conversion fails.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- virtual const char_type*
- do_narrow(const char_type* __lo, const char_type* __hi,
- char, char* __dest) const
- {
- memcpy(__dest, __lo, __hi - __lo);
- return __hi;
- }
-
- private:
-
- void _M_widen_init() const
- {
- char __tmp[sizeof(_M_widen)];
- for (size_t __i = 0; __i < sizeof(_M_widen); ++__i)
- __tmp[__i] = __i;
- do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen);
-
- _M_widen_ok = 1;
- // Set _M_widen_ok to 2 if memcpy can't be used.
- if (memcmp(__tmp, _M_widen, sizeof(_M_widen)))
- _M_widen_ok = 2;
- }
-
- // Fill in the narrowing cache and flag whether all values are
- // valid or not. _M_narrow_ok is set to 2 if memcpy can't
- // be used.
- void _M_narrow_init() const
- {
- char __tmp[sizeof(_M_narrow)];
- for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i)
- __tmp[__i] = __i;
- do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
-
- _M_narrow_ok = 1;
- if (memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
- _M_narrow_ok = 2;
- else
- {
- // Deal with the special case of zero: renarrow with a
- // different default and compare.
- char __c;
- do_narrow(__tmp, __tmp + 1, 1, &__c);
- if (__c == 1)
- _M_narrow_ok = 2;
- }
- }
- };
-
- template<>
- const ctype<char>&
- use_facet<ctype<char> >(const locale& __loc);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- // 22.2.1.3 ctype<wchar_t> specialization
- /**
- * @brief The ctype<wchar_t> specialization.
- *
- * This class defines classification and conversion functions for the
- * wchar_t type. It gets used by wchar_t streams for many I/O operations.
- * The wchar_t specialization provides a number of optimizations as well.
- *
- * ctype<wchar_t> inherits its public methods from
- * __ctype_abstract_base<wchar_t>.
- */
- template<>
- class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
- {
- public:
- // Types:
- /// Typedef for the template parameter wchar_t.
- typedef wchar_t char_type;
- typedef wctype_t __wmask_type;
-
- protected:
- __c_locale _M_c_locale_ctype;
-
- // Pre-computed narrowed and widened chars.
- bool _M_narrow_ok;
- char _M_narrow[128];
- wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
-
- // Pre-computed elements for do_is.
- mask _M_bit[16];
- __wmask_type _M_wmask[16];
-
- public:
- // Data Members:
- /// The facet id for ctype<wchar_t>
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- ctype(size_t __refs = 0);
-
- /**
- * @brief Constructor performs static initialization.
- *
- * This constructor is used to construct the initial C locale facet.
- *
- * @param cloc Handle to C locale data.
- * @param refs Passed to the base facet class.
- */
- explicit
- ctype(__c_locale __cloc, size_t __refs = 0);
-
- protected:
- __wmask_type
- _M_convert_to_wmask(const mask __m) const;
-
- /// Destructor
- virtual
- ~ctype();
-
- /**
- * @brief Test wchar_t classification.
- *
- * This function finds a mask M for @a c and compares it to mask @a m.
- *
- * do_is() is a hook for a derived facet to change the behavior of
- * classifying. do_is() must always return the same result for the
- * same input.
- *
- * @param c The wchar_t to find the mask of.
- * @param m The mask to compare against.
- * @return (M & m) != 0.
- */
- virtual bool
- do_is(mask __m, char_type __c) const;
-
- /**
- * @brief Return a mask array.
- *
- * This function finds the mask for each wchar_t in the range [lo,hi)
- * and successively writes it to vec. vec must have as many elements
- * as the input.
- *
- * do_is() is a hook for a derived facet to change the behavior of
- * classifying. do_is() must always return the same result for the
- * same input.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param vec Pointer to an array of mask storage.
- * @return @a hi.
- */
- virtual const char_type*
- do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
-
- /**
- * @brief Find wchar_t matching mask
- *
- * This function searches for and returns the first wchar_t c in
- * [lo,hi) for which is(m,c) is true.
- *
- * do_scan_is() is a hook for a derived facet to change the behavior of
- * match searching. do_is() must always return the same result for the
- * same input.
- *
- * @param m The mask to compare against.
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return Pointer to a matching wchar_t if found, else @a hi.
- */
- virtual const char_type*
- do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
-
- /**
- * @brief Find wchar_t not matching mask
- *
- * This function searches for and returns a pointer to the first
- * wchar_t c of [lo,hi) for which is(m,c) is false.
- *
- * do_scan_is() is a hook for a derived facet to change the behavior of
- * match searching. do_is() must always return the same result for the
- * same input.
- *
- * @param m The mask to compare against.
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return Pointer to a non-matching wchar_t if found, else @a hi.
- */
- virtual const char_type*
- do_scan_not(mask __m, const char_type* __lo,
- const char_type* __hi) const;
-
- /**
- * @brief Convert to uppercase.
- *
- * This virtual function converts the wchar_t argument to uppercase if
- * possible. If not possible (for example, '2'), returns the argument.
- *
- * do_toupper() is a hook for a derived facet to change the behavior of
- * uppercasing. do_toupper() must always return the same result for
- * the same input.
- *
- * @param c The wchar_t to convert.
- * @return The uppercase wchar_t if convertible, else @a c.
- */
- virtual char_type
- do_toupper(char_type) const;
-
- /**
- * @brief Convert array to uppercase.
- *
- * This virtual function converts each wchar_t in the range [lo,hi) to
- * uppercase if possible. Other elements remain untouched.
- *
- * do_toupper() is a hook for a derived facet to change the behavior of
- * uppercasing. do_toupper() must always return the same result for
- * the same input.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- virtual const char_type*
- do_toupper(char_type* __lo, const char_type* __hi) const;
-
- /**
- * @brief Convert to lowercase.
- *
- * This virtual function converts the argument to lowercase if
- * possible. If not possible (for example, '2'), returns the argument.
- *
- * do_tolower() is a hook for a derived facet to change the behavior of
- * lowercasing. do_tolower() must always return the same result for
- * the same input.
- *
- * @param c The wchar_t to convert.
- * @return The lowercase wchar_t if convertible, else @a c.
- */
- virtual char_type
- do_tolower(char_type) const;
-
- /**
- * @brief Convert array to lowercase.
- *
- * This virtual function converts each wchar_t in the range [lo,hi) to
- * lowercase if possible. Other elements remain untouched.
- *
- * do_tolower() is a hook for a derived facet to change the behavior of
- * lowercasing. do_tolower() must always return the same result for
- * the same input.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @return @a hi.
- */
- virtual const char_type*
- do_tolower(char_type* __lo, const char_type* __hi) const;
-
- /**
- * @brief Widen char to wchar_t
- *
- * This virtual function converts the char to wchar_t using the
- * simplest reasonable transformation. For an underived ctype<wchar_t>
- * facet, the argument will be cast to wchar_t.
- *
- * do_widen() is a hook for a derived facet to change the behavior of
- * widening. do_widen() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The char to convert.
- * @return The converted wchar_t.
- */
- virtual char_type
- do_widen(char) const;
-
- /**
- * @brief Widen char array to wchar_t array
- *
- * This function converts each char in the input to wchar_t using the
- * simplest reasonable transformation. For an underived ctype<wchar_t>
- * facet, the argument will be copied, casting each element to wchar_t.
- *
- * do_widen() is a hook for a derived facet to change the behavior of
- * widening. do_widen() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start range.
- * @param hi Pointer to end of range.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- virtual const char*
- do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
-
- /**
- * @brief Narrow wchar_t to char
- *
- * This virtual function converts the argument to char using
- * the simplest reasonable transformation. If the conversion
- * fails, dfault is returned instead. For an underived
- * ctype<wchar_t> facet, @a c will be cast to char and
- * returned.
- *
- * do_narrow() is a hook for a derived facet to change the
- * behavior of narrowing. do_narrow() must always return the
- * same result for the same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param c The wchar_t to convert.
- * @param dfault Char to return if conversion fails.
- * @return The converted char.
- */
- virtual char
- do_narrow(char_type, char __dfault) const;
-
- /**
- * @brief Narrow wchar_t array to char array
- *
- * This virtual function converts each wchar_t in the range [lo,hi) to
- * char using the simplest reasonable transformation and writes the
- * results to the destination array. For any wchar_t in the input that
- * cannot be converted, @a dfault is used instead. For an underived
- * ctype<wchar_t> facet, the argument will be copied, casting each
- * element to char.
- *
- * do_narrow() is a hook for a derived facet to change the behavior of
- * narrowing. do_narrow() must always return the same result for the
- * same input.
- *
- * Note: this is not what you want for codepage conversions. See
- * codecvt for that.
- *
- * @param lo Pointer to start of range.
- * @param hi Pointer to end of range.
- * @param dfault Char to use if conversion fails.
- * @param to Pointer to the destination array.
- * @return @a hi.
- */
- virtual const char_type*
- do_narrow(const char_type* __lo, const char_type* __hi,
- char __dfault, char* __dest) const;
-
- // For use at construction time only.
- void
- _M_initialize_ctype();
- };
-
- template<>
- const ctype<wchar_t>&
- use_facet<ctype<wchar_t> >(const locale& __loc);
-#endif //_GLIBCXX_USE_WCHAR_T
-
- /// @brief class ctype_byname [22.2.1.2].
- template<typename _CharT>
- class ctype_byname : public ctype<_CharT>
- {
- public:
- typedef _CharT char_type;
-
- explicit
- ctype_byname(const char* __s, size_t __refs = 0);
-
- protected:
- virtual
- ~ctype_byname() { };
- };
-
- /// 22.2.1.4 Class ctype_byname specializations.
- template<>
- ctype_byname<char>::ctype_byname(const char*, size_t refs);
-
- template<>
- ctype_byname<wchar_t>::ctype_byname(const char*, size_t refs);
-
-_GLIBCXX_END_NAMESPACE
-
-// Include host and configuration specific ctype inlines.
-#include <bits/ctype_inline.h>
-
-// 22.2.1.5 Template class codecvt
-#include <bits/codecvt.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 22.2.2 The numeric category.
- class __num_base
- {
- public:
- // NB: Code depends on the order of _S_atoms_out elements.
- // Below are the indices into _S_atoms_out.
- enum
- {
- _S_ominus,
- _S_oplus,
- _S_ox,
- _S_oX,
- _S_odigits,
- _S_odigits_end = _S_odigits + 16,
- _S_oudigits = _S_odigits_end,
- _S_oudigits_end = _S_oudigits + 16,
- _S_oe = _S_odigits + 14, // For scientific notation, 'e'
- _S_oE = _S_oudigits + 14, // For scientific notation, 'E'
- _S_oend = _S_oudigits_end
- };
-
- // A list of valid numeric literals for output. This array
- // contains chars that will be passed through the current locale's
- // ctype<_CharT>.widen() and then used to render numbers.
- // For the standard "C" locale, this is
- // "-+xX0123456789abcdef0123456789ABCDEF".
- static const char* _S_atoms_out;
-
- // String literal of acceptable (narrow) input, for num_get.
- // "-+xX0123456789abcdefABCDEF"
- static const char* _S_atoms_in;
-
- enum
- {
- _S_iminus,
- _S_iplus,
- _S_ix,
- _S_iX,
- _S_izero,
- _S_ie = _S_izero + 14,
- _S_iE = _S_izero + 20,
- _S_iend = 26
- };
-
- // num_put
- // Construct and return valid scanf format for floating point types.
- static void
- _S_format_float(const ios_base& __io, char* __fptr, char __mod);
- };
-
- template<typename _CharT>
- struct __numpunct_cache : public locale::facet
- {
- const char* _M_grouping;
- size_t _M_grouping_size;
- bool _M_use_grouping;
- const _CharT* _M_truename;
- size_t _M_truename_size;
- const _CharT* _M_falsename;
- size_t _M_falsename_size;
- _CharT _M_decimal_point;
- _CharT _M_thousands_sep;
-
- // A list of valid numeric literals for output: in the standard
- // "C" locale, this is "-+xX0123456789abcdef0123456789ABCDEF".
- // This array contains the chars after having been passed
- // through the current locale's ctype<_CharT>.widen().
- _CharT _M_atoms_out[__num_base::_S_oend];
-
- // A list of valid numeric literals for input: in the standard
- // "C" locale, this is "-+xX0123456789abcdefABCDEF"
- // This array contains the chars after having been passed
- // through the current locale's ctype<_CharT>.widen().
- _CharT _M_atoms_in[__num_base::_S_iend];
-
- bool _M_allocated;
-
- __numpunct_cache(size_t __refs = 0) : facet(__refs),
- _M_grouping(NULL), _M_grouping_size(0), _M_use_grouping(false),
- _M_truename(NULL), _M_truename_size(0), _M_falsename(NULL),
- _M_falsename_size(0), _M_decimal_point(_CharT()),
- _M_thousands_sep(_CharT()), _M_allocated(false)
- { }
-
- ~__numpunct_cache();
-
- void
- _M_cache(const locale& __loc);
-
- private:
- __numpunct_cache&
- operator=(const __numpunct_cache&);
-
- explicit
- __numpunct_cache(const __numpunct_cache&);
- };
-
- template<typename _CharT>
- __numpunct_cache<_CharT>::~__numpunct_cache()
- {
- if (_M_allocated)
- {
- delete [] _M_grouping;
- delete [] _M_truename;
- delete [] _M_falsename;
- }
- }
-
- /**
- * @brief Numpunct facet.
- *
- * This facet stores several pieces of information related to printing and
- * scanning numbers, such as the decimal point character. It takes a
- * template parameter specifying the char type. The numpunct facet is
- * used by streams for many I/O operations involving numbers.
- *
- * The numpunct template uses protected virtual functions to provide the
- * actual results. The public accessors forward the call to the virtual
- * functions. These virtual functions are hooks for developers to
- * implement the behavior they require from a numpunct facet.
- */
- template<typename _CharT>
- class numpunct : public locale::facet
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
- //@}
- typedef __numpunct_cache<_CharT> __cache_type;
-
- protected:
- __cache_type* _M_data;
-
- public:
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Numpunct constructor.
- *
- * @param refs Refcount to pass to the base class.
- */
- explicit
- numpunct(size_t __refs = 0) : facet(__refs), _M_data(NULL)
- { _M_initialize_numpunct(); }
-
- /**
- * @brief Internal constructor. Not for general use.
- *
- * This is a constructor for use by the library itself to set up the
- * predefined locale facets.
- *
- * @param cache __numpunct_cache object.
- * @param refs Refcount to pass to the base class.
- */
- explicit
- numpunct(__cache_type* __cache, size_t __refs = 0)
- : facet(__refs), _M_data(__cache)
- { _M_initialize_numpunct(); }
-
- /**
- * @brief Internal constructor. Not for general use.
- *
- * This is a constructor for use by the library itself to set up new
- * locales.
- *
- * @param cloc The "C" locale.
- * @param refs Refcount to pass to the base class.
- */
- explicit
- numpunct(__c_locale __cloc, size_t __refs = 0)
- : facet(__refs), _M_data(NULL)
- { _M_initialize_numpunct(__cloc); }
-
- /**
- * @brief Return decimal point character.
- *
- * This function returns a char_type to use as a decimal point. It
- * does so by returning returning
- * numpunct<char_type>::do_decimal_point().
- *
- * @return @a char_type representing a decimal point.
- */
- char_type
- decimal_point() const
- { return this->do_decimal_point(); }
-
- /**
- * @brief Return thousands separator character.
- *
- * This function returns a char_type to use as a thousands
- * separator. It does so by returning returning
- * numpunct<char_type>::do_thousands_sep().
- *
- * @return char_type representing a thousands separator.
- */
- char_type
- thousands_sep() const
- { return this->do_thousands_sep(); }
-
- /**
- * @brief Return grouping specification.
- *
- * This function returns a string representing groupings for the
- * integer part of a number. Groupings indicate where thousands
- * separators should be inserted in the integer part of a number.
- *
- * Each char in the return string is interpret as an integer
- * rather than a character. These numbers represent the number
- * of digits in a group. The first char in the string
- * represents the number of digits in the least significant
- * group. If a char is negative, it indicates an unlimited
- * number of digits for the group. If more chars from the
- * string are required to group a number, the last char is used
- * repeatedly.
- *
- * For example, if the grouping() returns "\003\002" and is
- * applied to the number 123456789, this corresponds to
- * 12,34,56,789. Note that if the string was "32", this would
- * put more than 50 digits into the least significant group if
- * the character set is ASCII.
- *
- * The string is returned by calling
- * numpunct<char_type>::do_grouping().
- *
- * @return string representing grouping specification.
- */
- string
- grouping() const
- { return this->do_grouping(); }
-
- /**
- * @brief Return string representation of bool true.
- *
- * This function returns a string_type containing the text
- * representation for true bool variables. It does so by calling
- * numpunct<char_type>::do_truename().
- *
- * @return string_type representing printed form of true.
- */
- string_type
- truename() const
- { return this->do_truename(); }
-
- /**
- * @brief Return string representation of bool false.
- *
- * This function returns a string_type containing the text
- * representation for false bool variables. It does so by calling
- * numpunct<char_type>::do_falsename().
- *
- * @return string_type representing printed form of false.
- */
- string_type
- falsename() const
- { return this->do_falsename(); }
-
- protected:
- /// Destructor.
- virtual
- ~numpunct();
-
- /**
- * @brief Return decimal point character.
- *
- * Returns a char_type to use as a decimal point. This function is a
- * hook for derived classes to change the value returned.
- *
- * @return @a char_type representing a decimal point.
- */
- virtual char_type
- do_decimal_point() const
- { return _M_data->_M_decimal_point; }
-
- /**
- * @brief Return thousands separator character.
- *
- * Returns a char_type to use as a thousands separator. This function
- * is a hook for derived classes to change the value returned.
- *
- * @return @a char_type representing a thousands separator.
- */
- virtual char_type
- do_thousands_sep() const
- { return _M_data->_M_thousands_sep; }
-
- /**
- * @brief Return grouping specification.
- *
- * Returns a string representing groupings for the integer part of a
- * number. This function is a hook for derived classes to change the
- * value returned. @see grouping() for details.
- *
- * @return String representing grouping specification.
- */
- virtual string
- do_grouping() const
- { return _M_data->_M_grouping; }
-
- /**
- * @brief Return string representation of bool true.
- *
- * Returns a string_type containing the text representation for true
- * bool variables. This function is a hook for derived classes to
- * change the value returned.
- *
- * @return string_type representing printed form of true.
- */
- virtual string_type
- do_truename() const
- { return _M_data->_M_truename; }
-
- /**
- * @brief Return string representation of bool false.
- *
- * Returns a string_type containing the text representation for false
- * bool variables. This function is a hook for derived classes to
- * change the value returned.
- *
- * @return string_type representing printed form of false.
- */
- virtual string_type
- do_falsename() const
- { return _M_data->_M_falsename; }
-
- // For use at construction time only.
- void
- _M_initialize_numpunct(__c_locale __cloc = NULL);
- };
-
- template<typename _CharT>
- locale::id numpunct<_CharT>::id;
-
- template<>
- numpunct<char>::~numpunct();
-
- template<>
- void
- numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- numpunct<wchar_t>::~numpunct();
-
- template<>
- void
- numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
-#endif
-
- /// @brief class numpunct_byname [22.2.3.2].
- template<typename _CharT>
- class numpunct_byname : public numpunct<_CharT>
- {
- public:
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
-
- explicit
- numpunct_byname(const char* __s, size_t __refs = 0)
- : numpunct<_CharT>(__refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- __c_locale __tmp;
- this->_S_create_c_locale(__tmp, __s);
- this->_M_initialize_numpunct(__tmp);
- this->_S_destroy_c_locale(__tmp);
- }
- }
-
- protected:
- virtual
- ~numpunct_byname() { }
- };
-
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
- /**
- * @brief Facet for parsing number strings.
- *
- * This facet encapsulates the code to parse and return a number
- * from a string. It is used by the istream numeric extraction
- * operators.
- *
- * The num_get template uses protected virtual functions to provide the
- * actual results. The public accessors forward the call to the virtual
- * functions. These virtual functions are hooks for developers to
- * implement the behavior they require from the num_get facet.
- */
- template<typename _CharT, typename _InIter>
- class num_get : public locale::facet
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _InIter iter_type;
- //@}
-
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- num_get(size_t __refs = 0) : facet(__refs) { }
-
- /**
- * @brief Numeric parsing.
- *
- * Parses the input stream into the bool @a v. It does so by calling
- * num_get::do_get().
- *
- * If ios_base::boolalpha is set, attempts to read
- * ctype<CharT>::truename() or ctype<CharT>::falsename(). Sets
- * @a v to true or false if successful. Sets err to
- * ios_base::failbit if reading the string fails. Sets err to
- * ios_base::eofbit if the stream is emptied.
- *
- * If ios_base::boolalpha is not set, proceeds as with reading a long,
- * except if the value is 1, sets @a v to true, if the value is 0, sets
- * @a v to false, and otherwise set err to ios_base::failbit.
- *
- * @param in Start of input stream.
- * @param end End of input stream.
- * @param io Source of locale and flags.
- * @param err Error flags to set.
- * @param v Value to format and insert.
- * @return Iterator after reading.
- */
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, bool& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- //@{
- /**
- * @brief Numeric parsing.
- *
- * Parses the input stream into the integral variable @a v. It does so
- * by calling num_get::do_get().
- *
- * Parsing is affected by the flag settings in @a io.
- *
- * The basic parse is affected by the value of io.flags() &
- * ios_base::basefield. If equal to ios_base::oct, parses like the
- * scanf %o specifier. Else if equal to ios_base::hex, parses like %X
- * specifier. Else if basefield equal to 0, parses like the %i
- * specifier. Otherwise, parses like %d for signed and %u for unsigned
- * types. The matching type length modifier is also used.
- *
- * Digit grouping is intrepreted according to numpunct::grouping() and
- * numpunct::thousands_sep(). If the pattern of digit groups isn't
- * consistent, sets err to ios_base::failbit.
- *
- * If parsing the string yields a valid value for @a v, @a v is set.
- * Otherwise, sets err to ios_base::failbit and leaves @a v unaltered.
- * Sets err to ios_base::eofbit if the stream is emptied.
- *
- * @param in Start of input stream.
- * @param end End of input stream.
- * @param io Source of locale and flags.
- * @param err Error flags to set.
- * @param v Value to format and insert.
- * @return Iterator after reading.
- */
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, long& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned short& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned int& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned long& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, long long& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned long long& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-#endif
- //@}
-
- //@{
- /**
- * @brief Numeric parsing.
- *
- * Parses the input stream into the integral variable @a v. It does so
- * by calling num_get::do_get().
- *
- * The input characters are parsed like the scanf %g specifier. The
- * matching type length modifier is also used.
- *
- * The decimal point character used is numpunct::decimal_point().
- * Digit grouping is intrepreted according to numpunct::grouping() and
- * numpunct::thousands_sep(). If the pattern of digit groups isn't
- * consistent, sets err to ios_base::failbit.
- *
- * If parsing the string yields a valid value for @a v, @a v is set.
- * Otherwise, sets err to ios_base::failbit and leaves @a v unaltered.
- * Sets err to ios_base::eofbit if the stream is emptied.
- *
- * @param in Start of input stream.
- * @param end End of input stream.
- * @param io Source of locale and flags.
- * @param err Error flags to set.
- * @param v Value to format and insert.
- * @return Iterator after reading.
- */
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, float& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, double& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, long double& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
- //@}
-
- /**
- * @brief Numeric parsing.
- *
- * Parses the input stream into the pointer variable @a v. It does so
- * by calling num_get::do_get().
- *
- * The input characters are parsed like the scanf %p specifier.
- *
- * Digit grouping is intrepreted according to numpunct::grouping() and
- * numpunct::thousands_sep(). If the pattern of digit groups isn't
- * consistent, sets err to ios_base::failbit.
- *
- * Note that the digit grouping effect for pointers is a bit ambiguous
- * in the standard and shouldn't be relied on. See DR 344.
- *
- * If parsing the string yields a valid value for @a v, @a v is set.
- * Otherwise, sets err to ios_base::failbit and leaves @a v unaltered.
- * Sets err to ios_base::eofbit if the stream is emptied.
- *
- * @param in Start of input stream.
- * @param end End of input stream.
- * @param io Source of locale and flags.
- * @param err Error flags to set.
- * @param v Value to format and insert.
- * @return Iterator after reading.
- */
- iter_type
- get(iter_type __in, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, void*& __v) const
- { return this->do_get(__in, __end, __io, __err, __v); }
-
- protected:
- /// Destructor.
- virtual ~num_get() { }
-
- iter_type
- _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
- string& __xtrc) const;
-
- template<typename _ValueT>
- iter_type
- _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
- _ValueT& __v) const;
-
- template<typename _CharT2>
- typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
- _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
- {
- int __ret = -1;
- if (__len <= 10)
- {
- if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
- __ret = __c - _CharT2('0');
- }
- else
- {
- if (__c >= _CharT2('0') && __c <= _CharT2('9'))
- __ret = __c - _CharT2('0');
- else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
- __ret = 10 + (__c - _CharT2('a'));
- else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
- __ret = 10 + (__c - _CharT2('A'));
- }
- return __ret;
- }
-
- template<typename _CharT2>
- typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
- int>::__type
- _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
- {
- int __ret = -1;
- const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
- if (__q)
- {
- __ret = __q - __zero;
- if (__ret > 15)
- __ret -= 6;
- }
- return __ret;
- }
-
- //@{
- /**
- * @brief Numeric parsing.
- *
- * Parses the input stream into the variable @a v. This function is a
- * hook for derived classes to change the value returned. @see get()
- * for more details.
- *
- * @param in Start of input stream.
- * @param end End of input stream.
- * @param io Source of locale and flags.
- * @param err Error flags to set.
- * @param v Value to format and insert.
- * @return Iterator after reading.
- */
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
-
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, long&) const;
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- unsigned short&) const;
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- unsigned int&) const;
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- unsigned long&) const;
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- long long&) const;
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- unsigned long long&) const;
-#endif
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- float&) const;
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- double&) const;
-
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- __do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- double&) const;
-#else
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- long double&) const;
-#endif
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- void*&) const;
-
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- long double&) const;
-#endif
- //@}
- };
-
- template<typename _CharT, typename _InIter>
- locale::id num_get<_CharT, _InIter>::id;
-
-
- /**
- * @brief Facet for converting numbers to strings.
- *
- * This facet encapsulates the code to convert a number to a string. It is
- * used by the ostream numeric insertion operators.
- *
- * The num_put template uses protected virtual functions to provide the
- * actual results. The public accessors forward the call to the virtual
- * functions. These virtual functions are hooks for developers to
- * implement the behavior they require from the num_put facet.
- */
- template<typename _CharT, typename _OutIter>
- class num_put : public locale::facet
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _OutIter iter_type;
- //@}
-
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- num_put(size_t __refs = 0) : facet(__refs) { }
-
- /**
- * @brief Numeric formatting.
- *
- * Formats the boolean @a v and inserts it into a stream. It does so
- * by calling num_put::do_put().
- *
- * If ios_base::boolalpha is set, writes ctype<CharT>::truename() or
- * ctype<CharT>::falsename(). Otherwise formats @a v as an int.
- *
- * @param s Stream to write to.
- * @param io Source of locale and flags.
- * @param fill Char_type to use for filling.
- * @param v Value to format and insert.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill, bool __v) const
- { return this->do_put(__s, __f, __fill, __v); }
-
- //@{
- /**
- * @brief Numeric formatting.
- *
- * Formats the integral value @a v and inserts it into a
- * stream. It does so by calling num_put::do_put().
- *
- * Formatting is affected by the flag settings in @a io.
- *
- * The basic format is affected by the value of io.flags() &
- * ios_base::basefield. If equal to ios_base::oct, formats like the
- * printf %o specifier. Else if equal to ios_base::hex, formats like
- * %x or %X with ios_base::uppercase unset or set respectively.
- * Otherwise, formats like %d, %ld, %lld for signed and %u, %lu, %llu
- * for unsigned values. Note that if both oct and hex are set, neither
- * will take effect.
- *
- * If ios_base::showpos is set, '+' is output before positive values.
- * If ios_base::showbase is set, '0' precedes octal values (except 0)
- * and '0[xX]' precedes hex values.
- *
- * Thousands separators are inserted according to numpunct::grouping()
- * and numpunct::thousands_sep(). The decimal point character used is
- * numpunct::decimal_point().
- *
- * If io.width() is non-zero, enough @a fill characters are inserted to
- * make the result at least that wide. If
- * (io.flags() & ios_base::adjustfield) == ios_base::left, result is
- * padded at the end. If ios_base::internal, then padding occurs
- * immediately after either a '+' or '-' or after '0x' or '0X'.
- * Otherwise, padding occurs at the beginning.
- *
- * @param s Stream to write to.
- * @param io Source of locale and flags.
- * @param fill Char_type to use for filling.
- * @param v Value to format and insert.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill, long __v) const
- { return this->do_put(__s, __f, __fill, __v); }
-
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill,
- unsigned long __v) const
- { return this->do_put(__s, __f, __fill, __v); }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill, long long __v) const
- { return this->do_put(__s, __f, __fill, __v); }
-
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill,
- unsigned long long __v) const
- { return this->do_put(__s, __f, __fill, __v); }
-#endif
- //@}
-
- //@{
- /**
- * @brief Numeric formatting.
- *
- * Formats the floating point value @a v and inserts it into a stream.
- * It does so by calling num_put::do_put().
- *
- * Formatting is affected by the flag settings in @a io.
- *
- * The basic format is affected by the value of io.flags() &
- * ios_base::floatfield. If equal to ios_base::fixed, formats like the
- * printf %f specifier. Else if equal to ios_base::scientific, formats
- * like %e or %E with ios_base::uppercase unset or set respectively.
- * Otherwise, formats like %g or %G depending on uppercase. Note that
- * if both fixed and scientific are set, the effect will also be like
- * %g or %G.
- *
- * The output precision is given by io.precision(). This precision is
- * capped at numeric_limits::digits10 + 2 (different for double and
- * long double). The default precision is 6.
- *
- * If ios_base::showpos is set, '+' is output before positive values.
- * If ios_base::showpoint is set, a decimal point will always be
- * output.
- *
- * Thousands separators are inserted according to numpunct::grouping()
- * and numpunct::thousands_sep(). The decimal point character used is
- * numpunct::decimal_point().
- *
- * If io.width() is non-zero, enough @a fill characters are inserted to
- * make the result at least that wide. If
- * (io.flags() & ios_base::adjustfield) == ios_base::left, result is
- * padded at the end. If ios_base::internal, then padding occurs
- * immediately after either a '+' or '-' or after '0x' or '0X'.
- * Otherwise, padding occurs at the beginning.
- *
- * @param s Stream to write to.
- * @param io Source of locale and flags.
- * @param fill Char_type to use for filling.
- * @param v Value to format and insert.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill, double __v) const
- { return this->do_put(__s, __f, __fill, __v); }
-
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill,
- long double __v) const
- { return this->do_put(__s, __f, __fill, __v); }
- //@}
-
- /**
- * @brief Numeric formatting.
- *
- * Formats the pointer value @a v and inserts it into a stream. It
- * does so by calling num_put::do_put().
- *
- * This function formats @a v as an unsigned long with ios_base::hex
- * and ios_base::showbase set.
- *
- * @param s Stream to write to.
- * @param io Source of locale and flags.
- * @param fill Char_type to use for filling.
- * @param v Value to format and insert.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, ios_base& __f, char_type __fill,
- const void* __v) const
- { return this->do_put(__s, __f, __fill, __v); }
-
- protected:
- template<typename _ValueT>
- iter_type
- _M_insert_float(iter_type, ios_base& __io, char_type __fill,
- char __mod, _ValueT __v) const;
-
- void
- _M_group_float(const char* __grouping, size_t __grouping_size,
- char_type __sep, const char_type* __p, char_type* __new,
- char_type* __cs, int& __len) const;
-
- template<typename _ValueT>
- iter_type
- _M_insert_int(iter_type, ios_base& __io, char_type __fill,
- _ValueT __v) const;
-
- void
- _M_group_int(const char* __grouping, size_t __grouping_size,
- char_type __sep, ios_base& __io, char_type* __new,
- char_type* __cs, int& __len) const;
-
- void
- _M_pad(char_type __fill, streamsize __w, ios_base& __io,
- char_type* __new, const char_type* __cs, int& __len) const;
-
- /// Destructor.
- virtual
- ~num_put() { };
-
- //@{
- /**
- * @brief Numeric formatting.
- *
- * These functions do the work of formatting numeric values and
- * inserting them into a stream. This function is a hook for derived
- * classes to change the value returned.
- *
- * @param s Stream to write to.
- * @param io Source of locale and flags.
- * @param fill Char_type to use for filling.
- * @param v Value to format and insert.
- * @return Iterator after writing.
- */
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, bool __v) const;
-
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long __v) const;
-
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, unsigned long) const;
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long long __v) const;
-
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, unsigned long long) const;
-#endif
-
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, double __v) const;
-
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- __do_put(iter_type, ios_base&, char_type __fill, double __v) const;
-#else
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long double __v) const;
-#endif
-
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, const void* __v) const;
-
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long double __v) const;
-#endif
- //@}
- };
-
- template <typename _CharT, typename _OutIter>
- locale::id num_put<_CharT, _OutIter>::id;
-
-_GLIBCXX_END_LDBL_NAMESPACE
-
- /**
- * @brief Facet for localized string comparison.
- *
- * This facet encapsulates the code to compare strings in a localized
- * manner.
- *
- * The collate template uses protected virtual functions to provide
- * the actual results. The public accessors forward the call to
- * the virtual functions. These virtual functions are hooks for
- * developers to implement the behavior they require from the
- * collate facet.
- */
- template<typename _CharT>
- class collate : public locale::facet
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
- //@}
-
- protected:
- // Underlying "C" library locale information saved from
- // initialization, needed by collate_byname as well.
- __c_locale _M_c_locale_collate;
-
- public:
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- collate(size_t __refs = 0)
- : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
- { }
-
- /**
- * @brief Internal constructor. Not for general use.
- *
- * This is a constructor for use by the library itself to set up new
- * locales.
- *
- * @param cloc The "C" locale.
- * @param refs Passed to the base facet class.
- */
- explicit
- collate(__c_locale __cloc, size_t __refs = 0)
- : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
- { }
-
- /**
- * @brief Compare two strings.
- *
- * This function compares two strings and returns the result by calling
- * collate::do_compare().
- *
- * @param lo1 Start of string 1.
- * @param hi1 End of string 1.
- * @param lo2 Start of string 2.
- * @param hi2 End of string 2.
- * @return 1 if string1 > string2, -1 if string1 < string2, else 0.
- */
- int
- compare(const _CharT* __lo1, const _CharT* __hi1,
- const _CharT* __lo2, const _CharT* __hi2) const
- { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
-
- /**
- * @brief Transform string to comparable form.
- *
- * This function is a wrapper for strxfrm functionality. It takes the
- * input string and returns a modified string that can be directly
- * compared to other transformed strings. In the "C" locale, this
- * function just returns a copy of the input string. In some other
- * locales, it may replace two chars with one, change a char for
- * another, etc. It does so by returning collate::do_transform().
- *
- * @param lo Start of string.
- * @param hi End of string.
- * @return Transformed string_type.
- */
- string_type
- transform(const _CharT* __lo, const _CharT* __hi) const
- { return this->do_transform(__lo, __hi); }
-
- /**
- * @brief Return hash of a string.
- *
- * This function computes and returns a hash on the input string. It
- * does so by returning collate::do_hash().
- *
- * @param lo Start of string.
- * @param hi End of string.
- * @return Hash value.
- */
- long
- hash(const _CharT* __lo, const _CharT* __hi) const
- { return this->do_hash(__lo, __hi); }
-
- // Used to abstract out _CharT bits in virtual member functions, below.
- int
- _M_compare(const _CharT*, const _CharT*) const;
-
- size_t
- _M_transform(_CharT*, const _CharT*, size_t) const;
-
- protected:
- /// Destructor.
- virtual
- ~collate()
- { _S_destroy_c_locale(_M_c_locale_collate); }
-
- /**
- * @brief Compare two strings.
- *
- * This function is a hook for derived classes to change the value
- * returned. @see compare().
- *
- * @param lo1 Start of string 1.
- * @param hi1 End of string 1.
- * @param lo2 Start of string 2.
- * @param hi2 End of string 2.
- * @return 1 if string1 > string2, -1 if string1 < string2, else 0.
- */
- virtual int
- do_compare(const _CharT* __lo1, const _CharT* __hi1,
- const _CharT* __lo2, const _CharT* __hi2) const;
-
- /**
- * @brief Transform string to comparable form.
- *
- * This function is a hook for derived classes to change the value
- * returned.
- *
- * @param lo1 Start of string 1.
- * @param hi1 End of string 1.
- * @param lo2 Start of string 2.
- * @param hi2 End of string 2.
- * @return 1 if string1 > string2, -1 if string1 < string2, else 0.
- */
- virtual string_type
- do_transform(const _CharT* __lo, const _CharT* __hi) const;
-
- /**
- * @brief Return hash of a string.
- *
- * This function computes and returns a hash on the input string. This
- * function is a hook for derived classes to change the value returned.
- *
- * @param lo Start of string.
- * @param hi End of string.
- * @return Hash value.
- */
- virtual long
- do_hash(const _CharT* __lo, const _CharT* __hi) const;
- };
-
- template<typename _CharT>
- locale::id collate<_CharT>::id;
-
- // Specializations.
- template<>
- int
- collate<char>::_M_compare(const char*, const char*) const;
-
- template<>
- size_t
- collate<char>::_M_transform(char*, const char*, size_t) const;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- int
- collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const;
-
- template<>
- size_t
- collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const;
-#endif
-
- /// @brief class collate_byname [22.2.4.2].
- template<typename _CharT>
- class collate_byname : public collate<_CharT>
- {
- public:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
- //@}
-
- explicit
- collate_byname(const char* __s, size_t __refs = 0)
- : collate<_CharT>(__refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_collate);
- this->_S_create_c_locale(this->_M_c_locale_collate, __s);
- }
- }
-
- protected:
- virtual
- ~collate_byname() { }
- };
-
-
- /**
- * @brief Time format ordering data.
- *
- * This class provides an enum representing different orderings of day,
- * month, and year.
- */
- class time_base
- {
- public:
- enum dateorder { no_order, dmy, mdy, ymd, ydm };
- };
-
- template<typename _CharT>
- struct __timepunct_cache : public locale::facet
- {
- // List of all known timezones, with GMT first.
- static const _CharT* _S_timezones[14];
-
- const _CharT* _M_date_format;
- const _CharT* _M_date_era_format;
- const _CharT* _M_time_format;
- const _CharT* _M_time_era_format;
- const _CharT* _M_date_time_format;
- const _CharT* _M_date_time_era_format;
- const _CharT* _M_am;
- const _CharT* _M_pm;
- const _CharT* _M_am_pm_format;
-
- // Day names, starting with "C"'s Sunday.
- const _CharT* _M_day1;
- const _CharT* _M_day2;
- const _CharT* _M_day3;
- const _CharT* _M_day4;
- const _CharT* _M_day5;
- const _CharT* _M_day6;
- const _CharT* _M_day7;
-
- // Abbreviated day names, starting with "C"'s Sun.
- const _CharT* _M_aday1;
- const _CharT* _M_aday2;
- const _CharT* _M_aday3;
- const _CharT* _M_aday4;
- const _CharT* _M_aday5;
- const _CharT* _M_aday6;
- const _CharT* _M_aday7;
-
- // Month names, starting with "C"'s January.
- const _CharT* _M_month01;
- const _CharT* _M_month02;
- const _CharT* _M_month03;
- const _CharT* _M_month04;
- const _CharT* _M_month05;
- const _CharT* _M_month06;
- const _CharT* _M_month07;
- const _CharT* _M_month08;
- const _CharT* _M_month09;
- const _CharT* _M_month10;
- const _CharT* _M_month11;
- const _CharT* _M_month12;
-
- // Abbreviated month names, starting with "C"'s Jan.
- const _CharT* _M_amonth01;
- const _CharT* _M_amonth02;
- const _CharT* _M_amonth03;
- const _CharT* _M_amonth04;
- const _CharT* _M_amonth05;
- const _CharT* _M_amonth06;
- const _CharT* _M_amonth07;
- const _CharT* _M_amonth08;
- const _CharT* _M_amonth09;
- const _CharT* _M_amonth10;
- const _CharT* _M_amonth11;
- const _CharT* _M_amonth12;
-
- bool _M_allocated;
-
- __timepunct_cache(size_t __refs = 0) : facet(__refs),
- _M_date_format(NULL), _M_date_era_format(NULL), _M_time_format(NULL),
- _M_time_era_format(NULL), _M_date_time_format(NULL),
- _M_date_time_era_format(NULL), _M_am(NULL), _M_pm(NULL),
- _M_am_pm_format(NULL), _M_day1(NULL), _M_day2(NULL), _M_day3(NULL),
- _M_day4(NULL), _M_day5(NULL), _M_day6(NULL), _M_day7(NULL),
- _M_aday1(NULL), _M_aday2(NULL), _M_aday3(NULL), _M_aday4(NULL),
- _M_aday5(NULL), _M_aday6(NULL), _M_aday7(NULL), _M_month01(NULL),
- _M_month02(NULL), _M_month03(NULL), _M_month04(NULL), _M_month05(NULL),
- _M_month06(NULL), _M_month07(NULL), _M_month08(NULL), _M_month09(NULL),
- _M_month10(NULL), _M_month11(NULL), _M_month12(NULL), _M_amonth01(NULL),
- _M_amonth02(NULL), _M_amonth03(NULL), _M_amonth04(NULL),
- _M_amonth05(NULL), _M_amonth06(NULL), _M_amonth07(NULL),
- _M_amonth08(NULL), _M_amonth09(NULL), _M_amonth10(NULL),
- _M_amonth11(NULL), _M_amonth12(NULL), _M_allocated(false)
- { }
-
- ~__timepunct_cache();
-
- void
- _M_cache(const locale& __loc);
-
- private:
- __timepunct_cache&
- operator=(const __timepunct_cache&);
-
- explicit
- __timepunct_cache(const __timepunct_cache&);
- };
-
- template<typename _CharT>
- __timepunct_cache<_CharT>::~__timepunct_cache()
- {
- if (_M_allocated)
- {
- // Unused.
- }
- }
-
- // Specializations.
- template<>
- const char*
- __timepunct_cache<char>::_S_timezones[14];
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- const wchar_t*
- __timepunct_cache<wchar_t>::_S_timezones[14];
-#endif
-
- // Generic.
- template<typename _CharT>
- const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
-
- template<typename _CharT>
- class __timepunct : public locale::facet
- {
- public:
- // Types:
- typedef _CharT __char_type;
- typedef basic_string<_CharT> __string_type;
- typedef __timepunct_cache<_CharT> __cache_type;
-
- protected:
- __cache_type* _M_data;
- __c_locale _M_c_locale_timepunct;
- const char* _M_name_timepunct;
-
- public:
- /// Numpunct facet id.
- static locale::id id;
-
- explicit
- __timepunct(size_t __refs = 0);
-
- explicit
- __timepunct(__cache_type* __cache, size_t __refs = 0);
-
- /**
- * @brief Internal constructor. Not for general use.
- *
- * This is a constructor for use by the library itself to set up new
- * locales.
- *
- * @param cloc The "C" locale.
- * @param s The name of a locale.
- * @param refs Passed to the base facet class.
- */
- explicit
- __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
-
- // FIXME: for error checking purposes _M_put should return the return
- // value of strftime/wcsftime.
- void
- _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
- const tm* __tm) const;
-
- void
- _M_date_formats(const _CharT** __date) const
- {
- // Always have default first.
- __date[0] = _M_data->_M_date_format;
- __date[1] = _M_data->_M_date_era_format;
- }
-
- void
- _M_time_formats(const _CharT** __time) const
- {
- // Always have default first.
- __time[0] = _M_data->_M_time_format;
- __time[1] = _M_data->_M_time_era_format;
- }
-
- void
- _M_date_time_formats(const _CharT** __dt) const
- {
- // Always have default first.
- __dt[0] = _M_data->_M_date_time_format;
- __dt[1] = _M_data->_M_date_time_era_format;
- }
-
- void
- _M_am_pm_format(const _CharT* __ampm) const
- { __ampm = _M_data->_M_am_pm_format; }
-
- void
- _M_am_pm(const _CharT** __ampm) const
- {
- __ampm[0] = _M_data->_M_am;
- __ampm[1] = _M_data->_M_pm;
- }
-
- void
- _M_days(const _CharT** __days) const
- {
- __days[0] = _M_data->_M_day1;
- __days[1] = _M_data->_M_day2;
- __days[2] = _M_data->_M_day3;
- __days[3] = _M_data->_M_day4;
- __days[4] = _M_data->_M_day5;
- __days[5] = _M_data->_M_day6;
- __days[6] = _M_data->_M_day7;
- }
-
- void
- _M_days_abbreviated(const _CharT** __days) const
- {
- __days[0] = _M_data->_M_aday1;
- __days[1] = _M_data->_M_aday2;
- __days[2] = _M_data->_M_aday3;
- __days[3] = _M_data->_M_aday4;
- __days[4] = _M_data->_M_aday5;
- __days[5] = _M_data->_M_aday6;
- __days[6] = _M_data->_M_aday7;
- }
-
- void
- _M_months(const _CharT** __months) const
- {
- __months[0] = _M_data->_M_month01;
- __months[1] = _M_data->_M_month02;
- __months[2] = _M_data->_M_month03;
- __months[3] = _M_data->_M_month04;
- __months[4] = _M_data->_M_month05;
- __months[5] = _M_data->_M_month06;
- __months[6] = _M_data->_M_month07;
- __months[7] = _M_data->_M_month08;
- __months[8] = _M_data->_M_month09;
- __months[9] = _M_data->_M_month10;
- __months[10] = _M_data->_M_month11;
- __months[11] = _M_data->_M_month12;
- }
-
- void
- _M_months_abbreviated(const _CharT** __months) const
- {
- __months[0] = _M_data->_M_amonth01;
- __months[1] = _M_data->_M_amonth02;
- __months[2] = _M_data->_M_amonth03;
- __months[3] = _M_data->_M_amonth04;
- __months[4] = _M_data->_M_amonth05;
- __months[5] = _M_data->_M_amonth06;
- __months[6] = _M_data->_M_amonth07;
- __months[7] = _M_data->_M_amonth08;
- __months[8] = _M_data->_M_amonth09;
- __months[9] = _M_data->_M_amonth10;
- __months[10] = _M_data->_M_amonth11;
- __months[11] = _M_data->_M_amonth12;
- }
-
- protected:
- virtual
- ~__timepunct();
-
- // For use at construction time only.
- void
- _M_initialize_timepunct(__c_locale __cloc = NULL);
- };
-
- template<typename _CharT>
- locale::id __timepunct<_CharT>::id;
-
- // Specializations.
- template<>
- void
- __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
-
- template<>
- void
- __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- void
- __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
-
- template<>
- void
- __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
- const tm*) const;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
- // Include host and configuration specific timepunct functions.
- #include <bits/time_members.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Facet for parsing dates and times.
- *
- * This facet encapsulates the code to parse and return a date or
- * time from a string. It is used by the istream numeric
- * extraction operators.
- *
- * The time_get template uses protected virtual functions to provide the
- * actual results. The public accessors forward the call to the virtual
- * functions. These virtual functions are hooks for developers to
- * implement the behavior they require from the time_get facet.
- */
- template<typename _CharT, typename _InIter>
- class time_get : public locale::facet, public time_base
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _InIter iter_type;
- //@}
- typedef basic_string<_CharT> __string_type;
-
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- time_get(size_t __refs = 0)
- : facet (__refs) { }
-
- /**
- * @brief Return preferred order of month, day, and year.
- *
- * This function returns an enum from timebase::dateorder giving the
- * preferred ordering if the format "x" given to time_put::put() only
- * uses month, day, and year. If the format "x" for the associated
- * locale uses other fields, this function returns
- * timebase::dateorder::noorder.
- *
- * NOTE: The library always returns noorder at the moment.
- *
- * @return A member of timebase::dateorder.
- */
- dateorder
- date_order() const
- { return this->do_date_order(); }
-
- /**
- * @brief Parse input time string.
- *
- * This function parses a time according to the format "x" and puts the
- * results into a user-supplied struct tm. The result is returned by
- * calling time_get::do_get_time().
- *
- * If there is a valid time string according to format "x", @a tm will
- * be filled in accordingly and the returned iterator will point to the
- * first character beyond the time string. If an error occurs before
- * the end, err |= ios_base::failbit. If parsing reads all the
- * characters, err |= ios_base::eofbit.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond time string.
- */
- iter_type
- get_time(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- { return this->do_get_time(__beg, __end, __io, __err, __tm); }
-
- /**
- * @brief Parse input date string.
- *
- * This function parses a date according to the format "X" and puts the
- * results into a user-supplied struct tm. The result is returned by
- * calling time_get::do_get_date().
- *
- * If there is a valid date string according to format "X", @a tm will
- * be filled in accordingly and the returned iterator will point to the
- * first character beyond the date string. If an error occurs before
- * the end, err |= ios_base::failbit. If parsing reads all the
- * characters, err |= ios_base::eofbit.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond date string.
- */
- iter_type
- get_date(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- { return this->do_get_date(__beg, __end, __io, __err, __tm); }
-
- /**
- * @brief Parse input weekday string.
- *
- * This function parses a weekday name and puts the results into a
- * user-supplied struct tm. The result is returned by calling
- * time_get::do_get_weekday().
- *
- * Parsing starts by parsing an abbreviated weekday name. If a valid
- * abbreviation is followed by a character that would lead to the full
- * weekday name, parsing continues until the full name is found or an
- * error occurs. Otherwise parsing finishes at the end of the
- * abbreviated name.
- *
- * If an error occurs before the end, err |= ios_base::failbit. If
- * parsing reads all the characters, err |= ios_base::eofbit.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond weekday name.
- */
- iter_type
- get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- { return this->do_get_weekday(__beg, __end, __io, __err, __tm); }
-
- /**
- * @brief Parse input month string.
- *
- * This function parses a month name and puts the results into a
- * user-supplied struct tm. The result is returned by calling
- * time_get::do_get_monthname().
- *
- * Parsing starts by parsing an abbreviated month name. If a valid
- * abbreviation is followed by a character that would lead to the full
- * month name, parsing continues until the full name is found or an
- * error occurs. Otherwise parsing finishes at the end of the
- * abbreviated name.
- *
- * If an error occurs before the end, err |= ios_base::failbit. If
- * parsing reads all the characters, err |=
- * ios_base::eofbit.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond month name.
- */
- iter_type
- get_monthname(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- { return this->do_get_monthname(__beg, __end, __io, __err, __tm); }
-
- /**
- * @brief Parse input year string.
- *
- * This function reads up to 4 characters to parse a year string and
- * puts the results into a user-supplied struct tm. The result is
- * returned by calling time_get::do_get_year().
- *
- * 4 consecutive digits are interpreted as a full year. If there are
- * exactly 2 consecutive digits, the library interprets this as the
- * number of years since 1900.
- *
- * If an error occurs before the end, err |= ios_base::failbit. If
- * parsing reads all the characters, err |= ios_base::eofbit.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond year.
- */
- iter_type
- get_year(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- { return this->do_get_year(__beg, __end, __io, __err, __tm); }
-
- protected:
- /// Destructor.
- virtual
- ~time_get() { }
-
- /**
- * @brief Return preferred order of month, day, and year.
- *
- * This function returns an enum from timebase::dateorder giving the
- * preferred ordering if the format "x" given to time_put::put() only
- * uses month, day, and year. This function is a hook for derived
- * classes to change the value returned.
- *
- * @return A member of timebase::dateorder.
- */
- virtual dateorder
- do_date_order() const;
-
- /**
- * @brief Parse input time string.
- *
- * This function parses a time according to the format "x" and puts the
- * results into a user-supplied struct tm. This function is a hook for
- * derived classes to change the value returned. @see get_time() for
- * details.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond time string.
- */
- virtual iter_type
- do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const;
-
- /**
- * @brief Parse input date string.
- *
- * This function parses a date according to the format "X" and puts the
- * results into a user-supplied struct tm. This function is a hook for
- * derived classes to change the value returned. @see get_date() for
- * details.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond date string.
- */
- virtual iter_type
- do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const;
-
- /**
- * @brief Parse input weekday string.
- *
- * This function parses a weekday name and puts the results into a
- * user-supplied struct tm. This function is a hook for derived
- * classes to change the value returned. @see get_weekday() for
- * details.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond weekday name.
- */
- virtual iter_type
- do_get_weekday(iter_type __beg, iter_type __end, ios_base&,
- ios_base::iostate& __err, tm* __tm) const;
-
- /**
- * @brief Parse input month string.
- *
- * This function parses a month name and puts the results into a
- * user-supplied struct tm. This function is a hook for derived
- * classes to change the value returned. @see get_monthname() for
- * details.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond month name.
- */
- virtual iter_type
- do_get_monthname(iter_type __beg, iter_type __end, ios_base&,
- ios_base::iostate& __err, tm* __tm) const;
-
- /**
- * @brief Parse input year string.
- *
- * This function reads up to 4 characters to parse a year string and
- * puts the results into a user-supplied struct tm. This function is a
- * hook for derived classes to change the value returned. @see
- * get_year() for details.
- *
- * @param beg Start of string to parse.
- * @param end End of string to parse.
- * @param io Source of the locale.
- * @param err Error flags to set.
- * @param tm Pointer to struct tm to fill in.
- * @return Iterator to first char beyond year.
- */
- virtual iter_type
- do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const;
-
- // Extract numeric component of length __len.
- iter_type
- _M_extract_num(iter_type __beg, iter_type __end, int& __member,
- int __min, int __max, size_t __len,
- ios_base& __io, ios_base::iostate& __err) const;
-
- // Extract day or month name, or any unique array of string
- // literals in a const _CharT* array.
- iter_type
- _M_extract_name(iter_type __beg, iter_type __end, int& __member,
- const _CharT** __names, size_t __indexlen,
- ios_base& __io, ios_base::iostate& __err) const;
-
- // Extract on a component-by-component basis, via __format argument.
- iter_type
- _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm,
- const _CharT* __format) const;
- };
-
- template<typename _CharT, typename _InIter>
- locale::id time_get<_CharT, _InIter>::id;
-
- /// @brief class time_get_byname [22.2.5.2].
- template<typename _CharT, typename _InIter>
- class time_get_byname : public time_get<_CharT, _InIter>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _InIter iter_type;
-
- explicit
- time_get_byname(const char*, size_t __refs = 0)
- : time_get<_CharT, _InIter>(__refs) { }
-
- protected:
- virtual
- ~time_get_byname() { }
- };
-
- /**
- * @brief Facet for outputting dates and times.
- *
- * This facet encapsulates the code to format and output dates and times
- * according to formats used by strftime().
- *
- * The time_put template uses protected virtual functions to provide the
- * actual results. The public accessors forward the call to the virtual
- * functions. These virtual functions are hooks for developers to
- * implement the behavior they require from the time_put facet.
- */
- template<typename _CharT, typename _OutIter>
- class time_put : public locale::facet
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _OutIter iter_type;
- //@}
-
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- time_put(size_t __refs = 0)
- : facet(__refs) { }
-
- /**
- * @brief Format and output a time or date.
- *
- * This function formats the data in struct tm according to the
- * provided format string. The format string is interpreted as by
- * strftime().
- *
- * @param s The stream to write to.
- * @param io Source of locale.
- * @param fill char_type to use for padding.
- * @param tm Struct tm with date and time info to format.
- * @param beg Start of format string.
- * @param end End of format string.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
- const _CharT* __beg, const _CharT* __end) const;
-
- /**
- * @brief Format and output a time or date.
- *
- * This function formats the data in struct tm according to the
- * provided format char and optional modifier. The format and modifier
- * are interpreted as by strftime(). It does so by returning
- * time_put::do_put().
- *
- * @param s The stream to write to.
- * @param io Source of locale.
- * @param fill char_type to use for padding.
- * @param tm Struct tm with date and time info to format.
- * @param format Format char.
- * @param mod Optional modifier char.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, ios_base& __io, char_type __fill,
- const tm* __tm, char __format, char __mod = 0) const
- { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
-
- protected:
- /// Destructor.
- virtual
- ~time_put()
- { }
-
- /**
- * @brief Format and output a time or date.
- *
- * This function formats the data in struct tm according to the
- * provided format char and optional modifier. This function is a hook
- * for derived classes to change the value returned. @see put() for
- * more details.
- *
- * @param s The stream to write to.
- * @param io Source of locale.
- * @param fill char_type to use for padding.
- * @param tm Struct tm with date and time info to format.
- * @param format Format char.
- * @param mod Optional modifier char.
- * @return Iterator after writing.
- */
- virtual iter_type
- do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
- char __format, char __mod) const;
- };
-
- template<typename _CharT, typename _OutIter>
- locale::id time_put<_CharT, _OutIter>::id;
-
- /// @brief class time_put_byname [22.2.5.4].
- template<typename _CharT, typename _OutIter>
- class time_put_byname : public time_put<_CharT, _OutIter>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _OutIter iter_type;
-
- explicit
- time_put_byname(const char*, size_t __refs = 0)
- : time_put<_CharT, _OutIter>(__refs)
- { };
-
- protected:
- virtual
- ~time_put_byname() { }
- };
-
-
- /**
- * @brief Money format ordering data.
- *
- * This class contains an ordered array of 4 fields to represent the
- * pattern for formatting a money amount. Each field may contain one entry
- * from the part enum. symbol, sign, and value must be present and the
- * remaining field must contain either none or space. @see
- * moneypunct::pos_format() and moneypunct::neg_format() for details of how
- * these fields are interpreted.
- */
- class money_base
- {
- public:
- enum part { none, space, symbol, sign, value };
- struct pattern { char field[4]; };
-
- static const pattern _S_default_pattern;
-
- enum
- {
- _S_minus,
- _S_zero,
- _S_end = 11
- };
-
- // String literal of acceptable (narrow) input/output, for
- // money_get/money_put. "-0123456789"
- static const char* _S_atoms;
-
- // Construct and return valid pattern consisting of some combination of:
- // space none symbol sign value
- static pattern
- _S_construct_pattern(char __precedes, char __space, char __posn);
- };
-
- template<typename _CharT, bool _Intl>
- struct __moneypunct_cache : public locale::facet
- {
- const char* _M_grouping;
- size_t _M_grouping_size;
- bool _M_use_grouping;
- _CharT _M_decimal_point;
- _CharT _M_thousands_sep;
- const _CharT* _M_curr_symbol;
- size_t _M_curr_symbol_size;
- const _CharT* _M_positive_sign;
- size_t _M_positive_sign_size;
- const _CharT* _M_negative_sign;
- size_t _M_negative_sign_size;
- int _M_frac_digits;
- money_base::pattern _M_pos_format;
- money_base::pattern _M_neg_format;
-
- // A list of valid numeric literals for input and output: in the standard
- // "C" locale, this is "-0123456789". This array contains the chars after
- // having been passed through the current locale's ctype<_CharT>.widen().
- _CharT _M_atoms[money_base::_S_end];
-
- bool _M_allocated;
-
- __moneypunct_cache(size_t __refs = 0) : facet(__refs),
- _M_grouping(NULL), _M_grouping_size(0), _M_use_grouping(false),
- _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
- _M_curr_symbol(NULL), _M_curr_symbol_size(0),
- _M_positive_sign(NULL), _M_positive_sign_size(0),
- _M_negative_sign(NULL), _M_negative_sign_size(0),
- _M_frac_digits(0),
- _M_pos_format(money_base::pattern()),
- _M_neg_format(money_base::pattern()), _M_allocated(false)
- { }
-
- ~__moneypunct_cache();
-
- void
- _M_cache(const locale& __loc);
-
- private:
- __moneypunct_cache&
- operator=(const __moneypunct_cache&);
-
- explicit
- __moneypunct_cache(const __moneypunct_cache&);
- };
-
- template<typename _CharT, bool _Intl>
- __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
- {
- if (_M_allocated)
- {
- delete [] _M_grouping;
- delete [] _M_curr_symbol;
- delete [] _M_positive_sign;
- delete [] _M_negative_sign;
- }
- }
-
- /**
- * @brief Facet for formatting data for money amounts.
- *
- * This facet encapsulates the punctuation, grouping and other formatting
- * features of money amount string representations.
- */
- template<typename _CharT, bool _Intl>
- class moneypunct : public locale::facet, public money_base
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
- //@}
- typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
-
- private:
- __cache_type* _M_data;
-
- public:
- /// This value is provided by the standard, but no reason for its
- /// existence.
- static const bool intl = _Intl;
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- moneypunct(size_t __refs = 0) : facet(__refs), _M_data(NULL)
- { _M_initialize_moneypunct(); }
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is an internal constructor.
- *
- * @param cache Cache for optimization.
- * @param refs Passed to the base facet class.
- */
- explicit
- moneypunct(__cache_type* __cache, size_t __refs = 0)
- : facet(__refs), _M_data(__cache)
- { _M_initialize_moneypunct(); }
-
- /**
- * @brief Internal constructor. Not for general use.
- *
- * This is a constructor for use by the library itself to set up new
- * locales.
- *
- * @param cloc The "C" locale.
- * @param s The name of a locale.
- * @param refs Passed to the base facet class.
- */
- explicit
- moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
- : facet(__refs), _M_data(NULL)
- { _M_initialize_moneypunct(__cloc, __s); }
-
- /**
- * @brief Return decimal point character.
- *
- * This function returns a char_type to use as a decimal point. It
- * does so by returning returning
- * moneypunct<char_type>::do_decimal_point().
- *
- * @return @a char_type representing a decimal point.
- */
- char_type
- decimal_point() const
- { return this->do_decimal_point(); }
-
- /**
- * @brief Return thousands separator character.
- *
- * This function returns a char_type to use as a thousands
- * separator. It does so by returning returning
- * moneypunct<char_type>::do_thousands_sep().
- *
- * @return char_type representing a thousands separator.
- */
- char_type
- thousands_sep() const
- { return this->do_thousands_sep(); }
-
- /**
- * @brief Return grouping specification.
- *
- * This function returns a string representing groupings for the
- * integer part of an amount. Groupings indicate where thousands
- * separators should be inserted.
- *
- * Each char in the return string is interpret as an integer rather
- * than a character. These numbers represent the number of digits in a
- * group. The first char in the string represents the number of digits
- * in the least significant group. If a char is negative, it indicates
- * an unlimited number of digits for the group. If more chars from the
- * string are required to group a number, the last char is used
- * repeatedly.
- *
- * For example, if the grouping() returns "\003\002" and is applied to
- * the number 123456789, this corresponds to 12,34,56,789. Note that
- * if the string was "32", this would put more than 50 digits into the
- * least significant group if the character set is ASCII.
- *
- * The string is returned by calling
- * moneypunct<char_type>::do_grouping().
- *
- * @return string representing grouping specification.
- */
- string
- grouping() const
- { return this->do_grouping(); }
-
- /**
- * @brief Return currency symbol string.
- *
- * This function returns a string_type to use as a currency symbol. It
- * does so by returning returning
- * moneypunct<char_type>::do_curr_symbol().
- *
- * @return @a string_type representing a currency symbol.
- */
- string_type
- curr_symbol() const
- { return this->do_curr_symbol(); }
-
- /**
- * @brief Return positive sign string.
- *
- * This function returns a string_type to use as a sign for positive
- * amounts. It does so by returning returning
- * moneypunct<char_type>::do_positive_sign().
- *
- * If the return value contains more than one character, the first
- * character appears in the position indicated by pos_format() and the
- * remainder appear at the end of the formatted string.
- *
- * @return @a string_type representing a positive sign.
- */
- string_type
- positive_sign() const
- { return this->do_positive_sign(); }
-
- /**
- * @brief Return negative sign string.
- *
- * This function returns a string_type to use as a sign for negative
- * amounts. It does so by returning returning
- * moneypunct<char_type>::do_negative_sign().
- *
- * If the return value contains more than one character, the first
- * character appears in the position indicated by neg_format() and the
- * remainder appear at the end of the formatted string.
- *
- * @return @a string_type representing a negative sign.
- */
- string_type
- negative_sign() const
- { return this->do_negative_sign(); }
-
- /**
- * @brief Return number of digits in fraction.
- *
- * This function returns the exact number of digits that make up the
- * fractional part of a money amount. It does so by returning
- * returning moneypunct<char_type>::do_frac_digits().
- *
- * The fractional part of a money amount is optional. But if it is
- * present, there must be frac_digits() digits.
- *
- * @return Number of digits in amount fraction.
- */
- int
- frac_digits() const
- { return this->do_frac_digits(); }
-
- //@{
- /**
- * @brief Return pattern for money values.
- *
- * This function returns a pattern describing the formatting of a
- * positive or negative valued money amount. It does so by returning
- * returning moneypunct<char_type>::do_pos_format() or
- * moneypunct<char_type>::do_neg_format().
- *
- * The pattern has 4 fields describing the ordering of symbol, sign,
- * value, and none or space. There must be one of each in the pattern.
- * The none and space enums may not appear in the first field and space
- * may not appear in the final field.
- *
- * The parts of a money string must appear in the order indicated by
- * the fields of the pattern. The symbol field indicates that the
- * value of curr_symbol() may be present. The sign field indicates
- * that the value of positive_sign() or negative_sign() must be
- * present. The value field indicates that the absolute value of the
- * money amount is present. none indicates 0 or more whitespace
- * characters, except at the end, where it permits no whitespace.
- * space indicates that 1 or more whitespace characters must be
- * present.
- *
- * For example, for the US locale and pos_format() pattern
- * {symbol,sign,value,none}, curr_symbol() == '$' positive_sign() ==
- * '+', and value 10.01, and options set to force the symbol, the
- * corresponding string is "$+10.01".
- *
- * @return Pattern for money values.
- */
- pattern
- pos_format() const
- { return this->do_pos_format(); }
-
- pattern
- neg_format() const
- { return this->do_neg_format(); }
- //@}
-
- protected:
- /// Destructor.
- virtual
- ~moneypunct();
-
- /**
- * @brief Return decimal point character.
- *
- * Returns a char_type to use as a decimal point. This function is a
- * hook for derived classes to change the value returned.
- *
- * @return @a char_type representing a decimal point.
- */
- virtual char_type
- do_decimal_point() const
- { return _M_data->_M_decimal_point; }
-
- /**
- * @brief Return thousands separator character.
- *
- * Returns a char_type to use as a thousands separator. This function
- * is a hook for derived classes to change the value returned.
- *
- * @return @a char_type representing a thousands separator.
- */
- virtual char_type
- do_thousands_sep() const
- { return _M_data->_M_thousands_sep; }
-
- /**
- * @brief Return grouping specification.
- *
- * Returns a string representing groupings for the integer part of a
- * number. This function is a hook for derived classes to change the
- * value returned. @see grouping() for details.
- *
- * @return String representing grouping specification.
- */
- virtual string
- do_grouping() const
- { return _M_data->_M_grouping; }
-
- /**
- * @brief Return currency symbol string.
- *
- * This function returns a string_type to use as a currency symbol.
- * This function is a hook for derived classes to change the value
- * returned. @see curr_symbol() for details.
- *
- * @return @a string_type representing a currency symbol.
- */
- virtual string_type
- do_curr_symbol() const
- { return _M_data->_M_curr_symbol; }
-
- /**
- * @brief Return positive sign string.
- *
- * This function returns a string_type to use as a sign for positive
- * amounts. This function is a hook for derived classes to change the
- * value returned. @see positive_sign() for details.
- *
- * @return @a string_type representing a positive sign.
- */
- virtual string_type
- do_positive_sign() const
- { return _M_data->_M_positive_sign; }
-
- /**
- * @brief Return negative sign string.
- *
- * This function returns a string_type to use as a sign for negative
- * amounts. This function is a hook for derived classes to change the
- * value returned. @see negative_sign() for details.
- *
- * @return @a string_type representing a negative sign.
- */
- virtual string_type
- do_negative_sign() const
- { return _M_data->_M_negative_sign; }
-
- /**
- * @brief Return number of digits in fraction.
- *
- * This function returns the exact number of digits that make up the
- * fractional part of a money amount. This function is a hook for
- * derived classes to change the value returned. @see frac_digits()
- * for details.
- *
- * @return Number of digits in amount fraction.
- */
- virtual int
- do_frac_digits() const
- { return _M_data->_M_frac_digits; }
-
- /**
- * @brief Return pattern for money values.
- *
- * This function returns a pattern describing the formatting of a
- * positive valued money amount. This function is a hook for derived
- * classes to change the value returned. @see pos_format() for
- * details.
- *
- * @return Pattern for money values.
- */
- virtual pattern
- do_pos_format() const
- { return _M_data->_M_pos_format; }
-
- /**
- * @brief Return pattern for money values.
- *
- * This function returns a pattern describing the formatting of a
- * negative valued money amount. This function is a hook for derived
- * classes to change the value returned. @see neg_format() for
- * details.
- *
- * @return Pattern for money values.
- */
- virtual pattern
- do_neg_format() const
- { return _M_data->_M_neg_format; }
-
- // For use at construction time only.
- void
- _M_initialize_moneypunct(__c_locale __cloc = NULL,
- const char* __name = NULL);
- };
-
- template<typename _CharT, bool _Intl>
- locale::id moneypunct<_CharT, _Intl>::id;
-
- template<typename _CharT, bool _Intl>
- const bool moneypunct<_CharT, _Intl>::intl;
-
- template<>
- moneypunct<char, true>::~moneypunct();
-
- template<>
- moneypunct<char, false>::~moneypunct();
-
- template<>
- void
- moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
-
- template<>
- void
- moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- moneypunct<wchar_t, true>::~moneypunct();
-
- template<>
- moneypunct<wchar_t, false>::~moneypunct();
-
- template<>
- void
- moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
- const char*);
-
- template<>
- void
- moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
- const char*);
-#endif
-
- /// @brief class moneypunct_byname [22.2.6.4].
- template<typename _CharT, bool _Intl>
- class moneypunct_byname : public moneypunct<_CharT, _Intl>
- {
- public:
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
-
- static const bool intl = _Intl;
-
- explicit
- moneypunct_byname(const char* __s, size_t __refs = 0)
- : moneypunct<_CharT, _Intl>(__refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- __c_locale __tmp;
- this->_S_create_c_locale(__tmp, __s);
- this->_M_initialize_moneypunct(__tmp);
- this->_S_destroy_c_locale(__tmp);
- }
- }
-
- protected:
- virtual
- ~moneypunct_byname() { }
- };
-
- template<typename _CharT, bool _Intl>
- const bool moneypunct_byname<_CharT, _Intl>::intl;
-
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
- /**
- * @brief Facet for parsing monetary amounts.
- *
- * This facet encapsulates the code to parse and return a monetary
- * amount from a string.
- *
- * The money_get template uses protected virtual functions to
- * provide the actual results. The public accessors forward the
- * call to the virtual functions. These virtual functions are
- * hooks for developers to implement the behavior they require from
- * the money_get facet.
- */
- template<typename _CharT, typename _InIter>
- class money_get : public locale::facet
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _InIter iter_type;
- typedef basic_string<_CharT> string_type;
- //@}
-
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- money_get(size_t __refs = 0) : facet(__refs) { }
-
- /**
- * @brief Read and parse a monetary value.
- *
- * This function reads characters from @a s, interprets them as a
- * monetary value according to moneypunct and ctype facets retrieved
- * from io.getloc(), and returns the result in @a units as an integral
- * value moneypunct::frac_digits() * the actual amount. For example,
- * the string $10.01 in a US locale would store 1001 in @a units.
- *
- * Any characters not part of a valid money amount are not consumed.
- *
- * If a money value cannot be parsed from the input stream, sets
- * err=(err|io.failbit). If the stream is consumed before finishing
- * parsing, sets err=(err|io.failbit|io.eofbit). @a units is
- * unchanged if parsing fails.
- *
- * This function works by returning the result of do_get().
- *
- * @param s Start of characters to parse.
- * @param end End of characters to parse.
- * @param intl Parameter to use_facet<moneypunct<CharT,intl> >.
- * @param io Source of facets and io state.
- * @param err Error field to set if parsing fails.
- * @param units Place to store result of parsing.
- * @return Iterator referencing first character beyond valid money
- * amount.
- */
- iter_type
- get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, long double& __units) const
- { return this->do_get(__s, __end, __intl, __io, __err, __units); }
-
- /**
- * @brief Read and parse a monetary value.
- *
- * This function reads characters from @a s, interprets them as a
- * monetary value according to moneypunct and ctype facets retrieved
- * from io.getloc(), and returns the result in @a digits. For example,
- * the string $10.01 in a US locale would store "1001" in @a digits.
- *
- * Any characters not part of a valid money amount are not consumed.
- *
- * If a money value cannot be parsed from the input stream, sets
- * err=(err|io.failbit). If the stream is consumed before finishing
- * parsing, sets err=(err|io.failbit|io.eofbit).
- *
- * This function works by returning the result of do_get().
- *
- * @param s Start of characters to parse.
- * @param end End of characters to parse.
- * @param intl Parameter to use_facet<moneypunct<CharT,intl> >.
- * @param io Source of facets and io state.
- * @param err Error field to set if parsing fails.
- * @param digits Place to store result of parsing.
- * @return Iterator referencing first character beyond valid money
- * amount.
- */
- iter_type
- get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, string_type& __digits) const
- { return this->do_get(__s, __end, __intl, __io, __err, __digits); }
-
- protected:
- /// Destructor.
- virtual
- ~money_get() { }
-
- /**
- * @brief Read and parse a monetary value.
- *
- * This function reads and parses characters representing a monetary
- * value. This function is a hook for derived classes to change the
- * value returned. @see get() for details.
- */
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- __do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, double& __units) const;
-#else
- virtual iter_type
- do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, long double& __units) const;
-#endif
-
- /**
- * @brief Read and parse a monetary value.
- *
- * This function reads and parses characters representing a monetary
- * value. This function is a hook for derived classes to change the
- * value returned. @see get() for details.
- */
- virtual iter_type
- do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, string_type& __digits) const;
-
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, long double& __units) const;
-#endif
-
- template<bool _Intl>
- iter_type
- _M_extract(iter_type __s, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, string& __digits) const;
- };
-
- template<typename _CharT, typename _InIter>
- locale::id money_get<_CharT, _InIter>::id;
-
- /**
- * @brief Facet for outputting monetary amounts.
- *
- * This facet encapsulates the code to format and output a monetary
- * amount.
- *
- * The money_put template uses protected virtual functions to
- * provide the actual results. The public accessors forward the
- * call to the virtual functions. These virtual functions are
- * hooks for developers to implement the behavior they require from
- * the money_put facet.
- */
- template<typename _CharT, typename _OutIter>
- class money_put : public locale::facet
- {
- public:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _OutIter iter_type;
- typedef basic_string<_CharT> string_type;
- //@}
-
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- money_put(size_t __refs = 0) : facet(__refs) { }
-
- /**
- * @brief Format and output a monetary value.
- *
- * This function formats @a units as a monetary value according to
- * moneypunct and ctype facets retrieved from io.getloc(), and writes
- * the resulting characters to @a s. For example, the value 1001 in a
- * US locale would write "$10.01" to @a s.
- *
- * This function works by returning the result of do_put().
- *
- * @param s The stream to write to.
- * @param intl Parameter to use_facet<moneypunct<CharT,intl> >.
- * @param io Source of facets and io state.
- * @param fill char_type to use for padding.
- * @param units Place to store result of parsing.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, bool __intl, ios_base& __io,
- char_type __fill, long double __units) const
- { return this->do_put(__s, __intl, __io, __fill, __units); }
-
- /**
- * @brief Format and output a monetary value.
- *
- * This function formats @a digits as a monetary value according to
- * moneypunct and ctype facets retrieved from io.getloc(), and writes
- * the resulting characters to @a s. For example, the string "1001" in
- * a US locale would write "$10.01" to @a s.
- *
- * This function works by returning the result of do_put().
- *
- * @param s The stream to write to.
- * @param intl Parameter to use_facet<moneypunct<CharT,intl> >.
- * @param io Source of facets and io state.
- * @param fill char_type to use for padding.
- * @param units Place to store result of parsing.
- * @return Iterator after writing.
- */
- iter_type
- put(iter_type __s, bool __intl, ios_base& __io,
- char_type __fill, const string_type& __digits) const
- { return this->do_put(__s, __intl, __io, __fill, __digits); }
-
- protected:
- /// Destructor.
- virtual
- ~money_put() { }
-
- /**
- * @brief Format and output a monetary value.
- *
- * This function formats @a units as a monetary value according to
- * moneypunct and ctype facets retrieved from io.getloc(), and writes
- * the resulting characters to @a s. For example, the value 1001 in a
- * US locale would write "$10.01" to @a s.
- *
- * This function is a hook for derived classes to change the value
- * returned. @see put().
- *
- * @param s The stream to write to.
- * @param intl Parameter to use_facet<moneypunct<CharT,intl> >.
- * @param io Source of facets and io state.
- * @param fill char_type to use for padding.
- * @param units Place to store result of parsing.
- * @return Iterator after writing.
- */
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- __do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
- double __units) const;
-#else
- virtual iter_type
- do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
- long double __units) const;
-#endif
-
- /**
- * @brief Format and output a monetary value.
- *
- * This function formats @a digits as a monetary value according to
- * moneypunct and ctype facets retrieved from io.getloc(), and writes
- * the resulting characters to @a s. For example, the string "1001" in
- * a US locale would write "$10.01" to @a s.
- *
- * This function is a hook for derived classes to change the value
- * returned. @see put().
- *
- * @param s The stream to write to.
- * @param intl Parameter to use_facet<moneypunct<CharT,intl> >.
- * @param io Source of facets and io state.
- * @param fill char_type to use for padding.
- * @param units Place to store result of parsing.
- * @return Iterator after writing.
- */
- virtual iter_type
- do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
- const string_type& __digits) const;
-
- // XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- virtual iter_type
- do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
- long double __units) const;
-#endif
-
- template<bool _Intl>
- iter_type
- _M_insert(iter_type __s, ios_base& __io, char_type __fill,
- const string_type& __digits) const;
- };
-
- template<typename _CharT, typename _OutIter>
- locale::id money_put<_CharT, _OutIter>::id;
-
-_GLIBCXX_END_LDBL_NAMESPACE
-
- /**
- * @brief Messages facet base class providing catalog typedef.
- */
- class messages_base
- {
- public:
- typedef int catalog;
- };
-
- /**
- * @brief Facet for handling message catalogs
- *
- * This facet encapsulates the code to retrieve messages from
- * message catalogs. The only thing defined by the standard for this facet
- * is the interface. All underlying functionality is
- * implementation-defined.
- *
- * This library currently implements 3 versions of the message facet. The
- * first version (gnu) is a wrapper around gettext, provided by libintl.
- * The second version (ieee) is a wrapper around catgets. The final
- * version (default) does no actual translation. These implementations are
- * only provided for char and wchar_t instantiations.
- *
- * The messages template uses protected virtual functions to
- * provide the actual results. The public accessors forward the
- * call to the virtual functions. These virtual functions are
- * hooks for developers to implement the behavior they require from
- * the messages facet.
- */
- template<typename _CharT>
- class messages : public locale::facet, public messages_base
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
- //@}
-
- protected:
- // Underlying "C" library locale information saved from
- // initialization, needed by messages_byname as well.
- __c_locale _M_c_locale_messages;
- const char* _M_name_messages;
-
- public:
- /// Numpunct facet id.
- static locale::id id;
-
- /**
- * @brief Constructor performs initialization.
- *
- * This is the constructor provided by the standard.
- *
- * @param refs Passed to the base facet class.
- */
- explicit
- messages(size_t __refs = 0);
-
- // Non-standard.
- /**
- * @brief Internal constructor. Not for general use.
- *
- * This is a constructor for use by the library itself to set up new
- * locales.
- *
- * @param cloc The "C" locale.
- * @param s The name of a locale.
- * @param refs Refcount to pass to the base class.
- */
- explicit
- messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
-
- /*
- * @brief Open a message catalog.
- *
- * This function opens and returns a handle to a message catalog by
- * returning do_open(s, loc).
- *
- * @param s The catalog to open.
- * @param loc Locale to use for character set conversions.
- * @return Handle to the catalog or value < 0 if open fails.
- */
- catalog
- open(const basic_string<char>& __s, const locale& __loc) const
- { return this->do_open(__s, __loc); }
-
- // Non-standard and unorthodox, yet effective.
- /*
- * @brief Open a message catalog.
- *
- * This non-standard function opens and returns a handle to a message
- * catalog by returning do_open(s, loc). The third argument provides a
- * message catalog root directory for gnu gettext and is ignored
- * otherwise.
- *
- * @param s The catalog to open.
- * @param loc Locale to use for character set conversions.
- * @param dir Message catalog root directory.
- * @return Handle to the catalog or value < 0 if open fails.
- */
- catalog
- open(const basic_string<char>&, const locale&, const char*) const;
-
- /*
- * @brief Look up a string in a message catalog.
- *
- * This function retrieves and returns a message from a catalog by
- * returning do_get(c, set, msgid, s).
- *
- * For gnu, @a set and @a msgid are ignored. Returns gettext(s).
- * For default, returns s. For ieee, returns catgets(c,set,msgid,s).
- *
- * @param c The catalog to access.
- * @param set Implementation-defined.
- * @param msgid Implementation-defined.
- * @param s Default return value if retrieval fails.
- * @return Retrieved message or @a s if get fails.
- */
- string_type
- get(catalog __c, int __set, int __msgid, const string_type& __s) const
- { return this->do_get(__c, __set, __msgid, __s); }
-
- /*
- * @brief Close a message catalog.
- *
- * Closes catalog @a c by calling do_close(c).
- *
- * @param c The catalog to close.
- */
- void
- close(catalog __c) const
- { return this->do_close(__c); }
-
- protected:
- /// Destructor.
- virtual
- ~messages();
-
- /*
- * @brief Open a message catalog.
- *
- * This function opens and returns a handle to a message catalog in an
- * implementation-defined manner. This function is a hook for derived
- * classes to change the value returned.
- *
- * @param s The catalog to open.
- * @param loc Locale to use for character set conversions.
- * @return Handle to the opened catalog, value < 0 if open failed.
- */
- virtual catalog
- do_open(const basic_string<char>&, const locale&) const;
-
- /*
- * @brief Look up a string in a message catalog.
- *
- * This function retrieves and returns a message from a catalog in an
- * implementation-defined manner. This function is a hook for derived
- * classes to change the value returned.
- *
- * For gnu, @a set and @a msgid are ignored. Returns gettext(s).
- * For default, returns s. For ieee, returns catgets(c,set,msgid,s).
- *
- * @param c The catalog to access.
- * @param set Implementation-defined.
- * @param msgid Implementation-defined.
- * @param s Default return value if retrieval fails.
- * @return Retrieved message or @a s if get fails.
- */
- virtual string_type
- do_get(catalog, int, int, const string_type& __dfault) const;
-
- /*
- * @brief Close a message catalog.
- *
- * @param c The catalog to close.
- */
- virtual void
- do_close(catalog) const;
-
- // Returns a locale and codeset-converted string, given a char* message.
- char*
- _M_convert_to_char(const string_type& __msg) const
- {
- // XXX
- return reinterpret_cast<char*>(const_cast<_CharT*>(__msg.c_str()));
- }
-
- // Returns a locale and codeset-converted string, given a char* message.
- string_type
- _M_convert_from_char(char*) const
- {
-#if 0
- // Length of message string without terminating null.
- size_t __len = char_traits<char>::length(__msg) - 1;
-
- // "everybody can easily convert the string using
- // mbsrtowcs/wcsrtombs or with iconv()"
-
- // Convert char* to _CharT in locale used to open catalog.
- // XXX need additional template parameter on messages class for this..
- // typedef typename codecvt<char, _CharT, _StateT> __codecvt_type;
- typedef typename codecvt<char, _CharT, mbstate_t> __codecvt_type;
-
- __codecvt_type::state_type __state;
- // XXX may need to initialize state.
- //initialize_state(__state._M_init());
-
- char* __from_next;
- // XXX what size for this string?
- _CharT* __to = static_cast<_CharT*>(__builtin_alloca(__len + 1));
- const __codecvt_type& __cvt = use_facet<__codecvt_type>(_M_locale_conv);
- __cvt.out(__state, __msg, __msg + __len, __from_next,
- __to, __to + __len + 1, __to_next);
- return string_type(__to);
-#endif
-#if 0
- typedef ctype<_CharT> __ctype_type;
- // const __ctype_type& __cvt = use_facet<__ctype_type>(_M_locale_msg);
- const __ctype_type& __cvt = use_facet<__ctype_type>(locale());
- // XXX Again, proper length of converted string an issue here.
- // For now, assume the converted length is not larger.
- _CharT* __dest = static_cast<_CharT*>(__builtin_alloca(__len + 1));
- __cvt.widen(__msg, __msg + __len, __dest);
- return basic_string<_CharT>(__dest);
-#endif
- return string_type();
- }
- };
-
- template<typename _CharT>
- locale::id messages<_CharT>::id;
-
- // Specializations for required instantiations.
- template<>
- string
- messages<char>::do_get(catalog, int, int, const string&) const;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- wstring
- messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
-#endif
-
- /// @brief class messages_byname [22.2.7.2].
- template<typename _CharT>
- class messages_byname : public messages<_CharT>
- {
- public:
- typedef _CharT char_type;
- typedef basic_string<_CharT> string_type;
-
- explicit
- messages_byname(const char* __s, size_t __refs = 0);
-
- protected:
- virtual
- ~messages_byname()
- { }
- };
-
-_GLIBCXX_END_NAMESPACE
-
- // Include host and configuration specific messages functions.
- #include <bits/messages_members.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Subclause convenience interfaces, inlines.
- // NB: These are inline because, when used in a loop, some compilers
- // can hoist the body out of the loop; then it's just as fast as the
- // C is*() function.
-
- /// Convenience interface to ctype.is(ctype_base::space, __c).
- template<typename _CharT>
- inline bool
- isspace(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::print, __c).
- template<typename _CharT>
- inline bool
- isprint(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::cntrl, __c).
- template<typename _CharT>
- inline bool
- iscntrl(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::upper, __c).
- template<typename _CharT>
- inline bool
- isupper(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::lower, __c).
- template<typename _CharT>
- inline bool
- islower(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::alpha, __c).
- template<typename _CharT>
- inline bool
- isalpha(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::digit, __c).
- template<typename _CharT>
- inline bool
- isdigit(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::punct, __c).
- template<typename _CharT>
- inline bool
- ispunct(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::xdigit, __c).
- template<typename _CharT>
- inline bool
- isxdigit(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::alnum, __c).
- template<typename _CharT>
- inline bool
- isalnum(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
-
- /// Convenience interface to ctype.is(ctype_base::graph, __c).
- template<typename _CharT>
- inline bool
- isgraph(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
-
- /// Convenience interface to ctype.toupper(__c).
- template<typename _CharT>
- inline _CharT
- toupper(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
-
- /// Convenience interface to ctype.tolower(__c).
- template<typename _CharT>
- inline _CharT
- tolower(_CharT __c, const locale& __loc)
- { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/locale_facets.tcc b/contrib/libstdc++/include/bits/locale_facets.tcc
deleted file mode 100644
index 2d39f2041469..000000000000
--- a/contrib/libstdc++/include/bits/locale_facets.tcc
+++ /dev/null
@@ -1,2891 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008
-// 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 locale_facets.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _LOCALE_FACETS_TCC
-#define _LOCALE_FACETS_TCC 1
-
-#pragma GCC system_header
-
-#include <limits> // For numeric_limits
-#include <typeinfo> // For bad_cast.
-#include <bits/streambuf_iterator.h>
-#include <ext/type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _Facet>
- locale
- locale::combine(const locale& __other) const
- {
- _Impl* __tmp = new _Impl(*_M_impl, 1);
- try
- {
- __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
- }
- catch(...)
- {
- __tmp->_M_remove_reference();
- __throw_exception_again;
- }
- return locale(__tmp);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- bool
- locale::operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
- const basic_string<_CharT, _Traits, _Alloc>& __s2) const
- {
- typedef std::collate<_CharT> __collate_type;
- const __collate_type& __collate = use_facet<__collate_type>(*this);
- return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
- __s2.data(), __s2.data() + __s2.length()) < 0);
- }
-
- /**
- * @brief Test for the presence of a facet.
- *
- * has_facet tests the locale argument for the presence of the facet type
- * provided as the template parameter. Facets derived from the facet
- * parameter will also return true.
- *
- * @param Facet The facet type to test the presence of.
- * @param locale The locale to test.
- * @return true if locale contains a facet of type Facet, else false.
- */
- template<typename _Facet>
- inline bool
- has_facet(const locale& __loc) throw()
- {
- const size_t __i = _Facet::id._M_id();
- const locale::facet** __facets = __loc._M_impl->_M_facets;
- return (__i < __loc._M_impl->_M_facets_size && __facets[__i]);
- }
-
- /**
- * @brief Return a facet.
- *
- * use_facet looks for and returns a reference to a facet of type Facet
- * where Facet is the template parameter. If has_facet(locale) is true,
- * there is a suitable facet to return. It throws std::bad_cast if the
- * locale doesn't contain a facet of type Facet.
- *
- * @param Facet The facet type to access.
- * @param locale The locale to use.
- * @return Reference to facet of type Facet.
- * @throw std::bad_cast if locale doesn't contain a facet of type Facet.
- */
- template<typename _Facet>
- inline const _Facet&
- use_facet(const locale& __loc)
- {
- const size_t __i = _Facet::id._M_id();
- const locale::facet** __facets = __loc._M_impl->_M_facets;
- if (!(__i < __loc._M_impl->_M_facets_size && __facets[__i]))
- __throw_bad_cast();
- return static_cast<const _Facet&>(*__facets[__i]);
- }
-
-
- // Routine to access a cache for the facet. If the cache didn't
- // exist before, it gets constructed on the fly.
- template<typename _Facet>
- struct __use_cache
- {
- const _Facet*
- operator() (const locale& __loc) const;
- };
-
- // Specializations.
- template<typename _CharT>
- struct __use_cache<__numpunct_cache<_CharT> >
- {
- const __numpunct_cache<_CharT>*
- operator() (const locale& __loc) const
- {
- const size_t __i = numpunct<_CharT>::id._M_id();
- const locale::facet** __caches = __loc._M_impl->_M_caches;
- if (!__caches[__i])
- {
- __numpunct_cache<_CharT>* __tmp = NULL;
- try
- {
- __tmp = new __numpunct_cache<_CharT>;
- __tmp->_M_cache(__loc);
- }
- catch(...)
- {
- delete __tmp;
- __throw_exception_again;
- }
- __loc._M_impl->_M_install_cache(__tmp, __i);
- }
- return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
- }
- };
-
- template<typename _CharT, bool _Intl>
- struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
- {
- const __moneypunct_cache<_CharT, _Intl>*
- operator() (const locale& __loc) const
- {
- const size_t __i = moneypunct<_CharT, _Intl>::id._M_id();
- const locale::facet** __caches = __loc._M_impl->_M_caches;
- if (!__caches[__i])
- {
- __moneypunct_cache<_CharT, _Intl>* __tmp = NULL;
- try
- {
- __tmp = new __moneypunct_cache<_CharT, _Intl>;
- __tmp->_M_cache(__loc);
- }
- catch(...)
- {
- delete __tmp;
- __throw_exception_again;
- }
- __loc._M_impl->_M_install_cache(__tmp, __i);
- }
- return static_cast<
- const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]);
- }
- };
-
- template<typename _CharT>
- void
- __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
- {
- _M_allocated = true;
-
- const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
-
- _M_grouping_size = __np.grouping().size();
- char* __grouping = new char[_M_grouping_size];
- __np.grouping().copy(__grouping, _M_grouping_size);
- _M_grouping = __grouping;
- _M_use_grouping = (_M_grouping_size
- && static_cast<signed char>(__np.grouping()[0]) > 0);
-
- _M_truename_size = __np.truename().size();
- _CharT* __truename = new _CharT[_M_truename_size];
- __np.truename().copy(__truename, _M_truename_size);
- _M_truename = __truename;
-
- _M_falsename_size = __np.falsename().size();
- _CharT* __falsename = new _CharT[_M_falsename_size];
- __np.falsename().copy(__falsename, _M_falsename_size);
- _M_falsename = __falsename;
-
- _M_decimal_point = __np.decimal_point();
- _M_thousands_sep = __np.thousands_sep();
-
- const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
- __ct.widen(__num_base::_S_atoms_out,
- __num_base::_S_atoms_out + __num_base::_S_oend, _M_atoms_out);
- __ct.widen(__num_base::_S_atoms_in,
- __num_base::_S_atoms_in + __num_base::_S_iend, _M_atoms_in);
- }
-
- template<typename _CharT, bool _Intl>
- void
- __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
- {
- _M_allocated = true;
-
- const moneypunct<_CharT, _Intl>& __mp =
- use_facet<moneypunct<_CharT, _Intl> >(__loc);
-
- _M_grouping_size = __mp.grouping().size();
- char* __grouping = new char[_M_grouping_size];
- __mp.grouping().copy(__grouping, _M_grouping_size);
- _M_grouping = __grouping;
- _M_use_grouping = (_M_grouping_size
- && static_cast<signed char>(__mp.grouping()[0]) > 0);
-
- _M_decimal_point = __mp.decimal_point();
- _M_thousands_sep = __mp.thousands_sep();
- _M_frac_digits = __mp.frac_digits();
-
- _M_curr_symbol_size = __mp.curr_symbol().size();
- _CharT* __curr_symbol = new _CharT[_M_curr_symbol_size];
- __mp.curr_symbol().copy(__curr_symbol, _M_curr_symbol_size);
- _M_curr_symbol = __curr_symbol;
-
- _M_positive_sign_size = __mp.positive_sign().size();
- _CharT* __positive_sign = new _CharT[_M_positive_sign_size];
- __mp.positive_sign().copy(__positive_sign, _M_positive_sign_size);
- _M_positive_sign = __positive_sign;
-
- _M_negative_sign_size = __mp.negative_sign().size();
- _CharT* __negative_sign = new _CharT[_M_negative_sign_size];
- __mp.negative_sign().copy(__negative_sign, _M_negative_sign_size);
- _M_negative_sign = __negative_sign;
-
- _M_pos_format = __mp.pos_format();
- _M_neg_format = __mp.neg_format();
-
- const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
- __ct.widen(money_base::_S_atoms,
- money_base::_S_atoms + money_base::_S_end, _M_atoms);
- }
-
-
- // Used by both numeric and monetary facets.
- // Check to make sure that the __grouping_tmp string constructed in
- // money_get or num_get matches the canonical grouping for a given
- // locale.
- // __grouping_tmp is parsed L to R
- // 1,222,444 == __grouping_tmp of "\1\3\3"
- // __grouping is parsed R to L
- // 1,222,444 == __grouping of "\3" == "\3\3\3"
- static bool
- __verify_grouping(const char* __grouping, size_t __grouping_size,
- const string& __grouping_tmp);
-
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
- ios_base::iostate& __err, string& __xtrc) const
- {
- typedef char_traits<_CharT> __traits_type;
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
- const _CharT* __lit = __lc->_M_atoms_in;
- char_type __c = char_type();
-
- // True if __beg becomes equal to __end.
- bool __testeof = __beg == __end;
-
- // First check for sign.
- if (!__testeof)
- {
- __c = *__beg;
- const bool __plus = __c == __lit[__num_base::_S_iplus];
- if ((__plus || __c == __lit[__num_base::_S_iminus])
- && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
- && !(__c == __lc->_M_decimal_point))
- {
- __xtrc += __plus ? '+' : '-';
- if (++__beg != __end)
- __c = *__beg;
- else
- __testeof = true;
- }
- }
-
- // Next, look for leading zeros.
- bool __found_mantissa = false;
- int __sep_pos = 0;
- while (!__testeof)
- {
- if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
- || __c == __lc->_M_decimal_point)
- break;
- else if (__c == __lit[__num_base::_S_izero])
- {
- if (!__found_mantissa)
- {
- __xtrc += '0';
- __found_mantissa = true;
- }
- ++__sep_pos;
-
- if (++__beg != __end)
- __c = *__beg;
- else
- __testeof = true;
- }
- else
- break;
- }
-
- // Only need acceptable digits for floating point numbers.
- bool __found_dec = false;
- bool __found_sci = false;
- string __found_grouping;
- if (__lc->_M_use_grouping)
- __found_grouping.reserve(32);
- const char_type* __lit_zero = __lit + __num_base::_S_izero;
-
- if (!__lc->_M_allocated)
- // "C" locale
- while (!__testeof)
- {
- const int __digit = _M_find(__lit_zero, 10, __c);
- if (__digit != -1)
- {
- __xtrc += '0' + __digit;
- __found_mantissa = true;
- }
- else if (__c == __lc->_M_decimal_point
- && !__found_dec && !__found_sci)
- {
- __xtrc += '.';
- __found_dec = true;
- }
- else if ((__c == __lit[__num_base::_S_ie]
- || __c == __lit[__num_base::_S_iE])
- && !__found_sci && __found_mantissa)
- {
- // Scientific notation.
- __xtrc += 'e';
- __found_sci = true;
-
- // Remove optional plus or minus sign, if they exist.
- if (++__beg != __end)
- {
- __c = *__beg;
- const bool __plus = __c == __lit[__num_base::_S_iplus];
- if (__plus || __c == __lit[__num_base::_S_iminus])
- __xtrc += __plus ? '+' : '-';
- else
- continue;
- }
- else
- {
- __testeof = true;
- break;
- }
- }
- else
- break;
-
- if (++__beg != __end)
- __c = *__beg;
- else
- __testeof = true;
- }
- else
- while (!__testeof)
- {
- // According to 22.2.2.1.2, p8-9, first look for thousands_sep
- // and decimal_point.
- if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
- {
- if (!__found_dec && !__found_sci)
- {
- // NB: Thousands separator at the beginning of a string
- // is a no-no, as is two consecutive thousands separators.
- if (__sep_pos)
- {
- __found_grouping += static_cast<char>(__sep_pos);
- __sep_pos = 0;
- }
- else
- {
- // NB: __convert_to_v will not assign __v and will
- // set the failbit.
- __xtrc.clear();
- break;
- }
- }
- else
- break;
- }
- else if (__c == __lc->_M_decimal_point)
- {
- if (!__found_dec && !__found_sci)
- {
- // If no grouping chars are seen, no grouping check
- // is applied. Therefore __found_grouping is adjusted
- // only if decimal_point comes after some thousands_sep.
- if (__found_grouping.size())
- __found_grouping += static_cast<char>(__sep_pos);
- __xtrc += '.';
- __found_dec = true;
- }
- else
- break;
- }
- else
- {
- const char_type* __q =
- __traits_type::find(__lit_zero, 10, __c);
- if (__q)
- {
- __xtrc += '0' + (__q - __lit_zero);
- __found_mantissa = true;
- ++__sep_pos;
- }
- else if ((__c == __lit[__num_base::_S_ie]
- || __c == __lit[__num_base::_S_iE])
- && !__found_sci && __found_mantissa)
- {
- // Scientific notation.
- if (__found_grouping.size() && !__found_dec)
- __found_grouping += static_cast<char>(__sep_pos);
- __xtrc += 'e';
- __found_sci = true;
-
- // Remove optional plus or minus sign, if they exist.
- if (++__beg != __end)
- {
- __c = *__beg;
- const bool __plus = __c == __lit[__num_base::_S_iplus];
- if ((__plus || __c == __lit[__num_base::_S_iminus])
- && !(__lc->_M_use_grouping
- && __c == __lc->_M_thousands_sep)
- && !(__c == __lc->_M_decimal_point))
- __xtrc += __plus ? '+' : '-';
- else
- continue;
- }
- else
- {
- __testeof = true;
- break;
- }
- }
- else
- break;
- }
-
- if (++__beg != __end)
- __c = *__beg;
- else
- __testeof = true;
- }
-
- // Digit grouping is checked. If grouping and found_grouping don't
- // match, then get very very upset, and set failbit.
- if (__found_grouping.size())
- {
- // Add the ending grouping if a decimal or 'e'/'E' wasn't found.
- if (!__found_dec && !__found_sci)
- __found_grouping += static_cast<char>(__sep_pos);
-
- if (!std::__verify_grouping(__lc->_M_grouping,
- __lc->_M_grouping_size,
- __found_grouping))
- __err |= ios_base::failbit;
- }
-
- // Finish up.
- if (__testeof)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
-_GLIBCXX_END_LDBL_NAMESPACE
-
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
-
- template<typename _CharT, typename _InIter>
- template<typename _ValueT>
- _InIter
- num_get<_CharT, _InIter>::
- _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
- ios_base::iostate& __err, _ValueT& __v) const
- {
- typedef char_traits<_CharT> __traits_type;
- using __gnu_cxx::__add_unsigned;
- typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
- const _CharT* __lit = __lc->_M_atoms_in;
- char_type __c = char_type();
-
- // NB: Iff __basefield == 0, __base can change based on contents.
- const ios_base::fmtflags __basefield = __io.flags()
- & ios_base::basefield;
- const bool __oct = __basefield == ios_base::oct;
- int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
-
- // True if __beg becomes equal to __end.
- bool __testeof = __beg == __end;
-
- // First check for sign.
- bool __negative = false;
- if (!__testeof)
- {
- __c = *__beg;
- if (numeric_limits<_ValueT>::is_signed)
- __negative = __c == __lit[__num_base::_S_iminus];
- if ((__negative || __c == __lit[__num_base::_S_iplus])
- && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
- && !(__c == __lc->_M_decimal_point))
- {
- if (++__beg != __end)
- __c = *__beg;
- else
- __testeof = true;
- }
- }
-
- // Next, look for leading zeros and check required digits
- // for base formats.
- bool __found_zero = false;
- int __sep_pos = 0;
- while (!__testeof)
- {
- if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
- || __c == __lc->_M_decimal_point)
- break;
- else if (__c == __lit[__num_base::_S_izero]
- && (!__found_zero || __base == 10))
- {
- __found_zero = true;
- ++__sep_pos;
- if (__basefield == 0)
- __base = 8;
- if (__base == 8)
- __sep_pos = 0;
- }
- else if (__found_zero
- && (__c == __lit[__num_base::_S_ix]
- || __c == __lit[__num_base::_S_iX]))
- {
- if (__basefield == 0)
- __base = 16;
- if (__base == 16)
- {
- __found_zero = false;
- __sep_pos = 0;
- }
- else
- break;
- }
- else
- break;
-
- if (++__beg != __end)
- {
- __c = *__beg;
- if (!__found_zero)
- break;
- }
- else
- __testeof = true;
- }
-
- // At this point, base is determined. If not hex, only allow
- // base digits as valid input.
- const size_t __len = (__base == 16 ? __num_base::_S_iend
- - __num_base::_S_izero : __base);
-
- // Extract.
- string __found_grouping;
- if (__lc->_M_use_grouping)
- __found_grouping.reserve(32);
- bool __testfail = false;
- const __unsigned_type __max = __negative ?
- -numeric_limits<_ValueT>::min() : numeric_limits<_ValueT>::max();
- const __unsigned_type __smax = __max / __base;
- __unsigned_type __result = 0;
- int __digit = 0;
- const char_type* __lit_zero = __lit + __num_base::_S_izero;
-
- if (!__lc->_M_allocated)
- // "C" locale
- while (!__testeof)
- {
- __digit = _M_find(__lit_zero, __len, __c);
- if (__digit == -1)
- break;
-
- if (__result > __smax)
- __testfail = true;
- else
- {
- __result *= __base;
- __testfail |= __result > __max - __digit;
- __result += __digit;
- ++__sep_pos;
- }
-
- if (++__beg != __end)
- __c = *__beg;
- else
- __testeof = true;
- }
- else
- while (!__testeof)
- {
- // According to 22.2.2.1.2, p8-9, first look for thousands_sep
- // and decimal_point.
- if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
- {
- // NB: Thousands separator at the beginning of a string
- // is a no-no, as is two consecutive thousands separators.
- if (__sep_pos)
- {
- __found_grouping += static_cast<char>(__sep_pos);
- __sep_pos = 0;
- }
- else
- {
- __testfail = true;
- break;
- }
- }
- else if (__c == __lc->_M_decimal_point)
- break;
- else
- {
- const char_type* __q =
- __traits_type::find(__lit_zero, __len, __c);
- if (!__q)
- break;
-
- __digit = __q - __lit_zero;
- if (__digit > 15)
- __digit -= 6;
- if (__result > __smax)
- __testfail = true;
- else
- {
- __result *= __base;
- __testfail |= __result > __max - __digit;
- __result += __digit;
- ++__sep_pos;
- }
- }
-
- if (++__beg != __end)
- __c = *__beg;
- else
- __testeof = true;
- }
-
- // Digit grouping is checked. If grouping and found_grouping don't
- // match, then get very very upset, and set failbit.
- if (__found_grouping.size())
- {
- // Add the ending grouping.
- __found_grouping += static_cast<char>(__sep_pos);
-
- if (!std::__verify_grouping(__lc->_M_grouping,
- __lc->_M_grouping_size,
- __found_grouping))
- __err |= ios_base::failbit;
- }
-
- if (!__testfail && (__sep_pos || __found_zero
- || __found_grouping.size()))
- __v = __negative ? -__result : __result;
- else
- __err |= ios_base::failbit;
-
- if (__testeof)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 17. Bad bool parsing
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, bool& __v) const
- {
- if (!(__io.flags() & ios_base::boolalpha))
- {
- // Parse bool values as long.
- // NB: We can't just call do_get(long) here, as it might
- // refer to a derived class.
- long __l = -1;
- __beg = _M_extract_int(__beg, __end, __io, __err, __l);
- if (__l == 0 || __l == 1)
- __v = __l;
- else
- __err |= ios_base::failbit;
- }
- else
- {
- // Parse bool values as alphanumeric.
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
-
- bool __testf = true;
- bool __testt = true;
- size_t __n;
- bool __testeof = __beg == __end;
- for (__n = 0; !__testeof; ++__n)
- {
- const char_type __c = *__beg;
-
- if (__testf)
- {
- if (__n < __lc->_M_falsename_size)
- __testf = __c == __lc->_M_falsename[__n];
- else
- break;
- }
-
- if (__testt)
- {
- if (__n < __lc->_M_truename_size)
- __testt = __c == __lc->_M_truename[__n];
- else
- break;
- }
-
- if (!__testf && !__testt)
- break;
-
- if (++__beg == __end)
- __testeof = true;
- }
- if (__testf && __n == __lc->_M_falsename_size)
- __v = 0;
- else if (__testt && __n == __lc->_M_truename_size)
- __v = 1;
- else
- __err |= ios_base::failbit;
-
- if (__testeof)
- __err |= ios_base::eofbit;
- }
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, long& __v) const
- { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned short& __v) const
- { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned int& __v) const
- { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned long& __v) const
- { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, long long& __v) const
- { return _M_extract_int(__beg, __end, __io, __err, __v); }
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, unsigned long long& __v) const
- { return _M_extract_int(__beg, __end, __io, __err, __v); }
-#endif
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, float& __v) const
- {
- string __xtrc;
- __xtrc.reserve(32);
- __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
- std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, double& __v) const
- {
- string __xtrc;
- __xtrc.reserve(32);
- __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
- std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
- return __beg;
- }
-
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- __do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, double& __v) const
- {
- string __xtrc;
- __xtrc.reserve(32);
- __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
- std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
- return __beg;
- }
-#endif
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, long double& __v) const
- {
- string __xtrc;
- __xtrc.reserve(32);
- __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
- std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- num_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, void*& __v) const
- {
- // Prepare for hex formatted input.
- typedef ios_base::fmtflags fmtflags;
- const fmtflags __fmt = __io.flags();
- __io.flags(__fmt & ~ios_base::basefield | ios_base::hex);
-
- typedef __gnu_cxx::__conditional_type<(sizeof(void*)
- <= sizeof(unsigned long)),
- unsigned long, unsigned long long>::__type _UIntPtrType;
-
- _UIntPtrType __ul;
- __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
-
- // Reset from hex formatted input.
- __io.flags(__fmt);
-
- if (!(__err & ios_base::failbit))
- __v = reinterpret_cast<void*>(__ul);
- return __beg;
- }
-
- // For use by integer and floating-point types after they have been
- // converted into a char_type string.
- template<typename _CharT, typename _OutIter>
- void
- num_put<_CharT, _OutIter>::
- _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
- _CharT* __new, const _CharT* __cs, int& __len) const
- {
- // [22.2.2.2.2] Stage 3.
- // If necessary, pad.
- __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new, __cs,
- __w, __len, true);
- __len = static_cast<int>(__w);
- }
-
-_GLIBCXX_END_LDBL_NAMESPACE
-
- template<typename _CharT, typename _ValueT>
- int
- __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
- ios_base::fmtflags __flags, bool __dec)
- {
- _CharT* __buf = __bufend;
- if (__builtin_expect(__dec, true))
- {
- // Decimal.
- do
- {
- *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
- __v /= 10;
- }
- while (__v != 0);
- }
- else if ((__flags & ios_base::basefield) == ios_base::oct)
- {
- // Octal.
- do
- {
- *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
- __v >>= 3;
- }
- while (__v != 0);
- }
- else
- {
- // Hex.
- const bool __uppercase = __flags & ios_base::uppercase;
- const int __case_offset = __uppercase ? __num_base::_S_oudigits
- : __num_base::_S_odigits;
- do
- {
- *--__buf = __lit[(__v & 0xf) + __case_offset];
- __v >>= 4;
- }
- while (__v != 0);
- }
- return __bufend - __buf;
- }
-
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
-
- template<typename _CharT, typename _OutIter>
- void
- num_put<_CharT, _OutIter>::
- _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
- ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
- {
- _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
- __grouping_size, __cs, __cs + __len);
- __len = __p - __new;
- }
-
- template<typename _CharT, typename _OutIter>
- template<typename _ValueT>
- _OutIter
- num_put<_CharT, _OutIter>::
- _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
- _ValueT __v) const
- {
- using __gnu_cxx::__add_unsigned;
- typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
- const _CharT* __lit = __lc->_M_atoms_out;
- const ios_base::fmtflags __flags = __io.flags();
-
- // Long enough to hold hex, dec, and octal representations.
- const int __ilen = 5 * sizeof(_ValueT);
- _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __ilen));
-
- // [22.2.2.2.2] Stage 1, numeric conversion to character.
- // Result is returned right-justified in the buffer.
- const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
- const bool __dec = (__basefield != ios_base::oct
- && __basefield != ios_base::hex);
- const __unsigned_type __u = (__v > 0 || !__dec) ? __v : -__v;
- int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
- __cs += __ilen - __len;
-
- // Add grouping, if necessary.
- if (__lc->_M_use_grouping)
- {
- // Grouping can add (almost) as many separators as the number
- // of digits + space is reserved for numeric base or sign.
- _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * (__len + 1)
- * 2));
- _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
- __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
- __cs = __cs2 + 2;
- }
-
- // Complete Stage 1, prepend numeric base or sign.
- if (__builtin_expect(__dec, true))
- {
- // Decimal.
- if (__v >= 0)
- {
- if (__flags & ios_base::showpos
- && numeric_limits<_ValueT>::is_signed)
- *--__cs = __lit[__num_base::_S_oplus], ++__len;
- }
- else
- *--__cs = __lit[__num_base::_S_ominus], ++__len;
- }
- else if (__flags & ios_base::showbase && __v)
- {
- if (__basefield == ios_base::oct)
- *--__cs = __lit[__num_base::_S_odigits], ++__len;
- else
- {
- // 'x' or 'X'
- const bool __uppercase = __flags & ios_base::uppercase;
- *--__cs = __lit[__num_base::_S_ox + __uppercase];
- // '0'
- *--__cs = __lit[__num_base::_S_odigits];
- __len += 2;
- }
- }
-
- // Pad.
- const streamsize __w = __io.width();
- if (__w > static_cast<streamsize>(__len))
- {
- _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __w));
- _M_pad(__fill, __w, __io, __cs3, __cs, __len);
- __cs = __cs3;
- }
- __io.width(0);
-
- // [22.2.2.2.2] Stage 4.
- // Write resulting, fully-formatted string to output iterator.
- return std::__write(__s, __cs, __len);
- }
-
- template<typename _CharT, typename _OutIter>
- void
- num_put<_CharT, _OutIter>::
- _M_group_float(const char* __grouping, size_t __grouping_size,
- _CharT __sep, const _CharT* __p, _CharT* __new,
- _CharT* __cs, int& __len) const
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 282. What types does numpunct grouping refer to?
- // Add grouping, if necessary.
- const int __declen = __p ? __p - __cs : __len;
- _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
- __grouping_size,
- __cs, __cs + __declen);
-
- // Tack on decimal part.
- int __newlen = __p2 - __new;
- if (__p)
- {
- char_traits<_CharT>::copy(__p2, __p, __len - __declen);
- __newlen += __len - __declen;
- }
- __len = __newlen;
- }
-
- // The following code uses vsnprintf (or vsprintf(), when
- // _GLIBCXX_USE_C99 is not defined) to convert floating point values
- // for insertion into a stream. An optimization would be to replace
- // them with code that works directly on a wide buffer and then use
- // __pad to do the padding. It would be good to replace them anyway
- // to gain back the efficiency that C++ provides by knowing up front
- // the type of the values to insert. Also, sprintf is dangerous
- // since may lead to accidental buffer overruns. This
- // implementation follows the C++ standard fairly directly as
- // outlined in 22.2.2.2 [lib.locale.num.put]
- template<typename _CharT, typename _OutIter>
- template<typename _ValueT>
- _OutIter
- num_put<_CharT, _OutIter>::
- _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
- _ValueT __v) const
- {
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
-
- // Use default precision if out of range.
- const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
-
- const int __max_digits = numeric_limits<_ValueT>::digits10;
-
- // [22.2.2.2.2] Stage 1, numeric conversion to character.
- int __len;
- // Long enough for the max format spec.
- char __fbuf[16];
- __num_base::_S_format_float(__io, __fbuf, __mod);
-
-#ifdef _GLIBCXX_USE_C99
- // First try a buffer perhaps big enough (most probably sufficient
- // for non-ios_base::fixed outputs)
- int __cs_size = __max_digits * 3;
- char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
- __fbuf, __prec, __v);
-
- // If the buffer was not large enough, try again with the correct size.
- if (__len >= __cs_size)
- {
- __cs_size = __len + 1;
- __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
- __fbuf, __prec, __v);
- }
-#else
- // Consider the possibility of long ios_base::fixed outputs
- const bool __fixed = __io.flags() & ios_base::fixed;
- const int __max_exp = numeric_limits<_ValueT>::max_exponent10;
-
- // The size of the output string is computed as follows.
- // ios_base::fixed outputs may need up to __max_exp + 1 chars
- // for the integer part + __prec chars for the fractional part
- // + 3 chars for sign, decimal point, '\0'. On the other hand,
- // for non-fixed outputs __max_digits * 2 + __prec chars are
- // largely sufficient.
- const int __cs_size = __fixed ? __max_exp + __prec + 4
- : __max_digits * 2 + __prec;
- char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, __fbuf,
- __prec, __v);
-#endif
-
- // [22.2.2.2.2] Stage 2, convert to char_type, using correct
- // numpunct.decimal_point() values for '.' and adding grouping.
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __len));
- __ctype.widen(__cs, __cs + __len, __ws);
-
- // Replace decimal point.
- _CharT* __wp = 0;
- const char* __p = char_traits<char>::find(__cs, __len, '.');
- if (__p)
- {
- __wp = __ws + (__p - __cs);
- *__wp = __lc->_M_decimal_point;
- }
-
- // Add grouping, if necessary.
- // N.B. Make sure to not group things like 2e20, i.e., no decimal
- // point, scientific notation.
- if (__lc->_M_use_grouping
- && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
- && __cs[1] >= '0' && __cs[2] >= '0')))
- {
- // Grouping can add (almost) as many separators as the
- // number of digits, but no more.
- _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __len * 2));
-
- streamsize __off = 0;
- if (__cs[0] == '-' || __cs[0] == '+')
- {
- __off = 1;
- __ws2[0] = __ws[0];
- __len -= 1;
- }
-
- _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
- __lc->_M_thousands_sep, __wp, __ws2 + __off,
- __ws + __off, __len);
- __len += __off;
-
- __ws = __ws2;
- }
-
- // Pad.
- const streamsize __w = __io.width();
- if (__w > static_cast<streamsize>(__len))
- {
- _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __w));
- _M_pad(__fill, __w, __io, __ws3, __ws, __len);
- __ws = __ws3;
- }
- __io.width(0);
-
- // [22.2.2.2.2] Stage 4.
- // Write resulting, fully-formatted string to output iterator.
- return std::__write(__s, __ws, __len);
- }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
- {
- const ios_base::fmtflags __flags = __io.flags();
- if ((__flags & ios_base::boolalpha) == 0)
- {
- const long __l = __v;
- __s = _M_insert_int(__s, __io, __fill, __l);
- }
- else
- {
- typedef __numpunct_cache<_CharT> __cache_type;
- __use_cache<__cache_type> __uc;
- const locale& __loc = __io._M_getloc();
- const __cache_type* __lc = __uc(__loc);
-
- const _CharT* __name = __v ? __lc->_M_truename
- : __lc->_M_falsename;
- int __len = __v ? __lc->_M_truename_size
- : __lc->_M_falsename_size;
-
- const streamsize __w = __io.width();
- if (__w > static_cast<streamsize>(__len))
- {
- _CharT* __cs
- = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
- * __w));
- _M_pad(__fill, __w, __io, __cs, __name, __len);
- __name = __cs;
- }
- __io.width(0);
- __s = std::__write(__s, __name, __len);
- }
- return __s;
- }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
- { return _M_insert_int(__s, __io, __fill, __v); }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill,
- unsigned long __v) const
- { return _M_insert_int(__s, __io, __fill, __v); }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
- { return _M_insert_int(__s, __io, __fill, __v); }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill,
- unsigned long long __v) const
- { return _M_insert_int(__s, __io, __fill, __v); }
-#endif
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
- { return _M_insert_float(__s, __io, __fill, char(), __v); }
-
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- __do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
- { return _M_insert_float(__s, __io, __fill, char(), __v); }
-#endif
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill,
- long double __v) const
- { return _M_insert_float(__s, __io, __fill, 'L', __v); }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- num_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type __fill,
- const void* __v) const
- {
- const ios_base::fmtflags __flags = __io.flags();
- const ios_base::fmtflags __fmt = ~(ios_base::basefield
- | ios_base::uppercase
- | ios_base::internal);
- __io.flags(__flags & __fmt | (ios_base::hex | ios_base::showbase));
-
- typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
- <= sizeof(unsigned long)),
- unsigned long, unsigned long long>::__type _UIntPtrType;
-
- __s = _M_insert_int(__s, __io, __fill,
- reinterpret_cast<_UIntPtrType>(__v));
- __io.flags(__flags);
- return __s;
- }
-
- template<typename _CharT, typename _InIter>
- template<bool _Intl>
- _InIter
- money_get<_CharT, _InIter>::
- _M_extract(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, string& __units) const
- {
- typedef char_traits<_CharT> __traits_type;
- typedef typename string_type::size_type size_type;
- typedef money_base::part part;
- typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
-
- const locale& __loc = __io._M_getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- __use_cache<__cache_type> __uc;
- const __cache_type* __lc = __uc(__loc);
- const char_type* __lit = __lc->_M_atoms;
-
- // Deduced sign.
- bool __negative = false;
- // Sign size.
- size_type __sign_size = 0;
- // True if sign is mandatory.
- const bool __mandatory_sign = (__lc->_M_positive_sign_size
- && __lc->_M_negative_sign_size);
- // String of grouping info from thousands_sep plucked from __units.
- string __grouping_tmp;
- if (__lc->_M_use_grouping)
- __grouping_tmp.reserve(32);
- // Last position before the decimal point.
- int __last_pos = 0;
- // Separator positions, then, possibly, fractional digits.
- int __n = 0;
- // If input iterator is in a valid state.
- bool __testvalid = true;
- // Flag marking when a decimal point is found.
- bool __testdecfound = false;
-
- // The tentative returned string is stored here.
- string __res;
- __res.reserve(32);
-
- const char_type* __lit_zero = __lit + money_base::_S_zero;
- const money_base::pattern __p = __lc->_M_neg_format;
- for (int __i = 0; __i < 4 && __testvalid; ++__i)
- {
- const part __which = static_cast<part>(__p.field[__i]);
- switch (__which)
- {
- case money_base::symbol:
- // According to 22.2.6.1.2, p2, symbol is required
- // if (__io.flags() & ios_base::showbase), otherwise
- // is optional and consumed only if other characters
- // are needed to complete the format.
- if (__io.flags() & ios_base::showbase || __sign_size > 1
- || __i == 0
- || (__i == 1 && (__mandatory_sign
- || (static_cast<part>(__p.field[0])
- == money_base::sign)
- || (static_cast<part>(__p.field[2])
- == money_base::space)))
- || (__i == 2 && ((static_cast<part>(__p.field[3])
- == money_base::value)
- || (__mandatory_sign
- && (static_cast<part>(__p.field[3])
- == money_base::sign)))))
- {
- const size_type __len = __lc->_M_curr_symbol_size;
- size_type __j = 0;
- for (; __beg != __end && __j < __len
- && *__beg == __lc->_M_curr_symbol[__j];
- ++__beg, ++__j);
- if (__j != __len
- && (__j || __io.flags() & ios_base::showbase))
- __testvalid = false;
- }
- break;
- case money_base::sign:
- // Sign might not exist, or be more than one character long.
- if (__lc->_M_positive_sign_size && __beg != __end
- && *__beg == __lc->_M_positive_sign[0])
- {
- __sign_size = __lc->_M_positive_sign_size;
- ++__beg;
- }
- else if (__lc->_M_negative_sign_size && __beg != __end
- && *__beg == __lc->_M_negative_sign[0])
- {
- __negative = true;
- __sign_size = __lc->_M_negative_sign_size;
- ++__beg;
- }
- else if (__lc->_M_positive_sign_size
- && !__lc->_M_negative_sign_size)
- // "... if no sign is detected, the result is given the sign
- // that corresponds to the source of the empty string"
- __negative = true;
- else if (__mandatory_sign)
- __testvalid = false;
- break;
- case money_base::value:
- // Extract digits, remove and stash away the
- // grouping of found thousands separators.
- for (; __beg != __end; ++__beg)
- {
- const char_type __c = *__beg;
- const char_type* __q = __traits_type::find(__lit_zero,
- 10, __c);
- if (__q != 0)
- {
- __res += money_base::_S_atoms[__q - __lit];
- ++__n;
- }
- else if (__c == __lc->_M_decimal_point
- && !__testdecfound)
- {
- __last_pos = __n;
- __n = 0;
- __testdecfound = true;
- }
- else if (__lc->_M_use_grouping
- && __c == __lc->_M_thousands_sep
- && !__testdecfound)
- {
- if (__n)
- {
- // Mark position for later analysis.
- __grouping_tmp += static_cast<char>(__n);
- __n = 0;
- }
- else
- {
- __testvalid = false;
- break;
- }
- }
- else
- break;
- }
- if (__res.empty())
- __testvalid = false;
- break;
- case money_base::space:
- // At least one space is required.
- if (__beg != __end && __ctype.is(ctype_base::space, *__beg))
- ++__beg;
- else
- __testvalid = false;
- case money_base::none:
- // Only if not at the end of the pattern.
- if (__i != 3)
- for (; __beg != __end
- && __ctype.is(ctype_base::space, *__beg); ++__beg);
- break;
- }
- }
-
- // Need to get the rest of the sign characters, if they exist.
- if (__sign_size > 1 && __testvalid)
- {
- const char_type* __sign = __negative ? __lc->_M_negative_sign
- : __lc->_M_positive_sign;
- size_type __i = 1;
- for (; __beg != __end && __i < __sign_size
- && *__beg == __sign[__i]; ++__beg, ++__i);
-
- if (__i != __sign_size)
- __testvalid = false;
- }
-
- if (__testvalid)
- {
- // Strip leading zeros.
- if (__res.size() > 1)
- {
- const size_type __first = __res.find_first_not_of('0');
- const bool __only_zeros = __first == string::npos;
- if (__first)
- __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
- }
-
- // 22.2.6.1.2, p4
- if (__negative && __res[0] != '0')
- __res.insert(__res.begin(), '-');
-
- // Test for grouping fidelity.
- if (__grouping_tmp.size())
- {
- // Add the ending grouping.
- __grouping_tmp += static_cast<char>(__testdecfound ? __last_pos
- : __n);
- if (!std::__verify_grouping(__lc->_M_grouping,
- __lc->_M_grouping_size,
- __grouping_tmp))
- __err |= ios_base::failbit;
- }
-
- // Iff not enough digits were supplied after the decimal-point.
- if (__testdecfound && __lc->_M_frac_digits > 0
- && __n != __lc->_M_frac_digits)
- __testvalid = false;
- }
-
- // Iff valid sequence is not recognized.
- if (!__testvalid)
- __err |= ios_base::failbit;
- else
- __units.swap(__res);
-
- // Iff no more characters are available.
- if (__beg == __end)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- template<typename _CharT, typename _InIter>
- _InIter
- money_get<_CharT, _InIter>::
- __do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, double& __units) const
- {
- string __str;
- __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
- : _M_extract<false>(__beg, __end, __io, __err, __str);
- std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
- return __beg;
- }
-#endif
-
- template<typename _CharT, typename _InIter>
- _InIter
- money_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, long double& __units) const
- {
- string __str;
- __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
- : _M_extract<false>(__beg, __end, __io, __err, __str);
- std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- money_get<_CharT, _InIter>::
- do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
- ios_base::iostate& __err, string_type& __digits) const
- {
- typedef typename string::size_type size_type;
-
- const locale& __loc = __io._M_getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- string __str;
- __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
- : _M_extract<false>(__beg, __end, __io, __err, __str);
- const size_type __len = __str.size();
- if (__len)
- {
- __digits.resize(__len);
- __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]);
- }
- return __beg;
- }
-
- template<typename _CharT, typename _OutIter>
- template<bool _Intl>
- _OutIter
- money_put<_CharT, _OutIter>::
- _M_insert(iter_type __s, ios_base& __io, char_type __fill,
- const string_type& __digits) const
- {
- typedef typename string_type::size_type size_type;
- typedef money_base::part part;
- typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
-
- const locale& __loc = __io._M_getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- __use_cache<__cache_type> __uc;
- const __cache_type* __lc = __uc(__loc);
- const char_type* __lit = __lc->_M_atoms;
-
- // Determine if negative or positive formats are to be used, and
- // discard leading negative_sign if it is present.
- const char_type* __beg = __digits.data();
-
- money_base::pattern __p;
- const char_type* __sign;
- size_type __sign_size;
- if (!(*__beg == __lit[money_base::_S_minus]))
- {
- __p = __lc->_M_pos_format;
- __sign = __lc->_M_positive_sign;
- __sign_size = __lc->_M_positive_sign_size;
- }
- else
- {
- __p = __lc->_M_neg_format;
- __sign = __lc->_M_negative_sign;
- __sign_size = __lc->_M_negative_sign_size;
- if (__digits.size())
- ++__beg;
- }
-
- // Look for valid numbers in the ctype facet within input digits.
- size_type __len = __ctype.scan_not(ctype_base::digit, __beg,
- __beg + __digits.size()) - __beg;
- if (__len)
- {
- // Assume valid input, and attempt to format.
- // Break down input numbers into base components, as follows:
- // final_value = grouped units + (decimal point) + (digits)
- string_type __value;
- __value.reserve(2 * __len);
-
- // Add thousands separators to non-decimal digits, per
- // grouping rules.
- long __paddec = __len - __lc->_M_frac_digits;
- if (__paddec > 0)
- {
- if (__lc->_M_frac_digits < 0)
- __paddec = __len;
- if (__lc->_M_grouping_size)
- {
- __value.assign(2 * __paddec, char_type());
- _CharT* __vend =
- std::__add_grouping(&__value[0], __lc->_M_thousands_sep,
- __lc->_M_grouping,
- __lc->_M_grouping_size,
- __beg, __beg + __paddec);
- __value.erase(__vend - &__value[0]);
- }
- else
- __value.assign(__beg, __paddec);
- }
-
- // Deal with decimal point, decimal digits.
- if (__lc->_M_frac_digits > 0)
- {
- __value += __lc->_M_decimal_point;
- if (__paddec >= 0)
- __value.append(__beg + __paddec, __lc->_M_frac_digits);
- else
- {
- // Have to pad zeros in the decimal position.
- __value.append(-__paddec, __lit[money_base::_S_zero]);
- __value.append(__beg, __len);
- }
- }
-
- // Calculate length of resulting string.
- const ios_base::fmtflags __f = __io.flags()
- & ios_base::adjustfield;
- __len = __value.size() + __sign_size;
- __len += ((__io.flags() & ios_base::showbase)
- ? __lc->_M_curr_symbol_size : 0);
-
- string_type __res;
- __res.reserve(2 * __len);
-
- const size_type __width = static_cast<size_type>(__io.width());
- const bool __testipad = (__f == ios_base::internal
- && __len < __width);
- // Fit formatted digits into the required pattern.
- for (int __i = 0; __i < 4; ++__i)
- {
- const part __which = static_cast<part>(__p.field[__i]);
- switch (__which)
- {
- case money_base::symbol:
- if (__io.flags() & ios_base::showbase)
- __res.append(__lc->_M_curr_symbol,
- __lc->_M_curr_symbol_size);
- break;
- case money_base::sign:
- // Sign might not exist, or be more than one
- // charater long. In that case, add in the rest
- // below.
- if (__sign_size)
- __res += __sign[0];
- break;
- case money_base::value:
- __res += __value;
- break;
- case money_base::space:
- // At least one space is required, but if internal
- // formatting is required, an arbitrary number of
- // fill spaces will be necessary.
- if (__testipad)
- __res.append(__width - __len, __fill);
- else
- __res += __fill;
- break;
- case money_base::none:
- if (__testipad)
- __res.append(__width - __len, __fill);
- break;
- }
- }
-
- // Special case of multi-part sign parts.
- if (__sign_size > 1)
- __res.append(__sign + 1, __sign_size - 1);
-
- // Pad, if still necessary.
- __len = __res.size();
- if (__width > __len)
- {
- if (__f == ios_base::left)
- // After.
- __res.append(__width - __len, __fill);
- else
- // Before.
- __res.insert(0, __width - __len, __fill);
- __len = __width;
- }
-
- // Write resulting, fully-formatted string to output iterator.
- __s = std::__write(__s, __res.data(), __len);
- }
- __io.width(0);
- return __s;
- }
-
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
- template<typename _CharT, typename _OutIter>
- _OutIter
- money_put<_CharT, _OutIter>::
- __do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
- double __units) const
- { return this->do_put(__s, __intl, __io, __fill, (long double) __units); }
-#endif
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- money_put<_CharT, _OutIter>::
- do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
- long double __units) const
- {
- const locale __loc = __io.getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-#ifdef _GLIBCXX_USE_C99
- // First try a buffer perhaps big enough.
- int __cs_size = 64;
- char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 328. Bad sprintf format modifier in money_put<>::do_put()
- int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
- "%.*Lf", 0, __units);
- // If the buffer was not large enough, try again with the correct size.
- if (__len >= __cs_size)
- {
- __cs_size = __len + 1;
- __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
- "%.*Lf", 0, __units);
- }
-#else
- // max_exponent10 + 1 for the integer part, + 2 for sign and '\0'.
- const int __cs_size = numeric_limits<long double>::max_exponent10 + 3;
- char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- int __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, "%.*Lf",
- 0, __units);
-#endif
- string_type __digits(__len, char_type());
- __ctype.widen(__cs, __cs + __len, &__digits[0]);
- return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
- : _M_insert<false>(__s, __io, __fill, __digits);
- }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- money_put<_CharT, _OutIter>::
- do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
- const string_type& __digits) const
- { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
- : _M_insert<false>(__s, __io, __fill, __digits); }
-
-_GLIBCXX_END_LDBL_NAMESPACE
-
- // NB: Not especially useful. Without an ios_base object or some
- // kind of locale reference, we are left clawing at the air where
- // the side of the mountain used to be...
- template<typename _CharT, typename _InIter>
- time_base::dateorder
- time_get<_CharT, _InIter>::do_date_order() const
- { return time_base::no_order; }
-
- // Expand a strftime format string and parse it. E.g., do_get_date() may
- // pass %m/%d/%Y => extracted characters.
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm,
- const _CharT* __format) const
- {
- const locale& __loc = __io._M_getloc();
- const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
- const size_t __len = char_traits<_CharT>::length(__format);
-
- ios_base::iostate __tmperr = ios_base::goodbit;
- for (size_t __i = 0; __beg != __end && __i < __len && !__tmperr; ++__i)
- {
- if (__ctype.narrow(__format[__i], 0) == '%')
- {
- // Verify valid formatting code, attempt to extract.
- char __c = __ctype.narrow(__format[++__i], 0);
- int __mem = 0;
- if (__c == 'E' || __c == 'O')
- __c = __ctype.narrow(__format[++__i], 0);
- switch (__c)
- {
- const char* __cs;
- _CharT __wcs[10];
- case 'a':
- // Abbreviated weekday name [tm_wday]
- const char_type* __days1[7];
- __tp._M_days_abbreviated(__days1);
- __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days1,
- 7, __io, __tmperr);
- break;
- case 'A':
- // Weekday name [tm_wday].
- const char_type* __days2[7];
- __tp._M_days(__days2);
- __beg = _M_extract_name(__beg, __end, __tm->tm_wday, __days2,
- 7, __io, __tmperr);
- break;
- case 'h':
- case 'b':
- // Abbreviated month name [tm_mon]
- const char_type* __months1[12];
- __tp._M_months_abbreviated(__months1);
- __beg = _M_extract_name(__beg, __end, __tm->tm_mon,
- __months1, 12, __io, __tmperr);
- break;
- case 'B':
- // Month name [tm_mon].
- const char_type* __months2[12];
- __tp._M_months(__months2);
- __beg = _M_extract_name(__beg, __end, __tm->tm_mon,
- __months2, 12, __io, __tmperr);
- break;
- case 'c':
- // Default time and date representation.
- const char_type* __dt[2];
- __tp._M_date_time_formats(__dt);
- __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
- __tm, __dt[0]);
- break;
- case 'd':
- // Day [01, 31]. [tm_mday]
- __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 1, 31, 2,
- __io, __tmperr);
- break;
- case 'e':
- // Day [1, 31], with single digits preceded by
- // space. [tm_mday]
- if (__ctype.is(ctype_base::space, *__beg))
- __beg = _M_extract_num(++__beg, __end, __tm->tm_mday, 1, 9,
- 1, __io, __tmperr);
- else
- __beg = _M_extract_num(__beg, __end, __tm->tm_mday, 10, 31,
- 2, __io, __tmperr);
- break;
- case 'D':
- // Equivalent to %m/%d/%y.[tm_mon, tm_mday, tm_year]
- __cs = "%m/%d/%y";
- __ctype.widen(__cs, __cs + 9, __wcs);
- __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
- __tm, __wcs);
- break;
- case 'H':
- // Hour [00, 23]. [tm_hour]
- __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 0, 23, 2,
- __io, __tmperr);
- break;
- case 'I':
- // Hour [01, 12]. [tm_hour]
- __beg = _M_extract_num(__beg, __end, __tm->tm_hour, 1, 12, 2,
- __io, __tmperr);
- break;
- case 'm':
- // Month [01, 12]. [tm_mon]
- __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
- __io, __tmperr);
- if (!__tmperr)
- __tm->tm_mon = __mem - 1;
- break;
- case 'M':
- // Minute [00, 59]. [tm_min]
- __beg = _M_extract_num(__beg, __end, __tm->tm_min, 0, 59, 2,
- __io, __tmperr);
- break;
- case 'n':
- if (__ctype.narrow(*__beg, 0) == '\n')
- ++__beg;
- else
- __tmperr |= ios_base::failbit;
- break;
- case 'R':
- // Equivalent to (%H:%M).
- __cs = "%H:%M";
- __ctype.widen(__cs, __cs + 6, __wcs);
- __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
- __tm, __wcs);
- break;
- case 'S':
- // Seconds. [tm_sec]
- // [00, 60] in C99 (one leap-second), [00, 61] in C89.
-#ifdef _GLIBCXX_USE_C99
- __beg = _M_extract_num(__beg, __end, __tm->tm_sec, 0, 60, 2,
-#else
- __beg = _M_extract_num(__beg, __end, __tm->tm_sec, 0, 61, 2,
-#endif
- __io, __tmperr);
- break;
- case 't':
- if (__ctype.narrow(*__beg, 0) == '\t')
- ++__beg;
- else
- __tmperr |= ios_base::failbit;
- break;
- case 'T':
- // Equivalent to (%H:%M:%S).
- __cs = "%H:%M:%S";
- __ctype.widen(__cs, __cs + 9, __wcs);
- __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
- __tm, __wcs);
- break;
- case 'x':
- // Locale's date.
- const char_type* __dates[2];
- __tp._M_date_formats(__dates);
- __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
- __tm, __dates[0]);
- break;
- case 'X':
- // Locale's time.
- const char_type* __times[2];
- __tp._M_time_formats(__times);
- __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
- __tm, __times[0]);
- break;
- case 'y':
- case 'C': // C99
- // Two digit year. [tm_year]
- __beg = _M_extract_num(__beg, __end, __tm->tm_year, 0, 99, 2,
- __io, __tmperr);
- break;
- case 'Y':
- // Year [1900). [tm_year]
- __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
- __io, __tmperr);
- if (!__tmperr)
- __tm->tm_year = __mem - 1900;
- break;
- case 'Z':
- // Timezone info.
- if (__ctype.is(ctype_base::upper, *__beg))
- {
- int __tmp;
- __beg = _M_extract_name(__beg, __end, __tmp,
- __timepunct_cache<_CharT>::_S_timezones,
- 14, __io, __tmperr);
-
- // GMT requires special effort.
- if (__beg != __end && !__tmperr && __tmp == 0
- && (*__beg == __ctype.widen('-')
- || *__beg == __ctype.widen('+')))
- {
- __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2,
- __io, __tmperr);
- __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2,
- __io, __tmperr);
- }
- }
- else
- __tmperr |= ios_base::failbit;
- break;
- default:
- // Not recognized.
- __tmperr |= ios_base::failbit;
- }
- }
- else
- {
- // Verify format and input match, extract and discard.
- if (__format[__i] == *__beg)
- ++__beg;
- else
- __tmperr |= ios_base::failbit;
- }
- }
-
- if (__tmperr)
- __err |= ios_base::failbit;
-
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- _M_extract_num(iter_type __beg, iter_type __end, int& __member,
- int __min, int __max, size_t __len,
- ios_base& __io, ios_base::iostate& __err) const
- {
- const locale& __loc = __io._M_getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- // As-is works for __len = 1, 2, 4, the values actually used.
- int __mult = __len == 2 ? 10 : (__len == 4 ? 1000 : 1);
-
- ++__min;
- size_t __i = 0;
- int __value = 0;
- for (; __beg != __end && __i < __len; ++__beg, ++__i)
- {
- const char __c = __ctype.narrow(*__beg, '*');
- if (__c >= '0' && __c <= '9')
- {
- __value = __value * 10 + (__c - '0');
- const int __valuec = __value * __mult;
- if (__valuec > __max || __valuec + __mult < __min)
- break;
- __mult /= 10;
- }
- else
- break;
- }
- if (__i == __len)
- __member = __value;
- else
- __err |= ios_base::failbit;
-
- return __beg;
- }
-
- // Assumptions:
- // All elements in __names are unique.
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- _M_extract_name(iter_type __beg, iter_type __end, int& __member,
- const _CharT** __names, size_t __indexlen,
- ios_base& __io, ios_base::iostate& __err) const
- {
- typedef char_traits<_CharT> __traits_type;
- const locale& __loc = __io._M_getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int)
- * __indexlen));
- size_t __nmatches = 0;
- size_t __pos = 0;
- bool __testvalid = true;
- const char_type* __name;
-
- // Look for initial matches.
- // NB: Some of the locale data is in the form of all lowercase
- // names, and some is in the form of initially-capitalized
- // names. Look for both.
- if (__beg != __end)
- {
- const char_type __c = *__beg;
- for (size_t __i1 = 0; __i1 < __indexlen; ++__i1)
- if (__c == __names[__i1][0]
- || __c == __ctype.toupper(__names[__i1][0]))
- __matches[__nmatches++] = __i1;
- }
-
- while (__nmatches > 1)
- {
- // Find smallest matching string.
- size_t __minlen = __traits_type::length(__names[__matches[0]]);
- for (size_t __i2 = 1; __i2 < __nmatches; ++__i2)
- __minlen = std::min(__minlen,
- __traits_type::length(__names[__matches[__i2]]));
- ++__beg, ++__pos;
- if (__pos < __minlen && __beg != __end)
- for (size_t __i3 = 0; __i3 < __nmatches;)
- {
- __name = __names[__matches[__i3]];
- if (!(__name[__pos] == *__beg))
- __matches[__i3] = __matches[--__nmatches];
- else
- ++__i3;
- }
- else
- break;
- }
-
- if (__nmatches == 1)
- {
- // Make sure found name is completely extracted.
- ++__beg, ++__pos;
- __name = __names[__matches[0]];
- const size_t __len = __traits_type::length(__name);
- while (__pos < __len && __beg != __end && __name[__pos] == *__beg)
- ++__beg, ++__pos;
-
- if (__len == __pos)
- __member = __matches[0];
- else
- __testvalid = false;
- }
- else
- __testvalid = false;
- if (!__testvalid)
- __err |= ios_base::failbit;
-
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- {
- const locale& __loc = __io._M_getloc();
- const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
- const char_type* __times[2];
- __tp._M_time_formats(__times);
- __beg = _M_extract_via_format(__beg, __end, __io, __err,
- __tm, __times[0]);
- if (__beg == __end)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- {
- const locale& __loc = __io._M_getloc();
- const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
- const char_type* __dates[2];
- __tp._M_date_formats(__dates);
- __beg = _M_extract_via_format(__beg, __end, __io, __err,
- __tm, __dates[0]);
- if (__beg == __end)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- {
- typedef char_traits<_CharT> __traits_type;
- const locale& __loc = __io._M_getloc();
- const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
- const char_type* __days[7];
- __tp._M_days_abbreviated(__days);
- int __tmpwday;
- ios_base::iostate __tmperr = ios_base::goodbit;
- __beg = _M_extract_name(__beg, __end, __tmpwday, __days, 7,
- __io, __tmperr);
-
- // Check to see if non-abbreviated name exists, and extract.
- // NB: Assumes both _M_days and _M_days_abbreviated organized in
- // exact same order, first to last, such that the resulting
- // __days array with the same index points to a day, and that
- // day's abbreviated form.
- // NB: Also assumes that an abbreviated name is a subset of the name.
- if (!__tmperr && __beg != __end)
- {
- size_t __pos = __traits_type::length(__days[__tmpwday]);
- __tp._M_days(__days);
- const char_type* __name = __days[__tmpwday];
- if (__name[__pos] == *__beg)
- {
- // Extract the rest of it.
- const size_t __len = __traits_type::length(__name);
- while (__pos < __len && __beg != __end
- && __name[__pos] == *__beg)
- ++__beg, ++__pos;
- if (__len != __pos)
- __tmperr |= ios_base::failbit;
- }
- }
- if (!__tmperr)
- __tm->tm_wday = __tmpwday;
- else
- __err |= ios_base::failbit;
-
- if (__beg == __end)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- do_get_monthname(iter_type __beg, iter_type __end,
- ios_base& __io, ios_base::iostate& __err, tm* __tm) const
- {
- typedef char_traits<_CharT> __traits_type;
- const locale& __loc = __io._M_getloc();
- const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
- const char_type* __months[12];
- __tp._M_months_abbreviated(__months);
- int __tmpmon;
- ios_base::iostate __tmperr = ios_base::goodbit;
- __beg = _M_extract_name(__beg, __end, __tmpmon, __months, 12,
- __io, __tmperr);
-
- // Check to see if non-abbreviated name exists, and extract.
- // NB: Assumes both _M_months and _M_months_abbreviated organized in
- // exact same order, first to last, such that the resulting
- // __months array with the same index points to a month, and that
- // month's abbreviated form.
- // NB: Also assumes that an abbreviated name is a subset of the name.
- if (!__tmperr && __beg != __end)
- {
- size_t __pos = __traits_type::length(__months[__tmpmon]);
- __tp._M_months(__months);
- const char_type* __name = __months[__tmpmon];
- if (__name[__pos] == *__beg)
- {
- // Extract the rest of it.
- const size_t __len = __traits_type::length(__name);
- while (__pos < __len && __beg != __end
- && __name[__pos] == *__beg)
- ++__beg, ++__pos;
- if (__len != __pos)
- __tmperr |= ios_base::failbit;
- }
- }
- if (!__tmperr)
- __tm->tm_mon = __tmpmon;
- else
- __err |= ios_base::failbit;
-
- if (__beg == __end)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
- template<typename _CharT, typename _InIter>
- _InIter
- time_get<_CharT, _InIter>::
- do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
- ios_base::iostate& __err, tm* __tm) const
- {
- const locale& __loc = __io._M_getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- size_t __i = 0;
- int __value = 0;
- for (; __beg != __end && __i < 4; ++__beg, ++__i)
- {
- const char __c = __ctype.narrow(*__beg, '*');
- if (__c >= '0' && __c <= '9')
- __value = __value * 10 + (__c - '0');
- else
- break;
- }
- if (__i == 2 || __i == 4)
- __tm->tm_year = __i == 2 ? __value : __value - 1900;
- else
- __err |= ios_base::failbit;
-
- if (__beg == __end)
- __err |= ios_base::eofbit;
- return __beg;
- }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- time_put<_CharT, _OutIter>::
- put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
- const _CharT* __beg, const _CharT* __end) const
- {
- const locale& __loc = __io._M_getloc();
- ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
- for (; __beg != __end; ++__beg)
- if (__ctype.narrow(*__beg, 0) != '%')
- {
- *__s = *__beg;
- ++__s;
- }
- else if (++__beg != __end)
- {
- char __format;
- char __mod = 0;
- const char __c = __ctype.narrow(*__beg, 0);
- if (__c != 'E' && __c != 'O')
- __format = __c;
- else if (++__beg != __end)
- {
- __mod = __c;
- __format = __ctype.narrow(*__beg, 0);
- }
- else
- break;
- __s = this->do_put(__s, __io, __fill, __tm, __format, __mod);
- }
- else
- break;
- return __s;
- }
-
- template<typename _CharT, typename _OutIter>
- _OutIter
- time_put<_CharT, _OutIter>::
- do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm,
- char __format, char __mod) const
- {
- const locale& __loc = __io._M_getloc();
- ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
- __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
-
- // NB: This size is arbitrary. Should this be a data member,
- // initialized at construction?
- const size_t __maxlen = 128;
- char_type* __res =
- static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __maxlen));
-
- // NB: In IEE 1003.1-200x, and perhaps other locale models, it
- // is possible that the format character will be longer than one
- // character. Possibilities include 'E' or 'O' followed by a
- // format character: if __mod is not the default argument, assume
- // it's a valid modifier.
- char_type __fmt[4];
- __fmt[0] = __ctype.widen('%');
- if (!__mod)
- {
- __fmt[1] = __format;
- __fmt[2] = char_type();
- }
- else
- {
- __fmt[1] = __mod;
- __fmt[2] = __format;
- __fmt[3] = char_type();
- }
-
- __tp._M_put(__res, __maxlen, __fmt, __tm);
-
- // Write resulting, fully-formatted string to output iterator.
- return std::__write(__s, __res, char_traits<char_type>::length(__res));
- }
-
- // Generic version does nothing.
- template<typename _CharT>
- int
- collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const
- { return 0; }
-
- // Generic version does nothing.
- template<typename _CharT>
- size_t
- collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const
- { return 0; }
-
- template<typename _CharT>
- int
- collate<_CharT>::
- do_compare(const _CharT* __lo1, const _CharT* __hi1,
- const _CharT* __lo2, const _CharT* __hi2) const
- {
- // strcoll assumes zero-terminated strings so we make a copy
- // and then put a zero at the end.
- const string_type __one(__lo1, __hi1);
- const string_type __two(__lo2, __hi2);
-
- const _CharT* __p = __one.c_str();
- const _CharT* __pend = __one.data() + __one.length();
- const _CharT* __q = __two.c_str();
- const _CharT* __qend = __two.data() + __two.length();
-
- // strcoll stops when it sees a nul character so we break
- // the strings into zero-terminated substrings and pass those
- // to strcoll.
- for (;;)
- {
- const int __res = _M_compare(__p, __q);
- if (__res)
- return __res;
-
- __p += char_traits<_CharT>::length(__p);
- __q += char_traits<_CharT>::length(__q);
- if (__p == __pend && __q == __qend)
- return 0;
- else if (__p == __pend)
- return -1;
- else if (__q == __qend)
- return 1;
-
- __p++;
- __q++;
- }
- }
-
- template<typename _CharT>
- typename collate<_CharT>::string_type
- collate<_CharT>::
- do_transform(const _CharT* __lo, const _CharT* __hi) const
- {
- string_type __ret;
-
- // strxfrm assumes zero-terminated strings so we make a copy
- const string_type __str(__lo, __hi);
-
- const _CharT* __p = __str.c_str();
- const _CharT* __pend = __str.data() + __str.length();
-
- size_t __len = (__hi - __lo) * 2;
-
- _CharT* __c = new _CharT[__len];
-
- try
- {
- // strxfrm stops when it sees a nul character so we break
- // the string into zero-terminated substrings and pass those
- // to strxfrm.
- for (;;)
- {
- // First try a buffer perhaps big enough.
- size_t __res = _M_transform(__c, __p, __len);
- // If the buffer was not large enough, try again with the
- // correct size.
- if (__res >= __len)
- {
- __len = __res + 1;
- delete [] __c, __c = 0;
- __c = new _CharT[__len];
- __res = _M_transform(__c, __p, __len);
- }
-
- __ret.append(__c, __res);
- __p += char_traits<_CharT>::length(__p);
- if (__p == __pend)
- break;
-
- __p++;
- __ret.push_back(_CharT());
- }
- }
- catch(...)
- {
- delete [] __c;
- __throw_exception_again;
- }
-
- delete [] __c;
-
- return __ret;
- }
-
- template<typename _CharT>
- long
- collate<_CharT>::
- do_hash(const _CharT* __lo, const _CharT* __hi) const
- {
- unsigned long __val = 0;
- for (; __lo < __hi; ++__lo)
- __val = *__lo + ((__val << 7) |
- (__val >> (numeric_limits<unsigned long>::digits - 7)));
- return static_cast<long>(__val);
- }
-
- // Construct correctly padded string, as per 22.2.2.2.2
- // Assumes
- // __newlen > __oldlen
- // __news is allocated for __newlen size
- // Used by both num_put and ostream inserters: if __num,
- // internal-adjusted objects are padded according to the rules below
- // concerning 0[xX] and +-, otherwise, exactly as right-adjusted
- // ones are.
-
- // NB: Of the two parameters, _CharT can be deduced from the
- // function arguments. The other (_Traits) has to be explicitly specified.
- template<typename _CharT, typename _Traits>
- void
- __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
- _CharT* __news, const _CharT* __olds,
- const streamsize __newlen,
- const streamsize __oldlen, const bool __num)
- {
- const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
- const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
-
- // Padding last.
- if (__adjust == ios_base::left)
- {
- _Traits::copy(__news, const_cast<_CharT*>(__olds), __oldlen);
- _Traits::assign(__news + __oldlen, __plen, __fill);
- return;
- }
-
- size_t __mod = 0;
- if (__adjust == ios_base::internal && __num)
- {
- // Pad after the sign, if there is one.
- // Pad after 0[xX], if there is one.
- // Who came up with these rules, anyway? Jeeze.
- const locale& __loc = __io._M_getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
-
- const bool __testsign = (__ctype.widen('-') == __olds[0]
- || __ctype.widen('+') == __olds[0]);
- const bool __testhex = (__ctype.widen('0') == __olds[0]
- && __oldlen > 1
- && (__ctype.widen('x') == __olds[1]
- || __ctype.widen('X') == __olds[1]));
- if (__testhex)
- {
- __news[0] = __olds[0];
- __news[1] = __olds[1];
- __mod = 2;
- __news += 2;
- }
- else if (__testsign)
- {
- __news[0] = __olds[0];
- __mod = 1;
- ++__news;
- }
- // else Padding first.
- }
- _Traits::assign(__news, __plen, __fill);
- _Traits::copy(__news + __plen, const_cast<_CharT*>(__olds + __mod),
- __oldlen - __mod);
- }
-
- bool
- __verify_grouping(const char* __grouping, size_t __grouping_size,
- const string& __grouping_tmp)
- {
- const size_t __n = __grouping_tmp.size() - 1;
- const size_t __min = std::min(__n, size_t(__grouping_size - 1));
- size_t __i = __n;
- bool __test = true;
-
- // Parsed number groupings have to match the
- // numpunct::grouping string exactly, starting at the
- // right-most point of the parsed sequence of elements ...
- for (size_t __j = 0; __j < __min && __test; --__i, ++__j)
- __test = __grouping_tmp[__i] == __grouping[__j];
- for (; __i && __test; --__i)
- __test = __grouping_tmp[__i] == __grouping[__min];
- // ... but the first parsed grouping can be <= numpunct
- // grouping (only do the check if the numpunct char is > 0
- // because <= 0 means any size is ok).
- if (static_cast<signed char>(__grouping[__min]) > 0)
- __test &= __grouping_tmp[0] <= __grouping[__min];
- return __test;
- }
-
- template<typename _CharT>
- _CharT*
- __add_grouping(_CharT* __s, _CharT __sep,
- const char* __gbeg, size_t __gsize,
- const _CharT* __first, const _CharT* __last)
- {
- size_t __idx = 0;
- size_t __ctr = 0;
-
- while (__last - __first > __gbeg[__idx]
- && static_cast<signed char>(__gbeg[__idx]) > 0)
- {
- __last -= __gbeg[__idx];
- __idx < __gsize - 1 ? ++__idx : ++__ctr;
- }
-
- while (__first != __last)
- *__s++ = *__first++;
-
- while (__ctr--)
- {
- *__s++ = __sep;
- for (char __i = __gbeg[__idx]; __i > 0; --__i)
- *__s++ = *__first++;
- }
-
- while (__idx--)
- {
- *__s++ = __sep;
- for (char __i = __gbeg[__idx]; __i > 0; --__i)
- *__s++ = *__first++;
- }
-
- return __s;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class moneypunct<char, false>;
- extern template class moneypunct<char, true>;
- extern template class moneypunct_byname<char, false>;
- extern template class moneypunct_byname<char, true>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_get<char>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_put<char>;
- extern template class numpunct<char>;
- extern template class numpunct_byname<char>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_get<char>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_put<char>;
- extern template class __timepunct<char>;
- extern template class time_put<char>;
- extern template class time_put_byname<char>;
- extern template class time_get<char>;
- extern template class time_get_byname<char>;
- extern template class messages<char>;
- extern template class messages_byname<char>;
- extern template class ctype_byname<char>;
- extern template class codecvt_byname<char, char, mbstate_t>;
- extern template class collate<char>;
- extern template class collate_byname<char>;
-
- extern template
- const codecvt<char, char, mbstate_t>&
- use_facet<codecvt<char, char, mbstate_t> >(const locale&);
-
- extern template
- const collate<char>&
- use_facet<collate<char> >(const locale&);
-
- extern template
- const numpunct<char>&
- use_facet<numpunct<char> >(const locale&);
-
- extern template
- const num_put<char>&
- use_facet<num_put<char> >(const locale&);
-
- extern template
- const num_get<char>&
- use_facet<num_get<char> >(const locale&);
-
- extern template
- const moneypunct<char, true>&
- use_facet<moneypunct<char, true> >(const locale&);
-
- extern template
- const moneypunct<char, false>&
- use_facet<moneypunct<char, false> >(const locale&);
-
- extern template
- const money_put<char>&
- use_facet<money_put<char> >(const locale&);
-
- extern template
- const money_get<char>&
- use_facet<money_get<char> >(const locale&);
-
- extern template
- const __timepunct<char>&
- use_facet<__timepunct<char> >(const locale&);
-
- extern template
- const time_put<char>&
- use_facet<time_put<char> >(const locale&);
-
- extern template
- const time_get<char>&
- use_facet<time_get<char> >(const locale&);
-
- extern template
- const messages<char>&
- use_facet<messages<char> >(const locale&);
-
- extern template
- bool
- has_facet<ctype<char> >(const locale&);
-
- extern template
- bool
- has_facet<codecvt<char, char, mbstate_t> >(const locale&);
-
- extern template
- bool
- has_facet<collate<char> >(const locale&);
-
- extern template
- bool
- has_facet<numpunct<char> >(const locale&);
-
- extern template
- bool
- has_facet<num_put<char> >(const locale&);
-
- extern template
- bool
- has_facet<num_get<char> >(const locale&);
-
- extern template
- bool
- has_facet<moneypunct<char> >(const locale&);
-
- extern template
- bool
- has_facet<money_put<char> >(const locale&);
-
- extern template
- bool
- has_facet<money_get<char> >(const locale&);
-
- extern template
- bool
- has_facet<__timepunct<char> >(const locale&);
-
- extern template
- bool
- has_facet<time_put<char> >(const locale&);
-
- extern template
- bool
- has_facet<time_get<char> >(const locale&);
-
- extern template
- bool
- has_facet<messages<char> >(const locale&);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class moneypunct<wchar_t, false>;
- extern template class moneypunct<wchar_t, true>;
- extern template class moneypunct_byname<wchar_t, false>;
- extern template class moneypunct_byname<wchar_t, true>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_get<wchar_t>;
- extern template class _GLIBCXX_LDBL_NAMESPACE money_put<wchar_t>;
- extern template class numpunct<wchar_t>;
- extern template class numpunct_byname<wchar_t>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_get<wchar_t>;
- extern template class _GLIBCXX_LDBL_NAMESPACE num_put<wchar_t>;
- extern template class __timepunct<wchar_t>;
- extern template class time_put<wchar_t>;
- extern template class time_put_byname<wchar_t>;
- extern template class time_get<wchar_t>;
- extern template class time_get_byname<wchar_t>;
- extern template class messages<wchar_t>;
- extern template class messages_byname<wchar_t>;
- extern template class ctype_byname<wchar_t>;
- extern template class codecvt_byname<wchar_t, char, mbstate_t>;
- extern template class collate<wchar_t>;
- extern template class collate_byname<wchar_t>;
-
- extern template
- const codecvt<wchar_t, char, mbstate_t>&
- use_facet<codecvt<wchar_t, char, mbstate_t> >(locale const&);
-
- extern template
- const collate<wchar_t>&
- use_facet<collate<wchar_t> >(const locale&);
-
- extern template
- const numpunct<wchar_t>&
- use_facet<numpunct<wchar_t> >(const locale&);
-
- extern template
- const num_put<wchar_t>&
- use_facet<num_put<wchar_t> >(const locale&);
-
- extern template
- const num_get<wchar_t>&
- use_facet<num_get<wchar_t> >(const locale&);
-
- extern template
- const moneypunct<wchar_t, true>&
- use_facet<moneypunct<wchar_t, true> >(const locale&);
-
- extern template
- const moneypunct<wchar_t, false>&
- use_facet<moneypunct<wchar_t, false> >(const locale&);
-
- extern template
- const money_put<wchar_t>&
- use_facet<money_put<wchar_t> >(const locale&);
-
- extern template
- const money_get<wchar_t>&
- use_facet<money_get<wchar_t> >(const locale&);
-
- extern template
- const __timepunct<wchar_t>&
- use_facet<__timepunct<wchar_t> >(const locale&);
-
- extern template
- const time_put<wchar_t>&
- use_facet<time_put<wchar_t> >(const locale&);
-
- extern template
- const time_get<wchar_t>&
- use_facet<time_get<wchar_t> >(const locale&);
-
- extern template
- const messages<wchar_t>&
- use_facet<messages<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<ctype<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
-
- extern template
- bool
- has_facet<collate<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<numpunct<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<num_put<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<num_get<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<moneypunct<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<money_put<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<money_get<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<__timepunct<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<time_put<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<time_get<wchar_t> >(const locale&);
-
- extern template
- bool
- has_facet<messages<wchar_t> >(const locale&);
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/localefwd.h b/contrib/libstdc++/include/bits/localefwd.h
deleted file mode 100644
index b858668d47fa..000000000000
--- a/contrib/libstdc++/include/bits/localefwd.h
+++ /dev/null
@@ -1,197 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 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 localefwd.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-#ifndef _LOCALE_FWD_H
-#define _LOCALE_FWD_H 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/c++locale.h> // Defines __c_locale, config-specific includes
-#include <iosfwd> // For ostreambuf_iterator, istreambuf_iterator
-#include <bits/functexcept.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 22.1.1 Locale
- class locale;
-
- // 22.1.3 Convenience interfaces
- template<typename _CharT>
- inline bool
- isspace(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- isprint(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- iscntrl(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- isupper(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- islower(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- isalpha(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- isdigit(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- ispunct(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- isxdigit(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- isalnum(_CharT, const locale&);
-
- template<typename _CharT>
- inline bool
- isgraph(_CharT, const locale&);
-
- template<typename _CharT>
- inline _CharT
- toupper(_CharT, const locale&);
-
- template<typename _CharT>
- inline _CharT
- tolower(_CharT, const locale&);
-
- // 22.2.1 and 22.2.1.3 ctype
- class ctype_base;
- template<typename _CharT>
- class ctype;
- template<> class ctype<char>;
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<> class ctype<wchar_t>;
-#endif
- template<typename _CharT>
- class ctype_byname;
- // NB: Specialized for char and wchar_t in locale_facets.h.
-
- class codecvt_base;
- class __enc_traits;
- template<typename _InternT, typename _ExternT, typename _StateT>
- class codecvt;
- template<> class codecvt<char, char, mbstate_t>;
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<> class codecvt<wchar_t, char, mbstate_t>;
-#endif
- template<typename _InternT, typename _ExternT, typename _StateT>
- class codecvt_byname;
-
- // 22.2.2 and 22.2.3 numeric
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
- template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
- class num_get;
- template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
- class num_put;
-_GLIBCXX_END_LDBL_NAMESPACE
- template<typename _CharT> class numpunct;
- template<typename _CharT> class numpunct_byname;
-
- // 22.2.4 collation
- template<typename _CharT>
- class collate;
- template<typename _CharT> class
- collate_byname;
-
- // 22.2.5 date and time
- class time_base;
- template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
- class time_get;
- template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
- class time_get_byname;
- template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
- class time_put;
- template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
- class time_put_byname;
-
- // 22.2.6 money
- class money_base;
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
- template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
- class money_get;
- template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
- class money_put;
-_GLIBCXX_END_LDBL_NAMESPACE
- template<typename _CharT, bool _Intl = false>
- class moneypunct;
- template<typename _CharT, bool _Intl = false>
- class moneypunct_byname;
-
- // 22.2.7 message retrieval
- class messages_base;
- template<typename _CharT>
- class messages;
- template<typename _CharT>
- class messages_byname;
-
- template<typename _Facet>
- bool
- has_facet(const locale& __loc) throw();
-
- template<typename _Facet>
- const _Facet&
- use_facet(const locale& __loc);
-
- template<typename _Facet>
- inline const _Facet&
- __check_facet(const _Facet* __f)
- {
- if (!__f)
- __throw_bad_cast();
- return *__f;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/mask_array.h b/contrib/libstdc++/include/bits/mask_array.h
deleted file mode 100644
index 98c8bfb36e3c..000000000000
--- a/contrib/libstdc++/include/bits/mask_array.h
+++ /dev/null
@@ -1,204 +0,0 @@
-// The template and inlines for the -*- C++ -*- mask_array class.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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 mask_array.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _MASK_ARRAY_H
-#define _MASK_ARRAY_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Reference to selected subset of an array.
- *
- * A mask_array is a reference to the actual elements of an array specified
- * by a bitmask in the form of an array of bool. The way to get a
- * mask_array is to call operator[](valarray<bool>) on a valarray. The
- * returned mask_array then permits carrying operations out on the
- * referenced subset of elements in the original valarray.
- *
- * For example, if a mask_array is obtained using the array (false, true,
- * false, true) as an argument, the mask array has two elements referring
- * to array[1] and array[3] in the underlying array.
- *
- * @param Tp Element type.
- */
- template <class _Tp>
- class mask_array
- {
- public:
- typedef _Tp value_type;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 253. valarray helper functions are almost entirely useless
-
- /// Copy constructor. Both slices refer to the same underlying array.
- mask_array (const mask_array&);
-
- /// Assignment operator. Assigns elements to corresponding elements
- /// of @a a.
- mask_array& operator=(const mask_array&);
-
- void operator=(const valarray<_Tp>&) const;
- /// Multiply slice elements by corresponding elements of @a v.
- void operator*=(const valarray<_Tp>&) const;
- /// Divide slice elements by corresponding elements of @a v.
- void operator/=(const valarray<_Tp>&) const;
- /// Modulo slice elements by corresponding elements of @a v.
- void operator%=(const valarray<_Tp>&) const;
- /// Add corresponding elements of @a v to slice elements.
- void operator+=(const valarray<_Tp>&) const;
- /// Subtract corresponding elements of @a v from slice elements.
- void operator-=(const valarray<_Tp>&) const;
- /// Logical xor slice elements with corresponding elements of @a v.
- void operator^=(const valarray<_Tp>&) const;
- /// Logical and slice elements with corresponding elements of @a v.
- void operator&=(const valarray<_Tp>&) const;
- /// Logical or slice elements with corresponding elements of @a v.
- void operator|=(const valarray<_Tp>&) const;
- /// Left shift slice elements by corresponding elements of @a v.
- void operator<<=(const valarray<_Tp>&) const;
- /// Right shift slice elements by corresponding elements of @a v.
- void operator>>=(const valarray<_Tp>&) const;
- /// Assign all slice elements to @a t.
- void operator=(const _Tp&) const;
-
- // ~mask_array ();
-
- template<class _Dom>
- void operator=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator*=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator/=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator%=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator+=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator-=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator^=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator&=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator|=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator<<=(const _Expr<_Dom,_Tp>&) const;
- template<class _Dom>
- void operator>>=(const _Expr<_Dom,_Tp>&) const;
-
- private:
- mask_array(_Array<_Tp>, size_t, _Array<bool>);
- friend class valarray<_Tp>;
-
- const size_t _M_sz;
- const _Array<bool> _M_mask;
- const _Array<_Tp> _M_array;
-
- // not implemented
- mask_array();
- };
-
- template<typename _Tp>
- inline mask_array<_Tp>::mask_array(const mask_array<_Tp>& a)
- : _M_sz(a._M_sz), _M_mask(a._M_mask), _M_array(a._M_array) {}
-
- template<typename _Tp>
- inline
- mask_array<_Tp>::mask_array(_Array<_Tp> __a, size_t __s, _Array<bool> __m)
- : _M_sz(__s), _M_mask(__m), _M_array(__a) {}
-
- template<typename _Tp>
- inline mask_array<_Tp>&
- mask_array<_Tp>::operator=(const mask_array<_Tp>& __a)
- {
- std::__valarray_copy(__a._M_array, __a._M_mask,
- _M_sz, _M_array, _M_mask);
- return *this;
- }
-
- template<typename _Tp>
- inline void
- mask_array<_Tp>::operator=(const _Tp& __t) const
- { std::__valarray_fill(_M_array, _M_sz, _M_mask, __t); }
-
- template<typename _Tp>
- inline void
- mask_array<_Tp>::operator=(const valarray<_Tp>& __v) const
- { std::__valarray_copy(_Array<_Tp>(__v), __v.size(), _M_array, _M_mask); }
-
- template<typename _Tp>
- template<class _Ex>
- inline void
- mask_array<_Tp>::operator=(const _Expr<_Ex, _Tp>& __e) const
- { std::__valarray_copy(__e, __e.size(), _M_array, _M_mask); }
-
-#undef _DEFINE_VALARRAY_OPERATOR
-#define _DEFINE_VALARRAY_OPERATOR(_Op, _Name) \
- template<typename _Tp> \
- inline void \
- mask_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const \
- { \
- _Array_augmented_##_Name(_M_array, _M_mask, \
- _Array<_Tp>(__v), __v.size()); \
- } \
- \
- template<typename _Tp> \
- template<class _Dom> \
- inline void \
- mask_array<_Tp>::operator _Op##=(const _Expr<_Dom, _Tp>& __e) const\
- { \
- _Array_augmented_##_Name(_M_array, _M_mask, __e, __e.size()); \
- }
-
-_DEFINE_VALARRAY_OPERATOR(*, __multiplies)
-_DEFINE_VALARRAY_OPERATOR(/, __divides)
-_DEFINE_VALARRAY_OPERATOR(%, __modulus)
-_DEFINE_VALARRAY_OPERATOR(+, __plus)
-_DEFINE_VALARRAY_OPERATOR(-, __minus)
-_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor)
-_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and)
-_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or)
-_DEFINE_VALARRAY_OPERATOR(<<, __shift_left)
-_DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
-
-#undef _DEFINE_VALARRAY_OPERATOR
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _MASK_ARRAY_H */
diff --git a/contrib/libstdc++/include/bits/ostream.tcc b/contrib/libstdc++/include/bits/ostream.tcc
deleted file mode 100644
index c7a2e91295ef..000000000000
--- a/contrib/libstdc++/include/bits/ostream.tcc
+++ /dev/null
@@ -1,374 +0,0 @@
-// ostream classes -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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 ostream.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 27.6.2 Output streams
-//
-
-#ifndef _OSTREAM_TCC
-#define _OSTREAM_TCC 1
-
-#pragma GCC system_header
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>::sentry::
- sentry(basic_ostream<_CharT, _Traits>& __os)
- : _M_ok(false), _M_os(__os)
- {
- // XXX MT
- if (__os.tie() && __os.good())
- __os.tie()->flush();
-
- if (__os.good())
- _M_ok = true;
- else
- __os.setstate(ios_base::failbit);
- }
-
- template<typename _CharT, typename _Traits>
- template<typename _ValueT>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- _M_insert(_ValueT __v)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __v).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(short __n)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
- if (__fmt == ios_base::oct || __fmt == ios_base::hex)
- return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
- else
- return _M_insert(static_cast<long>(__n));
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(int __n)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
- if (__fmt == ios_base::oct || __fmt == ios_base::hex)
- return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
- else
- return _M_insert(static_cast<long>(__n));
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(__streambuf_type* __sbin)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this);
- if (__cerb && __sbin)
- {
- try
- {
- if (!__copy_streambufs(__sbin, this->rdbuf()))
- __err |= ios_base::failbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::failbit); }
- }
- else if (!__sbin)
- __err |= ios_base::badbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- put(char_type __c)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 60. What is a formatted input function?
- // basic_ostream::put(char_type) is an unformatted output function.
- // DR 63. Exception-handling policy for unformatted output.
- // Unformatted output functions should catch exceptions thrown
- // from streambuf members.
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __put = this->rdbuf()->sputc(__c);
- if (traits_type::eq_int_type(__put, traits_type::eof()))
- __err |= ios_base::badbit;
- }
- catch (...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- write(const _CharT* __s, streamsize __n)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 60. What is a formatted input function?
- // basic_ostream::write(const char_type*, streamsize) is an
- // unformatted output function.
- // DR 63. Exception-handling policy for unformatted output.
- // Unformatted output functions should catch exceptions thrown
- // from streambuf members.
- sentry __cerb(*this);
- if (__cerb)
- {
- try
- { _M_write(__s, __n); }
- catch (...)
- { this->_M_setstate(ios_base::badbit); }
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- flush()
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 60. What is a formatted input function?
- // basic_ostream::flush() is *not* an unformatted output function.
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- if (this->rdbuf() && this->rdbuf()->pubsync() == -1)
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- typename basic_ostream<_CharT, _Traits>::pos_type
- basic_ostream<_CharT, _Traits>::
- tellp()
- {
- pos_type __ret = pos_type(-1);
- try
- {
- if (!this->fail())
- __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- seekp(pos_type __pos)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- if (!this->fail())
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 136. seekp, seekg setting wrong streams?
- const pos_type __p = this->rdbuf()->pubseekpos(__pos,
- ios_base::out);
-
- // 129. Need error indication from seekp() and seekg()
- if (__p == pos_type(off_type(-1)))
- __err |= ios_base::failbit;
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- seekp(off_type __off, ios_base::seekdir __dir)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- if (!this->fail())
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 136. seekp, seekg setting wrong streams?
- const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
- ios_base::out);
-
- // 129. Need error indication from seekp() and seekg()
- if (__p == pos_type(off_type(-1)))
- __err |= ios_base::failbit;
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
- {
- if (!__s)
- __out.setstate(ios_base::badbit);
- else
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 167. Improper use of traits_type::length()
- const size_t __clen = char_traits<char>::length(__s);
- _CharT* __ws = 0;
- try
- {
- __ws = new _CharT[__clen];
- for (size_t __i = 0; __i < __clen; ++__i)
- __ws[__i] = __out.widen(__s[__i]);
- }
- catch(...)
- {
- delete [] __ws;
- __out._M_setstate(ios_base::badbit);
- return __out;
- }
-
- try
- {
- __ostream_insert(__out, __ws, __clen);
- delete [] __ws;
- }
- catch(...)
- {
- delete [] __ws;
- __throw_exception_again;
- }
- }
- return __out;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class basic_ostream<char>;
- extern template ostream& endl(ostream&);
- extern template ostream& ends(ostream&);
- extern template ostream& flush(ostream&);
- extern template ostream& operator<<(ostream&, char);
- extern template ostream& operator<<(ostream&, unsigned char);
- extern template ostream& operator<<(ostream&, signed char);
- extern template ostream& operator<<(ostream&, const char*);
- extern template ostream& operator<<(ostream&, const unsigned char*);
- extern template ostream& operator<<(ostream&, const signed char*);
-
- extern template ostream& ostream::_M_insert(long);
- extern template ostream& ostream::_M_insert(unsigned long);
- extern template ostream& ostream::_M_insert(bool);
-#ifdef _GLIBCXX_USE_LONG_LONG
- extern template ostream& ostream::_M_insert(long long);
- extern template ostream& ostream::_M_insert(unsigned long long);
-#endif
- extern template ostream& ostream::_M_insert(double);
- extern template ostream& ostream::_M_insert(long double);
- extern template ostream& ostream::_M_insert(const void*);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class basic_ostream<wchar_t>;
- extern template wostream& endl(wostream&);
- extern template wostream& ends(wostream&);
- extern template wostream& flush(wostream&);
- extern template wostream& operator<<(wostream&, wchar_t);
- extern template wostream& operator<<(wostream&, char);
- extern template wostream& operator<<(wostream&, const wchar_t*);
- extern template wostream& operator<<(wostream&, const char*);
-
- extern template wostream& wostream::_M_insert(long);
- extern template wostream& wostream::_M_insert(unsigned long);
- extern template wostream& wostream::_M_insert(bool);
-#ifdef _GLIBCXX_USE_LONG_LONG
- extern template wostream& wostream::_M_insert(long long);
- extern template wostream& wostream::_M_insert(unsigned long long);
-#endif
- extern template wostream& wostream::_M_insert(double);
- extern template wostream& wostream::_M_insert(long double);
- extern template wostream& wostream::_M_insert(const void*);
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/ostream_insert.h b/contrib/libstdc++/include/bits/ostream_insert.h
deleted file mode 100644
index e9e83fbc51f0..000000000000
--- a/contrib/libstdc++/include/bits/ostream_insert.h
+++ /dev/null
@@ -1,126 +0,0 @@
-// Helpers for ostream inserters -*- 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 ostream_insert.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _OSTREAM_INSERT_H
-#define _OSTREAM_INSERT_H 1
-
-#pragma GCC system_header
-
-#include <iosfwd>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits>
- inline void
- __ostream_write(basic_ostream<_CharT, _Traits>& __out,
- const _CharT* __s, streamsize __n)
- {
- typedef basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const streamsize __put = __out.rdbuf()->sputn(__s, __n);
- if (__put != __n)
- __out.setstate(__ios_base::badbit);
- }
-
- template<typename _CharT, typename _Traits>
- inline void
- __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
- {
- typedef basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const _CharT __c = __out.fill();
- for (; __n > 0; --__n)
- {
- const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
- if (_Traits::eq_int_type(__put, _Traits::eof()))
- {
- __out.setstate(__ios_base::badbit);
- break;
- }
- }
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
- const _CharT* __s, streamsize __n)
- {
- typedef basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- typename __ostream_type::sentry __cerb(__out);
- if (__cerb)
- {
- try
- {
- const streamsize __w = __out.width();
- if (__w > __n)
- {
- const bool __left = ((__out.flags()
- & __ios_base::adjustfield)
- == __ios_base::left);
- if (!__left)
- __ostream_fill(__out, __w - __n);
- if (__out.good())
- __ostream_write(__out, __s, __n);
- if (__left && __out.good())
- __ostream_fill(__out, __w - __n);
- }
- else
- __ostream_write(__out, __s, __n);
- __out.width(0);
- }
- catch(...)
- { __out._M_setstate(__ios_base::badbit); }
- }
- return __out;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template wostream& __ostream_insert(wostream&, const wchar_t*,
- streamsize);
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _OSTREAM_INSERT_H */
diff --git a/contrib/libstdc++/include/bits/postypes.h b/contrib/libstdc++/include/bits/postypes.h
deleted file mode 100644
index 40570d988e72..000000000000
--- a/contrib/libstdc++/include/bits/postypes.h
+++ /dev/null
@@ -1,217 +0,0 @@
-// Position types -*- C++ -*-
-
-// 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 postypes.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 27.4.1 - Types
-// ISO C++ 14882: 27.4.3 - Template class fpos
-//
-
-#ifndef _GLIBCXX_POSTYPES_H
-#define _GLIBCXX_POSTYPES_H 1
-
-#pragma GCC system_header
-
-#include <cwchar> // For mbstate_t
-
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h> // For int64_t
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // The types streamoff, streampos and wstreampos and the class
- // template fpos<> are described in clauses 21.1.2, 21.1.3, 27.1.2,
- // 27.2, 27.4.1, 27.4.3 and D.6. Despite all this verbage, the
- // behaviour of these types is mostly implementation defined or
- // unspecified. The behaviour in this implementation is as noted
- // below.
-
- /**
- * @brief Type used by fpos, char_traits<char>, and char_traits<wchar_t>.
- *
- * @if maint
- * In clauses 21.1.3.1 and 27.4.1 streamoff is described as an
- * implementation defined type.
- * Note: In versions of GCC up to and including GCC 3.3, streamoff
- * was typedef long.
- * @endif
- */
-#ifdef _GLIBCXX_HAVE_INT64_T
- typedef int64_t streamoff;
-#else
- typedef long long streamoff;
-#endif
-
- /// Integral type for I/O operation counts and buffer sizes.
- typedef ptrdiff_t streamsize; // Signed integral type
-
- template<typename _StateT>
- class fpos;
-
- /**
- * @brief Class representing stream positions.
- *
- * The standard places no requirements upon the template parameter StateT.
- * In this implementation StateT must be DefaultConstructible,
- * CopyConstructible and Assignable. The standard only requires that fpos
- * should contain a member of type StateT. In this implementation it also
- * contains an offset stored as a signed integer.
- *
- * @param StateT Type passed to and returned from state().
- */
- template<typename _StateT>
- class fpos
- {
- private:
- streamoff _M_off;
- _StateT _M_state;
-
- public:
- // The standard doesn't require that fpos objects can be default
- // constructed. This implementation provides a default
- // constructor that initializes the offset to 0 and default
- // constructs the state.
- fpos()
- : _M_off(0), _M_state() { }
-
- // The standard requires that fpos objects can be constructed
- // from streamoff objects using the constructor syntax, and
- // fails to give any meaningful semantics. In this
- // implementation implicit conversion is also allowed, and this
- // constructor stores the streamoff as the offset and default
- // constructs the state.
- /// Construct position from offset.
- fpos(streamoff __off)
- : _M_off(__off), _M_state() { }
-
- /// Convert to streamoff.
- operator streamoff() const { return _M_off; }
-
- /// Remember the value of @a st.
- void
- state(_StateT __st)
- { _M_state = __st; }
-
- /// Return the last set value of @a st.
- _StateT
- state() const
- { return _M_state; }
-
- // The standard requires that this operator must be defined, but
- // gives no semantics. In this implemenation it just adds it's
- // argument to the stored offset and returns *this.
- /// Add offset to this position.
- fpos&
- operator+=(streamoff __off)
- {
- _M_off += __off;
- return *this;
- }
-
- // The standard requires that this operator must be defined, but
- // gives no semantics. In this implemenation it just subtracts
- // it's argument from the stored offset and returns *this.
- /// Subtract offset from this position.
- fpos&
- operator-=(streamoff __off)
- {
- _M_off -= __off;
- return *this;
- }
-
- // The standard requires that this operator must be defined, but
- // defines it's semantics only in terms of operator-. In this
- // implementation it constructs a copy of *this, adds the
- // argument to that copy using operator+= and then returns the
- // copy.
- /// Add position and offset.
- fpos
- operator+(streamoff __off) const
- {
- fpos __pos(*this);
- __pos += __off;
- return __pos;
- }
-
- // The standard requires that this operator must be defined, but
- // defines it's semantics only in terms of operator+. In this
- // implementation it constructs a copy of *this, subtracts the
- // argument from that copy using operator-= and then returns the
- // copy.
- /// Subtract offset from position.
- fpos
- operator-(streamoff __off) const
- {
- fpos __pos(*this);
- __pos -= __off;
- return __pos;
- }
-
- // The standard requires that this operator must be defined, but
- // defines it's semantics only in terms of operator+. In this
- // implementation it returns the difference between the offset
- // stored in *this and in the argument.
- /// Subtract position to return offset.
- streamoff
- operator-(const fpos& __other) const
- { return _M_off - __other._M_off; }
- };
-
- // The standard only requires that operator== must be an
- // equivalence relation. In this implementation two fpos<StateT>
- // objects belong to the same equivalence class if the contained
- // offsets compare equal.
- /// Test if equivalent to another position.
- template<typename _StateT>
- inline bool
- operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
- { return streamoff(__lhs) == streamoff(__rhs); }
-
- template<typename _StateT>
- inline bool
- operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
- { return streamoff(__lhs) != streamoff(__rhs); }
-
- // Clauses 21.1.3.1 and 21.1.3.2 describe streampos and wstreampos
- // as implementation defined types, but clause 27.2 requires that
- // they must both be typedefs for fpos<mbstate_t>
- /// File position for char streams.
- typedef fpos<mbstate_t> streampos;
- /// File position for wchar_t streams.
- typedef fpos<mbstate_t> wstreampos;
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/slice_array.h b/contrib/libstdc++/include/bits/slice_array.h
deleted file mode 100644
index 8eaf90dddd18..000000000000
--- a/contrib/libstdc++/include/bits/slice_array.h
+++ /dev/null
@@ -1,269 +0,0 @@
-// The template and inlines for the -*- C++ -*- slice_array class.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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 slice_array.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _SLICE_ARRAY_H
-#define _SLICE_ARRAY_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Class defining one-dimensional subset of an array.
- *
- * The slice class represents a one-dimensional subset of an array,
- * specified by three parameters: start offset, size, and stride. The
- * start offset is the index of the first element of the array that is part
- * of the subset. The size is the total number of elements in the subset.
- * Stride is the distance between each successive array element to include
- * in the subset.
- *
- * For example, with an array of size 10, and a slice with offset 1, size 3
- * and stride 2, the subset consists of array elements 1, 3, and 5.
- */
- class slice
- {
- public:
- /// Construct an empty slice.
- slice();
-
- /**
- * @brief Construct a slice.
- *
- * @param o Offset in array of first element.
- * @param d Number of elements in slice.
- * @param s Stride between array elements.
- */
- slice(size_t, size_t, size_t);
-
- /// Return array offset of first slice element.
- size_t start() const;
- /// Return size of slice.
- size_t size() const;
- /// Return array stride of slice.
- size_t stride() const;
-
- private:
- size_t _M_off; // offset
- size_t _M_sz; // size
- size_t _M_st; // stride unit
- };
-
- // The default constructor constructor is not required to initialize
- // data members with any meaningful values, so we choose to do nothing.
- inline
- slice::slice() {}
-
- inline
- slice::slice(size_t __o, size_t __d, size_t __s)
- : _M_off(__o), _M_sz(__d), _M_st(__s) {}
-
- inline size_t
- slice::start() const
- { return _M_off; }
-
- inline size_t
- slice::size() const
- { return _M_sz; }
-
- inline size_t
- slice::stride() const
- { return _M_st; }
-
- /**
- * @brief Reference to one-dimensional subset of an array.
- *
- * A slice_array is a reference to the actual elements of an array
- * specified by a slice. The way to get a slice_array is to call
- * operator[](slice) on a valarray. The returned slice_array then permits
- * carrying operations out on the referenced subset of elements in the
- * original valarray. For example, operator+=(valarray) will add values
- * to the subset of elements in the underlying valarray this slice_array
- * refers to.
- *
- * @param Tp Element type.
- */
- template<typename _Tp>
- class slice_array
- {
- public:
- typedef _Tp value_type;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 253. valarray helper functions are almost entirely useless
-
- /// Copy constructor. Both slices refer to the same underlying array.
- slice_array(const slice_array&);
-
- /// Assignment operator. Assigns slice elements to corresponding
- /// elements of @a a.
- slice_array& operator=(const slice_array&);
-
- /// Assign slice elements to corresponding elements of @a v.
- void operator=(const valarray<_Tp>&) const;
- /// Multiply slice elements by corresponding elements of @a v.
- void operator*=(const valarray<_Tp>&) const;
- /// Divide slice elements by corresponding elements of @a v.
- void operator/=(const valarray<_Tp>&) const;
- /// Modulo slice elements by corresponding elements of @a v.
- void operator%=(const valarray<_Tp>&) const;
- /// Add corresponding elements of @a v to slice elements.
- void operator+=(const valarray<_Tp>&) const;
- /// Subtract corresponding elements of @a v from slice elements.
- void operator-=(const valarray<_Tp>&) const;
- /// Logical xor slice elements with corresponding elements of @a v.
- void operator^=(const valarray<_Tp>&) const;
- /// Logical and slice elements with corresponding elements of @a v.
- void operator&=(const valarray<_Tp>&) const;
- /// Logical or slice elements with corresponding elements of @a v.
- void operator|=(const valarray<_Tp>&) const;
- /// Left shift slice elements by corresponding elements of @a v.
- void operator<<=(const valarray<_Tp>&) const;
- /// Right shift slice elements by corresponding elements of @a v.
- void operator>>=(const valarray<_Tp>&) const;
- /// Assign all slice elements to @a t.
- void operator=(const _Tp &) const;
- // ~slice_array ();
-
- template<class _Dom>
- void operator=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator*=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator/=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator%=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator+=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator-=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator^=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator&=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator|=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator<<=(const _Expr<_Dom, _Tp>&) const;
- template<class _Dom>
- void operator>>=(const _Expr<_Dom, _Tp>&) const;
-
- private:
- friend class valarray<_Tp>;
- slice_array(_Array<_Tp>, const slice&);
-
- const size_t _M_sz;
- const size_t _M_stride;
- const _Array<_Tp> _M_array;
-
- // not implemented
- slice_array();
- };
-
- template<typename _Tp>
- inline
- slice_array<_Tp>::slice_array(_Array<_Tp> __a, const slice& __s)
- : _M_sz(__s.size()), _M_stride(__s.stride()),
- _M_array(__a.begin() + __s.start()) {}
-
- template<typename _Tp>
- inline
- slice_array<_Tp>::slice_array(const slice_array<_Tp>& a)
- : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {}
-
- // template<typename _Tp>
- // inline slice_array<_Tp>::~slice_array () {}
-
- template<typename _Tp>
- inline slice_array<_Tp>&
- slice_array<_Tp>::operator=(const slice_array<_Tp>& __a)
- {
- std::__valarray_copy(__a._M_array, __a._M_sz, __a._M_stride,
- _M_array, _M_stride);
- return *this;
- }
-
- template<typename _Tp>
- inline void
- slice_array<_Tp>::operator=(const _Tp& __t) const
- { std::__valarray_fill(_M_array, _M_sz, _M_stride, __t); }
-
- template<typename _Tp>
- inline void
- slice_array<_Tp>::operator=(const valarray<_Tp>& __v) const
- { std::__valarray_copy(_Array<_Tp>(__v), _M_array, _M_sz, _M_stride); }
-
- template<typename _Tp>
- template<class _Dom>
- inline void
- slice_array<_Tp>::operator=(const _Expr<_Dom,_Tp>& __e) const
- { std::__valarray_copy(__e, _M_sz, _M_array, _M_stride); }
-
-#undef _DEFINE_VALARRAY_OPERATOR
-#define _DEFINE_VALARRAY_OPERATOR(_Op,_Name) \
- template<typename _Tp> \
- inline void \
- slice_array<_Tp>::operator _Op##=(const valarray<_Tp>& __v) const \
- { \
- _Array_augmented_##_Name(_M_array, _M_sz, _M_stride, _Array<_Tp>(__v));\
- } \
- \
- template<typename _Tp> \
- template<class _Dom> \
- inline void \
- slice_array<_Tp>::operator _Op##=(const _Expr<_Dom,_Tp>& __e) const\
- { \
- _Array_augmented_##_Name(_M_array, _M_stride, __e, _M_sz); \
- }
-
-
-_DEFINE_VALARRAY_OPERATOR(*, __multiplies)
-_DEFINE_VALARRAY_OPERATOR(/, __divides)
-_DEFINE_VALARRAY_OPERATOR(%, __modulus)
-_DEFINE_VALARRAY_OPERATOR(+, __plus)
-_DEFINE_VALARRAY_OPERATOR(-, __minus)
-_DEFINE_VALARRAY_OPERATOR(^, __bitwise_xor)
-_DEFINE_VALARRAY_OPERATOR(&, __bitwise_and)
-_DEFINE_VALARRAY_OPERATOR(|, __bitwise_or)
-_DEFINE_VALARRAY_OPERATOR(<<, __shift_left)
-_DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
-
-#undef _DEFINE_VALARRAY_OPERATOR
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _SLICE_ARRAY_H */
diff --git a/contrib/libstdc++/include/bits/sstream.tcc b/contrib/libstdc++/include/bits/sstream.tcc
deleted file mode 100644
index 4de1c8124b57..000000000000
--- a/contrib/libstdc++/include/bits/sstream.tcc
+++ /dev/null
@@ -1,279 +0,0 @@
-// String based streams -*- C++ -*-
-
-// 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 sstream.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 27.7 String-based streams
-//
-
-#ifndef _SSTREAM_TCC
-#define _SSTREAM_TCC 1
-
-#pragma GCC system_header
-
-#include <sstream>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template <class _CharT, class _Traits, class _Alloc>
- typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
- basic_stringbuf<_CharT, _Traits, _Alloc>::
- pbackfail(int_type __c)
- {
- int_type __ret = traits_type::eof();
- if (this->eback() < this->gptr())
- {
- // Try to put back __c into input sequence in one of three ways.
- // Order these tests done in is unspecified by the standard.
- const bool __testeof = traits_type::eq_int_type(__c, __ret);
- if (!__testeof)
- {
- const bool __testeq = traits_type::eq(traits_type::
- to_char_type(__c),
- this->gptr()[-1]);
- const bool __testout = this->_M_mode & ios_base::out;
- if (__testeq || __testout)
- {
- this->gbump(-1);
- if (!__testeq)
- *this->gptr() = traits_type::to_char_type(__c);
- __ret = __c;
- }
- }
- else
- {
- this->gbump(-1);
- __ret = traits_type::not_eof(__c);
- }
- }
- return __ret;
- }
-
- template <class _CharT, class _Traits, class _Alloc>
- typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
- basic_stringbuf<_CharT, _Traits, _Alloc>::
- overflow(int_type __c)
- {
- const bool __testout = this->_M_mode & ios_base::out;
- if (__builtin_expect(!__testout, false))
- return traits_type::eof();
-
- const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
- if (__builtin_expect(__testeof, false))
- return traits_type::not_eof(__c);
-
- const __size_type __capacity = _M_string.capacity();
- const __size_type __max_size = _M_string.max_size();
- const bool __testput = this->pptr() < this->epptr();
- if (__builtin_expect(!__testput && __capacity == __max_size, false))
- return traits_type::eof();
-
- // Try to append __c into output sequence in one of two ways.
- // Order these tests done in is unspecified by the standard.
- const char_type __conv = traits_type::to_char_type(__c);
- if (!__testput)
- {
- // NB: Start ostringstream buffers at 512 chars. This is an
- // experimental value (pronounced "arbitrary" in some of the
- // hipper english-speaking countries), and can be changed to
- // suit particular needs.
- //
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 169. Bad efficiency of overflow() mandated
- // 432. stringbuf::overflow() makes only one write position
- // available
- const __size_type __opt_len = std::max(__size_type(2 * __capacity),
- __size_type(512));
- const __size_type __len = std::min(__opt_len, __max_size);
- __string_type __tmp;
- __tmp.reserve(__len);
- if (this->pbase())
- __tmp.assign(this->pbase(), this->epptr() - this->pbase());
- __tmp.push_back(__conv);
- _M_string.swap(__tmp);
- _M_sync(const_cast<char_type*>(_M_string.data()),
- this->gptr() - this->eback(), this->pptr() - this->pbase());
- }
- else
- *this->pptr() = __conv;
- this->pbump(1);
- return __c;
- }
-
- template <class _CharT, class _Traits, class _Alloc>
- typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
- basic_stringbuf<_CharT, _Traits, _Alloc>::
- underflow()
- {
- int_type __ret = traits_type::eof();
- const bool __testin = this->_M_mode & ios_base::in;
- if (__testin)
- {
- // Update egptr() to match the actual string end.
- _M_update_egptr();
-
- if (this->gptr() < this->egptr())
- __ret = traits_type::to_int_type(*this->gptr());
- }
- return __ret;
- }
-
- template <class _CharT, class _Traits, class _Alloc>
- typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
- basic_stringbuf<_CharT, _Traits, _Alloc>::
- seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode)
- {
- pos_type __ret = pos_type(off_type(-1));
- bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
- bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
- const bool __testboth = __testin && __testout && __way != ios_base::cur;
- __testin &= !(__mode & ios_base::out);
- __testout &= !(__mode & ios_base::in);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 453. basic_stringbuf::seekoff need not always fail for an empty stream.
- const char_type* __beg = __testin ? this->eback() : this->pbase();
- if ((__beg || !__off) && (__testin || __testout || __testboth))
- {
- _M_update_egptr();
-
- off_type __newoffi = __off;
- off_type __newoffo = __newoffi;
- if (__way == ios_base::cur)
- {
- __newoffi += this->gptr() - __beg;
- __newoffo += this->pptr() - __beg;
- }
- else if (__way == ios_base::end)
- __newoffo = __newoffi += this->egptr() - __beg;
-
- if ((__testin || __testboth)
- && __newoffi >= 0
- && this->egptr() - __beg >= __newoffi)
- {
- this->gbump((__beg + __newoffi) - this->gptr());
- __ret = pos_type(__newoffi);
- }
- if ((__testout || __testboth)
- && __newoffo >= 0
- && this->egptr() - __beg >= __newoffo)
- {
- this->pbump((__beg + __newoffo) - this->pptr());
- __ret = pos_type(__newoffo);
- }
- }
- return __ret;
- }
-
- template <class _CharT, class _Traits, class _Alloc>
- typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
- basic_stringbuf<_CharT, _Traits, _Alloc>::
- seekpos(pos_type __sp, ios_base::openmode __mode)
- {
- pos_type __ret = pos_type(off_type(-1));
- const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
- const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
-
- const char_type* __beg = __testin ? this->eback() : this->pbase();
- if ((__beg || !off_type(__sp)) && (__testin || __testout))
- {
- _M_update_egptr();
-
- const off_type __pos(__sp);
- const bool __testpos = (0 <= __pos
- && __pos <= this->egptr() - __beg);
- if (__testpos)
- {
- if (__testin)
- this->gbump((__beg + __pos) - this->gptr());
- if (__testout)
- this->pbump((__beg + __pos) - this->pptr());
- __ret = __sp;
- }
- }
- return __ret;
- }
-
- template <class _CharT, class _Traits, class _Alloc>
- void
- basic_stringbuf<_CharT, _Traits, _Alloc>::
- _M_sync(char_type* __base, __size_type __i, __size_type __o)
- {
- const bool __testin = _M_mode & ios_base::in;
- const bool __testout = _M_mode & ios_base::out;
- char_type* __endg = __base + _M_string.size();
- char_type* __endp = __base + _M_string.capacity();
-
- if (__base != _M_string.data())
- {
- // setbuf: __i == size of buffer area (_M_string.size() == 0).
- __endg += __i;
- __i = 0;
- __endp = __endg;
- }
-
- if (__testin)
- this->setg(__base, __base + __i, __endg);
- if (__testout)
- {
- this->setp(__base, __endp);
- this->pbump(__o);
- // egptr() always tracks the string end. When !__testin,
- // for the correct functioning of the streambuf inlines
- // the other get area pointers are identical.
- if (!__testin)
- this->setg(__endg, __endg, __endg);
- }
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class basic_stringbuf<char>;
- extern template class basic_istringstream<char>;
- extern template class basic_ostringstream<char>;
- extern template class basic_stringstream<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class basic_stringbuf<wchar_t>;
- extern template class basic_istringstream<wchar_t>;
- extern template class basic_ostringstream<wchar_t>;
- extern template class basic_stringstream<wchar_t>;
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/stl_algo.h b/contrib/libstdc++/include/bits/stl_algo.h
deleted file mode 100644
index cf3cd71851a0..000000000000
--- a/contrib/libstdc++/include/bits/stl_algo.h
+++ /dev/null
@@ -1,5504 +0,0 @@
-// Algorithm implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_algo.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _ALGO_H
-#define _ALGO_H 1
-
-#include <bits/stl_heap.h>
-#include <bits/stl_tempbuf.h> // for _Temporary_buffer
-#include <debug/debug.h>
-
-// See concept_check.h for the __glibcxx_*_requires macros.
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Find the median of three values.
- * @param a A value.
- * @param b A value.
- * @param c A value.
- * @return One of @p a, @p b or @p c.
- *
- * If @c {l,m,n} is some convolution of @p {a,b,c} such that @c l<=m<=n
- * then the value returned will be @c m.
- * This is an SGI extension.
- * @ingroup SGIextensions
- */
- template<typename _Tp>
- inline const _Tp&
- __median(const _Tp& __a, const _Tp& __b, const _Tp& __c)
- {
- // concept requirements
- __glibcxx_function_requires(_LessThanComparableConcept<_Tp>)
- if (__a < __b)
- if (__b < __c)
- return __b;
- else if (__a < __c)
- return __c;
- else
- return __a;
- else if (__a < __c)
- return __a;
- else if (__b < __c)
- return __c;
- else
- return __b;
- }
-
- /**
- * @brief Find the median of three values using a predicate for comparison.
- * @param a A value.
- * @param b A value.
- * @param c A value.
- * @param comp A binary predicate.
- * @return One of @p a, @p b or @p c.
- *
- * If @c {l,m,n} is some convolution of @p {a,b,c} such that @p comp(l,m)
- * and @p comp(m,n) are both true then the value returned will be @c m.
- * This is an SGI extension.
- * @ingroup SGIextensions
- */
- template<typename _Tp, typename _Compare>
- inline const _Tp&
- __median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_BinaryFunctionConcept<_Compare,bool,_Tp,_Tp>)
- if (__comp(__a, __b))
- if (__comp(__b, __c))
- return __b;
- else if (__comp(__a, __c))
- return __c;
- else
- return __a;
- else if (__comp(__a, __c))
- return __a;
- else if (__comp(__b, __c))
- return __c;
- else
- return __b;
- }
-
- /**
- * @brief Apply a function to every element of a sequence.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param f A unary function object.
- * @return @p f.
- *
- * Applies the function object @p f to each element in the range
- * @p [first,last). @p f must not modify the order of the sequence.
- * If @p f has a return value it is ignored.
- */
- template<typename _InputIterator, typename _Function>
- _Function
- for_each(_InputIterator __first, _InputIterator __last, _Function __f)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_requires_valid_range(__first, __last);
- for ( ; __first != __last; ++__first)
- __f(*__first);
- return __f;
- }
-
- /**
- * @if maint
- * This is an overload used by find() for the Input Iterator case.
- * @endif
- */
- template<typename _InputIterator, typename _Tp>
- inline _InputIterator
- __find(_InputIterator __first, _InputIterator __last,
- const _Tp& __val, input_iterator_tag)
- {
- while (__first != __last && !(*__first == __val))
- ++__first;
- return __first;
- }
-
- /**
- * @if maint
- * This is an overload used by find_if() for the Input Iterator case.
- * @endif
- */
- template<typename _InputIterator, typename _Predicate>
- inline _InputIterator
- __find_if(_InputIterator __first, _InputIterator __last,
- _Predicate __pred, input_iterator_tag)
- {
- while (__first != __last && !__pred(*__first))
- ++__first;
- return __first;
- }
-
- /**
- * @if maint
- * This is an overload used by find() for the RAI case.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Tp>
- _RandomAccessIterator
- __find(_RandomAccessIterator __first, _RandomAccessIterator __last,
- const _Tp& __val, random_access_iterator_tag)
- {
- typename iterator_traits<_RandomAccessIterator>::difference_type
- __trip_count = (__last - __first) >> 2;
-
- for ( ; __trip_count > 0 ; --__trip_count)
- {
- if (*__first == __val)
- return __first;
- ++__first;
-
- if (*__first == __val)
- return __first;
- ++__first;
-
- if (*__first == __val)
- return __first;
- ++__first;
-
- if (*__first == __val)
- return __first;
- ++__first;
- }
-
- switch (__last - __first)
- {
- case 3:
- if (*__first == __val)
- return __first;
- ++__first;
- case 2:
- if (*__first == __val)
- return __first;
- ++__first;
- case 1:
- if (*__first == __val)
- return __first;
- ++__first;
- case 0:
- default:
- return __last;
- }
- }
-
- /**
- * @if maint
- * This is an overload used by find_if() for the RAI case.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Predicate>
- _RandomAccessIterator
- __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _Predicate __pred, random_access_iterator_tag)
- {
- typename iterator_traits<_RandomAccessIterator>::difference_type
- __trip_count = (__last - __first) >> 2;
-
- for ( ; __trip_count > 0 ; --__trip_count)
- {
- if (__pred(*__first))
- return __first;
- ++__first;
-
- if (__pred(*__first))
- return __first;
- ++__first;
-
- if (__pred(*__first))
- return __first;
- ++__first;
-
- if (__pred(*__first))
- return __first;
- ++__first;
- }
-
- switch (__last - __first)
- {
- case 3:
- if (__pred(*__first))
- return __first;
- ++__first;
- case 2:
- if (__pred(*__first))
- return __first;
- ++__first;
- case 1:
- if (__pred(*__first))
- return __first;
- ++__first;
- case 0:
- default:
- return __last;
- }
- }
-
- /**
- * @if maint
- * This is an overload of find() for streambuf iterators.
- * @endif
- */
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- istreambuf_iterator<_CharT> >::__type
- find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
- const _CharT&);
-
- /**
- * @brief Find the first occurrence of a value in a sequence.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param val The value to find.
- * @return The first iterator @c i in the range @p [first,last)
- * such that @c *i == @p val, or @p last if no such iterator exists.
- */
- template<typename _InputIterator, typename _Tp>
- inline _InputIterator
- find(_InputIterator __first, _InputIterator __last,
- const _Tp& __val)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_InputIterator>::value_type, _Tp>)
- __glibcxx_requires_valid_range(__first, __last);
- return std::__find(__first, __last, __val,
- std::__iterator_category(__first));
- }
-
- /**
- * @brief Find the first element in a sequence for which a predicate is true.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param pred A predicate.
- * @return The first iterator @c i in the range @p [first,last)
- * such that @p pred(*i) is true, or @p last if no such iterator exists.
- */
- template<typename _InputIterator, typename _Predicate>
- inline _InputIterator
- find_if(_InputIterator __first, _InputIterator __last,
- _Predicate __pred)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
- return std::__find_if(__first, __last, __pred,
- std::__iterator_category(__first));
- }
-
- /**
- * @brief Find two adjacent values in a sequence that are equal.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @return The first iterator @c i such that @c i and @c i+1 are both
- * valid iterators in @p [first,last) and such that @c *i == @c *(i+1),
- * or @p last if no such iterator exists.
- */
- template<typename _ForwardIterator>
- _ForwardIterator
- adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_EqualityComparableConcept<
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
- if (__first == __last)
- return __last;
- _ForwardIterator __next = __first;
- while(++__next != __last)
- {
- if (*__first == *__next)
- return __first;
- __first = __next;
- }
- return __last;
- }
-
- /**
- * @brief Find two adjacent values in a sequence using a predicate.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param binary_pred A binary predicate.
- * @return The first iterator @c i such that @c i and @c i+1 are both
- * valid iterators in @p [first,last) and such that
- * @p binary_pred(*i,*(i+1)) is true, or @p last if no such iterator
- * exists.
- */
- template<typename _ForwardIterator, typename _BinaryPredicate>
- _ForwardIterator
- adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
- _BinaryPredicate __binary_pred)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_ForwardIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
- if (__first == __last)
- return __last;
- _ForwardIterator __next = __first;
- while(++__next != __last)
- {
- if (__binary_pred(*__first, *__next))
- return __first;
- __first = __next;
- }
- return __last;
- }
-
- /**
- * @brief Count the number of copies of a value in a sequence.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param value The value to be counted.
- * @return The number of iterators @c i in the range @p [first,last)
- * for which @c *i == @p value
- */
- template<typename _InputIterator, typename _Tp>
- typename iterator_traits<_InputIterator>::difference_type
- count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_InputIterator>::value_type, _Tp>)
- __glibcxx_requires_valid_range(__first, __last);
- typename iterator_traits<_InputIterator>::difference_type __n = 0;
- for ( ; __first != __last; ++__first)
- if (*__first == __value)
- ++__n;
- return __n;
- }
-
- /**
- * @brief Count the elements of a sequence for which a predicate is true.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param pred A predicate.
- * @return The number of iterators @c i in the range @p [first,last)
- * for which @p pred(*i) is true.
- */
- template<typename _InputIterator, typename _Predicate>
- typename iterator_traits<_InputIterator>::difference_type
- count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
- typename iterator_traits<_InputIterator>::difference_type __n = 0;
- for ( ; __first != __last; ++__first)
- if (__pred(*__first))
- ++__n;
- return __n;
- }
-
- /**
- * @brief Search a sequence for a matching sub-sequence.
- * @param first1 A forward iterator.
- * @param last1 A forward iterator.
- * @param first2 A forward iterator.
- * @param last2 A forward iterator.
- * @return The first iterator @c i in the range
- * @p [first1,last1-(last2-first2)) such that @c *(i+N) == @p *(first2+N)
- * for each @c N in the range @p [0,last2-first2), or @p last1 if no
- * such iterator exists.
- *
- * Searches the range @p [first1,last1) for a sub-sequence that compares
- * equal value-by-value with the sequence given by @p [first2,last2) and
- * returns an iterator to the first element of the sub-sequence, or
- * @p last1 if the sub-sequence is not found.
- *
- * Because the sub-sequence must lie completely within the range
- * @p [first1,last1) it must start at a position less than
- * @p last1-(last2-first2) where @p last2-first2 is the length of the
- * sub-sequence.
- * This means that the returned iterator @c i will be in the range
- * @p [first1,last1-(last2-first2))
- */
- template<typename _ForwardIterator1, typename _ForwardIterator2>
- _ForwardIterator1
- search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
- _ForwardIterator2 __first2, _ForwardIterator2 __last2)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator1>)
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator2>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_ForwardIterator1>::value_type,
- typename iterator_traits<_ForwardIterator2>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
- // Test for empty ranges
- if (__first1 == __last1 || __first2 == __last2)
- return __first1;
-
- // Test for a pattern of length 1.
- _ForwardIterator2 __tmp(__first2);
- ++__tmp;
- if (__tmp == __last2)
- return std::find(__first1, __last1, *__first2);
-
- // General case.
- _ForwardIterator2 __p1, __p;
- __p1 = __first2; ++__p1;
- _ForwardIterator1 __current = __first1;
-
- while (__first1 != __last1)
- {
- __first1 = std::find(__first1, __last1, *__first2);
- if (__first1 == __last1)
- return __last1;
-
- __p = __p1;
- __current = __first1;
- if (++__current == __last1)
- return __last1;
-
- while (*__current == *__p)
- {
- if (++__p == __last2)
- return __first1;
- if (++__current == __last1)
- return __last1;
- }
- ++__first1;
- }
- return __first1;
- }
-
- /**
- * @brief Search a sequence for a matching sub-sequence using a predicate.
- * @param first1 A forward iterator.
- * @param last1 A forward iterator.
- * @param first2 A forward iterator.
- * @param last2 A forward iterator.
- * @param predicate A binary predicate.
- * @return The first iterator @c i in the range
- * @p [first1,last1-(last2-first2)) such that
- * @p predicate(*(i+N),*(first2+N)) is true for each @c N in the range
- * @p [0,last2-first2), or @p last1 if no such iterator exists.
- *
- * Searches the range @p [first1,last1) for a sub-sequence that compares
- * equal value-by-value with the sequence given by @p [first2,last2),
- * using @p predicate to determine equality, and returns an iterator
- * to the first element of the sub-sequence, or @p last1 if no such
- * iterator exists.
- *
- * @see search(_ForwardIter1, _ForwardIter1, _ForwardIter2, _ForwardIter2)
- */
- template<typename _ForwardIterator1, typename _ForwardIterator2,
- typename _BinaryPredicate>
- _ForwardIterator1
- search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
- _ForwardIterator2 __first2, _ForwardIterator2 __last2,
- _BinaryPredicate __predicate)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator1>)
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_ForwardIterator1>::value_type,
- typename iterator_traits<_ForwardIterator2>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- // Test for empty ranges
- if (__first1 == __last1 || __first2 == __last2)
- return __first1;
-
- // Test for a pattern of length 1.
- _ForwardIterator2 __tmp(__first2);
- ++__tmp;
- if (__tmp == __last2)
- {
- while (__first1 != __last1 && !__predicate(*__first1, *__first2))
- ++__first1;
- return __first1;
- }
-
- // General case.
- _ForwardIterator2 __p1, __p;
- __p1 = __first2; ++__p1;
- _ForwardIterator1 __current = __first1;
-
- while (__first1 != __last1)
- {
- while (__first1 != __last1)
- {
- if (__predicate(*__first1, *__first2))
- break;
- ++__first1;
- }
- while (__first1 != __last1 && !__predicate(*__first1, *__first2))
- ++__first1;
- if (__first1 == __last1)
- return __last1;
-
- __p = __p1;
- __current = __first1;
- if (++__current == __last1)
- return __last1;
-
- while (__predicate(*__current, *__p))
- {
- if (++__p == __last2)
- return __first1;
- if (++__current == __last1)
- return __last1;
- }
- ++__first1;
- }
- return __first1;
- }
-
- /**
- * @if maint
- * This is an uglified
- * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&)
- * overloaded for forward iterators.
- * @endif
- */
- template<typename _ForwardIterator, typename _Integer, typename _Tp>
- _ForwardIterator
- __search_n(_ForwardIterator __first, _ForwardIterator __last,
- _Integer __count, const _Tp& __val,
- std::forward_iterator_tag)
- {
- __first = std::find(__first, __last, __val);
- while (__first != __last)
- {
- typename iterator_traits<_ForwardIterator>::difference_type
- __n = __count;
- _ForwardIterator __i = __first;
- ++__i;
- while (__i != __last && __n != 1 && *__i == __val)
- {
- ++__i;
- --__n;
- }
- if (__n == 1)
- return __first;
- if (__i == __last)
- return __last;
- __first = std::find(++__i, __last, __val);
- }
- return __last;
- }
-
- /**
- * @if maint
- * This is an uglified
- * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&)
- * overloaded for random access iterators.
- * @endif
- */
- template<typename _RandomAccessIter, typename _Integer, typename _Tp>
- _RandomAccessIter
- __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
- _Integer __count, const _Tp& __val,
- std::random_access_iterator_tag)
- {
-
- typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
- _DistanceType;
-
- _DistanceType __tailSize = __last - __first;
- const _DistanceType __pattSize = __count;
-
- if (__tailSize < __pattSize)
- return __last;
-
- const _DistanceType __skipOffset = __pattSize - 1;
- _RandomAccessIter __lookAhead = __first + __skipOffset;
- __tailSize -= __pattSize;
-
- while (1) // the main loop...
- {
- // __lookAhead here is always pointing to the last element of next
- // possible match.
- while (!(*__lookAhead == __val)) // the skip loop...
- {
- if (__tailSize < __pattSize)
- return __last; // Failure
- __lookAhead += __pattSize;
- __tailSize -= __pattSize;
- }
- _DistanceType __remainder = __skipOffset;
- for (_RandomAccessIter __backTrack = __lookAhead - 1;
- *__backTrack == __val; --__backTrack)
- {
- if (--__remainder == 0)
- return (__lookAhead - __skipOffset); // Success
- }
- if (__remainder > __tailSize)
- return __last; // Failure
- __lookAhead += __remainder;
- __tailSize -= __remainder;
- }
- }
-
- /**
- * @brief Search a sequence for a number of consecutive values.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param count The number of consecutive values.
- * @param val The value to find.
- * @return The first iterator @c i in the range @p [first,last-count)
- * such that @c *(i+N) == @p val for each @c N in the range @p [0,count),
- * or @p last if no such iterator exists.
- *
- * Searches the range @p [first,last) for @p count consecutive elements
- * equal to @p val.
- */
- template<typename _ForwardIterator, typename _Integer, typename _Tp>
- _ForwardIterator
- search_n(_ForwardIterator __first, _ForwardIterator __last,
- _Integer __count, const _Tp& __val)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_ForwardIterator>::value_type, _Tp>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__count <= 0)
- return __first;
- if (__count == 1)
- return std::find(__first, __last, __val);
- return std::__search_n(__first, __last, __count, __val,
- std::__iterator_category(__first));
- }
-
- /**
- * @if maint
- * This is an uglified
- * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&,
- * _BinaryPredicate)
- * overloaded for forward iterators.
- * @endif
- */
- template<typename _ForwardIterator, typename _Integer, typename _Tp,
- typename _BinaryPredicate>
- _ForwardIterator
- __search_n(_ForwardIterator __first, _ForwardIterator __last,
- _Integer __count, const _Tp& __val,
- _BinaryPredicate __binary_pred, std::forward_iterator_tag)
- {
- while (__first != __last && !__binary_pred(*__first, __val))
- ++__first;
-
- while (__first != __last)
- {
- typename iterator_traits<_ForwardIterator>::difference_type
- __n = __count;
- _ForwardIterator __i = __first;
- ++__i;
- while (__i != __last && __n != 1 && __binary_pred(*__i, __val))
- {
- ++__i;
- --__n;
- }
- if (__n == 1)
- return __first;
- if (__i == __last)
- return __last;
- __first = ++__i;
- while (__first != __last && !__binary_pred(*__first, __val))
- ++__first;
- }
- return __last;
- }
-
- /**
- * @if maint
- * This is an uglified
- * search_n(_ForwardIterator, _ForwardIterator, _Integer, const _Tp&,
- * _BinaryPredicate)
- * overloaded for random access iterators.
- * @endif
- */
- template<typename _RandomAccessIter, typename _Integer, typename _Tp,
- typename _BinaryPredicate>
- _RandomAccessIter
- __search_n(_RandomAccessIter __first, _RandomAccessIter __last,
- _Integer __count, const _Tp& __val,
- _BinaryPredicate __binary_pred, std::random_access_iterator_tag)
- {
-
- typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
- _DistanceType;
-
- _DistanceType __tailSize = __last - __first;
- const _DistanceType __pattSize = __count;
-
- if (__tailSize < __pattSize)
- return __last;
-
- const _DistanceType __skipOffset = __pattSize - 1;
- _RandomAccessIter __lookAhead = __first + __skipOffset;
- __tailSize -= __pattSize;
-
- while (1) // the main loop...
- {
- // __lookAhead here is always pointing to the last element of next
- // possible match.
- while (!__binary_pred(*__lookAhead, __val)) // the skip loop...
- {
- if (__tailSize < __pattSize)
- return __last; // Failure
- __lookAhead += __pattSize;
- __tailSize -= __pattSize;
- }
- _DistanceType __remainder = __skipOffset;
- for (_RandomAccessIter __backTrack = __lookAhead - 1;
- __binary_pred(*__backTrack, __val); --__backTrack)
- {
- if (--__remainder == 0)
- return (__lookAhead - __skipOffset); // Success
- }
- if (__remainder > __tailSize)
- return __last; // Failure
- __lookAhead += __remainder;
- __tailSize -= __remainder;
- }
- }
-
- /**
- * @brief Search a sequence for a number of consecutive values using a
- * predicate.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param count The number of consecutive values.
- * @param val The value to find.
- * @param binary_pred A binary predicate.
- * @return The first iterator @c i in the range @p [first,last-count)
- * such that @p binary_pred(*(i+N),val) is true for each @c N in the
- * range @p [0,count), or @p last if no such iterator exists.
- *
- * Searches the range @p [first,last) for @p count consecutive elements
- * for which the predicate returns true.
- */
- template<typename _ForwardIterator, typename _Integer, typename _Tp,
- typename _BinaryPredicate>
- _ForwardIterator
- search_n(_ForwardIterator __first, _ForwardIterator __last,
- _Integer __count, const _Tp& __val,
- _BinaryPredicate __binary_pred)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_ForwardIterator>::value_type, _Tp>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__count <= 0)
- return __first;
- if (__count == 1)
- {
- while (__first != __last && !__binary_pred(*__first, __val))
- ++__first;
- return __first;
- }
- return std::__search_n(__first, __last, __count, __val, __binary_pred,
- std::__iterator_category(__first));
- }
-
- /**
- * @brief Swap the elements of two sequences.
- * @param first1 A forward iterator.
- * @param last1 A forward iterator.
- * @param first2 A forward iterator.
- * @return An iterator equal to @p first2+(last1-first1).
- *
- * Swaps each element in the range @p [first1,last1) with the
- * corresponding element in the range @p [first2,(last1-first1)).
- * The ranges must not overlap.
- */
- template<typename _ForwardIterator1, typename _ForwardIterator2>
- _ForwardIterator2
- swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
- _ForwardIterator2 __first2)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator1>)
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator2>)
- __glibcxx_function_requires(_ConvertibleConcept<
- typename iterator_traits<_ForwardIterator1>::value_type,
- typename iterator_traits<_ForwardIterator2>::value_type>)
- __glibcxx_function_requires(_ConvertibleConcept<
- typename iterator_traits<_ForwardIterator2>::value_type,
- typename iterator_traits<_ForwardIterator1>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- for ( ; __first1 != __last1; ++__first1, ++__first2)
- std::iter_swap(__first1, __first2);
- return __first2;
- }
-
- /**
- * @brief Perform an operation on a sequence.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @param unary_op A unary operator.
- * @return An output iterator equal to @p result+(last-first).
- *
- * Applies the operator to each element in the input range and assigns
- * the results to successive elements of the output sequence.
- * Evaluates @p *(result+N)=unary_op(*(first+N)) for each @c N in the
- * range @p [0,last-first).
- *
- * @p unary_op must not alter its argument.
- */
- template<typename _InputIterator, typename _OutputIterator,
- typename _UnaryOperation>
- _OutputIterator
- transform(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result, _UnaryOperation __unary_op)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- // "the type returned by a _UnaryOperation"
- __typeof__(__unary_op(*__first))>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first, ++__result)
- *__result = __unary_op(*__first);
- return __result;
- }
-
- /**
- * @brief Perform an operation on corresponding elements of two sequences.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @param result An output iterator.
- * @param binary_op A binary operator.
- * @return An output iterator equal to @p result+(last-first).
- *
- * Applies the operator to the corresponding elements in the two
- * input ranges and assigns the results to successive elements of the
- * output sequence.
- * Evaluates @p *(result+N)=binary_op(*(first1+N),*(first2+N)) for each
- * @c N in the range @p [0,last1-first1).
- *
- * @p binary_op must not alter either of its arguments.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator, typename _BinaryOperation>
- _OutputIterator
- transform(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _OutputIterator __result,
- _BinaryOperation __binary_op)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- // "the type returned by a _BinaryOperation"
- __typeof__(__binary_op(*__first1,*__first2))>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result)
- *__result = __binary_op(*__first1, *__first2);
- return __result;
- }
-
- /**
- * @brief Replace each occurrence of one value in a sequence with another
- * value.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param old_value The value to be replaced.
- * @param new_value The replacement value.
- * @return replace() returns no value.
- *
- * For each iterator @c i in the range @p [first,last) if @c *i ==
- * @p old_value then the assignment @c *i = @p new_value is performed.
- */
- template<typename _ForwardIterator, typename _Tp>
- void
- replace(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __old_value, const _Tp& __new_value)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_ForwardIterator>::value_type, _Tp>)
- __glibcxx_function_requires(_ConvertibleConcept<_Tp,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first)
- if (*__first == __old_value)
- *__first = __new_value;
- }
-
- /**
- * @brief Replace each value in a sequence for which a predicate returns
- * true with another value.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param pred A predicate.
- * @param new_value The replacement value.
- * @return replace_if() returns no value.
- *
- * For each iterator @c i in the range @p [first,last) if @p pred(*i)
- * is true then the assignment @c *i = @p new_value is performed.
- */
- template<typename _ForwardIterator, typename _Predicate, typename _Tp>
- void
- replace_if(_ForwardIterator __first, _ForwardIterator __last,
- _Predicate __pred, const _Tp& __new_value)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_ConvertibleConcept<_Tp,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first)
- if (__pred(*__first))
- *__first = __new_value;
- }
-
- /**
- * @brief Copy a sequence, replacing each element of one value with another
- * value.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @param old_value The value to be replaced.
- * @param new_value The replacement value.
- * @return The end of the output sequence, @p result+(last-first).
- *
- * Copies each element in the input range @p [first,last) to the
- * output range @p [result,result+(last-first)) replacing elements
- * equal to @p old_value with @p new_value.
- */
- template<typename _InputIterator, typename _OutputIterator, typename _Tp>
- _OutputIterator
- replace_copy(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result,
- const _Tp& __old_value, const _Tp& __new_value)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_InputIterator>::value_type, _Tp>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first, ++__result)
- if (*__first == __old_value)
- *__result = __new_value;
- else
- *__result = *__first;
- return __result;
- }
-
- /**
- * @brief Copy a sequence, replacing each value for which a predicate
- * returns true with another value.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @param pred A predicate.
- * @param new_value The replacement value.
- * @return The end of the output sequence, @p result+(last-first).
- *
- * Copies each element in the range @p [first,last) to the range
- * @p [result,result+(last-first)) replacing elements for which
- * @p pred returns true with @p new_value.
- */
- template<typename _InputIterator, typename _OutputIterator,
- typename _Predicate, typename _Tp>
- _OutputIterator
- replace_copy_if(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result,
- _Predicate __pred, const _Tp& __new_value)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first, ++__result)
- if (__pred(*__first))
- *__result = __new_value;
- else
- *__result = *__first;
- return __result;
- }
-
- /**
- * @brief Assign the result of a function object to each value in a
- * sequence.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param gen A function object taking no arguments.
- * @return generate() returns no value.
- *
- * Performs the assignment @c *i = @p gen() for each @c i in the range
- * @p [first,last).
- */
- template<typename _ForwardIterator, typename _Generator>
- void
- generate(_ForwardIterator __first, _ForwardIterator __last,
- _Generator __gen)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_GeneratorConcept<_Generator,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first)
- *__first = __gen();
- }
-
- /**
- * @brief Assign the result of a function object to each value in a
- * sequence.
- * @param first A forward iterator.
- * @param n The length of the sequence.
- * @param gen A function object taking no arguments.
- * @return The end of the sequence, @p first+n
- *
- * Performs the assignment @c *i = @p gen() for each @c i in the range
- * @p [first,first+n).
- */
- template<typename _OutputIterator, typename _Size, typename _Generator>
- _OutputIterator
- generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
- {
- // concept requirements
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- // "the type returned by a _Generator"
- __typeof__(__gen())>)
-
- for ( ; __n > 0; --__n, ++__first)
- *__first = __gen();
- return __first;
- }
-
- /**
- * @brief Copy a sequence, removing elements of a given value.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @param value The value to be removed.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Copies each element in the range @p [first,last) not equal to @p value
- * to the range beginning at @p result.
- * remove_copy() is stable, so the relative order of elements that are
- * copied is unchanged.
- */
- template<typename _InputIterator, typename _OutputIterator, typename _Tp>
- _OutputIterator
- remove_copy(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result, const _Tp& __value)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_InputIterator>::value_type, _Tp>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first)
- if (!(*__first == __value))
- {
- *__result = *__first;
- ++__result;
- }
- return __result;
- }
-
- /**
- * @brief Copy a sequence, removing elements for which a predicate is true.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @param pred A predicate.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Copies each element in the range @p [first,last) for which
- * @p pred returns true to the range beginning at @p result.
- *
- * remove_copy_if() is stable, so the relative order of elements that are
- * copied is unchanged.
- */
- template<typename _InputIterator, typename _OutputIterator,
- typename _Predicate>
- _OutputIterator
- remove_copy_if(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result, _Predicate __pred)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first)
- if (!__pred(*__first))
- {
- *__result = *__first;
- ++__result;
- }
- return __result;
- }
-
- /**
- * @brief Remove elements from a sequence.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param value The value to be removed.
- * @return An iterator designating the end of the resulting sequence.
- *
- * All elements equal to @p value are removed from the range
- * @p [first,last).
- *
- * remove() is stable, so the relative order of elements that are
- * not removed is unchanged.
- *
- * Elements between the end of the resulting sequence and @p last
- * are still present, but their value is unspecified.
- */
- template<typename _ForwardIterator, typename _Tp>
- _ForwardIterator
- remove(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __value)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_ForwardIterator>::value_type, _Tp>)
- __glibcxx_requires_valid_range(__first, __last);
-
- __first = std::find(__first, __last, __value);
- _ForwardIterator __i = __first;
- return __first == __last ? __first
- : std::remove_copy(++__i, __last,
- __first, __value);
- }
-
- /**
- * @brief Remove elements from a sequence using a predicate.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param pred A predicate.
- * @return An iterator designating the end of the resulting sequence.
- *
- * All elements for which @p pred returns true are removed from the range
- * @p [first,last).
- *
- * remove_if() is stable, so the relative order of elements that are
- * not removed is unchanged.
- *
- * Elements between the end of the resulting sequence and @p last
- * are still present, but their value is unspecified.
- */
- template<typename _ForwardIterator, typename _Predicate>
- _ForwardIterator
- remove_if(_ForwardIterator __first, _ForwardIterator __last,
- _Predicate __pred)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- __first = std::find_if(__first, __last, __pred);
- _ForwardIterator __i = __first;
- return __first == __last ? __first
- : std::remove_copy_if(++__i, __last,
- __first, __pred);
- }
-
- /**
- * @if maint
- * This is an uglified unique_copy(_InputIterator, _InputIterator,
- * _OutputIterator)
- * overloaded for forward iterators and output iterator as result.
- * @endif
- */
- template<typename _ForwardIterator, typename _OutputIterator>
- _OutputIterator
- __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
- _OutputIterator __result,
- forward_iterator_tag, output_iterator_tag)
- {
- // concept requirements -- taken care of in dispatching function
- _ForwardIterator __next = __first;
- *__result = *__first;
- while (++__next != __last)
- if (!(*__first == *__next))
- {
- __first = __next;
- *++__result = *__first;
- }
- return ++__result;
- }
-
- /**
- * @if maint
- * This is an uglified unique_copy(_InputIterator, _InputIterator,
- * _OutputIterator)
- * overloaded for input iterators and output iterator as result.
- * @endif
- */
- template<typename _InputIterator, typename _OutputIterator>
- _OutputIterator
- __unique_copy(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result,
- input_iterator_tag, output_iterator_tag)
- {
- // concept requirements -- taken care of in dispatching function
- typename iterator_traits<_InputIterator>::value_type __value = *__first;
- *__result = __value;
- while (++__first != __last)
- if (!(__value == *__first))
- {
- __value = *__first;
- *++__result = __value;
- }
- return ++__result;
- }
-
- /**
- * @if maint
- * This is an uglified unique_copy(_InputIterator, _InputIterator,
- * _OutputIterator)
- * overloaded for input iterators and forward iterator as result.
- * @endif
- */
- template<typename _InputIterator, typename _ForwardIterator>
- _ForwardIterator
- __unique_copy(_InputIterator __first, _InputIterator __last,
- _ForwardIterator __result,
- input_iterator_tag, forward_iterator_tag)
- {
- // concept requirements -- taken care of in dispatching function
- *__result = *__first;
- while (++__first != __last)
- if (!(*__result == *__first))
- *++__result = *__first;
- return ++__result;
- }
-
- /**
- * @if maint
- * This is an uglified
- * unique_copy(_InputIterator, _InputIterator, _OutputIterator,
- * _BinaryPredicate)
- * overloaded for forward iterators and output iterator as result.
- * @endif
- */
- template<typename _ForwardIterator, typename _OutputIterator,
- typename _BinaryPredicate>
- _OutputIterator
- __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
- _OutputIterator __result, _BinaryPredicate __binary_pred,
- forward_iterator_tag, output_iterator_tag)
- {
- // concept requirements -- iterators already checked
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_ForwardIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
-
- _ForwardIterator __next = __first;
- *__result = *__first;
- while (++__next != __last)
- if (!__binary_pred(*__first, *__next))
- {
- __first = __next;
- *++__result = *__first;
- }
- return ++__result;
- }
-
- /**
- * @if maint
- * This is an uglified
- * unique_copy(_InputIterator, _InputIterator, _OutputIterator,
- * _BinaryPredicate)
- * overloaded for input iterators and output iterator as result.
- * @endif
- */
- template<typename _InputIterator, typename _OutputIterator,
- typename _BinaryPredicate>
- _OutputIterator
- __unique_copy(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result, _BinaryPredicate __binary_pred,
- input_iterator_tag, output_iterator_tag)
- {
- // concept requirements -- iterators already checked
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_InputIterator>::value_type,
- typename iterator_traits<_InputIterator>::value_type>)
-
- typename iterator_traits<_InputIterator>::value_type __value = *__first;
- *__result = __value;
- while (++__first != __last)
- if (!__binary_pred(__value, *__first))
- {
- __value = *__first;
- *++__result = __value;
- }
- return ++__result;
- }
-
- /**
- * @if maint
- * This is an uglified
- * unique_copy(_InputIterator, _InputIterator, _OutputIterator,
- * _BinaryPredicate)
- * overloaded for input iterators and forward iterator as result.
- * @endif
- */
- template<typename _InputIterator, typename _ForwardIterator,
- typename _BinaryPredicate>
- _ForwardIterator
- __unique_copy(_InputIterator __first, _InputIterator __last,
- _ForwardIterator __result, _BinaryPredicate __binary_pred,
- input_iterator_tag, forward_iterator_tag)
- {
- // concept requirements -- iterators already checked
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_ForwardIterator>::value_type,
- typename iterator_traits<_InputIterator>::value_type>)
-
- *__result = *__first;
- while (++__first != __last)
- if (!__binary_pred(*__result, *__first))
- *++__result = *__first;
- return ++__result;
- }
-
- /**
- * @brief Copy a sequence, removing consecutive duplicate values.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Copies each element in the range @p [first,last) to the range
- * beginning at @p result, except that only the first element is copied
- * from groups of consecutive elements that compare equal.
- * unique_copy() is stable, so the relative order of elements that are
- * copied is unchanged.
- *
- * @if maint
- * _GLIBCXX_RESOLVE_LIB_DEFECTS
- * DR 241. Does unique_copy() require CopyConstructible and Assignable?
- *
- * _GLIBCXX_RESOLVE_LIB_DEFECTS
- * DR 538. 241 again: Does unique_copy() require CopyConstructible and
- * Assignable?
- * @endif
- */
- template<typename _InputIterator, typename _OutputIterator>
- inline _OutputIterator
- unique_copy(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_function_requires(_EqualityComparableConcept<
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __result;
- return std::__unique_copy(__first, __last, __result,
- std::__iterator_category(__first),
- std::__iterator_category(__result));
- }
-
- /**
- * @brief Copy a sequence, removing consecutive values using a predicate.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @param binary_pred A binary predicate.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Copies each element in the range @p [first,last) to the range
- * beginning at @p result, except that only the first element is copied
- * from groups of consecutive elements for which @p binary_pred returns
- * true.
- * unique_copy() is stable, so the relative order of elements that are
- * copied is unchanged.
- *
- * @if maint
- * _GLIBCXX_RESOLVE_LIB_DEFECTS
- * DR 241. Does unique_copy() require CopyConstructible and Assignable?
- * @endif
- */
- template<typename _InputIterator, typename _OutputIterator,
- typename _BinaryPredicate>
- inline _OutputIterator
- unique_copy(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result,
- _BinaryPredicate __binary_pred)
- {
- // concept requirements -- predicates checked later
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __result;
- return std::__unique_copy(__first, __last, __result, __binary_pred,
- std::__iterator_category(__first),
- std::__iterator_category(__result));
- }
-
- /**
- * @brief Remove consecutive duplicate values from a sequence.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Removes all but the first element from each group of consecutive
- * values that compare equal.
- * unique() is stable, so the relative order of elements that are
- * not removed is unchanged.
- * Elements between the end of the resulting sequence and @p last
- * are still present, but their value is unspecified.
- */
- template<typename _ForwardIterator>
- _ForwardIterator
- unique(_ForwardIterator __first, _ForwardIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_EqualityComparableConcept<
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- // Skip the beginning, if already unique.
- __first = std::adjacent_find(__first, __last);
- if (__first == __last)
- return __last;
-
- // Do the real copy work.
- _ForwardIterator __dest = __first;
- ++__first;
- while (++__first != __last)
- if (!(*__dest == *__first))
- *++__dest = *__first;
- return ++__dest;
- }
-
- /**
- * @brief Remove consecutive values from a sequence using a predicate.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param binary_pred A binary predicate.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Removes all but the first element from each group of consecutive
- * values for which @p binary_pred returns true.
- * unique() is stable, so the relative order of elements that are
- * not removed is unchanged.
- * Elements between the end of the resulting sequence and @p last
- * are still present, but their value is unspecified.
- */
- template<typename _ForwardIterator, typename _BinaryPredicate>
- _ForwardIterator
- unique(_ForwardIterator __first, _ForwardIterator __last,
- _BinaryPredicate __binary_pred)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_ForwardIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- // Skip the beginning, if already unique.
- __first = std::adjacent_find(__first, __last, __binary_pred);
- if (__first == __last)
- return __last;
-
- // Do the real copy work.
- _ForwardIterator __dest = __first;
- ++__first;
- while (++__first != __last)
- if (!__binary_pred(*__dest, *__first))
- *++__dest = *__first;
- return ++__dest;
- }
-
- /**
- * @if maint
- * This is an uglified reverse(_BidirectionalIterator,
- * _BidirectionalIterator)
- * overloaded for bidirectional iterators.
- * @endif
- */
- template<typename _BidirectionalIterator>
- void
- __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
- bidirectional_iterator_tag)
- {
- while (true)
- if (__first == __last || __first == --__last)
- return;
- else
- {
- std::iter_swap(__first, __last);
- ++__first;
- }
- }
-
- /**
- * @if maint
- * This is an uglified reverse(_BidirectionalIterator,
- * _BidirectionalIterator)
- * overloaded for random access iterators.
- * @endif
- */
- template<typename _RandomAccessIterator>
- void
- __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
- random_access_iterator_tag)
- {
- if (__first == __last)
- return;
- --__last;
- while (__first < __last)
- {
- std::iter_swap(__first, __last);
- ++__first;
- --__last;
- }
- }
-
- /**
- * @brief Reverse a sequence.
- * @param first A bidirectional iterator.
- * @param last A bidirectional iterator.
- * @return reverse() returns no value.
- *
- * Reverses the order of the elements in the range @p [first,last),
- * so that the first element becomes the last etc.
- * For every @c i such that @p 0<=i<=(last-first)/2), @p reverse()
- * swaps @p *(first+i) and @p *(last-(i+1))
- */
- template<typename _BidirectionalIterator>
- inline void
- reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_requires_valid_range(__first, __last);
- std::__reverse(__first, __last, std::__iterator_category(__first));
- }
-
- /**
- * @brief Copy a sequence, reversing its elements.
- * @param first A bidirectional iterator.
- * @param last A bidirectional iterator.
- * @param result An output iterator.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Copies the elements in the range @p [first,last) to the range
- * @p [result,result+(last-first)) such that the order of the
- * elements is reversed.
- * For every @c i such that @p 0<=i<=(last-first), @p reverse_copy()
- * performs the assignment @p *(result+(last-first)-i) = *(first+i).
- * The ranges @p [first,last) and @p [result,result+(last-first))
- * must not overlap.
- */
- template<typename _BidirectionalIterator, typename _OutputIterator>
- _OutputIterator
- reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
- _OutputIterator __result)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_BidirectionalIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- while (__first != __last)
- {
- --__last;
- *__result = *__last;
- ++__result;
- }
- return __result;
- }
-
-
- /**
- * @if maint
- * This is a helper function for the rotate algorithm specialized on RAIs.
- * It returns the greatest common divisor of two integer values.
- * @endif
- */
- template<typename _EuclideanRingElement>
- _EuclideanRingElement
- __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
- {
- while (__n != 0)
- {
- _EuclideanRingElement __t = __m % __n;
- __m = __n;
- __n = __t;
- }
- return __m;
- }
-
- /**
- * @if maint
- * This is a helper function for the rotate algorithm.
- * @endif
- */
- template<typename _ForwardIterator>
- void
- __rotate(_ForwardIterator __first,
- _ForwardIterator __middle,
- _ForwardIterator __last,
- forward_iterator_tag)
- {
- if (__first == __middle || __last == __middle)
- return;
-
- _ForwardIterator __first2 = __middle;
- do
- {
- swap(*__first, *__first2);
- ++__first;
- ++__first2;
- if (__first == __middle)
- __middle = __first2;
- }
- while (__first2 != __last);
-
- __first2 = __middle;
-
- while (__first2 != __last)
- {
- swap(*__first, *__first2);
- ++__first;
- ++__first2;
- if (__first == __middle)
- __middle = __first2;
- else if (__first2 == __last)
- __first2 = __middle;
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the rotate algorithm.
- * @endif
- */
- template<typename _BidirectionalIterator>
- void
- __rotate(_BidirectionalIterator __first,
- _BidirectionalIterator __middle,
- _BidirectionalIterator __last,
- bidirectional_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
-
- if (__first == __middle || __last == __middle)
- return;
-
- std::__reverse(__first, __middle, bidirectional_iterator_tag());
- std::__reverse(__middle, __last, bidirectional_iterator_tag());
-
- while (__first != __middle && __middle != __last)
- {
- swap(*__first, *--__last);
- ++__first;
- }
-
- if (__first == __middle)
- std::__reverse(__middle, __last, bidirectional_iterator_tag());
- else
- std::__reverse(__first, __middle, bidirectional_iterator_tag());
- }
-
- /**
- * @if maint
- * This is a helper function for the rotate algorithm.
- * @endif
- */
- template<typename _RandomAccessIterator>
- void
- __rotate(_RandomAccessIterator __first,
- _RandomAccessIterator __middle,
- _RandomAccessIterator __last,
- random_access_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
-
- if (__first == __middle || __last == __middle)
- return;
-
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _Distance;
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- const _Distance __n = __last - __first;
- const _Distance __k = __middle - __first;
- const _Distance __l = __n - __k;
-
- if (__k == __l)
- {
- std::swap_ranges(__first, __middle, __middle);
- return;
- }
-
- const _Distance __d = __gcd(__n, __k);
-
- for (_Distance __i = 0; __i < __d; __i++)
- {
- _ValueType __tmp = *__first;
- _RandomAccessIterator __p = __first;
-
- if (__k < __l)
- {
- for (_Distance __j = 0; __j < __l / __d; __j++)
- {
- if (__p > __first + __l)
- {
- *__p = *(__p - __l);
- __p -= __l;
- }
-
- *__p = *(__p + __k);
- __p += __k;
- }
- }
- else
- {
- for (_Distance __j = 0; __j < __k / __d - 1; __j ++)
- {
- if (__p < __last - __k)
- {
- *__p = *(__p + __k);
- __p += __k;
- }
- *__p = * (__p - __l);
- __p -= __l;
- }
- }
-
- *__p = __tmp;
- ++__first;
- }
- }
-
- /**
- * @brief Rotate the elements of a sequence.
- * @param first A forward iterator.
- * @param middle A forward iterator.
- * @param last A forward iterator.
- * @return Nothing.
- *
- * Rotates the elements of the range @p [first,last) by @p (middle-first)
- * positions so that the element at @p middle is moved to @p first, the
- * element at @p middle+1 is moved to @first+1 and so on for each element
- * in the range @p [first,last).
- *
- * This effectively swaps the ranges @p [first,middle) and
- * @p [middle,last).
- *
- * Performs @p *(first+(n+(last-middle))%(last-first))=*(first+n) for
- * each @p n in the range @p [0,last-first).
- */
- template<typename _ForwardIterator>
- inline void
- rotate(_ForwardIterator __first, _ForwardIterator __middle,
- _ForwardIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_requires_valid_range(__first, __middle);
- __glibcxx_requires_valid_range(__middle, __last);
-
- typedef typename iterator_traits<_ForwardIterator>::iterator_category
- _IterType;
- std::__rotate(__first, __middle, __last, _IterType());
- }
-
- /**
- * @brief Copy a sequence, rotating its elements.
- * @param first A forward iterator.
- * @param middle A forward iterator.
- * @param last A forward iterator.
- * @param result An output iterator.
- * @return An iterator designating the end of the resulting sequence.
- *
- * Copies the elements of the range @p [first,last) to the range
- * beginning at @result, rotating the copied elements by @p (middle-first)
- * positions so that the element at @p middle is moved to @p result, the
- * element at @p middle+1 is moved to @result+1 and so on for each element
- * in the range @p [first,last).
- *
- * Performs @p *(result+(n+(last-middle))%(last-first))=*(first+n) for
- * each @p n in the range @p [0,last-first).
- */
- template<typename _ForwardIterator, typename _OutputIterator>
- _OutputIterator
- rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
- _ForwardIterator __last, _OutputIterator __result)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __middle);
- __glibcxx_requires_valid_range(__middle, __last);
-
- return std::copy(__first, __middle,
- std::copy(__middle, __last, __result));
- }
-
- /**
- * @brief Randomly shuffle the elements of a sequence.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @return Nothing.
- *
- * Reorder the elements in the range @p [first,last) using a random
- * distribution, so that every possible ordering of the sequence is
- * equally likely.
- */
- template<typename _RandomAccessIterator>
- inline void
- random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first != __last)
- for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
- std::iter_swap(__i, __first + (std::rand() % ((__i - __first) + 1)));
- }
-
- /**
- * @brief Shuffle the elements of a sequence using a random number
- * generator.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param rand The RNG functor or function.
- * @return Nothing.
- *
- * Reorders the elements in the range @p [first,last) using @p rand to
- * provide a random distribution. Calling @p rand(N) for a positive
- * integer @p N should return a randomly chosen integer from the
- * range [0,N).
- */
- template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
- void
- random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _RandomNumberGenerator& __rand)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return;
- for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
- std::iter_swap(__i, __first + __rand((__i - __first) + 1));
- }
-
-
- /**
- * @if maint
- * This is a helper function...
- * @endif
- */
- template<typename _ForwardIterator, typename _Predicate>
- _ForwardIterator
- __partition(_ForwardIterator __first, _ForwardIterator __last,
- _Predicate __pred,
- forward_iterator_tag)
- {
- if (__first == __last)
- return __first;
-
- while (__pred(*__first))
- if (++__first == __last)
- return __first;
-
- _ForwardIterator __next = __first;
-
- while (++__next != __last)
- if (__pred(*__next))
- {
- swap(*__first, *__next);
- ++__first;
- }
-
- return __first;
- }
-
- /**
- * @if maint
- * This is a helper function...
- * @endif
- */
- template<typename _BidirectionalIterator, typename _Predicate>
- _BidirectionalIterator
- __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
- _Predicate __pred,
- bidirectional_iterator_tag)
- {
- while (true)
- {
- while (true)
- if (__first == __last)
- return __first;
- else if (__pred(*__first))
- ++__first;
- else
- break;
- --__last;
- while (true)
- if (__first == __last)
- return __first;
- else if (!__pred(*__last))
- --__last;
- else
- break;
- std::iter_swap(__first, __last);
- ++__first;
- }
- }
-
- /**
- * @brief Move elements for which a predicate is true to the beginning
- * of a sequence.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param pred A predicate functor.
- * @return An iterator @p middle such that @p pred(i) is true for each
- * iterator @p i in the range @p [first,middle) and false for each @p i
- * in the range @p [middle,last).
- *
- * @p pred must not modify its operand. @p partition() does not preserve
- * the relative ordering of elements in each group, use
- * @p stable_partition() if this is needed.
- */
- template<typename _ForwardIterator, typename _Predicate>
- inline _ForwardIterator
- partition(_ForwardIterator __first, _ForwardIterator __last,
- _Predicate __pred)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- return std::__partition(__first, __last, __pred,
- std::__iterator_category(__first));
- }
-
-
- /**
- * @if maint
- * This is a helper function...
- * @endif
- */
- template<typename _ForwardIterator, typename _Predicate, typename _Distance>
- _ForwardIterator
- __inplace_stable_partition(_ForwardIterator __first,
- _ForwardIterator __last,
- _Predicate __pred, _Distance __len)
- {
- if (__len == 1)
- return __pred(*__first) ? __last : __first;
- _ForwardIterator __middle = __first;
- std::advance(__middle, __len / 2);
- _ForwardIterator __begin = std::__inplace_stable_partition(__first,
- __middle,
- __pred,
- __len / 2);
- _ForwardIterator __end = std::__inplace_stable_partition(__middle, __last,
- __pred,
- __len
- - __len / 2);
- std::rotate(__begin, __middle, __end);
- std::advance(__begin, std::distance(__middle, __end));
- return __begin;
- }
-
- /**
- * @if maint
- * This is a helper function...
- * @endif
- */
- template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
- typename _Distance>
- _ForwardIterator
- __stable_partition_adaptive(_ForwardIterator __first,
- _ForwardIterator __last,
- _Predicate __pred, _Distance __len,
- _Pointer __buffer,
- _Distance __buffer_size)
- {
- if (__len <= __buffer_size)
- {
- _ForwardIterator __result1 = __first;
- _Pointer __result2 = __buffer;
- for ( ; __first != __last ; ++__first)
- if (__pred(*__first))
- {
- *__result1 = *__first;
- ++__result1;
- }
- else
- {
- *__result2 = *__first;
- ++__result2;
- }
- std::copy(__buffer, __result2, __result1);
- return __result1;
- }
- else
- {
- _ForwardIterator __middle = __first;
- std::advance(__middle, __len / 2);
- _ForwardIterator __begin =
- std::__stable_partition_adaptive(__first, __middle, __pred,
- __len / 2, __buffer,
- __buffer_size);
- _ForwardIterator __end =
- std::__stable_partition_adaptive(__middle, __last, __pred,
- __len - __len / 2,
- __buffer, __buffer_size);
- std::rotate(__begin, __middle, __end);
- std::advance(__begin, std::distance(__middle, __end));
- return __begin;
- }
- }
-
- /**
- * @brief Move elements for which a predicate is true to the beginning
- * of a sequence, preserving relative ordering.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param pred A predicate functor.
- * @return An iterator @p middle such that @p pred(i) is true for each
- * iterator @p i in the range @p [first,middle) and false for each @p i
- * in the range @p [middle,last).
- *
- * Performs the same function as @p partition() with the additional
- * guarantee that the relative ordering of elements in each group is
- * preserved, so any two elements @p x and @p y in the range
- * @p [first,last) such that @p pred(x)==pred(y) will have the same
- * relative ordering after calling @p stable_partition().
- */
- template<typename _ForwardIterator, typename _Predicate>
- _ForwardIterator
- stable_partition(_ForwardIterator __first, _ForwardIterator __last,
- _Predicate __pred)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __first;
- else
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- _Temporary_buffer<_ForwardIterator, _ValueType> __buf(__first,
- __last);
- if (__buf.size() > 0)
- return
- std::__stable_partition_adaptive(__first, __last, __pred,
- _DistanceType(__buf.requested_size()),
- __buf.begin(), __buf.size());
- else
- return
- std::__inplace_stable_partition(__first, __last, __pred,
- _DistanceType(__buf.requested_size()));
- }
- }
-
- /**
- * @if maint
- * This is a helper function...
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Tp>
- _RandomAccessIterator
- __unguarded_partition(_RandomAccessIterator __first,
- _RandomAccessIterator __last, _Tp __pivot)
- {
- while (true)
- {
- while (*__first < __pivot)
- ++__first;
- --__last;
- while (__pivot < *__last)
- --__last;
- if (!(__first < __last))
- return __first;
- std::iter_swap(__first, __last);
- ++__first;
- }
- }
-
- /**
- * @if maint
- * This is a helper function...
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
- _RandomAccessIterator
- __unguarded_partition(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Tp __pivot, _Compare __comp)
- {
- while (true)
- {
- while (__comp(*__first, __pivot))
- ++__first;
- --__last;
- while (__comp(__pivot, *__last))
- --__last;
- if (!(__first < __last))
- return __first;
- std::iter_swap(__first, __last);
- ++__first;
- }
- }
-
- /**
- * @if maint
- * @doctodo
- * This controls some aspect of the sort routines.
- * @endif
- */
- enum { _S_threshold = 16 };
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Tp>
- void
- __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val)
- {
- _RandomAccessIterator __next = __last;
- --__next;
- while (__val < *__next)
- {
- *__last = *__next;
- __last = __next;
- --__next;
- }
- *__last = __val;
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
- void
- __unguarded_linear_insert(_RandomAccessIterator __last, _Tp __val,
- _Compare __comp)
- {
- _RandomAccessIterator __next = __last;
- --__next;
- while (__comp(__val, *__next))
- {
- *__last = *__next;
- __last = __next;
- --__next;
- }
- *__last = __val;
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator>
- void
- __insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last)
- {
- if (__first == __last)
- return;
-
- for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
- {
- typename iterator_traits<_RandomAccessIterator>::value_type
- __val = *__i;
- if (__val < *__first)
- {
- std::copy_backward(__first, __i, __i + 1);
- *__first = __val;
- }
- else
- std::__unguarded_linear_insert(__i, __val);
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Compare>
- void
- __insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last, _Compare __comp)
- {
- if (__first == __last) return;
-
- for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
- {
- typename iterator_traits<_RandomAccessIterator>::value_type
- __val = *__i;
- if (__comp(__val, *__first))
- {
- std::copy_backward(__first, __i, __i + 1);
- *__first = __val;
- }
- else
- std::__unguarded_linear_insert(__i, __val, __comp);
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator>
- inline void
- __unguarded_insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
- std::__unguarded_linear_insert(__i, _ValueType(*__i));
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- __unguarded_insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last, _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
- std::__unguarded_linear_insert(__i, _ValueType(*__i), __comp);
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator>
- void
- __final_insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last)
- {
- if (__last - __first > int(_S_threshold))
- {
- std::__insertion_sort(__first, __first + int(_S_threshold));
- std::__unguarded_insertion_sort(__first + int(_S_threshold), __last);
- }
- else
- std::__insertion_sort(__first, __last);
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Compare>
- void
- __final_insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last, _Compare __comp)
- {
- if (__last - __first > int(_S_threshold))
- {
- std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
- std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
- __comp);
- }
- else
- std::__insertion_sort(__first, __last, __comp);
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routines.
- * @endif
- */
- template<typename _RandomAccessIterator>
- void
- __heap_select(_RandomAccessIterator __first,
- _RandomAccessIterator __middle,
- _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- std::make_heap(__first, __middle);
- for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
- if (*__i < *__first)
- std::__pop_heap(__first, __middle, __i, _ValueType(*__i));
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routines.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Compare>
- void
- __heap_select(_RandomAccessIterator __first,
- _RandomAccessIterator __middle,
- _RandomAccessIterator __last, _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- std::make_heap(__first, __middle, __comp);
- for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
- if (__comp(*__i, *__first))
- std::__pop_heap(__first, __middle, __i, _ValueType(*__i), __comp);
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routines.
- * @endif
- */
- template<typename _Size>
- inline _Size
- __lg(_Size __n)
- {
- _Size __k;
- for (__k = 0; __n != 1; __n >>= 1)
- ++__k;
- return __k;
- }
-
- /**
- * @brief Sort the smallest elements of a sequence.
- * @param first An iterator.
- * @param middle Another iterator.
- * @param last Another iterator.
- * @return Nothing.
- *
- * Sorts the smallest @p (middle-first) elements in the range
- * @p [first,last) and moves them to the range @p [first,middle). The
- * order of the remaining elements in the range @p [middle,last) is
- * undefined.
- * After the sort if @p i and @j are iterators in the range
- * @p [first,middle) such that @i precedes @j and @k is an iterator in
- * the range @p [middle,last) then @p *j<*i and @p *k<*i are both false.
- */
- template<typename _RandomAccessIterator>
- inline void
- partial_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __middle,
- _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_valid_range(__first, __middle);
- __glibcxx_requires_valid_range(__middle, __last);
-
- std::__heap_select(__first, __middle, __last);
- std::sort_heap(__first, __middle);
- }
-
- /**
- * @brief Sort the smallest elements of a sequence using a predicate
- * for comparison.
- * @param first An iterator.
- * @param middle Another iterator.
- * @param last Another iterator.
- * @param comp A comparison functor.
- * @return Nothing.
- *
- * Sorts the smallest @p (middle-first) elements in the range
- * @p [first,last) and moves them to the range @p [first,middle). The
- * order of the remaining elements in the range @p [middle,last) is
- * undefined.
- * After the sort if @p i and @j are iterators in the range
- * @p [first,middle) such that @i precedes @j and @k is an iterator in
- * the range @p [middle,last) then @p *comp(j,*i) and @p comp(*k,*i)
- * are both false.
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- partial_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __middle,
- _RandomAccessIterator __last,
- _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType, _ValueType>)
- __glibcxx_requires_valid_range(__first, __middle);
- __glibcxx_requires_valid_range(__middle, __last);
-
- std::__heap_select(__first, __middle, __last, __comp);
- std::sort_heap(__first, __middle, __comp);
- }
-
- /**
- * @brief Copy the smallest elements of a sequence.
- * @param first An iterator.
- * @param last Another iterator.
- * @param result_first A random-access iterator.
- * @param result_last Another random-access iterator.
- * @return An iterator indicating the end of the resulting sequence.
- *
- * Copies and sorts the smallest N values from the range @p [first,last)
- * to the range beginning at @p result_first, where the number of
- * elements to be copied, @p N, is the smaller of @p (last-first) and
- * @p (result_last-result_first).
- * After the sort if @p i and @j are iterators in the range
- * @p [result_first,result_first+N) such that @i precedes @j then
- * @p *j<*i is false.
- * The value returned is @p result_first+N.
- */
- template<typename _InputIterator, typename _RandomAccessIterator>
- _RandomAccessIterator
- partial_sort_copy(_InputIterator __first, _InputIterator __last,
- _RandomAccessIterator __result_first,
- _RandomAccessIterator __result_last)
- {
- typedef typename iterator_traits<_InputIterator>::value_type
- _InputValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _OutputValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_ConvertibleConcept<_InputValueType,
- _OutputValueType>)
- __glibcxx_function_requires(_LessThanOpConcept<_InputValueType,
- _OutputValueType>)
- __glibcxx_function_requires(_LessThanComparableConcept<_OutputValueType>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_valid_range(__result_first, __result_last);
-
- if (__result_first == __result_last)
- return __result_last;
- _RandomAccessIterator __result_real_last = __result_first;
- while(__first != __last && __result_real_last != __result_last)
- {
- *__result_real_last = *__first;
- ++__result_real_last;
- ++__first;
- }
- std::make_heap(__result_first, __result_real_last);
- while (__first != __last)
- {
- if (*__first < *__result_first)
- std::__adjust_heap(__result_first, _DistanceType(0),
- _DistanceType(__result_real_last
- - __result_first),
- _InputValueType(*__first));
- ++__first;
- }
- std::sort_heap(__result_first, __result_real_last);
- return __result_real_last;
- }
-
- /**
- * @brief Copy the smallest elements of a sequence using a predicate for
- * comparison.
- * @param first An input iterator.
- * @param last Another input iterator.
- * @param result_first A random-access iterator.
- * @param result_last Another random-access iterator.
- * @param comp A comparison functor.
- * @return An iterator indicating the end of the resulting sequence.
- *
- * Copies and sorts the smallest N values from the range @p [first,last)
- * to the range beginning at @p result_first, where the number of
- * elements to be copied, @p N, is the smaller of @p (last-first) and
- * @p (result_last-result_first).
- * After the sort if @p i and @j are iterators in the range
- * @p [result_first,result_first+N) such that @i precedes @j then
- * @p comp(*j,*i) is false.
- * The value returned is @p result_first+N.
- */
- template<typename _InputIterator, typename _RandomAccessIterator, typename _Compare>
- _RandomAccessIterator
- partial_sort_copy(_InputIterator __first, _InputIterator __last,
- _RandomAccessIterator __result_first,
- _RandomAccessIterator __result_last,
- _Compare __comp)
- {
- typedef typename iterator_traits<_InputIterator>::value_type
- _InputValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _OutputValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_ConvertibleConcept<_InputValueType,
- _OutputValueType>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _InputValueType, _OutputValueType>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _OutputValueType, _OutputValueType>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_valid_range(__result_first, __result_last);
-
- if (__result_first == __result_last)
- return __result_last;
- _RandomAccessIterator __result_real_last = __result_first;
- while(__first != __last && __result_real_last != __result_last)
- {
- *__result_real_last = *__first;
- ++__result_real_last;
- ++__first;
- }
- std::make_heap(__result_first, __result_real_last, __comp);
- while (__first != __last)
- {
- if (__comp(*__first, *__result_first))
- std::__adjust_heap(__result_first, _DistanceType(0),
- _DistanceType(__result_real_last
- - __result_first),
- _InputValueType(*__first),
- __comp);
- ++__first;
- }
- std::sort_heap(__result_first, __result_real_last, __comp);
- return __result_real_last;
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Size>
- void
- __introsort_loop(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Size __depth_limit)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- while (__last - __first > int(_S_threshold))
- {
- if (__depth_limit == 0)
- {
- std::partial_sort(__first, __last, __last);
- return;
- }
- --__depth_limit;
- _RandomAccessIterator __cut =
- std::__unguarded_partition(__first, __last,
- _ValueType(std::__median(*__first,
- *(__first
- + (__last
- - __first)
- / 2),
- *(__last
- - 1))));
- std::__introsort_loop(__cut, __last, __depth_limit);
- __last = __cut;
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the sort routine.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Size, typename _Compare>
- void
- __introsort_loop(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Size __depth_limit, _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- while (__last - __first > int(_S_threshold))
- {
- if (__depth_limit == 0)
- {
- std::partial_sort(__first, __last, __last, __comp);
- return;
- }
- --__depth_limit;
- _RandomAccessIterator __cut =
- std::__unguarded_partition(__first, __last,
- _ValueType(std::__median(*__first,
- *(__first
- + (__last
- - __first)
- / 2),
- *(__last - 1),
- __comp)),
- __comp);
- std::__introsort_loop(__cut, __last, __depth_limit, __comp);
- __last = __cut;
- }
- }
-
- /**
- * @brief Sort the elements of a sequence.
- * @param first An iterator.
- * @param last Another iterator.
- * @return Nothing.
- *
- * Sorts the elements in the range @p [first,last) in ascending order,
- * such that @p *(i+1)<*i is false for each iterator @p i in the range
- * @p [first,last-1).
- *
- * The relative ordering of equivalent elements is not preserved, use
- * @p stable_sort() if this is needed.
- */
- template<typename _RandomAccessIterator>
- inline void
- sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first != __last)
- {
- std::__introsort_loop(__first, __last,
- std::__lg(__last - __first) * 2);
- std::__final_insertion_sort(__first, __last);
- }
- }
-
- /**
- * @brief Sort the elements of a sequence using a predicate for comparison.
- * @param first An iterator.
- * @param last Another iterator.
- * @param comp A comparison functor.
- * @return Nothing.
- *
- * Sorts the elements in the range @p [first,last) in ascending order,
- * such that @p comp(*(i+1),*i) is false for every iterator @p i in the
- * range @p [first,last-1).
- *
- * The relative ordering of equivalent elements is not preserved, use
- * @p stable_sort() if this is needed.
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare, _ValueType,
- _ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first != __last)
- {
- std::__introsort_loop(__first, __last,
- std::__lg(__last - __first) * 2, __comp);
- std::__final_insertion_sort(__first, __last, __comp);
- }
- }
-
- /**
- * @brief Finds the first position in which @a val could be inserted
- * without changing the ordering.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @return An iterator pointing to the first element "not less than" @a val,
- * or end() if every element is less than @a val.
- * @ingroup binarysearch
- */
- template<typename _ForwardIterator, typename _Tp>
- _ForwardIterator
- lower_bound(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType, _Tp>)
- __glibcxx_requires_partitioned(__first, __last, __val);
-
- _DistanceType __len = std::distance(__first, __last);
- _DistanceType __half;
- _ForwardIterator __middle;
-
- while (__len > 0)
- {
- __half = __len >> 1;
- __middle = __first;
- std::advance(__middle, __half);
- if (*__middle < __val)
- {
- __first = __middle;
- ++__first;
- __len = __len - __half - 1;
- }
- else
- __len = __half;
- }
- return __first;
- }
-
- /**
- * @brief Finds the first position in which @a val could be inserted
- * without changing the ordering.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @param comp A functor to use for comparisons.
- * @return An iterator pointing to the first element "not less than" @a val,
- * or end() if every element is less than @a val.
- * @ingroup binarysearch
- *
- * The comparison function should have the same effects on ordering as
- * the function used for the initial sort.
- */
- template<typename _ForwardIterator, typename _Tp, typename _Compare>
- _ForwardIterator
- lower_bound(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val, _Compare __comp)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType, _Tp>)
- __glibcxx_requires_partitioned_pred(__first, __last, __val, __comp);
-
- _DistanceType __len = std::distance(__first, __last);
- _DistanceType __half;
- _ForwardIterator __middle;
-
- while (__len > 0)
- {
- __half = __len >> 1;
- __middle = __first;
- std::advance(__middle, __half);
- if (__comp(*__middle, __val))
- {
- __first = __middle;
- ++__first;
- __len = __len - __half - 1;
- }
- else
- __len = __half;
- }
- return __first;
- }
-
- /**
- * @brief Finds the last position in which @a val could be inserted
- * without changing the ordering.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @return An iterator pointing to the first element greater than @a val,
- * or end() if no elements are greater than @a val.
- * @ingroup binarysearch
- */
- template<typename _ForwardIterator, typename _Tp>
- _ForwardIterator
- upper_bound(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>)
- __glibcxx_requires_partitioned(__first, __last, __val);
-
- _DistanceType __len = std::distance(__first, __last);
- _DistanceType __half;
- _ForwardIterator __middle;
-
- while (__len > 0)
- {
- __half = __len >> 1;
- __middle = __first;
- std::advance(__middle, __half);
- if (__val < *__middle)
- __len = __half;
- else
- {
- __first = __middle;
- ++__first;
- __len = __len - __half - 1;
- }
- }
- return __first;
- }
-
- /**
- * @brief Finds the last position in which @a val could be inserted
- * without changing the ordering.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @param comp A functor to use for comparisons.
- * @return An iterator pointing to the first element greater than @a val,
- * or end() if no elements are greater than @a val.
- * @ingroup binarysearch
- *
- * The comparison function should have the same effects on ordering as
- * the function used for the initial sort.
- */
- template<typename _ForwardIterator, typename _Tp, typename _Compare>
- _ForwardIterator
- upper_bound(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val, _Compare __comp)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _Tp, _ValueType>)
- __glibcxx_requires_partitioned_pred(__first, __last, __val, __comp);
-
- _DistanceType __len = std::distance(__first, __last);
- _DistanceType __half;
- _ForwardIterator __middle;
-
- while (__len > 0)
- {
- __half = __len >> 1;
- __middle = __first;
- std::advance(__middle, __half);
- if (__comp(__val, *__middle))
- __len = __half;
- else
- {
- __first = __middle;
- ++__first;
- __len = __len - __half - 1;
- }
- }
- return __first;
- }
-
- /**
- * @if maint
- * This is a helper function for the merge routines.
- * @endif
- */
- template<typename _BidirectionalIterator, typename _Distance>
- void
- __merge_without_buffer(_BidirectionalIterator __first,
- _BidirectionalIterator __middle,
- _BidirectionalIterator __last,
- _Distance __len1, _Distance __len2)
- {
- if (__len1 == 0 || __len2 == 0)
- return;
- if (__len1 + __len2 == 2)
- {
- if (*__middle < *__first)
- std::iter_swap(__first, __middle);
- return;
- }
- _BidirectionalIterator __first_cut = __first;
- _BidirectionalIterator __second_cut = __middle;
- _Distance __len11 = 0;
- _Distance __len22 = 0;
- if (__len1 > __len2)
- {
- __len11 = __len1 / 2;
- std::advance(__first_cut, __len11);
- __second_cut = std::lower_bound(__middle, __last, *__first_cut);
- __len22 = std::distance(__middle, __second_cut);
- }
- else
- {
- __len22 = __len2 / 2;
- std::advance(__second_cut, __len22);
- __first_cut = std::upper_bound(__first, __middle, *__second_cut);
- __len11 = std::distance(__first, __first_cut);
- }
- std::rotate(__first_cut, __middle, __second_cut);
- _BidirectionalIterator __new_middle = __first_cut;
- std::advance(__new_middle, std::distance(__middle, __second_cut));
- std::__merge_without_buffer(__first, __first_cut, __new_middle,
- __len11, __len22);
- std::__merge_without_buffer(__new_middle, __second_cut, __last,
- __len1 - __len11, __len2 - __len22);
- }
-
- /**
- * @if maint
- * This is a helper function for the merge routines.
- * @endif
- */
- template<typename _BidirectionalIterator, typename _Distance,
- typename _Compare>
- void
- __merge_without_buffer(_BidirectionalIterator __first,
- _BidirectionalIterator __middle,
- _BidirectionalIterator __last,
- _Distance __len1, _Distance __len2,
- _Compare __comp)
- {
- if (__len1 == 0 || __len2 == 0)
- return;
- if (__len1 + __len2 == 2)
- {
- if (__comp(*__middle, *__first))
- std::iter_swap(__first, __middle);
- return;
- }
- _BidirectionalIterator __first_cut = __first;
- _BidirectionalIterator __second_cut = __middle;
- _Distance __len11 = 0;
- _Distance __len22 = 0;
- if (__len1 > __len2)
- {
- __len11 = __len1 / 2;
- std::advance(__first_cut, __len11);
- __second_cut = std::lower_bound(__middle, __last, *__first_cut,
- __comp);
- __len22 = std::distance(__middle, __second_cut);
- }
- else
- {
- __len22 = __len2 / 2;
- std::advance(__second_cut, __len22);
- __first_cut = std::upper_bound(__first, __middle, *__second_cut,
- __comp);
- __len11 = std::distance(__first, __first_cut);
- }
- std::rotate(__first_cut, __middle, __second_cut);
- _BidirectionalIterator __new_middle = __first_cut;
- std::advance(__new_middle, std::distance(__middle, __second_cut));
- std::__merge_without_buffer(__first, __first_cut, __new_middle,
- __len11, __len22, __comp);
- std::__merge_without_buffer(__new_middle, __second_cut, __last,
- __len1 - __len11, __len2 - __len22, __comp);
- }
-
- /**
- * @if maint
- * This is a helper function for the stable sorting routines.
- * @endif
- */
- template<typename _RandomAccessIterator>
- void
- __inplace_stable_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last)
- {
- if (__last - __first < 15)
- {
- std::__insertion_sort(__first, __last);
- return;
- }
- _RandomAccessIterator __middle = __first + (__last - __first) / 2;
- std::__inplace_stable_sort(__first, __middle);
- std::__inplace_stable_sort(__middle, __last);
- std::__merge_without_buffer(__first, __middle, __last,
- __middle - __first,
- __last - __middle);
- }
-
- /**
- * @if maint
- * This is a helper function for the stable sorting routines.
- * @endif
- */
- template<typename _RandomAccessIterator, typename _Compare>
- void
- __inplace_stable_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last, _Compare __comp)
- {
- if (__last - __first < 15)
- {
- std::__insertion_sort(__first, __last, __comp);
- return;
- }
- _RandomAccessIterator __middle = __first + (__last - __first) / 2;
- std::__inplace_stable_sort(__first, __middle, __comp);
- std::__inplace_stable_sort(__middle, __last, __comp);
- std::__merge_without_buffer(__first, __middle, __last,
- __middle - __first,
- __last - __middle,
- __comp);
- }
-
- /**
- * @brief Merges two sorted ranges.
- * @param first1 An iterator.
- * @param first2 Another iterator.
- * @param last1 Another iterator.
- * @param last2 Another iterator.
- * @param result An iterator pointing to the end of the merged range.
- * @return An iterator pointing to the first element "not less than" @a val.
- *
- * Merges the ranges [first1,last1) and [first2,last2) into the sorted range
- * [result, result + (last1-first1) + (last2-first2)). Both input ranges
- * must be sorted, and the output range must not overlap with either of
- * the input ranges. The sort is @e stable, that is, for equivalent
- * elements in the two ranges, elements from the first range will always
- * come before elements from the second.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator>
- _OutputIterator
- merge(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType2, _ValueType1>)
- __glibcxx_requires_sorted(__first1, __last1);
- __glibcxx_requires_sorted(__first2, __last2);
-
- while (__first1 != __last1 && __first2 != __last2)
- {
- if (*__first2 < *__first1)
- {
- *__result = *__first2;
- ++__first2;
- }
- else
- {
- *__result = *__first1;
- ++__first1;
- }
- ++__result;
- }
- return std::copy(__first2, __last2, std::copy(__first1, __last1,
- __result));
- }
-
- /**
- * @brief Merges two sorted ranges.
- * @param first1 An iterator.
- * @param first2 Another iterator.
- * @param last1 Another iterator.
- * @param last2 Another iterator.
- * @param result An iterator pointing to the end of the merged range.
- * @param comp A functor to use for comparisons.
- * @return An iterator pointing to the first element "not less than" @a val.
- *
- * Merges the ranges [first1,last1) and [first2,last2) into the sorted range
- * [result, result + (last1-first1) + (last2-first2)). Both input ranges
- * must be sorted, and the output range must not overlap with either of
- * the input ranges. The sort is @e stable, that is, for equivalent
- * elements in the two ranges, elements from the first range will always
- * come before elements from the second.
- *
- * The comparison function should have the same effects on ordering as
- * the function used for the initial sort.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator, typename _Compare>
- _OutputIterator
- merge(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result, _Compare __comp)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType2, _ValueType1>)
- __glibcxx_requires_sorted_pred(__first1, __last1, __comp);
- __glibcxx_requires_sorted_pred(__first2, __last2, __comp);
-
- while (__first1 != __last1 && __first2 != __last2)
- {
- if (__comp(*__first2, *__first1))
- {
- *__result = *__first2;
- ++__first2;
- }
- else
- {
- *__result = *__first1;
- ++__first1;
- }
- ++__result;
- }
- return std::copy(__first2, __last2, std::copy(__first1, __last1,
- __result));
- }
-
- template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
- typename _Distance>
- void
- __merge_sort_loop(_RandomAccessIterator1 __first,
- _RandomAccessIterator1 __last,
- _RandomAccessIterator2 __result,
- _Distance __step_size)
- {
- const _Distance __two_step = 2 * __step_size;
-
- while (__last - __first >= __two_step)
- {
- __result = std::merge(__first, __first + __step_size,
- __first + __step_size, __first + __two_step,
- __result);
- __first += __two_step;
- }
-
- __step_size = std::min(_Distance(__last - __first), __step_size);
- std::merge(__first, __first + __step_size, __first + __step_size, __last,
- __result);
- }
-
- template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
- typename _Distance, typename _Compare>
- void
- __merge_sort_loop(_RandomAccessIterator1 __first,
- _RandomAccessIterator1 __last,
- _RandomAccessIterator2 __result, _Distance __step_size,
- _Compare __comp)
- {
- const _Distance __two_step = 2 * __step_size;
-
- while (__last - __first >= __two_step)
- {
- __result = std::merge(__first, __first + __step_size,
- __first + __step_size, __first + __two_step,
- __result,
- __comp);
- __first += __two_step;
- }
- __step_size = std::min(_Distance(__last - __first), __step_size);
-
- std::merge(__first, __first + __step_size,
- __first + __step_size, __last,
- __result,
- __comp);
- }
-
- enum { _S_chunk_size = 7 };
-
- template<typename _RandomAccessIterator, typename _Distance>
- void
- __chunk_insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Distance __chunk_size)
- {
- while (__last - __first >= __chunk_size)
- {
- std::__insertion_sort(__first, __first + __chunk_size);
- __first += __chunk_size;
- }
- std::__insertion_sort(__first, __last);
- }
-
- template<typename _RandomAccessIterator, typename _Distance, typename _Compare>
- void
- __chunk_insertion_sort(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Distance __chunk_size, _Compare __comp)
- {
- while (__last - __first >= __chunk_size)
- {
- std::__insertion_sort(__first, __first + __chunk_size, __comp);
- __first += __chunk_size;
- }
- std::__insertion_sort(__first, __last, __comp);
- }
-
- template<typename _RandomAccessIterator, typename _Pointer>
- void
- __merge_sort_with_buffer(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Pointer __buffer)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _Distance;
-
- const _Distance __len = __last - __first;
- const _Pointer __buffer_last = __buffer + __len;
-
- _Distance __step_size = _S_chunk_size;
- std::__chunk_insertion_sort(__first, __last, __step_size);
-
- while (__step_size < __len)
- {
- std::__merge_sort_loop(__first, __last, __buffer, __step_size);
- __step_size *= 2;
- std::__merge_sort_loop(__buffer, __buffer_last, __first, __step_size);
- __step_size *= 2;
- }
- }
-
- template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
- void
- __merge_sort_with_buffer(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Pointer __buffer, _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _Distance;
-
- const _Distance __len = __last - __first;
- const _Pointer __buffer_last = __buffer + __len;
-
- _Distance __step_size = _S_chunk_size;
- std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
-
- while (__step_size < __len)
- {
- std::__merge_sort_loop(__first, __last, __buffer,
- __step_size, __comp);
- __step_size *= 2;
- std::__merge_sort_loop(__buffer, __buffer_last, __first,
- __step_size, __comp);
- __step_size *= 2;
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the merge routines.
- * @endif
- */
- template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
- typename _BidirectionalIterator3>
- _BidirectionalIterator3
- __merge_backward(_BidirectionalIterator1 __first1,
- _BidirectionalIterator1 __last1,
- _BidirectionalIterator2 __first2,
- _BidirectionalIterator2 __last2,
- _BidirectionalIterator3 __result)
- {
- if (__first1 == __last1)
- return std::copy_backward(__first2, __last2, __result);
- if (__first2 == __last2)
- return std::copy_backward(__first1, __last1, __result);
- --__last1;
- --__last2;
- while (true)
- {
- if (*__last2 < *__last1)
- {
- *--__result = *__last1;
- if (__first1 == __last1)
- return std::copy_backward(__first2, ++__last2, __result);
- --__last1;
- }
- else
- {
- *--__result = *__last2;
- if (__first2 == __last2)
- return std::copy_backward(__first1, ++__last1, __result);
- --__last2;
- }
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the merge routines.
- * @endif
- */
- template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
- typename _BidirectionalIterator3, typename _Compare>
- _BidirectionalIterator3
- __merge_backward(_BidirectionalIterator1 __first1,
- _BidirectionalIterator1 __last1,
- _BidirectionalIterator2 __first2,
- _BidirectionalIterator2 __last2,
- _BidirectionalIterator3 __result,
- _Compare __comp)
- {
- if (__first1 == __last1)
- return std::copy_backward(__first2, __last2, __result);
- if (__first2 == __last2)
- return std::copy_backward(__first1, __last1, __result);
- --__last1;
- --__last2;
- while (true)
- {
- if (__comp(*__last2, *__last1))
- {
- *--__result = *__last1;
- if (__first1 == __last1)
- return std::copy_backward(__first2, ++__last2, __result);
- --__last1;
- }
- else
- {
- *--__result = *__last2;
- if (__first2 == __last2)
- return std::copy_backward(__first1, ++__last1, __result);
- --__last2;
- }
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the merge routines.
- * @endif
- */
- template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
- typename _Distance>
- _BidirectionalIterator1
- __rotate_adaptive(_BidirectionalIterator1 __first,
- _BidirectionalIterator1 __middle,
- _BidirectionalIterator1 __last,
- _Distance __len1, _Distance __len2,
- _BidirectionalIterator2 __buffer,
- _Distance __buffer_size)
- {
- _BidirectionalIterator2 __buffer_end;
- if (__len1 > __len2 && __len2 <= __buffer_size)
- {
- __buffer_end = std::copy(__middle, __last, __buffer);
- std::copy_backward(__first, __middle, __last);
- return std::copy(__buffer, __buffer_end, __first);
- }
- else if (__len1 <= __buffer_size)
- {
- __buffer_end = std::copy(__first, __middle, __buffer);
- std::copy(__middle, __last, __first);
- return std::copy_backward(__buffer, __buffer_end, __last);
- }
- else
- {
- std::rotate(__first, __middle, __last);
- std::advance(__first, std::distance(__middle, __last));
- return __first;
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the merge routines.
- * @endif
- */
- template<typename _BidirectionalIterator, typename _Distance,
- typename _Pointer>
- void
- __merge_adaptive(_BidirectionalIterator __first,
- _BidirectionalIterator __middle,
- _BidirectionalIterator __last,
- _Distance __len1, _Distance __len2,
- _Pointer __buffer, _Distance __buffer_size)
- {
- if (__len1 <= __len2 && __len1 <= __buffer_size)
- {
- _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
- std::merge(__buffer, __buffer_end, __middle, __last, __first);
- }
- else if (__len2 <= __buffer_size)
- {
- _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
- std::__merge_backward(__first, __middle, __buffer,
- __buffer_end, __last);
- }
- else
- {
- _BidirectionalIterator __first_cut = __first;
- _BidirectionalIterator __second_cut = __middle;
- _Distance __len11 = 0;
- _Distance __len22 = 0;
- if (__len1 > __len2)
- {
- __len11 = __len1 / 2;
- std::advance(__first_cut, __len11);
- __second_cut = std::lower_bound(__middle, __last,
- *__first_cut);
- __len22 = std::distance(__middle, __second_cut);
- }
- else
- {
- __len22 = __len2 / 2;
- std::advance(__second_cut, __len22);
- __first_cut = std::upper_bound(__first, __middle,
- *__second_cut);
- __len11 = std::distance(__first, __first_cut);
- }
- _BidirectionalIterator __new_middle =
- std::__rotate_adaptive(__first_cut, __middle, __second_cut,
- __len1 - __len11, __len22, __buffer,
- __buffer_size);
- std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
- __len22, __buffer, __buffer_size);
- std::__merge_adaptive(__new_middle, __second_cut, __last,
- __len1 - __len11,
- __len2 - __len22, __buffer, __buffer_size);
- }
- }
-
- /**
- * @if maint
- * This is a helper function for the merge routines.
- * @endif
- */
- template<typename _BidirectionalIterator, typename _Distance, typename _Pointer,
- typename _Compare>
- void
- __merge_adaptive(_BidirectionalIterator __first,
- _BidirectionalIterator __middle,
- _BidirectionalIterator __last,
- _Distance __len1, _Distance __len2,
- _Pointer __buffer, _Distance __buffer_size,
- _Compare __comp)
- {
- if (__len1 <= __len2 && __len1 <= __buffer_size)
- {
- _Pointer __buffer_end = std::copy(__first, __middle, __buffer);
- std::merge(__buffer, __buffer_end, __middle, __last, __first, __comp);
- }
- else if (__len2 <= __buffer_size)
- {
- _Pointer __buffer_end = std::copy(__middle, __last, __buffer);
- std::__merge_backward(__first, __middle, __buffer, __buffer_end,
- __last, __comp);
- }
- else
- {
- _BidirectionalIterator __first_cut = __first;
- _BidirectionalIterator __second_cut = __middle;
- _Distance __len11 = 0;
- _Distance __len22 = 0;
- if (__len1 > __len2)
- {
- __len11 = __len1 / 2;
- std::advance(__first_cut, __len11);
- __second_cut = std::lower_bound(__middle, __last, *__first_cut,
- __comp);
- __len22 = std::distance(__middle, __second_cut);
- }
- else
- {
- __len22 = __len2 / 2;
- std::advance(__second_cut, __len22);
- __first_cut = std::upper_bound(__first, __middle, *__second_cut,
- __comp);
- __len11 = std::distance(__first, __first_cut);
- }
- _BidirectionalIterator __new_middle =
- std::__rotate_adaptive(__first_cut, __middle, __second_cut,
- __len1 - __len11, __len22, __buffer,
- __buffer_size);
- std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
- __len22, __buffer, __buffer_size, __comp);
- std::__merge_adaptive(__new_middle, __second_cut, __last,
- __len1 - __len11,
- __len2 - __len22, __buffer,
- __buffer_size, __comp);
- }
- }
-
- /**
- * @brief Merges two sorted ranges in place.
- * @param first An iterator.
- * @param middle Another iterator.
- * @param last Another iterator.
- * @return Nothing.
- *
- * Merges two sorted and consecutive ranges, [first,middle) and
- * [middle,last), and puts the result in [first,last). The output will
- * be sorted. The sort is @e stable, that is, for equivalent
- * elements in the two ranges, elements from the first range will always
- * come before elements from the second.
- *
- * If enough additional memory is available, this takes (last-first)-1
- * comparisons. Otherwise an NlogN algorithm is used, where N is
- * distance(first,last).
- */
- template<typename _BidirectionalIterator>
- void
- inplace_merge(_BidirectionalIterator __first,
- _BidirectionalIterator __middle,
- _BidirectionalIterator __last)
- {
- typedef typename iterator_traits<_BidirectionalIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_BidirectionalIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_sorted(__first, __middle);
- __glibcxx_requires_sorted(__middle, __last);
-
- if (__first == __middle || __middle == __last)
- return;
-
- _DistanceType __len1 = std::distance(__first, __middle);
- _DistanceType __len2 = std::distance(__middle, __last);
-
- _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
- __last);
- if (__buf.begin() == 0)
- std::__merge_without_buffer(__first, __middle, __last, __len1, __len2);
- else
- std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
- __buf.begin(), _DistanceType(__buf.size()));
- }
-
- /**
- * @brief Merges two sorted ranges in place.
- * @param first An iterator.
- * @param middle Another iterator.
- * @param last Another iterator.
- * @param comp A functor to use for comparisons.
- * @return Nothing.
- *
- * Merges two sorted and consecutive ranges, [first,middle) and
- * [middle,last), and puts the result in [first,last). The output will
- * be sorted. The sort is @e stable, that is, for equivalent
- * elements in the two ranges, elements from the first range will always
- * come before elements from the second.
- *
- * If enough additional memory is available, this takes (last-first)-1
- * comparisons. Otherwise an NlogN algorithm is used, where N is
- * distance(first,last).
- *
- * The comparison function should have the same effects on ordering as
- * the function used for the initial sort.
- */
- template<typename _BidirectionalIterator, typename _Compare>
- void
- inplace_merge(_BidirectionalIterator __first,
- _BidirectionalIterator __middle,
- _BidirectionalIterator __last,
- _Compare __comp)
- {
- typedef typename iterator_traits<_BidirectionalIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_BidirectionalIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType, _ValueType>)
- __glibcxx_requires_sorted_pred(__first, __middle, __comp);
- __glibcxx_requires_sorted_pred(__middle, __last, __comp);
-
- if (__first == __middle || __middle == __last)
- return;
-
- const _DistanceType __len1 = std::distance(__first, __middle);
- const _DistanceType __len2 = std::distance(__middle, __last);
-
- _Temporary_buffer<_BidirectionalIterator, _ValueType> __buf(__first,
- __last);
- if (__buf.begin() == 0)
- std::__merge_without_buffer(__first, __middle, __last, __len1,
- __len2, __comp);
- else
- std::__merge_adaptive(__first, __middle, __last, __len1, __len2,
- __buf.begin(), _DistanceType(__buf.size()),
- __comp);
- }
-
- template<typename _RandomAccessIterator, typename _Pointer,
- typename _Distance>
- void
- __stable_sort_adaptive(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Pointer __buffer, _Distance __buffer_size)
- {
- const _Distance __len = (__last - __first + 1) / 2;
- const _RandomAccessIterator __middle = __first + __len;
- if (__len > __buffer_size)
- {
- std::__stable_sort_adaptive(__first, __middle,
- __buffer, __buffer_size);
- std::__stable_sort_adaptive(__middle, __last,
- __buffer, __buffer_size);
- }
- else
- {
- std::__merge_sort_with_buffer(__first, __middle, __buffer);
- std::__merge_sort_with_buffer(__middle, __last, __buffer);
- }
- std::__merge_adaptive(__first, __middle, __last,
- _Distance(__middle - __first),
- _Distance(__last - __middle),
- __buffer, __buffer_size);
- }
-
- template<typename _RandomAccessIterator, typename _Pointer,
- typename _Distance, typename _Compare>
- void
- __stable_sort_adaptive(_RandomAccessIterator __first,
- _RandomAccessIterator __last,
- _Pointer __buffer, _Distance __buffer_size,
- _Compare __comp)
- {
- const _Distance __len = (__last - __first + 1) / 2;
- const _RandomAccessIterator __middle = __first + __len;
- if (__len > __buffer_size)
- {
- std::__stable_sort_adaptive(__first, __middle, __buffer,
- __buffer_size, __comp);
- std::__stable_sort_adaptive(__middle, __last, __buffer,
- __buffer_size, __comp);
- }
- else
- {
- std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
- std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
- }
- std::__merge_adaptive(__first, __middle, __last,
- _Distance(__middle - __first),
- _Distance(__last - __middle),
- __buffer, __buffer_size,
- __comp);
- }
-
- /**
- * @brief Sort the elements of a sequence, preserving the relative order
- * of equivalent elements.
- * @param first An iterator.
- * @param last Another iterator.
- * @return Nothing.
- *
- * Sorts the elements in the range @p [first,last) in ascending order,
- * such that @p *(i+1)<*i is false for each iterator @p i in the range
- * @p [first,last-1).
- *
- * The relative ordering of equivalent elements is preserved, so any two
- * elements @p x and @p y in the range @p [first,last) such that
- * @p x<y is false and @p y<x is false will have the same relative
- * ordering after calling @p stable_sort().
- */
- template<typename _RandomAccessIterator>
- inline void
- stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first,
- __last);
- if (__buf.begin() == 0)
- std::__inplace_stable_sort(__first, __last);
- else
- std::__stable_sort_adaptive(__first, __last, __buf.begin(),
- _DistanceType(__buf.size()));
- }
-
- /**
- * @brief Sort the elements of a sequence using a predicate for comparison,
- * preserving the relative order of equivalent elements.
- * @param first An iterator.
- * @param last Another iterator.
- * @param comp A comparison functor.
- * @return Nothing.
- *
- * Sorts the elements in the range @p [first,last) in ascending order,
- * such that @p comp(*(i+1),*i) is false for each iterator @p i in the
- * range @p [first,last-1).
- *
- * The relative ordering of equivalent elements is preserved, so any two
- * elements @p x and @p y in the range @p [first,last) such that
- * @p comp(x,y) is false and @p comp(y,x) is false will have the same
- * relative ordering after calling @p stable_sort().
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType,
- _ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- _Temporary_buffer<_RandomAccessIterator, _ValueType> __buf(__first,
- __last);
- if (__buf.begin() == 0)
- std::__inplace_stable_sort(__first, __last, __comp);
- else
- std::__stable_sort_adaptive(__first, __last, __buf.begin(),
- _DistanceType(__buf.size()), __comp);
- }
-
-
- template<typename _RandomAccessIterator, typename _Size>
- void
- __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
- _RandomAccessIterator __last, _Size __depth_limit)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- while (__last - __first > 3)
- {
- if (__depth_limit == 0)
- {
- std::__heap_select(__first, __nth + 1, __last);
- // Place the nth largest element in its final position.
- std::iter_swap(__first, __nth);
- return;
- }
- --__depth_limit;
- _RandomAccessIterator __cut =
- std::__unguarded_partition(__first, __last,
- _ValueType(std::__median(*__first,
- *(__first
- + (__last
- - __first)
- / 2),
- *(__last
- - 1))));
- if (__cut <= __nth)
- __first = __cut;
- else
- __last = __cut;
- }
- std::__insertion_sort(__first, __last);
- }
-
- template<typename _RandomAccessIterator, typename _Size, typename _Compare>
- void
- __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
- _RandomAccessIterator __last, _Size __depth_limit,
- _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- while (__last - __first > 3)
- {
- if (__depth_limit == 0)
- {
- std::__heap_select(__first, __nth + 1, __last, __comp);
- // Place the nth largest element in its final position.
- std::iter_swap(__first, __nth);
- return;
- }
- --__depth_limit;
- _RandomAccessIterator __cut =
- std::__unguarded_partition(__first, __last,
- _ValueType(std::__median(*__first,
- *(__first
- + (__last
- - __first)
- / 2),
- *(__last - 1),
- __comp)),
- __comp);
- if (__cut <= __nth)
- __first = __cut;
- else
- __last = __cut;
- }
- std::__insertion_sort(__first, __last, __comp);
- }
-
- /**
- * @brief Sort a sequence just enough to find a particular position.
- * @param first An iterator.
- * @param nth Another iterator.
- * @param last Another iterator.
- * @return Nothing.
- *
- * Rearranges the elements in the range @p [first,last) so that @p *nth
- * is the same element that would have been in that position had the
- * whole sequence been sorted.
- * whole sequence been sorted. The elements either side of @p *nth are
- * not completely sorted, but for any iterator @i in the range
- * @p [first,nth) and any iterator @j in the range @p [nth,last) it
- * holds that @p *j<*i is false.
- */
- template<typename _RandomAccessIterator>
- inline void
- nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
- _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_valid_range(__first, __nth);
- __glibcxx_requires_valid_range(__nth, __last);
-
- if (__first == __last || __nth == __last)
- return;
-
- std::__introselect(__first, __nth, __last,
- std::__lg(__last - __first) * 2);
- }
-
- /**
- * @brief Sort a sequence just enough to find a particular position
- * using a predicate for comparison.
- * @param first An iterator.
- * @param nth Another iterator.
- * @param last Another iterator.
- * @param comp A comparison functor.
- * @return Nothing.
- *
- * Rearranges the elements in the range @p [first,last) so that @p *nth
- * is the same element that would have been in that position had the
- * whole sequence been sorted. The elements either side of @p *nth are
- * not completely sorted, but for any iterator @i in the range
- * @p [first,nth) and any iterator @j in the range @p [nth,last) it
- * holds that @p comp(*j,*i) is false.
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
- _RandomAccessIterator __last, _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType, _ValueType>)
- __glibcxx_requires_valid_range(__first, __nth);
- __glibcxx_requires_valid_range(__nth, __last);
-
- if (__first == __last || __nth == __last)
- return;
-
- std::__introselect(__first, __nth, __last,
- std::__lg(__last - __first) * 2, __comp);
- }
-
- /**
- * @brief Finds the largest subrange in which @a val could be inserted
- * at any place in it without changing the ordering.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @return An pair of iterators defining the subrange.
- * @ingroup binarysearch
- *
- * This is equivalent to
- * @code
- * std::make_pair(lower_bound(first, last, val),
- * upper_bound(first, last, val))
- * @endcode
- * but does not actually call those functions.
- */
- template<typename _ForwardIterator, typename _Tp>
- pair<_ForwardIterator, _ForwardIterator>
- equal_range(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType, _Tp>)
- __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>)
- __glibcxx_requires_partitioned(__first, __last, __val);
-
- _DistanceType __len = std::distance(__first, __last);
- _DistanceType __half;
- _ForwardIterator __middle, __left, __right;
-
- while (__len > 0)
- {
- __half = __len >> 1;
- __middle = __first;
- std::advance(__middle, __half);
- if (*__middle < __val)
- {
- __first = __middle;
- ++__first;
- __len = __len - __half - 1;
- }
- else if (__val < *__middle)
- __len = __half;
- else
- {
- __left = std::lower_bound(__first, __middle, __val);
- std::advance(__first, __len);
- __right = std::upper_bound(++__middle, __first, __val);
- return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
- }
- }
- return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
- }
-
- /**
- * @brief Finds the largest subrange in which @a val could be inserted
- * at any place in it without changing the ordering.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @param comp A functor to use for comparisons.
- * @return An pair of iterators defining the subrange.
- * @ingroup binarysearch
- *
- * This is equivalent to
- * @code
- * std::make_pair(lower_bound(first, last, val, comp),
- * upper_bound(first, last, val, comp))
- * @endcode
- * but does not actually call those functions.
- */
- template<typename _ForwardIterator, typename _Tp, typename _Compare>
- pair<_ForwardIterator, _ForwardIterator>
- equal_range(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val,
- _Compare __comp)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType, _Tp>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _Tp, _ValueType>)
- __glibcxx_requires_partitioned_pred(__first, __last, __val, __comp);
-
- _DistanceType __len = std::distance(__first, __last);
- _DistanceType __half;
- _ForwardIterator __middle, __left, __right;
-
- while (__len > 0)
- {
- __half = __len >> 1;
- __middle = __first;
- std::advance(__middle, __half);
- if (__comp(*__middle, __val))
- {
- __first = __middle;
- ++__first;
- __len = __len - __half - 1;
- }
- else if (__comp(__val, *__middle))
- __len = __half;
- else
- {
- __left = std::lower_bound(__first, __middle, __val, __comp);
- std::advance(__first, __len);
- __right = std::upper_bound(++__middle, __first, __val, __comp);
- return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
- }
- }
- return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
- }
-
- /**
- * @brief Determines whether an element exists in a range.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @return True if @a val (or its equivelent) is in [@a first,@a last ].
- * @ingroup binarysearch
- *
- * Note that this does not actually return an iterator to @a val. For
- * that, use std::find or a container's specialized find member functions.
- */
- template<typename _ForwardIterator, typename _Tp>
- bool
- binary_search(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_LessThanOpConcept<_Tp, _ValueType>)
- __glibcxx_requires_partitioned(__first, __last, __val);
-
- _ForwardIterator __i = std::lower_bound(__first, __last, __val);
- return __i != __last && !(__val < *__i);
- }
-
- /**
- * @brief Determines whether an element exists in a range.
- * @param first An iterator.
- * @param last Another iterator.
- * @param val The search term.
- * @param comp A functor to use for comparisons.
- * @return True if @a val (or its equivelent) is in [@a first,@a last ].
- * @ingroup binarysearch
- *
- * Note that this does not actually return an iterator to @a val. For
- * that, use std::find or a container's specialized find member functions.
- *
- * The comparison function should have the same effects on ordering as
- * the function used for the initial sort.
- */
- template<typename _ForwardIterator, typename _Tp, typename _Compare>
- bool
- binary_search(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val, _Compare __comp)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _Tp, _ValueType>)
- __glibcxx_requires_partitioned_pred(__first, __last, __val, __comp);
-
- _ForwardIterator __i = std::lower_bound(__first, __last, __val, __comp);
- return __i != __last && !__comp(__val, *__i);
- }
-
- // Set algorithms: includes, set_union, set_intersection, set_difference,
- // set_symmetric_difference. All of these algorithms have the precondition
- // that their input ranges are sorted and the postcondition that their output
- // ranges are sorted.
-
- /**
- * @brief Determines whether all elements of a sequence exists in a range.
- * @param first1 Start of search range.
- * @param last1 End of search range.
- * @param first2 Start of sequence
- * @param last2 End of sequence.
- * @return True if each element in [first2,last2) is contained in order
- * within [first1,last1). False otherwise.
- * @ingroup setoperations
- *
- * This operation expects both [first1,last1) and [first2,last2) to be
- * sorted. Searches for the presence of each element in [first2,last2)
- * within [first1,last1). The iterators over each range only move forward,
- * so this is a linear algorithm. If an element in [first2,last2) is not
- * found before the search iterator reaches @a last2, false is returned.
- */
- template<typename _InputIterator1, typename _InputIterator2>
- bool
- includes(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType1, _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType2, _ValueType1>)
- __glibcxx_requires_sorted(__first1, __last1);
- __glibcxx_requires_sorted(__first2, __last2);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (*__first2 < *__first1)
- return false;
- else if(*__first1 < *__first2)
- ++__first1;
- else
- ++__first1, ++__first2;
-
- return __first2 == __last2;
- }
-
- /**
- * @brief Determines whether all elements of a sequence exists in a range
- * using comparison.
- * @param first1 Start of search range.
- * @param last1 End of search range.
- * @param first2 Start of sequence
- * @param last2 End of sequence.
- * @param comp Comparison function to use.
- * @return True if each element in [first2,last2) is contained in order
- * within [first1,last1) according to comp. False otherwise.
- * @ingroup setoperations
- *
- * This operation expects both [first1,last1) and [first2,last2) to be
- * sorted. Searches for the presence of each element in [first2,last2)
- * within [first1,last1), using comp to decide. The iterators over each
- * range only move forward, so this is a linear algorithm. If an element
- * in [first2,last2) is not found before the search iterator reaches @a
- * last2, false is returned.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _Compare>
- bool
- includes(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2, _Compare __comp)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType1, _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType2, _ValueType1>)
- __glibcxx_requires_sorted_pred(__first1, __last1, __comp);
- __glibcxx_requires_sorted_pred(__first2, __last2, __comp);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (__comp(*__first2, *__first1))
- return false;
- else if(__comp(*__first1, *__first2))
- ++__first1;
- else
- ++__first1, ++__first2;
-
- return __first2 == __last2;
- }
-
- /**
- * @brief Return the union of two sorted ranges.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * each range in order to the output range. Iterators increment for each
- * range. When the current element of one range is less than the other,
- * that element is copied and the iterator advanced. If an element is
- * contained in both ranges, the element from the first range is copied and
- * both ranges advance. The output range may not overlap either input
- * range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator>
- _OutputIterator
- set_union(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType1, _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType2, _ValueType1>)
- __glibcxx_requires_sorted(__first1, __last1);
- __glibcxx_requires_sorted(__first2, __last2);
-
- while (__first1 != __last1 && __first2 != __last2)
- {
- if (*__first1 < *__first2)
- {
- *__result = *__first1;
- ++__first1;
- }
- else if (*__first2 < *__first1)
- {
- *__result = *__first2;
- ++__first2;
- }
- else
- {
- *__result = *__first1;
- ++__first1;
- ++__first2;
- }
- ++__result;
- }
- return std::copy(__first2, __last2, std::copy(__first1, __last1,
- __result));
- }
-
- /**
- * @brief Return the union of two sorted ranges using a comparison functor.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @param comp The comparison functor.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * each range in order to the output range. Iterators increment for each
- * range. When the current element of one range is less than the other
- * according to @a comp, that element is copied and the iterator advanced.
- * If an equivalent element according to @a comp is contained in both
- * ranges, the element from the first range is copied and both ranges
- * advance. The output range may not overlap either input range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator, typename _Compare>
- _OutputIterator
- set_union(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result, _Compare __comp)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType1, _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType2, _ValueType1>)
- __glibcxx_requires_sorted_pred(__first1, __last1, __comp);
- __glibcxx_requires_sorted_pred(__first2, __last2, __comp);
-
- while (__first1 != __last1 && __first2 != __last2)
- {
- if (__comp(*__first1, *__first2))
- {
- *__result = *__first1;
- ++__first1;
- }
- else if (__comp(*__first2, *__first1))
- {
- *__result = *__first2;
- ++__first2;
- }
- else
- {
- *__result = *__first1;
- ++__first1;
- ++__first2;
- }
- ++__result;
- }
- return std::copy(__first2, __last2, std::copy(__first1, __last1,
- __result));
- }
-
- /**
- * @brief Return the intersection of two sorted ranges.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * both ranges in order to the output range. Iterators increment for each
- * range. When the current element of one range is less than the other,
- * that iterator advances. If an element is contained in both ranges, the
- * element from the first range is copied and both ranges advance. The
- * output range may not overlap either input range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator>
- _OutputIterator
- set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType1, _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType2, _ValueType1>)
- __glibcxx_requires_sorted(__first1, __last1);
- __glibcxx_requires_sorted(__first2, __last2);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (*__first1 < *__first2)
- ++__first1;
- else if (*__first2 < *__first1)
- ++__first2;
- else
- {
- *__result = *__first1;
- ++__first1;
- ++__first2;
- ++__result;
- }
- return __result;
- }
-
- /**
- * @brief Return the intersection of two sorted ranges using comparison
- * functor.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @param comp The comparison functor.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * both ranges in order to the output range. Iterators increment for each
- * range. When the current element of one range is less than the other
- * according to @a comp, that iterator advances. If an element is
- * contained in both ranges according to @a comp, the element from the
- * first range is copied and both ranges advance. The output range may not
- * overlap either input range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator, typename _Compare>
- _OutputIterator
- set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result, _Compare __comp)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType1, _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType2, _ValueType1>)
- __glibcxx_requires_sorted_pred(__first1, __last1, __comp);
- __glibcxx_requires_sorted_pred(__first2, __last2, __comp);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (__comp(*__first1, *__first2))
- ++__first1;
- else if (__comp(*__first2, *__first1))
- ++__first2;
- else
- {
- *__result = *__first1;
- ++__first1;
- ++__first2;
- ++__result;
- }
- return __result;
- }
-
- /**
- * @brief Return the difference of two sorted ranges.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * the first range but not the second in order to the output range.
- * Iterators increment for each range. When the current element of the
- * first range is less than the second, that element is copied and the
- * iterator advances. If the current element of the second range is less,
- * the iterator advances, but no element is copied. If an element is
- * contained in both ranges, no elements are copied and both ranges
- * advance. The output range may not overlap either input range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator>
- _OutputIterator
- set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType1, _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType2, _ValueType1>)
- __glibcxx_requires_sorted(__first1, __last1);
- __glibcxx_requires_sorted(__first2, __last2);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (*__first1 < *__first2)
- {
- *__result = *__first1;
- ++__first1;
- ++__result;
- }
- else if (*__first2 < *__first1)
- ++__first2;
- else
- {
- ++__first1;
- ++__first2;
- }
- return std::copy(__first1, __last1, __result);
- }
-
- /**
- * @brief Return the difference of two sorted ranges using comparison
- * functor.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @param comp The comparison functor.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * the first range but not the second in order to the output range.
- * Iterators increment for each range. When the current element of the
- * first range is less than the second according to @a comp, that element
- * is copied and the iterator advances. If the current element of the
- * second range is less, no element is copied and the iterator advances.
- * If an element is contained in both ranges according to @a comp, no
- * elements are copied and both ranges advance. The output range may not
- * overlap either input range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator, typename _Compare>
- _OutputIterator
- set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result, _Compare __comp)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType1, _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType2, _ValueType1>)
- __glibcxx_requires_sorted_pred(__first1, __last1, __comp);
- __glibcxx_requires_sorted_pred(__first2, __last2, __comp);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (__comp(*__first1, *__first2))
- {
- *__result = *__first1;
- ++__first1;
- ++__result;
- }
- else if (__comp(*__first2, *__first1))
- ++__first2;
- else
- {
- ++__first1;
- ++__first2;
- }
- return std::copy(__first1, __last1, __result);
- }
-
- /**
- * @brief Return the symmetric difference of two sorted ranges.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * one range but not the other in order to the output range. Iterators
- * increment for each range. When the current element of one range is less
- * than the other, that element is copied and the iterator advances. If an
- * element is contained in both ranges, no elements are copied and both
- * ranges advance. The output range may not overlap either input range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator>
- _OutputIterator
- set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType1, _ValueType2>)
- __glibcxx_function_requires(_LessThanOpConcept<_ValueType2, _ValueType1>)
- __glibcxx_requires_sorted(__first1, __last1);
- __glibcxx_requires_sorted(__first2, __last2);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (*__first1 < *__first2)
- {
- *__result = *__first1;
- ++__first1;
- ++__result;
- }
- else if (*__first2 < *__first1)
- {
- *__result = *__first2;
- ++__first2;
- ++__result;
- }
- else
- {
- ++__first1;
- ++__first2;
- }
- return std::copy(__first2, __last2, std::copy(__first1,
- __last1, __result));
- }
-
- /**
- * @brief Return the symmetric difference of two sorted ranges using
- * comparison functor.
- * @param first1 Start of first range.
- * @param last1 End of first range.
- * @param first2 Start of second range.
- * @param last2 End of second range.
- * @param comp The comparison functor.
- * @return End of the output range.
- * @ingroup setoperations
- *
- * This operation iterates over both ranges, copying elements present in
- * one range but not the other in order to the output range. Iterators
- * increment for each range. When the current element of one range is less
- * than the other according to @a comp, that element is copied and the
- * iterator advances. If an element is contained in both ranges according
- * to @a comp, no elements are copied and both ranges advance. The output
- * range may not overlap either input range.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _OutputIterator, typename _Compare>
- _OutputIterator
- set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _OutputIterator __result,
- _Compare __comp)
- {
- typedef typename iterator_traits<_InputIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_InputIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType1>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType1, _ValueType2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- _ValueType2, _ValueType1>)
- __glibcxx_requires_sorted_pred(__first1, __last1, __comp);
- __glibcxx_requires_sorted_pred(__first2, __last2, __comp);
-
- while (__first1 != __last1 && __first2 != __last2)
- if (__comp(*__first1, *__first2))
- {
- *__result = *__first1;
- ++__first1;
- ++__result;
- }
- else if (__comp(*__first2, *__first1))
- {
- *__result = *__first2;
- ++__first2;
- ++__result;
- }
- else
- {
- ++__first1;
- ++__first2;
- }
- return std::copy(__first2, __last2, std::copy(__first1,
- __last1, __result));
- }
-
- // min_element and max_element, with and without an explicitly supplied
- // comparison function.
-
- /**
- * @brief Return the maximum element in a range.
- * @param first Start of range.
- * @param last End of range.
- * @return Iterator referencing the first instance of the largest value.
- */
- template<typename _ForwardIterator>
- _ForwardIterator
- max_element(_ForwardIterator __first, _ForwardIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __first;
- _ForwardIterator __result = __first;
- while (++__first != __last)
- if (*__result < *__first)
- __result = __first;
- return __result;
- }
-
- /**
- * @brief Return the maximum element in a range using comparison functor.
- * @param first Start of range.
- * @param last End of range.
- * @param comp Comparison functor.
- * @return Iterator referencing the first instance of the largest value
- * according to comp.
- */
- template<typename _ForwardIterator, typename _Compare>
- _ForwardIterator
- max_element(_ForwardIterator __first, _ForwardIterator __last,
- _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- typename iterator_traits<_ForwardIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last) return __first;
- _ForwardIterator __result = __first;
- while (++__first != __last)
- if (__comp(*__result, *__first)) __result = __first;
- return __result;
- }
-
- /**
- * @brief Return the minimum element in a range.
- * @param first Start of range.
- * @param last End of range.
- * @return Iterator referencing the first instance of the smallest value.
- */
- template<typename _ForwardIterator>
- _ForwardIterator
- min_element(_ForwardIterator __first, _ForwardIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __first;
- _ForwardIterator __result = __first;
- while (++__first != __last)
- if (*__first < *__result)
- __result = __first;
- return __result;
- }
-
- /**
- * @brief Return the minimum element in a range using comparison functor.
- * @param first Start of range.
- * @param last End of range.
- * @param comp Comparison functor.
- * @return Iterator referencing the first instance of the smallest value
- * according to comp.
- */
- template<typename _ForwardIterator, typename _Compare>
- _ForwardIterator
- min_element(_ForwardIterator __first, _ForwardIterator __last,
- _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- typename iterator_traits<_ForwardIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __first;
- _ForwardIterator __result = __first;
- while (++__first != __last)
- if (__comp(*__first, *__result))
- __result = __first;
- return __result;
- }
-
- // next_permutation and prev_permutation, with and without an explicitly
- // supplied comparison function.
-
- /**
- * @brief Permute range into the next "dictionary" ordering.
- * @param first Start of range.
- * @param last End of range.
- * @return False if wrapped to first permutation, true otherwise.
- *
- * Treats all permutations of the range as a set of "dictionary" sorted
- * sequences. Permutes the current sequence into the next one of this set.
- * Returns true if there are more sequences to generate. If the sequence
- * is the largest of the set, the smallest is generated and false returned.
- */
- template<typename _BidirectionalIterator>
- bool
- next_permutation(_BidirectionalIterator __first,
- _BidirectionalIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_BidirectionalIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return false;
- _BidirectionalIterator __i = __first;
- ++__i;
- if (__i == __last)
- return false;
- __i = __last;
- --__i;
-
- for(;;)
- {
- _BidirectionalIterator __ii = __i;
- --__i;
- if (*__i < *__ii)
- {
- _BidirectionalIterator __j = __last;
- while (!(*__i < *--__j))
- {}
- std::iter_swap(__i, __j);
- std::reverse(__ii, __last);
- return true;
- }
- if (__i == __first)
- {
- std::reverse(__first, __last);
- return false;
- }
- }
- }
-
- /**
- * @brief Permute range into the next "dictionary" ordering using
- * comparison functor.
- * @param first Start of range.
- * @param last End of range.
- * @param comp
- * @return False if wrapped to first permutation, true otherwise.
- *
- * Treats all permutations of the range [first,last) as a set of
- * "dictionary" sorted sequences ordered by @a comp. Permutes the current
- * sequence into the next one of this set. Returns true if there are more
- * sequences to generate. If the sequence is the largest of the set, the
- * smallest is generated and false returned.
- */
- template<typename _BidirectionalIterator, typename _Compare>
- bool
- next_permutation(_BidirectionalIterator __first,
- _BidirectionalIterator __last, _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- typename iterator_traits<_BidirectionalIterator>::value_type,
- typename iterator_traits<_BidirectionalIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return false;
- _BidirectionalIterator __i = __first;
- ++__i;
- if (__i == __last)
- return false;
- __i = __last;
- --__i;
-
- for(;;)
- {
- _BidirectionalIterator __ii = __i;
- --__i;
- if (__comp(*__i, *__ii))
- {
- _BidirectionalIterator __j = __last;
- while (!__comp(*__i, *--__j))
- {}
- std::iter_swap(__i, __j);
- std::reverse(__ii, __last);
- return true;
- }
- if (__i == __first)
- {
- std::reverse(__first, __last);
- return false;
- }
- }
- }
-
- /**
- * @brief Permute range into the previous "dictionary" ordering.
- * @param first Start of range.
- * @param last End of range.
- * @return False if wrapped to last permutation, true otherwise.
- *
- * Treats all permutations of the range as a set of "dictionary" sorted
- * sequences. Permutes the current sequence into the previous one of this
- * set. Returns true if there are more sequences to generate. If the
- * sequence is the smallest of the set, the largest is generated and false
- * returned.
- */
- template<typename _BidirectionalIterator>
- bool
- prev_permutation(_BidirectionalIterator __first,
- _BidirectionalIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_BidirectionalIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return false;
- _BidirectionalIterator __i = __first;
- ++__i;
- if (__i == __last)
- return false;
- __i = __last;
- --__i;
-
- for(;;)
- {
- _BidirectionalIterator __ii = __i;
- --__i;
- if (*__ii < *__i)
- {
- _BidirectionalIterator __j = __last;
- while (!(*--__j < *__i))
- {}
- std::iter_swap(__i, __j);
- std::reverse(__ii, __last);
- return true;
- }
- if (__i == __first)
- {
- std::reverse(__first, __last);
- return false;
- }
- }
- }
-
- /**
- * @brief Permute range into the previous "dictionary" ordering using
- * comparison functor.
- * @param first Start of range.
- * @param last End of range.
- * @param comp
- * @return False if wrapped to last permutation, true otherwise.
- *
- * Treats all permutations of the range [first,last) as a set of
- * "dictionary" sorted sequences ordered by @a comp. Permutes the current
- * sequence into the previous one of this set. Returns true if there are
- * more sequences to generate. If the sequence is the smallest of the set,
- * the largest is generated and false returned.
- */
- template<typename _BidirectionalIterator, typename _Compare>
- bool
- prev_permutation(_BidirectionalIterator __first,
- _BidirectionalIterator __last, _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_Compare,
- typename iterator_traits<_BidirectionalIterator>::value_type,
- typename iterator_traits<_BidirectionalIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return false;
- _BidirectionalIterator __i = __first;
- ++__i;
- if (__i == __last)
- return false;
- __i = __last;
- --__i;
-
- for(;;)
- {
- _BidirectionalIterator __ii = __i;
- --__i;
- if (__comp(*__ii, *__i))
- {
- _BidirectionalIterator __j = __last;
- while (!__comp(*--__j, *__i))
- {}
- std::iter_swap(__i, __j);
- std::reverse(__ii, __last);
- return true;
- }
- if (__i == __first)
- {
- std::reverse(__first, __last);
- return false;
- }
- }
- }
-
- // find_first_of, with and without an explicitly supplied comparison function.
-
- /**
- * @brief Find element from a set in a sequence.
- * @param first1 Start of range to search.
- * @param last1 End of range to search.
- * @param first2 Start of match candidates.
- * @param last2 End of match candidates.
- * @return The first iterator @c i in the range
- * @p [first1,last1) such that @c *i == @p *(i2) such that i2 is an
- * interator in [first2,last2), or @p last1 if no such iterator exists.
- *
- * Searches the range @p [first1,last1) for an element that is equal to
- * some element in the range [first2,last2). If found, returns an iterator
- * in the range [first1,last1), otherwise returns @p last1.
- */
- template<typename _InputIterator, typename _ForwardIterator>
- _InputIterator
- find_first_of(_InputIterator __first1, _InputIterator __last1,
- _ForwardIterator __first2, _ForwardIterator __last2)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_InputIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- for ( ; __first1 != __last1; ++__first1)
- for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
- if (*__first1 == *__iter)
- return __first1;
- return __last1;
- }
-
- /**
- * @brief Find element from a set in a sequence using a predicate.
- * @param first1 Start of range to search.
- * @param last1 End of range to search.
- * @param first2 Start of match candidates.
- * @param last2 End of match candidates.
- * @param comp Predicate to use.
- * @return The first iterator @c i in the range
- * @p [first1,last1) such that @c comp(*i, @p *(i2)) is true and i2 is an
- * interator in [first2,last2), or @p last1 if no such iterator exists.
- *
- * Searches the range @p [first1,last1) for an element that is equal to
- * some element in the range [first2,last2). If found, returns an iterator in
- * the range [first1,last1), otherwise returns @p last1.
- */
- template<typename _InputIterator, typename _ForwardIterator,
- typename _BinaryPredicate>
- _InputIterator
- find_first_of(_InputIterator __first1, _InputIterator __last1,
- _ForwardIterator __first2, _ForwardIterator __last2,
- _BinaryPredicate __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_InputIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- for ( ; __first1 != __last1; ++__first1)
- for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
- if (__comp(*__first1, *__iter))
- return __first1;
- return __last1;
- }
-
-
- // find_end, with and without an explicitly supplied comparison function.
- // Search [first2, last2) as a subsequence in [first1, last1), and return
- // the *last* possible match. Note that find_end for bidirectional iterators
- // is much faster than for forward iterators.
-
- // find_end for forward iterators.
- template<typename _ForwardIterator1, typename _ForwardIterator2>
- _ForwardIterator1
- __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
- _ForwardIterator2 __first2, _ForwardIterator2 __last2,
- forward_iterator_tag, forward_iterator_tag)
- {
- if (__first2 == __last2)
- return __last1;
- else
- {
- _ForwardIterator1 __result = __last1;
- while (1)
- {
- _ForwardIterator1 __new_result
- = std::search(__first1, __last1, __first2, __last2);
- if (__new_result == __last1)
- return __result;
- else
- {
- __result = __new_result;
- __first1 = __new_result;
- ++__first1;
- }
- }
- }
- }
-
- template<typename _ForwardIterator1, typename _ForwardIterator2,
- typename _BinaryPredicate>
- _ForwardIterator1
- __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
- _ForwardIterator2 __first2, _ForwardIterator2 __last2,
- forward_iterator_tag, forward_iterator_tag,
- _BinaryPredicate __comp)
- {
- if (__first2 == __last2)
- return __last1;
- else
- {
- _ForwardIterator1 __result = __last1;
- while (1)
- {
- _ForwardIterator1 __new_result
- = std::search(__first1, __last1, __first2, __last2, __comp);
- if (__new_result == __last1)
- return __result;
- else
- {
- __result = __new_result;
- __first1 = __new_result;
- ++__first1;
- }
- }
- }
- }
-
- // find_end for bidirectional iterators. Requires partial specialization.
- template<typename _BidirectionalIterator1, typename _BidirectionalIterator2>
- _BidirectionalIterator1
- __find_end(_BidirectionalIterator1 __first1,
- _BidirectionalIterator1 __last1,
- _BidirectionalIterator2 __first2,
- _BidirectionalIterator2 __last2,
- bidirectional_iterator_tag, bidirectional_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator1>)
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator2>)
-
- typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
- typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
-
- _RevIterator1 __rlast1(__first1);
- _RevIterator2 __rlast2(__first2);
- _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
- _RevIterator2(__last2), __rlast2);
-
- if (__rresult == __rlast1)
- return __last1;
- else
- {
- _BidirectionalIterator1 __result = __rresult.base();
- std::advance(__result, -std::distance(__first2, __last2));
- return __result;
- }
- }
-
- template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
- typename _BinaryPredicate>
- _BidirectionalIterator1
- __find_end(_BidirectionalIterator1 __first1,
- _BidirectionalIterator1 __last1,
- _BidirectionalIterator2 __first2,
- _BidirectionalIterator2 __last2,
- bidirectional_iterator_tag, bidirectional_iterator_tag,
- _BinaryPredicate __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator1>)
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator2>)
-
- typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
- typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
-
- _RevIterator1 __rlast1(__first1);
- _RevIterator2 __rlast2(__first2);
- _RevIterator1 __rresult = std::search(_RevIterator1(__last1), __rlast1,
- _RevIterator2(__last2), __rlast2,
- __comp);
-
- if (__rresult == __rlast1)
- return __last1;
- else
- {
- _BidirectionalIterator1 __result = __rresult.base();
- std::advance(__result, -std::distance(__first2, __last2));
- return __result;
- }
- }
-
- // Dispatching functions for find_end.
-
- /**
- * @brief Find last matching subsequence in a sequence.
- * @param first1 Start of range to search.
- * @param last1 End of range to search.
- * @param first2 Start of sequence to match.
- * @param last2 End of sequence to match.
- * @return The last iterator @c i in the range
- * @p [first1,last1-(last2-first2)) such that @c *(i+N) == @p *(first2+N)
- * for each @c N in the range @p [0,last2-first2), or @p last1 if no
- * such iterator exists.
- *
- * Searches the range @p [first1,last1) for a sub-sequence that compares
- * equal value-by-value with the sequence given by @p [first2,last2) and
- * returns an iterator to the first element of the sub-sequence, or
- * @p last1 if the sub-sequence is not found. The sub-sequence will be the
- * last such subsequence contained in [first,last1).
- *
- * Because the sub-sequence must lie completely within the range
- * @p [first1,last1) it must start at a position less than
- * @p last1-(last2-first2) where @p last2-first2 is the length of the
- * sub-sequence.
- * This means that the returned iterator @c i will be in the range
- * @p [first1,last1-(last2-first2))
- */
- template<typename _ForwardIterator1, typename _ForwardIterator2>
- inline _ForwardIterator1
- find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
- _ForwardIterator2 __first2, _ForwardIterator2 __last2)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator1>)
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator2>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_ForwardIterator1>::value_type,
- typename iterator_traits<_ForwardIterator2>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- return std::__find_end(__first1, __last1, __first2, __last2,
- std::__iterator_category(__first1),
- std::__iterator_category(__first2));
- }
-
- /**
- * @brief Find last matching subsequence in a sequence using a predicate.
- * @param first1 Start of range to search.
- * @param last1 End of range to search.
- * @param first2 Start of sequence to match.
- * @param last2 End of sequence to match.
- * @param comp The predicate to use.
- * @return The last iterator @c i in the range
- * @p [first1,last1-(last2-first2)) such that @c predicate(*(i+N), @p
- * (first2+N)) is true for each @c N in the range @p [0,last2-first2), or
- * @p last1 if no such iterator exists.
- *
- * Searches the range @p [first1,last1) for a sub-sequence that compares
- * equal value-by-value with the sequence given by @p [first2,last2) using
- * comp as a predicate and returns an iterator to the first element of the
- * sub-sequence, or @p last1 if the sub-sequence is not found. The
- * sub-sequence will be the last such subsequence contained in
- * [first,last1).
- *
- * Because the sub-sequence must lie completely within the range
- * @p [first1,last1) it must start at a position less than
- * @p last1-(last2-first2) where @p last2-first2 is the length of the
- * sub-sequence.
- * This means that the returned iterator @c i will be in the range
- * @p [first1,last1-(last2-first2))
- */
- template<typename _ForwardIterator1, typename _ForwardIterator2,
- typename _BinaryPredicate>
- inline _ForwardIterator1
- find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
- _ForwardIterator2 __first2, _ForwardIterator2 __last2,
- _BinaryPredicate __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator1>)
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator2>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_BinaryPredicate,
- typename iterator_traits<_ForwardIterator1>::value_type,
- typename iterator_traits<_ForwardIterator2>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- return std::__find_end(__first1, __last1, __first2, __last2,
- std::__iterator_category(__first1),
- std::__iterator_category(__first2),
- __comp);
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _ALGO_H */
diff --git a/contrib/libstdc++/include/bits/stl_algobase.h b/contrib/libstdc++/include/bits/stl_algobase.h
deleted file mode 100644
index 2d89d0317c8e..000000000000
--- a/contrib/libstdc++/include/bits/stl_algobase.h
+++ /dev/null
@@ -1,935 +0,0 @@
-// Bits and pieces used in algorithms -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003, 2004, 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
-// 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996-1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_algobase.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _ALGOBASE_H
-#define _ALGOBASE_H 1
-
-#include <bits/c++config.h>
-#include <cstring>
-#include <climits>
-#include <cstdlib>
-#include <cstddef>
-#include <iosfwd>
-#include <bits/stl_pair.h>
-#include <bits/cpp_type_traits.h>
-#include <ext/type_traits.h>
-#include <bits/stl_iterator_base_types.h>
-#include <bits/stl_iterator_base_funcs.h>
-#include <bits/stl_iterator.h>
-#include <bits/concept_check.h>
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Swaps two values.
- * @param a A thing of arbitrary type.
- * @param b Another thing of arbitrary type.
- * @return Nothing.
- *
- * This is the simple classic generic implementation. It will work on
- * any type which has a copy constructor and an assignment operator.
- */
- template<typename _Tp>
- inline void
- swap(_Tp& __a, _Tp& __b)
- {
- // concept requirements
- __glibcxx_function_requires(_SGIAssignableConcept<_Tp>)
-
- _Tp __tmp = __a;
- __a = __b;
- __b = __tmp;
- }
-
- // See http://gcc.gnu.org/ml/libstdc++/2004-08/msg00167.html: in a
- // nutshell, we are partially implementing the resolution of DR 187,
- // when it's safe, i.e., the value_types are equal.
- template<bool _BoolType>
- struct __iter_swap
- {
- template<typename _ForwardIterator1, typename _ForwardIterator2>
- static void
- iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
- {
- typedef typename iterator_traits<_ForwardIterator1>::value_type
- _ValueType1;
- _ValueType1 __tmp = *__a;
- *__a = *__b;
- *__b = __tmp;
- }
- };
-
- template<>
- struct __iter_swap<true>
- {
- template<typename _ForwardIterator1, typename _ForwardIterator2>
- static void
- iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
- {
- swap(*__a, *__b);
- }
- };
-
- /**
- * @brief Swaps the contents of two iterators.
- * @param a An iterator.
- * @param b Another iterator.
- * @return Nothing.
- *
- * This function swaps the values pointed to by two iterators, not the
- * iterators themselves.
- */
- template<typename _ForwardIterator1, typename _ForwardIterator2>
- inline void
- iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
- {
- typedef typename iterator_traits<_ForwardIterator1>::value_type
- _ValueType1;
- typedef typename iterator_traits<_ForwardIterator2>::value_type
- _ValueType2;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator1>)
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator2>)
- __glibcxx_function_requires(_ConvertibleConcept<_ValueType1,
- _ValueType2>)
- __glibcxx_function_requires(_ConvertibleConcept<_ValueType2,
- _ValueType1>)
-
- typedef typename iterator_traits<_ForwardIterator1>::reference
- _ReferenceType1;
- typedef typename iterator_traits<_ForwardIterator2>::reference
- _ReferenceType2;
- std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value &&
- __are_same<_ValueType1 &, _ReferenceType1>::__value &&
- __are_same<_ValueType2 &, _ReferenceType2>::__value>::
- iter_swap(__a, __b);
- }
-
- /**
- * @brief This does what you think it does.
- * @param a A thing of arbitrary type.
- * @param b Another thing of arbitrary type.
- * @return The lesser of the parameters.
- *
- * This is the simple classic generic implementation. It will work on
- * temporary expressions, since they are only evaluated once, unlike a
- * preprocessor macro.
- */
- template<typename _Tp>
- inline const _Tp&
- min(const _Tp& __a, const _Tp& __b)
- {
- // concept requirements
- __glibcxx_function_requires(_LessThanComparableConcept<_Tp>)
- //return __b < __a ? __b : __a;
- if (__b < __a)
- return __b;
- return __a;
- }
-
- /**
- * @brief This does what you think it does.
- * @param a A thing of arbitrary type.
- * @param b Another thing of arbitrary type.
- * @return The greater of the parameters.
- *
- * This is the simple classic generic implementation. It will work on
- * temporary expressions, since they are only evaluated once, unlike a
- * preprocessor macro.
- */
- template<typename _Tp>
- inline const _Tp&
- max(const _Tp& __a, const _Tp& __b)
- {
- // concept requirements
- __glibcxx_function_requires(_LessThanComparableConcept<_Tp>)
- //return __a < __b ? __b : __a;
- if (__a < __b)
- return __b;
- return __a;
- }
-
- /**
- * @brief This does what you think it does.
- * @param a A thing of arbitrary type.
- * @param b Another thing of arbitrary type.
- * @param comp A @link s20_3_3_comparisons comparison functor@endlink.
- * @return The lesser of the parameters.
- *
- * This will work on temporary expressions, since they are only evaluated
- * once, unlike a preprocessor macro.
- */
- template<typename _Tp, typename _Compare>
- inline const _Tp&
- min(const _Tp& __a, const _Tp& __b, _Compare __comp)
- {
- //return __comp(__b, __a) ? __b : __a;
- if (__comp(__b, __a))
- return __b;
- return __a;
- }
-
- /**
- * @brief This does what you think it does.
- * @param a A thing of arbitrary type.
- * @param b Another thing of arbitrary type.
- * @param comp A @link s20_3_3_comparisons comparison functor@endlink.
- * @return The greater of the parameters.
- *
- * This will work on temporary expressions, since they are only evaluated
- * once, unlike a preprocessor macro.
- */
- template<typename _Tp, typename _Compare>
- inline const _Tp&
- max(const _Tp& __a, const _Tp& __b, _Compare __comp)
- {
- //return __comp(__a, __b) ? __b : __a;
- if (__comp(__a, __b))
- return __b;
- return __a;
- }
-
- // All of these auxiliary structs serve two purposes. (1) Replace
- // calls to copy with memmove whenever possible. (Memmove, not memcpy,
- // because the input and output ranges are permitted to overlap.)
- // (2) If we're using random access iterators, then write the loop as
- // a for loop with an explicit count.
-
- template<bool, typename>
- struct __copy
- {
- template<typename _II, typename _OI>
- static _OI
- copy(_II __first, _II __last, _OI __result)
- {
- for (; __first != __last; ++__result, ++__first)
- *__result = *__first;
- return __result;
- }
- };
-
- template<bool _BoolType>
- struct __copy<_BoolType, random_access_iterator_tag>
- {
- template<typename _II, typename _OI>
- static _OI
- copy(_II __first, _II __last, _OI __result)
- {
- typedef typename iterator_traits<_II>::difference_type _Distance;
- for(_Distance __n = __last - __first; __n > 0; --__n)
- {
- *__result = *__first;
- ++__first;
- ++__result;
- }
- return __result;
- }
- };
-
- template<>
- struct __copy<true, random_access_iterator_tag>
- {
- template<typename _Tp>
- static _Tp*
- copy(const _Tp* __first, const _Tp* __last, _Tp* __result)
- {
- std::memmove(__result, __first, sizeof(_Tp) * (__last - __first));
- return __result + (__last - __first);
- }
- };
-
- template<typename _II, typename _OI>
- inline _OI
- __copy_aux(_II __first, _II __last, _OI __result)
- {
- typedef typename iterator_traits<_II>::value_type _ValueTypeI;
- typedef typename iterator_traits<_OI>::value_type _ValueTypeO;
- typedef typename iterator_traits<_II>::iterator_category _Category;
- const bool __simple = (__is_scalar<_ValueTypeI>::__value
- && __is_pointer<_II>::__value
- && __is_pointer<_OI>::__value
- && __are_same<_ValueTypeI, _ValueTypeO>::__value);
-
- return std::__copy<__simple, _Category>::copy(__first, __last, __result);
- }
-
- // Helpers for streambuf iterators (either istream or ostream).
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- ostreambuf_iterator<_CharT> >::__type
- __copy_aux(_CharT*, _CharT*, ostreambuf_iterator<_CharT>);
-
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- ostreambuf_iterator<_CharT> >::__type
- __copy_aux(const _CharT*, const _CharT*, ostreambuf_iterator<_CharT>);
-
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type
- __copy_aux(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
- _CharT*);
-
- template<bool, bool>
- struct __copy_normal
- {
- template<typename _II, typename _OI>
- static _OI
- __copy_n(_II __first, _II __last, _OI __result)
- { return std::__copy_aux(__first, __last, __result); }
- };
-
- template<>
- struct __copy_normal<true, false>
- {
- template<typename _II, typename _OI>
- static _OI
- __copy_n(_II __first, _II __last, _OI __result)
- { return std::__copy_aux(__first.base(), __last.base(), __result); }
- };
-
- template<>
- struct __copy_normal<false, true>
- {
- template<typename _II, typename _OI>
- static _OI
- __copy_n(_II __first, _II __last, _OI __result)
- { return _OI(std::__copy_aux(__first, __last, __result.base())); }
- };
-
- template<>
- struct __copy_normal<true, true>
- {
- template<typename _II, typename _OI>
- static _OI
- __copy_n(_II __first, _II __last, _OI __result)
- { return _OI(std::__copy_aux(__first.base(), __last.base(),
- __result.base())); }
- };
-
- /**
- * @brief Copies the range [first,last) into result.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @return result + (last - first)
- *
- * This inline function will boil down to a call to @c memmove whenever
- * possible. Failing that, if random access iterators are passed, then the
- * loop count will be known (and therefore a candidate for compiler
- * optimizations such as unrolling). Result may not be contained within
- * [first,last); the copy_backward function should be used instead.
- *
- * Note that the end of the output range is permitted to be contained
- * within [first,last).
- */
- template<typename _InputIterator, typename _OutputIterator>
- inline _OutputIterator
- copy(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- const bool __in = __is_normal_iterator<_InputIterator>::__value;
- const bool __out = __is_normal_iterator<_OutputIterator>::__value;
- return std::__copy_normal<__in, __out>::__copy_n(__first, __last,
- __result);
- }
-
- // Overload for streambuf iterators.
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- ostreambuf_iterator<_CharT> >::__type
- copy(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
- ostreambuf_iterator<_CharT>);
-
- template<bool, typename>
- struct __copy_backward
- {
- template<typename _BI1, typename _BI2>
- static _BI2
- __copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
- {
- while (__first != __last)
- *--__result = *--__last;
- return __result;
- }
- };
-
- template<bool _BoolType>
- struct __copy_backward<_BoolType, random_access_iterator_tag>
- {
- template<typename _BI1, typename _BI2>
- static _BI2
- __copy_b(_BI1 __first, _BI1 __last, _BI2 __result)
- {
- typename iterator_traits<_BI1>::difference_type __n;
- for (__n = __last - __first; __n > 0; --__n)
- *--__result = *--__last;
- return __result;
- }
- };
-
- template<>
- struct __copy_backward<true, random_access_iterator_tag>
- {
- template<typename _Tp>
- static _Tp*
- __copy_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
- {
- const ptrdiff_t _Num = __last - __first;
- std::memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
- return __result - _Num;
- }
- };
-
- template<typename _BI1, typename _BI2>
- inline _BI2
- __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result)
- {
- typedef typename iterator_traits<_BI1>::value_type _ValueType1;
- typedef typename iterator_traits<_BI2>::value_type _ValueType2;
- typedef typename iterator_traits<_BI1>::iterator_category _Category;
- const bool __simple = (__is_scalar<_ValueType1>::__value
- && __is_pointer<_BI1>::__value
- && __is_pointer<_BI2>::__value
- && __are_same<_ValueType1, _ValueType2>::__value);
-
- return std::__copy_backward<__simple, _Category>::__copy_b(__first,
- __last,
- __result);
- }
-
- template<bool, bool>
- struct __copy_backward_normal
- {
- template<typename _BI1, typename _BI2>
- static _BI2
- __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
- { return std::__copy_backward_aux(__first, __last, __result); }
- };
-
- template<>
- struct __copy_backward_normal<true, false>
- {
- template<typename _BI1, typename _BI2>
- static _BI2
- __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
- { return std::__copy_backward_aux(__first.base(), __last.base(),
- __result); }
- };
-
- template<>
- struct __copy_backward_normal<false, true>
- {
- template<typename _BI1, typename _BI2>
- static _BI2
- __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
- { return _BI2(std::__copy_backward_aux(__first, __last,
- __result.base())); }
- };
-
- template<>
- struct __copy_backward_normal<true, true>
- {
- template<typename _BI1, typename _BI2>
- static _BI2
- __copy_b_n(_BI1 __first, _BI1 __last, _BI2 __result)
- { return _BI2(std::__copy_backward_aux(__first.base(), __last.base(),
- __result.base())); }
- };
-
- /**
- * @brief Copies the range [first,last) into result.
- * @param first A bidirectional iterator.
- * @param last A bidirectional iterator.
- * @param result A bidirectional iterator.
- * @return result - (first - last)
- *
- * The function has the same effect as copy, but starts at the end of the
- * range and works its way to the start, returning the start of the result.
- * This inline function will boil down to a call to @c memmove whenever
- * possible. Failing that, if random access iterators are passed, then the
- * loop count will be known (and therefore a candidate for compiler
- * optimizations such as unrolling).
- *
- * Result may not be in the range [first,last). Use copy instead. Note
- * that the start of the output range may overlap [first,last).
- */
- template <typename _BI1, typename _BI2>
- inline _BI2
- copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<_BI1>)
- __glibcxx_function_requires(_Mutable_BidirectionalIteratorConcept<_BI2>)
- __glibcxx_function_requires(_ConvertibleConcept<
- typename iterator_traits<_BI1>::value_type,
- typename iterator_traits<_BI2>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- const bool __bi1 = __is_normal_iterator<_BI1>::__value;
- const bool __bi2 = __is_normal_iterator<_BI2>::__value;
- return std::__copy_backward_normal<__bi1, __bi2>::__copy_b_n(__first,
- __last,
- __result);
- }
-
- template<bool>
- struct __fill
- {
- template<typename _ForwardIterator, typename _Tp>
- static void
- fill(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __value)
- {
- for (; __first != __last; ++__first)
- *__first = __value;
- }
- };
-
- template<>
- struct __fill<true>
- {
- template<typename _ForwardIterator, typename _Tp>
- static void
- fill(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __value)
- {
- const _Tp __tmp = __value;
- for (; __first != __last; ++__first)
- *__first = __tmp;
- }
- };
-
- /**
- * @brief Fills the range [first,last) with copies of value.
- * @param first A forward iterator.
- * @param last A forward iterator.
- * @param value A reference-to-const of arbitrary type.
- * @return Nothing.
- *
- * This function fills a range with copies of the same value. For one-byte
- * types filling contiguous areas of memory, this becomes an inline call to
- * @c memset.
- */
- template<typename _ForwardIterator, typename _Tp>
- void
- fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<
- _ForwardIterator>)
- __glibcxx_requires_valid_range(__first, __last);
-
- const bool __scalar = __is_scalar<_Tp>::__value;
- std::__fill<__scalar>::fill(__first, __last, __value);
- }
-
- // Specialization: for one-byte types we can use memset.
- inline void
- fill(unsigned char* __first, unsigned char* __last, const unsigned char& __c)
- {
- __glibcxx_requires_valid_range(__first, __last);
- const unsigned char __tmp = __c;
- std::memset(__first, __tmp, __last - __first);
- }
-
- inline void
- fill(signed char* __first, signed char* __last, const signed char& __c)
- {
- __glibcxx_requires_valid_range(__first, __last);
- const signed char __tmp = __c;
- std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
- }
-
- inline void
- fill(char* __first, char* __last, const char& __c)
- {
- __glibcxx_requires_valid_range(__first, __last);
- const char __tmp = __c;
- std::memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
- }
-
- template<bool>
- struct __fill_n
- {
- template<typename _OutputIterator, typename _Size, typename _Tp>
- static _OutputIterator
- fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
- {
- for (; __n > 0; --__n, ++__first)
- *__first = __value;
- return __first;
- }
- };
-
- template<>
- struct __fill_n<true>
- {
- template<typename _OutputIterator, typename _Size, typename _Tp>
- static _OutputIterator
- fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
- {
- const _Tp __tmp = __value;
- for (; __n > 0; --__n, ++__first)
- *__first = __tmp;
- return __first;
- }
- };
-
- /**
- * @brief Fills the range [first,first+n) with copies of value.
- * @param first An output iterator.
- * @param n The count of copies to perform.
- * @param value A reference-to-const of arbitrary type.
- * @return The iterator at first+n.
- *
- * This function fills a range with copies of the same value. For one-byte
- * types filling contiguous areas of memory, this becomes an inline call to
- * @c memset.
- */
- template<typename _OutputIterator, typename _Size, typename _Tp>
- _OutputIterator
- fill_n(_OutputIterator __first, _Size __n, const _Tp& __value)
- {
- // concept requirements
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator, _Tp>)
-
- const bool __scalar = __is_scalar<_Tp>::__value;
- return std::__fill_n<__scalar>::fill_n(__first, __n, __value);
- }
-
- template<typename _Size>
- inline unsigned char*
- fill_n(unsigned char* __first, _Size __n, const unsigned char& __c)
- {
- std::fill(__first, __first + __n, __c);
- return __first + __n;
- }
-
- template<typename _Size>
- inline signed char*
- fill_n(signed char* __first, _Size __n, const signed char& __c)
- {
- std::fill(__first, __first + __n, __c);
- return __first + __n;
- }
-
- template<typename _Size>
- inline char*
- fill_n(char* __first, _Size __n, const char& __c)
- {
- std::fill(__first, __first + __n, __c);
- return __first + __n;
- }
-
- /**
- * @brief Finds the places in ranges which don't match.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @return A pair of iterators pointing to the first mismatch.
- *
- * This compares the elements of two ranges using @c == and returns a pair
- * of iterators. The first iterator points into the first range, the
- * second iterator points into the second range, and the elements pointed
- * to by the iterators are not equal.
- */
- template<typename _InputIterator1, typename _InputIterator2>
- pair<_InputIterator1, _InputIterator2>
- mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_InputIterator1>::value_type,
- typename iterator_traits<_InputIterator2>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- while (__first1 != __last1 && *__first1 == *__first2)
- {
- ++__first1;
- ++__first2;
- }
- return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
- }
-
- /**
- * @brief Finds the places in ranges which don't match.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @param binary_pred A binary predicate @link s20_3_1_base functor@endlink.
- * @return A pair of iterators pointing to the first mismatch.
- *
- * This compares the elements of two ranges using the binary_pred
- * parameter, and returns a pair
- * of iterators. The first iterator points into the first range, the
- * second iterator points into the second range, and the elements pointed
- * to by the iterators are not equal.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _BinaryPredicate>
- pair<_InputIterator1, _InputIterator2>
- mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _BinaryPredicate __binary_pred)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- while (__first1 != __last1 && __binary_pred(*__first1, *__first2))
- {
- ++__first1;
- ++__first2;
- }
- return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
- }
-
- /**
- * @brief Tests a range for element-wise equality.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @return A boolean true or false.
- *
- * This compares the elements of two ranges using @c == and returns true or
- * false depending on whether all of the corresponding elements of the
- * ranges are equal.
- */
- template<typename _InputIterator1, typename _InputIterator2>
- inline bool
- equal(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_EqualOpConcept<
- typename iterator_traits<_InputIterator1>::value_type,
- typename iterator_traits<_InputIterator2>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- for (; __first1 != __last1; ++__first1, ++__first2)
- if (!(*__first1 == *__first2))
- return false;
- return true;
- }
-
- /**
- * @brief Tests a range for element-wise equality.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @param binary_pred A binary predicate @link s20_3_1_base functor@endlink.
- * @return A boolean true or false.
- *
- * This compares the elements of two ranges using the binary_pred
- * parameter, and returns true or
- * false depending on whether all of the corresponding elements of the
- * ranges are equal.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _BinaryPredicate>
- inline bool
- equal(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2,
- _BinaryPredicate __binary_pred)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- for (; __first1 != __last1; ++__first1, ++__first2)
- if (!__binary_pred(*__first1, *__first2))
- return false;
- return true;
- }
-
- /**
- * @brief Performs "dictionary" comparison on ranges.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @param last2 An input iterator.
- * @return A boolean true or false.
- *
- * "Returns true if the sequence of elements defined by the range
- * [first1,last1) is lexicographically less than the sequence of elements
- * defined by the range [first2,last2). Returns false otherwise."
- * (Quoted from [25.3.8]/1.) If the iterators are all character pointers,
- * then this is an inline call to @c memcmp.
- */
- template<typename _InputIterator1, typename _InputIterator2>
- bool
- lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_LessThanOpConcept<
- typename iterator_traits<_InputIterator1>::value_type,
- typename iterator_traits<_InputIterator2>::value_type>)
- __glibcxx_function_requires(_LessThanOpConcept<
- typename iterator_traits<_InputIterator2>::value_type,
- typename iterator_traits<_InputIterator1>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- for (; __first1 != __last1 && __first2 != __last2;
- ++__first1, ++__first2)
- {
- if (*__first1 < *__first2)
- return true;
- if (*__first2 < *__first1)
- return false;
- }
- return __first1 == __last1 && __first2 != __last2;
- }
-
- /**
- * @brief Performs "dictionary" comparison on ranges.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @param last2 An input iterator.
- * @param comp A @link s20_3_3_comparisons comparison functor@endlink.
- * @return A boolean true or false.
- *
- * The same as the four-parameter @c lexigraphical_compare, but uses the
- * comp parameter instead of @c <.
- */
- template<typename _InputIterator1, typename _InputIterator2,
- typename _Compare>
- bool
- lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _InputIterator2 __last2,
- _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- for (; __first1 != __last1 && __first2 != __last2;
- ++__first1, ++__first2)
- {
- if (__comp(*__first1, *__first2))
- return true;
- if (__comp(*__first2, *__first1))
- return false;
- }
- return __first1 == __last1 && __first2 != __last2;
- }
-
- inline bool
- lexicographical_compare(const unsigned char* __first1,
- const unsigned char* __last1,
- const unsigned char* __first2,
- const unsigned char* __last2)
- {
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- const size_t __len1 = __last1 - __first1;
- const size_t __len2 = __last2 - __first2;
- const int __result = std::memcmp(__first1, __first2,
- std::min(__len1, __len2));
- return __result != 0 ? __result < 0 : __len1 < __len2;
- }
-
- inline bool
- lexicographical_compare(const char* __first1, const char* __last1,
- const char* __first2, const char* __last2)
- {
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
-#if CHAR_MAX == SCHAR_MAX
- return std::lexicographical_compare((const signed char*) __first1,
- (const signed char*) __last1,
- (const signed char*) __first2,
- (const signed char*) __last2);
-#else /* CHAR_MAX == SCHAR_MAX */
- return std::lexicographical_compare((const unsigned char*) __first1,
- (const unsigned char*) __last1,
- (const unsigned char*) __first2,
- (const unsigned char*) __last2);
-#endif /* CHAR_MAX == SCHAR_MAX */
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/stl_bvector.h b/contrib/libstdc++/include/bits/stl_bvector.h
deleted file mode 100644
index 5f494edcca9b..000000000000
--- a/contrib/libstdc++/include/bits/stl_bvector.h
+++ /dev/null
@@ -1,1023 +0,0 @@
-// vector<bool> specialization -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996-1999
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_bvector.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _BVECTOR_H
-#define _BVECTOR_H 1
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- typedef unsigned long _Bit_type;
- enum { _S_word_bit = int(CHAR_BIT * sizeof(_Bit_type)) };
-
- struct _Bit_reference
- {
- _Bit_type * _M_p;
- _Bit_type _M_mask;
-
- _Bit_reference(_Bit_type * __x, _Bit_type __y)
- : _M_p(__x), _M_mask(__y) { }
-
- _Bit_reference() : _M_p(0), _M_mask(0) { }
-
- operator bool() const
- { return !!(*_M_p & _M_mask); }
-
- _Bit_reference&
- operator=(bool __x)
- {
- if (__x)
- *_M_p |= _M_mask;
- else
- *_M_p &= ~_M_mask;
- return *this;
- }
-
- _Bit_reference&
- operator=(const _Bit_reference& __x)
- { return *this = bool(__x); }
-
- bool
- operator==(const _Bit_reference& __x) const
- { return bool(*this) == bool(__x); }
-
- bool
- operator<(const _Bit_reference& __x) const
- { return !bool(*this) && bool(__x); }
-
- void
- flip()
- { *_M_p ^= _M_mask; }
- };
-
- struct _Bit_iterator_base
- : public std::iterator<std::random_access_iterator_tag, bool>
- {
- _Bit_type * _M_p;
- unsigned int _M_offset;
-
- _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
- : _M_p(__x), _M_offset(__y) { }
-
- void
- _M_bump_up()
- {
- if (_M_offset++ == int(_S_word_bit) - 1)
- {
- _M_offset = 0;
- ++_M_p;
- }
- }
-
- void
- _M_bump_down()
- {
- if (_M_offset-- == 0)
- {
- _M_offset = int(_S_word_bit) - 1;
- --_M_p;
- }
- }
-
- void
- _M_incr(ptrdiff_t __i)
- {
- difference_type __n = __i + _M_offset;
- _M_p += __n / int(_S_word_bit);
- __n = __n % int(_S_word_bit);
- if (__n < 0)
- {
- __n += int(_S_word_bit);
- --_M_p;
- }
- _M_offset = static_cast<unsigned int>(__n);
- }
-
- bool
- operator==(const _Bit_iterator_base& __i) const
- { return _M_p == __i._M_p && _M_offset == __i._M_offset; }
-
- bool
- operator<(const _Bit_iterator_base& __i) const
- {
- return _M_p < __i._M_p
- || (_M_p == __i._M_p && _M_offset < __i._M_offset);
- }
-
- bool
- operator!=(const _Bit_iterator_base& __i) const
- { return !(*this == __i); }
-
- bool
- operator>(const _Bit_iterator_base& __i) const
- { return __i < *this; }
-
- bool
- operator<=(const _Bit_iterator_base& __i) const
- { return !(__i < *this); }
-
- bool
- operator>=(const _Bit_iterator_base& __i) const
- { return !(*this < __i); }
- };
-
- inline ptrdiff_t
- operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
- {
- return (int(_S_word_bit) * (__x._M_p - __y._M_p)
- + __x._M_offset - __y._M_offset);
- }
-
- struct _Bit_iterator : public _Bit_iterator_base
- {
- typedef _Bit_reference reference;
- typedef _Bit_reference* pointer;
- typedef _Bit_iterator iterator;
-
- _Bit_iterator() : _Bit_iterator_base(0, 0) { }
-
- _Bit_iterator(_Bit_type * __x, unsigned int __y)
- : _Bit_iterator_base(__x, __y) { }
-
- reference
- operator*() const
- { return reference(_M_p, 1UL << _M_offset); }
-
- iterator&
- operator++()
- {
- _M_bump_up();
- return *this;
- }
-
- iterator
- operator++(int)
- {
- iterator __tmp = *this;
- _M_bump_up();
- return __tmp;
- }
-
- iterator&
- operator--()
- {
- _M_bump_down();
- return *this;
- }
-
- iterator
- operator--(int)
- {
- iterator __tmp = *this;
- _M_bump_down();
- return __tmp;
- }
-
- iterator&
- operator+=(difference_type __i)
- {
- _M_incr(__i);
- return *this;
- }
-
- iterator&
- operator-=(difference_type __i)
- {
- *this += -__i;
- return *this;
- }
-
- iterator
- operator+(difference_type __i) const
- {
- iterator __tmp = *this;
- return __tmp += __i;
- }
-
- iterator
- operator-(difference_type __i) const
- {
- iterator __tmp = *this;
- return __tmp -= __i;
- }
-
- reference
- operator[](difference_type __i) const
- { return *(*this + __i); }
- };
-
- inline _Bit_iterator
- operator+(ptrdiff_t __n, const _Bit_iterator& __x)
- { return __x + __n; }
-
- struct _Bit_const_iterator : public _Bit_iterator_base
- {
- typedef bool reference;
- typedef bool const_reference;
- typedef const bool* pointer;
- typedef _Bit_const_iterator const_iterator;
-
- _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
-
- _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
- : _Bit_iterator_base(__x, __y) { }
-
- _Bit_const_iterator(const _Bit_iterator& __x)
- : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
-
- const_reference
- operator*() const
- { return _Bit_reference(_M_p, 1UL << _M_offset); }
-
- const_iterator&
- operator++()
- {
- _M_bump_up();
- return *this;
- }
-
- const_iterator
- operator++(int)
- {
- const_iterator __tmp = *this;
- _M_bump_up();
- return __tmp;
- }
-
- const_iterator&
- operator--()
- {
- _M_bump_down();
- return *this;
- }
-
- const_iterator
- operator--(int)
- {
- const_iterator __tmp = *this;
- _M_bump_down();
- return __tmp;
- }
-
- const_iterator&
- operator+=(difference_type __i)
- {
- _M_incr(__i);
- return *this;
- }
-
- const_iterator&
- operator-=(difference_type __i)
- {
- *this += -__i;
- return *this;
- }
-
- const_iterator
- operator+(difference_type __i) const
- {
- const_iterator __tmp = *this;
- return __tmp += __i;
- }
-
- const_iterator
- operator-(difference_type __i) const
- {
- const_iterator __tmp = *this;
- return __tmp -= __i;
- }
-
- const_reference
- operator[](difference_type __i) const
- { return *(*this + __i); }
- };
-
- inline _Bit_const_iterator
- operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
- { return __x + __n; }
-
- inline void
- __fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x)
- {
- for (; __first != __last; ++__first)
- *__first = __x;
- }
-
- inline void
- fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x)
- {
- if (__first._M_p != __last._M_p)
- {
- std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0);
- __fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x);
- __fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x);
- }
- else
- __fill_bvector(__first, __last, __x);
- }
-
- template<class _Alloc>
- struct _Bvector_base
- {
- typedef typename _Alloc::template rebind<_Bit_type>::other
- _Bit_alloc_type;
-
- struct _Bvector_impl
- : public _Bit_alloc_type
- {
- _Bit_iterator _M_start;
- _Bit_iterator _M_finish;
- _Bit_type* _M_end_of_storage;
-
- _Bvector_impl()
- : _Bit_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage(0)
- { }
-
- _Bvector_impl(const _Bit_alloc_type& __a)
- : _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage(0)
- { }
- };
-
- public:
- typedef _Alloc allocator_type;
-
- _Bit_alloc_type&
- _M_get_Bit_allocator()
- { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); }
-
- const _Bit_alloc_type&
- _M_get_Bit_allocator() const
- { return *static_cast<const _Bit_alloc_type*>(&this->_M_impl); }
-
- allocator_type
- get_allocator() const
- { return allocator_type(_M_get_Bit_allocator()); }
-
- _Bvector_base()
- : _M_impl() { }
-
- _Bvector_base(const allocator_type& __a)
- : _M_impl(__a) { }
-
- ~_Bvector_base()
- { this->_M_deallocate(); }
-
- protected:
- _Bvector_impl _M_impl;
-
- _Bit_type*
- _M_allocate(size_t __n)
- { return _M_impl.allocate((__n + int(_S_word_bit) - 1)
- / int(_S_word_bit)); }
-
- void
- _M_deallocate()
- {
- if (_M_impl._M_start._M_p)
- _M_impl.deallocate(_M_impl._M_start._M_p,
- _M_impl._M_end_of_storage - _M_impl._M_start._M_p);
- }
- };
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-// Declare a partial specialization of vector<T, Alloc>.
-#include <bits/stl_vector.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @brief A specialization of vector for booleans which offers fixed time
- * access to individual elements in any order.
- *
- * Note that vector<bool> does not actually meet the requirements for being
- * a container. This is because the reference and pointer types are not
- * really references and pointers to bool. See DR96 for details. @see
- * vector for function documentation.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * In some terminology a %vector can be described as a dynamic
- * C-style array, it offers fast and efficient access to individual
- * elements in any order and saves the user from worrying about
- * memory and size allocation. Subscripting ( @c [] ) access is
- * also provided as with C-style arrays.
- */
-template<typename _Alloc>
- class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
- {
- typedef _Bvector_base<_Alloc> _Base;
-
- public:
- typedef bool value_type;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Bit_reference reference;
- typedef bool const_reference;
- typedef _Bit_reference* pointer;
- typedef const bool* const_pointer;
- typedef _Bit_iterator iterator;
- typedef _Bit_const_iterator const_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef _Alloc allocator_type;
-
- allocator_type get_allocator() const
- { return _Base::get_allocator(); }
-
- protected:
- using _Base::_M_allocate;
- using _Base::_M_deallocate;
- using _Base::_M_get_Bit_allocator;
-
- public:
- vector()
- : _Base() { }
-
- explicit
- vector(const allocator_type& __a)
- : _Base(__a) { }
-
- explicit
- vector(size_type __n, const bool& __value = bool(),
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- {
- _M_initialize(__n);
- std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_of_storage,
- __value ? ~0 : 0);
- }
-
- vector(const vector& __x)
- : _Base(__x._M_get_Bit_allocator())
- {
- _M_initialize(__x.size());
- _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start);
- }
-
- template<class _InputIterator>
- vector(_InputIterator __first, _InputIterator __last,
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- {
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_initialize_dispatch(__first, __last, _Integral());
- }
-
- ~vector() { }
-
- vector&
- operator=(const vector& __x)
- {
- if (&__x == this)
- return *this;
- if (__x.size() > capacity())
- {
- this->_M_deallocate();
- _M_initialize(__x.size());
- }
- this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
- begin());
- return *this;
- }
-
- // assign(), a generalized assignment member function. Two
- // versions: one that takes a count, and one that takes a range.
- // The range version is a member template, so we dispatch on whether
- // or not the type is an integer.
- void
- assign(size_type __n, const bool& __x)
- { _M_fill_assign(__n, __x); }
-
- template<class _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_assign_dispatch(__first, __last, _Integral());
- }
-
- iterator
- begin()
- { return this->_M_impl._M_start; }
-
- const_iterator
- begin() const
- { return this->_M_impl._M_start; }
-
- iterator
- end()
- { return this->_M_impl._M_finish; }
-
- const_iterator
- end() const
- { return this->_M_impl._M_finish; }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- size_type
- size() const
- { return size_type(end() - begin()); }
-
- size_type
- max_size() const
- {
- const size_type __asize = _M_get_Bit_allocator().max_size();
- return (__asize <= size_type(-1) / int(_S_word_bit) ?
- __asize * int(_S_word_bit) : size_type(-1));
- }
-
- size_type
- capacity() const
- { return size_type(const_iterator(this->_M_impl._M_end_of_storage, 0)
- - begin()); }
-
- bool
- empty() const
- { return begin() == end(); }
-
- reference
- operator[](size_type __n)
- {
- return *iterator(this->_M_impl._M_start._M_p
- + __n / int(_S_word_bit), __n % int(_S_word_bit));
- }
-
- const_reference
- operator[](size_type __n) const
- {
- return *const_iterator(this->_M_impl._M_start._M_p
- + __n / int(_S_word_bit), __n % int(_S_word_bit));
- }
-
- protected:
- void
- _M_range_check(size_type __n) const
- {
- if (__n >= this->size())
- __throw_out_of_range(__N("vector<bool>::_M_range_check"));
- }
-
- public:
- reference
- at(size_type __n)
- { _M_range_check(__n); return (*this)[__n]; }
-
- const_reference
- at(size_type __n) const
- { _M_range_check(__n); return (*this)[__n]; }
-
- void
- reserve(size_type __n)
- {
- if (__n > this->max_size())
- __throw_length_error(__N("vector::reserve"));
- if (this->capacity() < __n)
- {
- _Bit_type* __q = this->_M_allocate(__n);
- this->_M_impl._M_finish = _M_copy_aligned(begin(), end(),
- iterator(__q, 0));
- this->_M_deallocate();
- this->_M_impl._M_start = iterator(__q, 0);
- this->_M_impl._M_end_of_storage = (__q + (__n + int(_S_word_bit) - 1)
- / int(_S_word_bit));
- }
- }
-
- reference
- front()
- { return *begin(); }
-
- const_reference
- front() const
- { return *begin(); }
-
- reference
- back()
- { return *(end() - 1); }
-
- const_reference
- back() const
- { return *(end() - 1); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 464. Suggestion for new member functions in standard containers.
- // N.B. DR 464 says nothing about vector<bool> but we need something
- // here due to the way we are implementing DR 464 in the debug-mode
- // vector class.
- void
- data() { }
-
- void
- push_back(bool __x)
- {
- if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage)
- *this->_M_impl._M_finish++ = __x;
- else
- _M_insert_aux(end(), __x);
- }
-
- void
- swap(vector& __x)
- {
- std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
- std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
- std::swap(this->_M_impl._M_end_of_storage,
- __x._M_impl._M_end_of_storage);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<typename _Base::_Bit_alloc_type>::
- _S_do_it(_M_get_Bit_allocator(), __x._M_get_Bit_allocator());
- }
-
- // [23.2.5]/1, third-to-last entry in synopsis listing
- static void
- swap(reference __x, reference __y)
- {
- bool __tmp = __x;
- __x = __y;
- __y = __tmp;
- }
-
- iterator
- insert(iterator __position, const bool& __x = bool())
- {
- const difference_type __n = __position - begin();
- if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage
- && __position == end())
- *this->_M_impl._M_finish++ = __x;
- else
- _M_insert_aux(__position, __x);
- return begin() + __n;
- }
-
- template<class _InputIterator>
- void
- insert(iterator __position,
- _InputIterator __first, _InputIterator __last)
- {
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_insert_dispatch(__position, __first, __last, _Integral());
- }
-
- void
- insert(iterator __position, size_type __n, const bool& __x)
- { _M_fill_insert(__position, __n, __x); }
-
- void
- pop_back()
- { --this->_M_impl._M_finish; }
-
- iterator
- erase(iterator __position)
- {
- if (__position + 1 != end())
- std::copy(__position + 1, end(), __position);
- --this->_M_impl._M_finish;
- return __position;
- }
-
- iterator
- erase(iterator __first, iterator __last)
- {
- _M_erase_at_end(std::copy(__last, end(), __first));
- return __first;
- }
-
- void
- resize(size_type __new_size, bool __x = bool())
- {
- if (__new_size < size())
- _M_erase_at_end(begin() + difference_type(__new_size));
- else
- insert(end(), __new_size - size(), __x);
- }
-
- void
- flip()
- {
- for (_Bit_type * __p = this->_M_impl._M_start._M_p;
- __p != this->_M_impl._M_end_of_storage; ++__p)
- *__p = ~*__p;
- }
-
- void
- clear()
- { _M_erase_at_end(begin()); }
-
-
- protected:
- // Precondition: __first._M_offset == 0 && __result._M_offset == 0.
- iterator
- _M_copy_aligned(const_iterator __first, const_iterator __last,
- iterator __result)
- {
- _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
- return std::copy(const_iterator(__last._M_p, 0), __last,
- iterator(__q, 0));
- }
-
- void
- _M_initialize(size_type __n)
- {
- _Bit_type* __q = this->_M_allocate(__n);
- this->_M_impl._M_end_of_storage = (__q
- + ((__n + int(_S_word_bit) - 1)
- / int(_S_word_bit)));
- this->_M_impl._M_start = iterator(__q, 0);
- this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n);
- }
-
- // Check whether it's an integral type. If so, it's not an iterator.
- template<class _Integer>
- void
- _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
- {
- _M_initialize(__n);
- std::fill(this->_M_impl._M_start._M_p,
- this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
- }
-
- template<class _InputIterator>
- void
- _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type)
- { _M_initialize_range(__first, __last,
- std::__iterator_category(__first)); }
-
- template<class _InputIterator>
- void
- _M_initialize_range(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag)
- {
- for (; __first != __last; ++__first)
- push_back(*__first);
- }
-
- template<class _ForwardIterator>
- void
- _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag)
- {
- const size_type __n = std::distance(__first, __last);
- _M_initialize(__n);
- std::copy(__first, __last, this->_M_impl._M_start);
- }
-
- template<class _Integer>
- void
- _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
- { _M_fill_assign((size_t) __n, (bool) __val); }
-
- template<class _InputIterator>
- void
- _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type)
- { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
-
- void
- _M_fill_assign(size_t __n, bool __x)
- {
- if (__n > size())
- {
- std::fill(this->_M_impl._M_start._M_p,
- this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
- insert(end(), __n - size(), __x);
- }
- else
- {
- _M_erase_at_end(begin() + __n);
- std::fill(this->_M_impl._M_start._M_p,
- this->_M_impl._M_end_of_storage, __x ? ~0 : 0);
- }
- }
-
- template<class _InputIterator>
- void
- _M_assign_aux(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag)
- {
- iterator __cur = begin();
- for (; __first != __last && __cur != end(); ++__cur, ++__first)
- *__cur = *__first;
- if (__first == __last)
- _M_erase_at_end(__cur);
- else
- insert(end(), __first, __last);
- }
-
- template<class _ForwardIterator>
- void
- _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag)
- {
- const size_type __len = std::distance(__first, __last);
- if (__len < size())
- _M_erase_at_end(std::copy(__first, __last, begin()));
- else
- {
- _ForwardIterator __mid = __first;
- std::advance(__mid, size());
- std::copy(__first, __mid, begin());
- insert(end(), __mid, __last);
- }
- }
-
- // Check whether it's an integral type. If so, it's not an iterator.
- template<class _Integer>
- void
- _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x,
- __true_type)
- { _M_fill_insert(__pos, __n, __x); }
-
- template<class _InputIterator>
- void
- _M_insert_dispatch(iterator __pos,
- _InputIterator __first, _InputIterator __last,
- __false_type)
- { _M_insert_range(__pos, __first, __last,
- std::__iterator_category(__first)); }
-
- void
- _M_fill_insert(iterator __position, size_type __n, bool __x)
- {
- if (__n == 0)
- return;
- if (capacity() - size() >= __n)
- {
- std::copy_backward(__position, end(),
- this->_M_impl._M_finish + difference_type(__n));
- std::fill(__position, __position + difference_type(__n), __x);
- this->_M_impl._M_finish += difference_type(__n);
- }
- else
- {
- const size_type __len = size() + std::max(size(), __n);
- _Bit_type * __q = this->_M_allocate(__len);
- iterator __i = _M_copy_aligned(begin(), __position,
- iterator(__q, 0));
- std::fill(__i, __i + difference_type(__n), __x);
- this->_M_impl._M_finish = std::copy(__position, end(),
- __i + difference_type(__n));
- this->_M_deallocate();
- this->_M_impl._M_end_of_storage = (__q + ((__len
- + int(_S_word_bit) - 1)
- / int(_S_word_bit)));
- this->_M_impl._M_start = iterator(__q, 0);
- }
- }
-
- template<class _InputIterator>
- void
- _M_insert_range(iterator __pos, _InputIterator __first,
- _InputIterator __last, std::input_iterator_tag)
- {
- for (; __first != __last; ++__first)
- {
- __pos = insert(__pos, *__first);
- ++__pos;
- }
- }
-
- template<class _ForwardIterator>
- void
- _M_insert_range(iterator __position, _ForwardIterator __first,
- _ForwardIterator __last, std::forward_iterator_tag)
- {
- if (__first != __last)
- {
- size_type __n = std::distance(__first, __last);
- if (capacity() - size() >= __n)
- {
- std::copy_backward(__position, end(),
- this->_M_impl._M_finish
- + difference_type(__n));
- std::copy(__first, __last, __position);
- this->_M_impl._M_finish += difference_type(__n);
- }
- else
- {
- const size_type __len = size() + std::max(size(), __n);
- _Bit_type * __q = this->_M_allocate(__len);
- iterator __i = _M_copy_aligned(begin(), __position,
- iterator(__q, 0));
- __i = std::copy(__first, __last, __i);
- this->_M_impl._M_finish = std::copy(__position, end(), __i);
- this->_M_deallocate();
- this->_M_impl._M_end_of_storage = (__q
- + ((__len
- + int(_S_word_bit) - 1)
- / int(_S_word_bit)));
- this->_M_impl._M_start = iterator(__q, 0);
- }
- }
- }
-
- void
- _M_insert_aux(iterator __position, bool __x)
- {
- if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_of_storage)
- {
- std::copy_backward(__position, this->_M_impl._M_finish,
- this->_M_impl._M_finish + 1);
- *__position = __x;
- ++this->_M_impl._M_finish;
- }
- else
- {
- const size_type __len = size() ? 2 * size()
- : static_cast<size_type>(_S_word_bit);
- _Bit_type * __q = this->_M_allocate(__len);
- iterator __i = _M_copy_aligned(begin(), __position,
- iterator(__q, 0));
- *__i++ = __x;
- this->_M_impl._M_finish = std::copy(__position, end(), __i);
- this->_M_deallocate();
- this->_M_impl._M_end_of_storage = (__q + ((__len
- + int(_S_word_bit) - 1)
- / int(_S_word_bit)));
- this->_M_impl._M_start = iterator(__q, 0);
- }
- }
-
- void
- _M_erase_at_end(iterator __pos)
- { this->_M_impl._M_finish = __pos; }
- };
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/stl_construct.h b/contrib/libstdc++/include/bits/stl_construct.h
deleted file mode 100644
index 0a03fb72d3f0..000000000000
--- a/contrib/libstdc++/include/bits/stl_construct.h
+++ /dev/null
@@ -1,188 +0,0 @@
-// nonstandard construct and destroy functions -*- C++ -*-
-
-// 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_construct.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STL_CONSTRUCT_H
-#define _STL_CONSTRUCT_H 1
-
-#include <bits/cpp_type_traits.h>
-#include <new>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @if maint
- * Constructs an object in existing memory by invoking an allocated
- * object's constructor with an initializer.
- * @endif
- */
- template<typename _T1, typename _T2>
- inline void
- _Construct(_T1* __p, const _T2& __value)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 402. wrong new expression in [some_]allocator::construct
- ::new(static_cast<void*>(__p)) _T1(__value);
- }
-
- /**
- * @if maint
- * Constructs an object in existing memory by invoking an allocated
- * object's default constructor (no initializers).
- * @endif
- */
- template<typename _T1>
- inline void
- _Construct(_T1* __p)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 402. wrong new expression in [some_]allocator::construct
- ::new(static_cast<void*>(__p)) _T1();
- }
-
- /**
- * @if maint
- * Destroy the object pointed to by a pointer type.
- * @endif
- */
- template<typename _Tp>
- inline void
- _Destroy(_Tp* __pointer)
- { __pointer->~_Tp(); }
-
- /**
- * @if maint
- * Destroy a range of objects with nontrivial destructors.
- *
- * This is a helper function used only by _Destroy().
- * @endif
- */
- template<typename _ForwardIterator>
- inline void
- __destroy_aux(_ForwardIterator __first, _ForwardIterator __last,
- __false_type)
- {
- for (; __first != __last; ++__first)
- std::_Destroy(&*__first);
- }
-
- /**
- * @if maint
- * Destroy a range of objects with trivial destructors. Since the destructors
- * are trivial, there's nothing to do and hopefully this function will be
- * entirely optimized away.
- *
- * This is a helper function used only by _Destroy().
- * @endif
- */
- template<typename _ForwardIterator>
- inline void
- __destroy_aux(_ForwardIterator, _ForwardIterator, __true_type)
- { }
-
- /**
- * @if maint
- * Destroy a range of objects. If the value_type of the object has
- * a trivial destructor, the compiler should optimize all of this
- * away, otherwise the objects' destructors must be invoked.
- * @endif
- */
- template<typename _ForwardIterator>
- inline void
- _Destroy(_ForwardIterator __first, _ForwardIterator __last)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type
- _Value_type;
- typedef typename std::__is_scalar<_Value_type>::__type
- _Has_trivial_destructor;
-
- std::__destroy_aux(__first, __last, _Has_trivial_destructor());
- }
-
- /**
- * @if maint
- * Destroy a range of objects using the supplied allocator. For
- * nondefault allocators we do not optimize away invocation of
- * destroy() even if _Tp has a trivial destructor.
- * @endif
- */
-
- template <typename _Tp> class allocator;
-
- template<typename _ForwardIterator, typename _Allocator>
- void
- _Destroy(_ForwardIterator __first, _ForwardIterator __last,
- _Allocator __alloc)
- {
- for (; __first != __last; ++__first)
- __alloc.destroy(&*__first);
- }
-
- template<typename _ForwardIterator, typename _Tp>
- inline void
- _Destroy(_ForwardIterator __first, _ForwardIterator __last,
- allocator<_Tp>)
- {
- _Destroy(__first, __last);
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _STL_CONSTRUCT_H */
-
diff --git a/contrib/libstdc++/include/bits/stl_deque.h b/contrib/libstdc++/include/bits/stl_deque.h
deleted file mode 100644
index 82753697813d..000000000000
--- a/contrib/libstdc++/include/bits/stl_deque.h
+++ /dev/null
@@ -1,1620 +0,0 @@
-// Deque implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_deque.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _DEQUE_H
-#define _DEQUE_H 1
-
-#include <bits/concept_check.h>
-#include <bits/stl_iterator_base_types.h>
-#include <bits/stl_iterator_base_funcs.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @if maint
- * @brief This function controls the size of memory nodes.
- * @param size The size of an element.
- * @return The number (not byte size) of elements per node.
- *
- * This function started off as a compiler kludge from SGI, but seems to
- * be a useful wrapper around a repeated constant expression. The '512' is
- * tuneable (and no other code needs to change), but no investigation has
- * been done since inheriting the SGI code.
- * @endif
- */
- inline size_t
- __deque_buf_size(size_t __size)
- { return __size < 512 ? size_t(512 / __size) : size_t(1); }
-
-
- /**
- * @brief A deque::iterator.
- *
- * Quite a bit of intelligence here. Much of the functionality of
- * deque is actually passed off to this class. A deque holds two
- * of these internally, marking its valid range. Access to
- * elements is done as offsets of either of those two, relying on
- * operator overloading in this class.
- *
- * @if maint
- * All the functions are op overloads except for _M_set_node.
- * @endif
- */
- template<typename _Tp, typename _Ref, typename _Ptr>
- struct _Deque_iterator
- {
- typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator;
- typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
-
- static size_t _S_buffer_size()
- { return __deque_buf_size(sizeof(_Tp)); }
-
- typedef std::random_access_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef _Ptr pointer;
- typedef _Ref reference;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp** _Map_pointer;
- typedef _Deque_iterator _Self;
-
- _Tp* _M_cur;
- _Tp* _M_first;
- _Tp* _M_last;
- _Map_pointer _M_node;
-
- _Deque_iterator(_Tp* __x, _Map_pointer __y)
- : _M_cur(__x), _M_first(*__y),
- _M_last(*__y + _S_buffer_size()), _M_node(__y) {}
-
- _Deque_iterator() : _M_cur(0), _M_first(0), _M_last(0), _M_node(0) {}
-
- _Deque_iterator(const iterator& __x)
- : _M_cur(__x._M_cur), _M_first(__x._M_first),
- _M_last(__x._M_last), _M_node(__x._M_node) {}
-
- reference
- operator*() const
- { return *_M_cur; }
-
- pointer
- operator->() const
- { return _M_cur; }
-
- _Self&
- operator++()
- {
- ++_M_cur;
- if (_M_cur == _M_last)
- {
- _M_set_node(_M_node + 1);
- _M_cur = _M_first;
- }
- return *this;
- }
-
- _Self
- operator++(int)
- {
- _Self __tmp = *this;
- ++*this;
- return __tmp;
- }
-
- _Self&
- operator--()
- {
- if (_M_cur == _M_first)
- {
- _M_set_node(_M_node - 1);
- _M_cur = _M_last;
- }
- --_M_cur;
- return *this;
- }
-
- _Self
- operator--(int)
- {
- _Self __tmp = *this;
- --*this;
- return __tmp;
- }
-
- _Self&
- operator+=(difference_type __n)
- {
- const difference_type __offset = __n + (_M_cur - _M_first);
- if (__offset >= 0 && __offset < difference_type(_S_buffer_size()))
- _M_cur += __n;
- else
- {
- const difference_type __node_offset =
- __offset > 0 ? __offset / difference_type(_S_buffer_size())
- : -difference_type((-__offset - 1)
- / _S_buffer_size()) - 1;
- _M_set_node(_M_node + __node_offset);
- _M_cur = _M_first + (__offset - __node_offset
- * difference_type(_S_buffer_size()));
- }
- return *this;
- }
-
- _Self
- operator+(difference_type __n) const
- {
- _Self __tmp = *this;
- return __tmp += __n;
- }
-
- _Self&
- operator-=(difference_type __n)
- { return *this += -__n; }
-
- _Self
- operator-(difference_type __n) const
- {
- _Self __tmp = *this;
- return __tmp -= __n;
- }
-
- reference
- operator[](difference_type __n) const
- { return *(*this + __n); }
-
- /** @if maint
- * Prepares to traverse new_node. Sets everything except
- * _M_cur, which should therefore be set by the caller
- * immediately afterwards, based on _M_first and _M_last.
- * @endif
- */
- void
- _M_set_node(_Map_pointer __new_node)
- {
- _M_node = __new_node;
- _M_first = *__new_node;
- _M_last = _M_first + difference_type(_S_buffer_size());
- }
- };
-
- // Note: we also provide overloads whose operands are of the same type in
- // order to avoid ambiguous overload resolution when std::rel_ops operators
- // are in scope (for additional details, see libstdc++/3628)
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline bool
- operator==(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
- const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
- { return __x._M_cur == __y._M_cur; }
-
- template<typename _Tp, typename _RefL, typename _PtrL,
- typename _RefR, typename _PtrR>
- inline bool
- operator==(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
- const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
- { return __x._M_cur == __y._M_cur; }
-
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline bool
- operator!=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
- const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
- { return !(__x == __y); }
-
- template<typename _Tp, typename _RefL, typename _PtrL,
- typename _RefR, typename _PtrR>
- inline bool
- operator!=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
- const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
- { return !(__x == __y); }
-
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline bool
- operator<(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
- const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
- { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur)
- : (__x._M_node < __y._M_node); }
-
- template<typename _Tp, typename _RefL, typename _PtrL,
- typename _RefR, typename _PtrR>
- inline bool
- operator<(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
- const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
- { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur)
- : (__x._M_node < __y._M_node); }
-
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline bool
- operator>(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
- const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
- { return __y < __x; }
-
- template<typename _Tp, typename _RefL, typename _PtrL,
- typename _RefR, typename _PtrR>
- inline bool
- operator>(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
- const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
- { return __y < __x; }
-
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline bool
- operator<=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
- const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
- { return !(__y < __x); }
-
- template<typename _Tp, typename _RefL, typename _PtrL,
- typename _RefR, typename _PtrR>
- inline bool
- operator<=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
- const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
- { return !(__y < __x); }
-
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline bool
- operator>=(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
- const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
- { return !(__x < __y); }
-
- template<typename _Tp, typename _RefL, typename _PtrL,
- typename _RefR, typename _PtrR>
- inline bool
- operator>=(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
- const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
- { return !(__x < __y); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // According to the resolution of DR179 not only the various comparison
- // operators but also operator- must accept mixed iterator/const_iterator
- // parameters.
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type
- operator-(const _Deque_iterator<_Tp, _Ref, _Ptr>& __x,
- const _Deque_iterator<_Tp, _Ref, _Ptr>& __y)
- {
- return typename _Deque_iterator<_Tp, _Ref, _Ptr>::difference_type
- (_Deque_iterator<_Tp, _Ref, _Ptr>::_S_buffer_size())
- * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first)
- + (__y._M_last - __y._M_cur);
- }
-
- template<typename _Tp, typename _RefL, typename _PtrL,
- typename _RefR, typename _PtrR>
- inline typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type
- operator-(const _Deque_iterator<_Tp, _RefL, _PtrL>& __x,
- const _Deque_iterator<_Tp, _RefR, _PtrR>& __y)
- {
- return typename _Deque_iterator<_Tp, _RefL, _PtrL>::difference_type
- (_Deque_iterator<_Tp, _RefL, _PtrL>::_S_buffer_size())
- * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first)
- + (__y._M_last - __y._M_cur);
- }
-
- template<typename _Tp, typename _Ref, typename _Ptr>
- inline _Deque_iterator<_Tp, _Ref, _Ptr>
- operator+(ptrdiff_t __n, const _Deque_iterator<_Tp, _Ref, _Ptr>& __x)
- { return __x + __n; }
-
- template<typename _Tp>
- void
- fill(const _Deque_iterator<_Tp, _Tp&, _Tp*>& __first,
- const _Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _Tp& __value);
-
- /**
- * @if maint
- * Deque base class. This class provides the unified face for %deque's
- * allocation. This class's constructor and destructor allocate and
- * deallocate (but do not initialize) storage. This makes %exception
- * safety easier.
- *
- * Nothing in this class ever constructs or destroys an actual Tp element.
- * (Deque handles that itself.) Only/All memory management is performed
- * here.
- * @endif
- */
- template<typename _Tp, typename _Alloc>
- class _Deque_base
- {
- public:
- typedef _Alloc allocator_type;
-
- allocator_type
- get_allocator() const
- { return allocator_type(_M_get_Tp_allocator()); }
-
- typedef _Deque_iterator<_Tp, _Tp&, _Tp*> iterator;
- typedef _Deque_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
-
- _Deque_base()
- : _M_impl()
- { _M_initialize_map(0); }
-
- _Deque_base(const allocator_type& __a, size_t __num_elements)
- : _M_impl(__a)
- { _M_initialize_map(__num_elements); }
-
- _Deque_base(const allocator_type& __a)
- : _M_impl(__a)
- { }
-
- ~_Deque_base();
-
- protected:
- //This struct encapsulates the implementation of the std::deque
- //standard container and at the same time makes use of the EBO
- //for empty allocators.
- typedef typename _Alloc::template rebind<_Tp*>::other _Map_alloc_type;
-
- typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
-
- struct _Deque_impl
- : public _Tp_alloc_type
- {
- _Tp** _M_map;
- size_t _M_map_size;
- iterator _M_start;
- iterator _M_finish;
-
- _Deque_impl()
- : _Tp_alloc_type(), _M_map(0), _M_map_size(0),
- _M_start(), _M_finish()
- { }
-
- _Deque_impl(const _Tp_alloc_type& __a)
- : _Tp_alloc_type(__a), _M_map(0), _M_map_size(0),
- _M_start(), _M_finish()
- { }
- };
-
- _Tp_alloc_type&
- _M_get_Tp_allocator()
- { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
-
- const _Tp_alloc_type&
- _M_get_Tp_allocator() const
- { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
-
- _Map_alloc_type
- _M_get_map_allocator() const
- { return _Map_alloc_type(_M_get_Tp_allocator()); }
-
- _Tp*
- _M_allocate_node()
- {
- return _M_impl._Tp_alloc_type::allocate(__deque_buf_size(sizeof(_Tp)));
- }
-
- void
- _M_deallocate_node(_Tp* __p)
- {
- _M_impl._Tp_alloc_type::deallocate(__p, __deque_buf_size(sizeof(_Tp)));
- }
-
- _Tp**
- _M_allocate_map(size_t __n)
- { return _M_get_map_allocator().allocate(__n); }
-
- void
- _M_deallocate_map(_Tp** __p, size_t __n)
- { _M_get_map_allocator().deallocate(__p, __n); }
-
- protected:
- void _M_initialize_map(size_t);
- void _M_create_nodes(_Tp** __nstart, _Tp** __nfinish);
- void _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish);
- enum { _S_initial_map_size = 8 };
-
- _Deque_impl _M_impl;
- };
-
- template<typename _Tp, typename _Alloc>
- _Deque_base<_Tp, _Alloc>::
- ~_Deque_base()
- {
- if (this->_M_impl._M_map)
- {
- _M_destroy_nodes(this->_M_impl._M_start._M_node,
- this->_M_impl._M_finish._M_node + 1);
- _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
- }
- }
-
- /**
- * @if maint
- * @brief Layout storage.
- * @param num_elements The count of T's for which to allocate space
- * at first.
- * @return Nothing.
- *
- * The initial underlying memory layout is a bit complicated...
- * @endif
- */
- template<typename _Tp, typename _Alloc>
- void
- _Deque_base<_Tp, _Alloc>::
- _M_initialize_map(size_t __num_elements)
- {
- const size_t __num_nodes = (__num_elements/ __deque_buf_size(sizeof(_Tp))
- + 1);
-
- this->_M_impl._M_map_size = std::max((size_t) _S_initial_map_size,
- size_t(__num_nodes + 2));
- this->_M_impl._M_map = _M_allocate_map(this->_M_impl._M_map_size);
-
- // For "small" maps (needing less than _M_map_size nodes), allocation
- // starts in the middle elements and grows outwards. So nstart may be
- // the beginning of _M_map, but for small maps it may be as far in as
- // _M_map+3.
-
- _Tp** __nstart = (this->_M_impl._M_map
- + (this->_M_impl._M_map_size - __num_nodes) / 2);
- _Tp** __nfinish = __nstart + __num_nodes;
-
- try
- { _M_create_nodes(__nstart, __nfinish); }
- catch(...)
- {
- _M_deallocate_map(this->_M_impl._M_map, this->_M_impl._M_map_size);
- this->_M_impl._M_map = 0;
- this->_M_impl._M_map_size = 0;
- __throw_exception_again;
- }
-
- this->_M_impl._M_start._M_set_node(__nstart);
- this->_M_impl._M_finish._M_set_node(__nfinish - 1);
- this->_M_impl._M_start._M_cur = _M_impl._M_start._M_first;
- this->_M_impl._M_finish._M_cur = (this->_M_impl._M_finish._M_first
- + __num_elements
- % __deque_buf_size(sizeof(_Tp)));
- }
-
- template<typename _Tp, typename _Alloc>
- void
- _Deque_base<_Tp, _Alloc>::
- _M_create_nodes(_Tp** __nstart, _Tp** __nfinish)
- {
- _Tp** __cur;
- try
- {
- for (__cur = __nstart; __cur < __nfinish; ++__cur)
- *__cur = this->_M_allocate_node();
- }
- catch(...)
- {
- _M_destroy_nodes(__nstart, __cur);
- __throw_exception_again;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- void
- _Deque_base<_Tp, _Alloc>::
- _M_destroy_nodes(_Tp** __nstart, _Tp** __nfinish)
- {
- for (_Tp** __n = __nstart; __n < __nfinish; ++__n)
- _M_deallocate_node(*__n);
- }
-
- /**
- * @brief A standard container using fixed-size memory allocation and
- * constant-time manipulation of elements at either end.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and a
- * <a href="tables.html#67">sequence</a>, including the
- * <a href="tables.html#68">optional sequence requirements</a>.
- *
- * In previous HP/SGI versions of deque, there was an extra template
- * parameter so users could control the node size. This extension turned
- * out to violate the C++ standard (it can be detected using template
- * template parameters), and it was removed.
- *
- * @if maint
- * Here's how a deque<Tp> manages memory. Each deque has 4 members:
- *
- * - Tp** _M_map
- * - size_t _M_map_size
- * - iterator _M_start, _M_finish
- *
- * map_size is at least 8. %map is an array of map_size
- * pointers-to-"nodes". (The name %map has nothing to do with the
- * std::map class, and "nodes" should not be confused with
- * std::list's usage of "node".)
- *
- * A "node" has no specific type name as such, but it is referred
- * to as "node" in this file. It is a simple array-of-Tp. If Tp
- * is very large, there will be one Tp element per node (i.e., an
- * "array" of one). For non-huge Tp's, node size is inversely
- * related to Tp size: the larger the Tp, the fewer Tp's will fit
- * in a node. The goal here is to keep the total size of a node
- * relatively small and constant over different Tp's, to improve
- * allocator efficiency.
- *
- * Not every pointer in the %map array will point to a node. If
- * the initial number of elements in the deque is small, the
- * /middle/ %map pointers will be valid, and the ones at the edges
- * will be unused. This same situation will arise as the %map
- * grows: available %map pointers, if any, will be on the ends. As
- * new nodes are created, only a subset of the %map's pointers need
- * to be copied "outward".
- *
- * Class invariants:
- * - For any nonsingular iterator i:
- * - i.node points to a member of the %map array. (Yes, you read that
- * correctly: i.node does not actually point to a node.) The member of
- * the %map array is what actually points to the node.
- * - i.first == *(i.node) (This points to the node (first Tp element).)
- * - i.last == i.first + node_size
- * - i.cur is a pointer in the range [i.first, i.last). NOTE:
- * the implication of this is that i.cur is always a dereferenceable
- * pointer, even if i is a past-the-end iterator.
- * - Start and Finish are always nonsingular iterators. NOTE: this
- * means that an empty deque must have one node, a deque with <N
- * elements (where N is the node buffer size) must have one node, a
- * deque with N through (2N-1) elements must have two nodes, etc.
- * - For every node other than start.node and finish.node, every
- * element in the node is an initialized object. If start.node ==
- * finish.node, then [start.cur, finish.cur) are initialized
- * objects, and the elements outside that range are uninitialized
- * storage. Otherwise, [start.cur, start.last) and [finish.first,
- * finish.cur) are initialized objects, and [start.first, start.cur)
- * and [finish.cur, finish.last) are uninitialized storage.
- * - [%map, %map + map_size) is a valid, non-empty range.
- * - [start.node, finish.node] is a valid range contained within
- * [%map, %map + map_size).
- * - A pointer in the range [%map, %map + map_size) points to an allocated
- * node if and only if the pointer is in the range
- * [start.node, finish.node].
- *
- * Here's the magic: nothing in deque is "aware" of the discontiguous
- * storage!
- *
- * The memory setup and layout occurs in the parent, _Base, and the iterator
- * class is entirely responsible for "leaping" from one node to the next.
- * All the implementation routines for deque itself work only through the
- * start and finish iterators. This keeps the routines simple and sane,
- * and we can use other standard algorithms as well.
- * @endif
- */
- template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
- class deque : protected _Deque_base<_Tp, _Alloc>
- {
- // concept requirements
- typedef typename _Alloc::value_type _Alloc_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires2(_Tp, _Alloc_value_type, _SameTypeConcept)
-
- typedef _Deque_base<_Tp, _Alloc> _Base;
- typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
-
- public:
- typedef _Tp value_type;
- typedef typename _Tp_alloc_type::pointer pointer;
- typedef typename _Tp_alloc_type::const_pointer const_pointer;
- typedef typename _Tp_alloc_type::reference reference;
- typedef typename _Tp_alloc_type::const_reference const_reference;
- typedef typename _Base::iterator iterator;
- typedef typename _Base::const_iterator const_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Alloc allocator_type;
-
- protected:
- typedef pointer* _Map_pointer;
-
- static size_t _S_buffer_size()
- { return __deque_buf_size(sizeof(_Tp)); }
-
- // Functions controlling memory layout, and nothing else.
- using _Base::_M_initialize_map;
- using _Base::_M_create_nodes;
- using _Base::_M_destroy_nodes;
- using _Base::_M_allocate_node;
- using _Base::_M_deallocate_node;
- using _Base::_M_allocate_map;
- using _Base::_M_deallocate_map;
- using _Base::_M_get_Tp_allocator;
-
- /** @if maint
- * A total of four data members accumulated down the heirarchy.
- * May be accessed via _M_impl.*
- * @endif
- */
- using _Base::_M_impl;
-
- public:
- // [23.2.1.1] construct/copy/destroy
- // (assign() and get_allocator() are also listed in this section)
- /**
- * @brief Default constructor creates no elements.
- */
- deque()
- : _Base() { }
-
- explicit
- deque(const allocator_type& __a)
- : _Base(__a, 0) {}
-
- /**
- * @brief Create a %deque with copies of an exemplar element.
- * @param n The number of elements to initially create.
- * @param value An element to copy.
- *
- * This constructor fills the %deque with @a n copies of @a value.
- */
- explicit
- deque(size_type __n, const value_type& __value = value_type(),
- const allocator_type& __a = allocator_type())
- : _Base(__a, __n)
- { _M_fill_initialize(__value); }
-
- /**
- * @brief %Deque copy constructor.
- * @param x A %deque of identical element and allocator types.
- *
- * The newly-created %deque uses a copy of the allocation object used
- * by @a x.
- */
- deque(const deque& __x)
- : _Base(__x._M_get_Tp_allocator(), __x.size())
- { std::__uninitialized_copy_a(__x.begin(), __x.end(),
- this->_M_impl._M_start,
- _M_get_Tp_allocator()); }
-
- /**
- * @brief Builds a %deque from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * Create a %deque consisting of copies of the elements from [first,
- * last).
- *
- * If the iterators are forward, bidirectional, or random-access, then
- * this will call the elements' copy constructor N times (where N is
- * distance(first,last)) and do no memory reallocation. But if only
- * input iterators are used, then this will do at most 2N calls to the
- * copy constructor, and logN memory reallocations.
- */
- template<typename _InputIterator>
- deque(_InputIterator __first, _InputIterator __last,
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- {
- // Check whether it's an integral type. If so, it's not an iterator.
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_initialize_dispatch(__first, __last, _Integral());
- }
-
- /**
- * The dtor only erases the elements, and note that if the elements
- * themselves are pointers, the pointed-to memory is not touched in any
- * way. Managing the pointer is the user's responsibilty.
- */
- ~deque()
- { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); }
-
- /**
- * @brief %Deque assignment operator.
- * @param x A %deque of identical element and allocator types.
- *
- * All the elements of @a x are copied, but unlike the copy constructor,
- * the allocator object is not copied.
- */
- deque&
- operator=(const deque& __x);
-
- /**
- * @brief Assigns a given value to a %deque.
- * @param n Number of elements to be assigned.
- * @param val Value to be assigned.
- *
- * This function fills a %deque with @a n copies of the given
- * value. Note that the assignment completely changes the
- * %deque and that the resulting %deque's size is the same as
- * the number of elements assigned. Old data may be lost.
- */
- void
- assign(size_type __n, const value_type& __val)
- { _M_fill_assign(__n, __val); }
-
- /**
- * @brief Assigns a range to a %deque.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * This function fills a %deque with copies of the elements in the
- * range [first,last).
- *
- * Note that the assignment completely changes the %deque and that the
- * resulting %deque's size is the same as the number of elements
- * assigned. Old data may be lost.
- */
- template<typename _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_assign_dispatch(__first, __last, _Integral());
- }
-
- /// Get a copy of the memory allocation object.
- allocator_type
- get_allocator() const
- { return _Base::get_allocator(); }
-
- // iterators
- /**
- * Returns a read/write iterator that points to the first element in the
- * %deque. Iteration is done in ordinary element order.
- */
- iterator
- begin()
- { return this->_M_impl._M_start; }
-
- /**
- * Returns a read-only (constant) iterator that points to the first
- * element in the %deque. Iteration is done in ordinary element order.
- */
- const_iterator
- begin() const
- { return this->_M_impl._M_start; }
-
- /**
- * Returns a read/write iterator that points one past the last
- * element in the %deque. Iteration is done in ordinary
- * element order.
- */
- iterator
- end()
- { return this->_M_impl._M_finish; }
-
- /**
- * Returns a read-only (constant) iterator that points one past
- * the last element in the %deque. Iteration is done in
- * ordinary element order.
- */
- const_iterator
- end() const
- { return this->_M_impl._M_finish; }
-
- /**
- * Returns a read/write reverse iterator that points to the
- * last element in the %deque. Iteration is done in reverse
- * element order.
- */
- reverse_iterator
- rbegin()
- { return reverse_iterator(this->_M_impl._M_finish); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to the last element in the %deque. Iteration is done in
- * reverse element order.
- */
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(this->_M_impl._M_finish); }
-
- /**
- * Returns a read/write reverse iterator that points to one
- * before the first element in the %deque. Iteration is done
- * in reverse element order.
- */
- reverse_iterator
- rend()
- { return reverse_iterator(this->_M_impl._M_start); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to one before the first element in the %deque. Iteration is
- * done in reverse element order.
- */
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(this->_M_impl._M_start); }
-
- // [23.2.1.2] capacity
- /** Returns the number of elements in the %deque. */
- size_type
- size() const
- { return this->_M_impl._M_finish - this->_M_impl._M_start; }
-
- /** Returns the size() of the largest possible %deque. */
- size_type
- max_size() const
- { return _M_get_Tp_allocator().max_size(); }
-
- /**
- * @brief Resizes the %deque to the specified number of elements.
- * @param new_size Number of elements the %deque should contain.
- * @param x Data with which new elements should be populated.
- *
- * This function will %resize the %deque to the specified
- * number of elements. If the number is smaller than the
- * %deque's current size the %deque is truncated, otherwise the
- * %deque is extended and new elements are populated with given
- * data.
- */
- void
- resize(size_type __new_size, value_type __x = value_type())
- {
- const size_type __len = size();
- if (__new_size < __len)
- _M_erase_at_end(this->_M_impl._M_start + difference_type(__new_size));
- else
- insert(this->_M_impl._M_finish, __new_size - __len, __x);
- }
-
- /**
- * Returns true if the %deque is empty. (Thus begin() would
- * equal end().)
- */
- bool
- empty() const
- { return this->_M_impl._M_finish == this->_M_impl._M_start; }
-
- // element access
- /**
- * @brief Subscript access to the data contained in the %deque.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read/write reference to data.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().)
- */
- reference
- operator[](size_type __n)
- { return this->_M_impl._M_start[difference_type(__n)]; }
-
- /**
- * @brief Subscript access to the data contained in the %deque.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read-only (constant) reference to data.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().)
- */
- const_reference
- operator[](size_type __n) const
- { return this->_M_impl._M_start[difference_type(__n)]; }
-
- protected:
- /// @if maint Safety check used only from at(). @endif
- void
- _M_range_check(size_type __n) const
- {
- if (__n >= this->size())
- __throw_out_of_range(__N("deque::_M_range_check"));
- }
-
- public:
- /**
- * @brief Provides access to the data contained in the %deque.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read/write reference to data.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter
- * is first checked that it is in the range of the deque. The
- * function throws out_of_range if the check fails.
- */
- reference
- at(size_type __n)
- {
- _M_range_check(__n);
- return (*this)[__n];
- }
-
- /**
- * @brief Provides access to the data contained in the %deque.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read-only (constant) reference to data.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter is first
- * checked that it is in the range of the deque. The function throws
- * out_of_range if the check fails.
- */
- const_reference
- at(size_type __n) const
- {
- _M_range_check(__n);
- return (*this)[__n];
- }
-
- /**
- * Returns a read/write reference to the data at the first
- * element of the %deque.
- */
- reference
- front()
- { return *begin(); }
-
- /**
- * Returns a read-only (constant) reference to the data at the first
- * element of the %deque.
- */
- const_reference
- front() const
- { return *begin(); }
-
- /**
- * Returns a read/write reference to the data at the last element of the
- * %deque.
- */
- reference
- back()
- {
- iterator __tmp = end();
- --__tmp;
- return *__tmp;
- }
-
- /**
- * Returns a read-only (constant) reference to the data at the last
- * element of the %deque.
- */
- const_reference
- back() const
- {
- const_iterator __tmp = end();
- --__tmp;
- return *__tmp;
- }
-
- // [23.2.1.2] modifiers
- /**
- * @brief Add data to the front of the %deque.
- * @param x Data to be added.
- *
- * This is a typical stack operation. The function creates an
- * element at the front of the %deque and assigns the given
- * data to it. Due to the nature of a %deque this operation
- * can be done in constant time.
- */
- void
- push_front(const value_type& __x)
- {
- if (this->_M_impl._M_start._M_cur != this->_M_impl._M_start._M_first)
- {
- this->_M_impl.construct(this->_M_impl._M_start._M_cur - 1, __x);
- --this->_M_impl._M_start._M_cur;
- }
- else
- _M_push_front_aux(__x);
- }
-
- /**
- * @brief Add data to the end of the %deque.
- * @param x Data to be added.
- *
- * This is a typical stack operation. The function creates an
- * element at the end of the %deque and assigns the given data
- * to it. Due to the nature of a %deque this operation can be
- * done in constant time.
- */
- void
- push_back(const value_type& __x)
- {
- if (this->_M_impl._M_finish._M_cur
- != this->_M_impl._M_finish._M_last - 1)
- {
- this->_M_impl.construct(this->_M_impl._M_finish._M_cur, __x);
- ++this->_M_impl._M_finish._M_cur;
- }
- else
- _M_push_back_aux(__x);
- }
-
- /**
- * @brief Removes first element.
- *
- * This is a typical stack operation. It shrinks the %deque by one.
- *
- * Note that no data is returned, and if the first element's data is
- * needed, it should be retrieved before pop_front() is called.
- */
- void
- pop_front()
- {
- if (this->_M_impl._M_start._M_cur
- != this->_M_impl._M_start._M_last - 1)
- {
- this->_M_impl.destroy(this->_M_impl._M_start._M_cur);
- ++this->_M_impl._M_start._M_cur;
- }
- else
- _M_pop_front_aux();
- }
-
- /**
- * @brief Removes last element.
- *
- * This is a typical stack operation. It shrinks the %deque by one.
- *
- * Note that no data is returned, and if the last element's data is
- * needed, it should be retrieved before pop_back() is called.
- */
- void
- pop_back()
- {
- if (this->_M_impl._M_finish._M_cur
- != this->_M_impl._M_finish._M_first)
- {
- --this->_M_impl._M_finish._M_cur;
- this->_M_impl.destroy(this->_M_impl._M_finish._M_cur);
- }
- else
- _M_pop_back_aux();
- }
-
- /**
- * @brief Inserts given value into %deque before specified iterator.
- * @param position An iterator into the %deque.
- * @param x Data to be inserted.
- * @return An iterator that points to the inserted data.
- *
- * This function will insert a copy of the given value before the
- * specified location.
- */
- iterator
- insert(iterator __position, const value_type& __x);
-
- /**
- * @brief Inserts a number of copies of given data into the %deque.
- * @param position An iterator into the %deque.
- * @param n Number of elements to be inserted.
- * @param x Data to be inserted.
- *
- * This function will insert a specified number of copies of the given
- * data before the location specified by @a position.
- */
- void
- insert(iterator __position, size_type __n, const value_type& __x)
- { _M_fill_insert(__position, __n, __x); }
-
- /**
- * @brief Inserts a range into the %deque.
- * @param position An iterator into the %deque.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * This function will insert copies of the data in the range
- * [first,last) into the %deque before the location specified
- * by @a pos. This is known as "range insert."
- */
- template<typename _InputIterator>
- void
- insert(iterator __position, _InputIterator __first,
- _InputIterator __last)
- {
- // Check whether it's an integral type. If so, it's not an iterator.
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_insert_dispatch(__position, __first, __last, _Integral());
- }
-
- /**
- * @brief Remove element at given position.
- * @param position Iterator pointing to element to be erased.
- * @return An iterator pointing to the next element (or end()).
- *
- * This function will erase the element at the given position and thus
- * shorten the %deque by one.
- *
- * The user is cautioned that
- * this function only erases the element, and that if the element is
- * itself a pointer, the pointed-to memory is not touched in any way.
- * Managing the pointer is the user's responsibilty.
- */
- iterator
- erase(iterator __position);
-
- /**
- * @brief Remove a range of elements.
- * @param first Iterator pointing to the first element to be erased.
- * @param last Iterator pointing to one past the last element to be
- * erased.
- * @return An iterator pointing to the element pointed to by @a last
- * prior to erasing (or end()).
- *
- * This function will erase the elements in the range [first,last) and
- * shorten the %deque accordingly.
- *
- * The user is cautioned that
- * this function only erases the elements, and that if the elements
- * themselves are pointers, the pointed-to memory is not touched in any
- * way. Managing the pointer is the user's responsibilty.
- */
- iterator
- erase(iterator __first, iterator __last);
-
- /**
- * @brief Swaps data with another %deque.
- * @param x A %deque of the same element and allocator types.
- *
- * This exchanges the elements between two deques in constant time.
- * (Four pointers, so it should be quite fast.)
- * Note that the global std::swap() function is specialized such that
- * std::swap(d1,d2) will feed to this function.
- */
- void
- swap(deque& __x)
- {
- std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
- std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
- std::swap(this->_M_impl._M_map, __x._M_impl._M_map);
- std::swap(this->_M_impl._M_map_size, __x._M_impl._M_map_size);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<_Tp_alloc_type>::_S_do_it(_M_get_Tp_allocator(),
- __x._M_get_Tp_allocator());
- }
-
- /**
- * Erases all the elements. Note that this function only erases the
- * elements, and that if the elements themselves are pointers, the
- * pointed-to memory is not touched in any way. Managing the pointer is
- * the user's responsibilty.
- */
- void
- clear()
- { _M_erase_at_end(begin()); }
-
- protected:
- // Internal constructor functions follow.
-
- // called by the range constructor to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
- {
- _M_initialize_map(__n);
- _M_fill_initialize(__x);
- }
-
- // called by the range constructor to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type)
- {
- typedef typename std::iterator_traits<_InputIterator>::
- iterator_category _IterCategory;
- _M_range_initialize(__first, __last, _IterCategory());
- }
-
- // called by the second initialize_dispatch above
- //@{
- /**
- * @if maint
- * @brief Fills the deque with whatever is in [first,last).
- * @param first An input iterator.
- * @param last An input iterator.
- * @return Nothing.
- *
- * If the iterators are actually forward iterators (or better), then the
- * memory layout can be done all at once. Else we move forward using
- * push_back on each value from the iterator.
- * @endif
- */
- template<typename _InputIterator>
- void
- _M_range_initialize(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag);
-
- // called by the second initialize_dispatch above
- template<typename _ForwardIterator>
- void
- _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag);
- //@}
-
- /**
- * @if maint
- * @brief Fills the %deque with copies of value.
- * @param value Initial value.
- * @return Nothing.
- * @pre _M_start and _M_finish have already been initialized,
- * but none of the %deque's elements have yet been constructed.
- *
- * This function is called only when the user provides an explicit size
- * (with or without an explicit exemplar value).
- * @endif
- */
- void
- _M_fill_initialize(const value_type& __value);
-
- // Internal assign functions follow. The *_aux functions do the actual
- // assignment work for the range versions.
-
- // called by the range assign to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
- {
- _M_fill_assign(static_cast<size_type>(__n),
- static_cast<value_type>(__val));
- }
-
- // called by the range assign to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type)
- {
- typedef typename std::iterator_traits<_InputIterator>::
- iterator_category _IterCategory;
- _M_assign_aux(__first, __last, _IterCategory());
- }
-
- // called by the second assign_dispatch above
- template<typename _InputIterator>
- void
- _M_assign_aux(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag);
-
- // called by the second assign_dispatch above
- template<typename _ForwardIterator>
- void
- _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag)
- {
- const size_type __len = std::distance(__first, __last);
- if (__len > size())
- {
- _ForwardIterator __mid = __first;
- std::advance(__mid, size());
- std::copy(__first, __mid, begin());
- insert(end(), __mid, __last);
- }
- else
- _M_erase_at_end(std::copy(__first, __last, begin()));
- }
-
- // Called by assign(n,t), and the range assign when it turns out
- // to be the same thing.
- void
- _M_fill_assign(size_type __n, const value_type& __val)
- {
- if (__n > size())
- {
- std::fill(begin(), end(), __val);
- insert(end(), __n - size(), __val);
- }
- else
- {
- _M_erase_at_end(begin() + difference_type(__n));
- std::fill(begin(), end(), __val);
- }
- }
-
- //@{
- /**
- * @if maint
- * @brief Helper functions for push_* and pop_*.
- * @endif
- */
- void _M_push_back_aux(const value_type&);
-
- void _M_push_front_aux(const value_type&);
-
- void _M_pop_back_aux();
-
- void _M_pop_front_aux();
- //@}
-
- // Internal insert functions follow. The *_aux functions do the actual
- // insertion work when all shortcuts fail.
-
- // called by the range insert to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_insert_dispatch(iterator __pos,
- _Integer __n, _Integer __x, __true_type)
- {
- _M_fill_insert(__pos, static_cast<size_type>(__n),
- static_cast<value_type>(__x));
- }
-
- // called by the range insert to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_insert_dispatch(iterator __pos,
- _InputIterator __first, _InputIterator __last,
- __false_type)
- {
- typedef typename std::iterator_traits<_InputIterator>::
- iterator_category _IterCategory;
- _M_range_insert_aux(__pos, __first, __last, _IterCategory());
- }
-
- // called by the second insert_dispatch above
- template<typename _InputIterator>
- void
- _M_range_insert_aux(iterator __pos, _InputIterator __first,
- _InputIterator __last, std::input_iterator_tag);
-
- // called by the second insert_dispatch above
- template<typename _ForwardIterator>
- void
- _M_range_insert_aux(iterator __pos, _ForwardIterator __first,
- _ForwardIterator __last, std::forward_iterator_tag);
-
- // Called by insert(p,n,x), and the range insert when it turns out to be
- // the same thing. Can use fill functions in optimal situations,
- // otherwise passes off to insert_aux(p,n,x).
- void
- _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
-
- // called by insert(p,x)
- iterator
- _M_insert_aux(iterator __pos, const value_type& __x);
-
- // called by insert(p,n,x) via fill_insert
- void
- _M_insert_aux(iterator __pos, size_type __n, const value_type& __x);
-
- // called by range_insert_aux for forward iterators
- template<typename _ForwardIterator>
- void
- _M_insert_aux(iterator __pos,
- _ForwardIterator __first, _ForwardIterator __last,
- size_type __n);
-
-
- // Internal erase functions follow.
-
- void
- _M_destroy_data_aux(iterator __first, iterator __last);
-
- void
- _M_destroy_data_dispatch(iterator, iterator, __true_type) { }
-
- void
- _M_destroy_data_dispatch(iterator __first, iterator __last, __false_type)
- { _M_destroy_data_aux(__first, __last); }
-
- // Called by ~deque().
- // NB: Doesn't deallocate the nodes.
- template<typename _Alloc1>
- void
- _M_destroy_data(iterator __first, iterator __last, const _Alloc1&)
- { _M_destroy_data_aux(__first, __last); }
-
- void
- _M_destroy_data(iterator __first, iterator __last,
- const std::allocator<_Tp>&)
- {
- typedef typename std::__is_scalar<value_type>::__type
- _Has_trivial_destructor;
- _M_destroy_data_dispatch(__first, __last, _Has_trivial_destructor());
- }
-
- // Called by erase(q1, q2).
- void
- _M_erase_at_begin(iterator __pos)
- {
- _M_destroy_data(begin(), __pos, _M_get_Tp_allocator());
- _M_destroy_nodes(this->_M_impl._M_start._M_node, __pos._M_node);
- this->_M_impl._M_start = __pos;
- }
-
- // Called by erase(q1, q2), resize(), clear(), _M_assign_aux,
- // _M_fill_assign, operator=.
- void
- _M_erase_at_end(iterator __pos)
- {
- _M_destroy_data(__pos, end(), _M_get_Tp_allocator());
- _M_destroy_nodes(__pos._M_node + 1,
- this->_M_impl._M_finish._M_node + 1);
- this->_M_impl._M_finish = __pos;
- }
-
- //@{
- /**
- * @if maint
- * @brief Memory-handling helpers for the previous internal insert
- * functions.
- * @endif
- */
- iterator
- _M_reserve_elements_at_front(size_type __n)
- {
- const size_type __vacancies = this->_M_impl._M_start._M_cur
- - this->_M_impl._M_start._M_first;
- if (__n > __vacancies)
- _M_new_elements_at_front(__n - __vacancies);
- return this->_M_impl._M_start - difference_type(__n);
- }
-
- iterator
- _M_reserve_elements_at_back(size_type __n)
- {
- const size_type __vacancies = (this->_M_impl._M_finish._M_last
- - this->_M_impl._M_finish._M_cur) - 1;
- if (__n > __vacancies)
- _M_new_elements_at_back(__n - __vacancies);
- return this->_M_impl._M_finish + difference_type(__n);
- }
-
- void
- _M_new_elements_at_front(size_type __new_elements);
-
- void
- _M_new_elements_at_back(size_type __new_elements);
- //@}
-
-
- //@{
- /**
- * @if maint
- * @brief Memory-handling helpers for the major %map.
- *
- * Makes sure the _M_map has space for new nodes. Does not
- * actually add the nodes. Can invalidate _M_map pointers.
- * (And consequently, %deque iterators.)
- * @endif
- */
- void
- _M_reserve_map_at_back(size_type __nodes_to_add = 1)
- {
- if (__nodes_to_add + 1 > this->_M_impl._M_map_size
- - (this->_M_impl._M_finish._M_node - this->_M_impl._M_map))
- _M_reallocate_map(__nodes_to_add, false);
- }
-
- void
- _M_reserve_map_at_front(size_type __nodes_to_add = 1)
- {
- if (__nodes_to_add > size_type(this->_M_impl._M_start._M_node
- - this->_M_impl._M_map))
- _M_reallocate_map(__nodes_to_add, true);
- }
-
- void
- _M_reallocate_map(size_type __nodes_to_add, bool __add_at_front);
- //@}
- };
-
-
- /**
- * @brief Deque equality comparison.
- * @param x A %deque.
- * @param y A %deque of the same type as @a x.
- * @return True iff the size and elements of the deques are equal.
- *
- * This is an equivalence relation. It is linear in the size of the
- * deques. Deques are considered equivalent if their sizes are equal,
- * and if corresponding elements compare equal.
- */
- template<typename _Tp, typename _Alloc>
- inline bool
- operator==(const deque<_Tp, _Alloc>& __x,
- const deque<_Tp, _Alloc>& __y)
- { return __x.size() == __y.size()
- && std::equal(__x.begin(), __x.end(), __y.begin()); }
-
- /**
- * @brief Deque ordering relation.
- * @param x A %deque.
- * @param y A %deque of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is a total ordering relation. It is linear in the size of the
- * deques. The elements must be comparable with @c <.
- *
- * See std::lexicographical_compare() for how the determination is made.
- */
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<(const deque<_Tp, _Alloc>& __x,
- const deque<_Tp, _Alloc>& __y)
- { return std::lexicographical_compare(__x.begin(), __x.end(),
- __y.begin(), __y.end()); }
-
- /// Based on operator==
- template<typename _Tp, typename _Alloc>
- inline bool
- operator!=(const deque<_Tp, _Alloc>& __x,
- const deque<_Tp, _Alloc>& __y)
- { return !(__x == __y); }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>(const deque<_Tp, _Alloc>& __x,
- const deque<_Tp, _Alloc>& __y)
- { return __y < __x; }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<=(const deque<_Tp, _Alloc>& __x,
- const deque<_Tp, _Alloc>& __y)
- { return !(__y < __x); }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>=(const deque<_Tp, _Alloc>& __x,
- const deque<_Tp, _Alloc>& __y)
- { return !(__x < __y); }
-
- /// See std::deque::swap().
- template<typename _Tp, typename _Alloc>
- inline void
- swap(deque<_Tp,_Alloc>& __x, deque<_Tp,_Alloc>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _DEQUE_H */
diff --git a/contrib/libstdc++/include/bits/stl_function.h b/contrib/libstdc++/include/bits/stl_function.h
deleted file mode 100644
index db213dc0a925..000000000000
--- a/contrib/libstdc++/include/bits/stl_function.h
+++ /dev/null
@@ -1,755 +0,0 @@
-// Functor implementations -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996-1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_function.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _FUNCTION_H
-#define _FUNCTION_H 1
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 20.3.1 base classes
- /** @defgroup s20_3_1_base Functor Base Classes
- * Function objects, or @e functors, are objects with an @c operator()
- * defined and accessible. They can be passed as arguments to algorithm
- * templates and used in place of a function pointer. Not only is the
- * resulting expressiveness of the library increased, but the generated
- * code can be more efficient than what you might write by hand. When we
- * refer to "functors," then, generally we include function pointers in
- * the description as well.
- *
- * Often, functors are only created as temporaries passed to algorithm
- * calls, rather than being created as named variables.
- *
- * Two examples taken from the standard itself follow. To perform a
- * by-element addition of two vectors @c a and @c b containing @c double,
- * and put the result in @c a, use
- * \code
- * transform (a.begin(), a.end(), b.begin(), a.begin(), plus<double>());
- * \endcode
- * To negate every element in @c a, use
- * \code
- * transform(a.begin(), a.end(), a.begin(), negate<double>());
- * \endcode
- * The addition and negation functions will be inlined directly.
- *
- * The standard functors are derived from structs named @c unary_function
- * and @c binary_function. These two classes contain nothing but typedefs,
- * to aid in generic (template) programming. If you write your own
- * functors, you might consider doing the same.
- *
- * @{
- */
- /**
- * This is one of the @link s20_3_1_base functor base classes@endlink.
- */
- template <class _Arg, class _Result>
- struct unary_function
- {
- typedef _Arg argument_type; ///< @c argument_type is the type of the
- /// argument (no surprises here)
-
- typedef _Result result_type; ///< @c result_type is the return type
- };
-
- /**
- * This is one of the @link s20_3_1_base functor base classes@endlink.
- */
- template <class _Arg1, class _Arg2, class _Result>
- struct binary_function
- {
- typedef _Arg1 first_argument_type; ///< the type of the first argument
- /// (no surprises here)
-
- typedef _Arg2 second_argument_type; ///< the type of the second argument
- typedef _Result result_type; ///< type of the return type
- };
- /** @} */
-
- // 20.3.2 arithmetic
- /** @defgroup s20_3_2_arithmetic Arithmetic Classes
- * Because basic math often needs to be done during an algorithm, the library
- * provides functors for those operations. See the documentation for
- * @link s20_3_1_base the base classes@endlink for examples of their use.
- *
- * @{
- */
- /// One of the @link s20_3_2_arithmetic math functors@endlink.
- template <class _Tp>
- struct plus : public binary_function<_Tp, _Tp, _Tp>
- {
- _Tp
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x + __y; }
- };
-
- /// One of the @link s20_3_2_arithmetic math functors@endlink.
- template <class _Tp>
- struct minus : public binary_function<_Tp, _Tp, _Tp>
- {
- _Tp
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x - __y; }
- };
-
- /// One of the @link s20_3_2_arithmetic math functors@endlink.
- template <class _Tp>
- struct multiplies : public binary_function<_Tp, _Tp, _Tp>
- {
- _Tp
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x * __y; }
- };
-
- /// One of the @link s20_3_2_arithmetic math functors@endlink.
- template <class _Tp>
- struct divides : public binary_function<_Tp, _Tp, _Tp>
- {
- _Tp
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x / __y; }
- };
-
- /// One of the @link s20_3_2_arithmetic math functors@endlink.
- template <class _Tp>
- struct modulus : public binary_function<_Tp, _Tp, _Tp>
- {
- _Tp
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x % __y; }
- };
-
- /// One of the @link s20_3_2_arithmetic math functors@endlink.
- template <class _Tp>
- struct negate : public unary_function<_Tp, _Tp>
- {
- _Tp
- operator()(const _Tp& __x) const
- { return -__x; }
- };
- /** @} */
-
- // 20.3.3 comparisons
- /** @defgroup s20_3_3_comparisons Comparison Classes
- * The library provides six wrapper functors for all the basic comparisons
- * in C++, like @c <.
- *
- * @{
- */
- /// One of the @link s20_3_3_comparisons comparison functors@endlink.
- template <class _Tp>
- struct equal_to : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x == __y; }
- };
-
- /// One of the @link s20_3_3_comparisons comparison functors@endlink.
- template <class _Tp>
- struct not_equal_to : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x != __y; }
- };
-
- /// One of the @link s20_3_3_comparisons comparison functors@endlink.
- template <class _Tp>
- struct greater : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x > __y; }
- };
-
- /// One of the @link s20_3_3_comparisons comparison functors@endlink.
- template <class _Tp>
- struct less : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x < __y; }
- };
-
- /// One of the @link s20_3_3_comparisons comparison functors@endlink.
- template <class _Tp>
- struct greater_equal : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x >= __y; }
- };
-
- /// One of the @link s20_3_3_comparisons comparison functors@endlink.
- template <class _Tp>
- struct less_equal : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x <= __y; }
- };
- /** @} */
-
- // 20.3.4 logical operations
- /** @defgroup s20_3_4_logical Boolean Operations Classes
- * Here are wrapper functors for Boolean operations: @c &&, @c ||, and @c !.
- *
- * @{
- */
- /// One of the @link s20_3_4_logical Boolean operations functors@endlink.
- template <class _Tp>
- struct logical_and : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x && __y; }
- };
-
- /// One of the @link s20_3_4_logical Boolean operations functors@endlink.
- template <class _Tp>
- struct logical_or : public binary_function<_Tp, _Tp, bool>
- {
- bool
- operator()(const _Tp& __x, const _Tp& __y) const
- { return __x || __y; }
- };
-
- /// One of the @link s20_3_4_logical Boolean operations functors@endlink.
- template <class _Tp>
- struct logical_not : public unary_function<_Tp, bool>
- {
- bool
- operator()(const _Tp& __x) const
- { return !__x; }
- };
- /** @} */
-
- // 20.3.5 negators
- /** @defgroup s20_3_5_negators Negators
- * The functions @c not1 and @c not2 each take a predicate functor
- * and return an instance of @c unary_negate or
- * @c binary_negate, respectively. These classes are functors whose
- * @c operator() performs the stored predicate function and then returns
- * the negation of the result.
- *
- * For example, given a vector of integers and a trivial predicate,
- * \code
- * struct IntGreaterThanThree
- * : public std::unary_function<int, bool>
- * {
- * bool operator() (int x) { return x > 3; }
- * };
- *
- * std::find_if (v.begin(), v.end(), not1(IntGreaterThanThree()));
- * \endcode
- * The call to @c find_if will locate the first index (i) of @c v for which
- * "!(v[i] > 3)" is true.
- *
- * The not1/unary_negate combination works on predicates taking a single
- * argument. The not2/binary_negate combination works on predicates which
- * take two arguments.
- *
- * @{
- */
- /// One of the @link s20_3_5_negators negation functors@endlink.
- template <class _Predicate>
- class unary_negate
- : public unary_function<typename _Predicate::argument_type, bool>
- {
- protected:
- _Predicate _M_pred;
- public:
- explicit
- unary_negate(const _Predicate& __x) : _M_pred(__x) {}
-
- bool
- operator()(const typename _Predicate::argument_type& __x) const
- { return !_M_pred(__x); }
- };
-
- /// One of the @link s20_3_5_negators negation functors@endlink.
- template <class _Predicate>
- inline unary_negate<_Predicate>
- not1(const _Predicate& __pred)
- { return unary_negate<_Predicate>(__pred); }
-
- /// One of the @link s20_3_5_negators negation functors@endlink.
- template <class _Predicate>
- class binary_negate
- : public binary_function<typename _Predicate::first_argument_type,
- typename _Predicate::second_argument_type,
- bool>
- {
- protected:
- _Predicate _M_pred;
- public:
- explicit
- binary_negate(const _Predicate& __x)
- : _M_pred(__x) { }
-
- bool
- operator()(const typename _Predicate::first_argument_type& __x,
- const typename _Predicate::second_argument_type& __y) const
- { return !_M_pred(__x, __y); }
- };
-
- /// One of the @link s20_3_5_negators negation functors@endlink.
- template <class _Predicate>
- inline binary_negate<_Predicate>
- not2(const _Predicate& __pred)
- { return binary_negate<_Predicate>(__pred); }
- /** @} */
-
- // 20.3.6 binders
- /** @defgroup s20_3_6_binder Binder Classes
- * Binders turn functions/functors with two arguments into functors with
- * a single argument, storing an argument to be applied later. For
- * example, a variable @c B of type @c binder1st is constructed from a
- * functor @c f and an argument @c x. Later, B's @c operator() is called
- * with a single argument @c y. The return value is the value of @c f(x,y).
- * @c B can be "called" with various arguments (y1, y2, ...) and will in
- * turn call @c f(x,y1), @c f(x,y2), ...
- *
- * The function @c bind1st is provided to save some typing. It takes the
- * function and an argument as parameters, and returns an instance of
- * @c binder1st.
- *
- * The type @c binder2nd and its creator function @c bind2nd do the same
- * thing, but the stored argument is passed as the second parameter instead
- * of the first, e.g., @c bind2nd(std::minus<float>,1.3) will create a
- * functor whose @c operator() accepts a floating-point number, subtracts
- * 1.3 from it, and returns the result. (If @c bind1st had been used,
- * the functor would perform "1.3 - x" instead.
- *
- * Creator-wrapper functions like @c bind1st are intended to be used in
- * calling algorithms. Their return values will be temporary objects.
- * (The goal is to not require you to type names like
- * @c std::binder1st<std::plus<int>> for declaring a variable to hold the
- * return value from @c bind1st(std::plus<int>,5).
- *
- * These become more useful when combined with the composition functions.
- *
- * @{
- */
- /// One of the @link s20_3_6_binder binder functors@endlink.
- template <class _Operation>
- class binder1st
- : public unary_function<typename _Operation::second_argument_type,
- typename _Operation::result_type>
- {
- protected:
- _Operation op;
- typename _Operation::first_argument_type value;
- public:
- binder1st(const _Operation& __x,
- const typename _Operation::first_argument_type& __y)
- : op(__x), value(__y) {}
-
- typename _Operation::result_type
- operator()(const typename _Operation::second_argument_type& __x) const
- { return op(value, __x); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 109. Missing binders for non-const sequence elements
- typename _Operation::result_type
- operator()(typename _Operation::second_argument_type& __x) const
- { return op(value, __x); }
- };
-
- /// One of the @link s20_3_6_binder binder functors@endlink.
- template <class _Operation, class _Tp>
- inline binder1st<_Operation>
- bind1st(const _Operation& __fn, const _Tp& __x)
- {
- typedef typename _Operation::first_argument_type _Arg1_type;
- return binder1st<_Operation>(__fn, _Arg1_type(__x));
- }
-
- /// One of the @link s20_3_6_binder binder functors@endlink.
- template <class _Operation>
- class binder2nd
- : public unary_function<typename _Operation::first_argument_type,
- typename _Operation::result_type>
- {
- protected:
- _Operation op;
- typename _Operation::second_argument_type value;
- public:
- binder2nd(const _Operation& __x,
- const typename _Operation::second_argument_type& __y)
- : op(__x), value(__y) {}
-
- typename _Operation::result_type
- operator()(const typename _Operation::first_argument_type& __x) const
- { return op(__x, value); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 109. Missing binders for non-const sequence elements
- typename _Operation::result_type
- operator()(typename _Operation::first_argument_type& __x) const
- { return op(__x, value); }
- };
-
- /// One of the @link s20_3_6_binder binder functors@endlink.
- template <class _Operation, class _Tp>
- inline binder2nd<_Operation>
- bind2nd(const _Operation& __fn, const _Tp& __x)
- {
- typedef typename _Operation::second_argument_type _Arg2_type;
- return binder2nd<_Operation>(__fn, _Arg2_type(__x));
- }
- /** @} */
-
- // 20.3.7 adaptors pointers functions
- /** @defgroup s20_3_7_adaptors Adaptors for pointers to functions
- * The advantage of function objects over pointers to functions is that
- * the objects in the standard library declare nested typedefs describing
- * their argument and result types with uniform names (e.g., @c result_type
- * from the base classes @c unary_function and @c binary_function).
- * Sometimes those typedefs are required, not just optional.
- *
- * Adaptors are provided to turn pointers to unary (single-argument) and
- * binary (double-argument) functions into function objects. The
- * long-winded functor @c pointer_to_unary_function is constructed with a
- * function pointer @c f, and its @c operator() called with argument @c x
- * returns @c f(x). The functor @c pointer_to_binary_function does the same
- * thing, but with a double-argument @c f and @c operator().
- *
- * The function @c ptr_fun takes a pointer-to-function @c f and constructs
- * an instance of the appropriate functor.
- *
- * @{
- */
- /// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
- template <class _Arg, class _Result>
- class pointer_to_unary_function : public unary_function<_Arg, _Result>
- {
- protected:
- _Result (*_M_ptr)(_Arg);
- public:
- pointer_to_unary_function() {}
-
- explicit
- pointer_to_unary_function(_Result (*__x)(_Arg))
- : _M_ptr(__x) {}
-
- _Result
- operator()(_Arg __x) const
- { return _M_ptr(__x); }
- };
-
- /// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
- template <class _Arg, class _Result>
- inline pointer_to_unary_function<_Arg, _Result>
- ptr_fun(_Result (*__x)(_Arg))
- { return pointer_to_unary_function<_Arg, _Result>(__x); }
-
- /// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
- template <class _Arg1, class _Arg2, class _Result>
- class pointer_to_binary_function
- : public binary_function<_Arg1, _Arg2, _Result>
- {
- protected:
- _Result (*_M_ptr)(_Arg1, _Arg2);
- public:
- pointer_to_binary_function() {}
-
- explicit
- pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
- : _M_ptr(__x) {}
-
- _Result
- operator()(_Arg1 __x, _Arg2 __y) const
- { return _M_ptr(__x, __y); }
- };
-
- /// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
- template <class _Arg1, class _Arg2, class _Result>
- inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
- ptr_fun(_Result (*__x)(_Arg1, _Arg2))
- { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
- /** @} */
-
- template <class _Tp>
- struct _Identity : public unary_function<_Tp,_Tp>
- {
- _Tp&
- operator()(_Tp& __x) const
- { return __x; }
-
- const _Tp&
- operator()(const _Tp& __x) const
- { return __x; }
- };
-
- template <class _Pair>
- struct _Select1st : public unary_function<_Pair,
- typename _Pair::first_type>
- {
- typename _Pair::first_type&
- operator()(_Pair& __x) const
- { return __x.first; }
-
- const typename _Pair::first_type&
- operator()(const _Pair& __x) const
- { return __x.first; }
- };
-
- template <class _Pair>
- struct _Select2nd : public unary_function<_Pair,
- typename _Pair::second_type>
- {
- typename _Pair::second_type&
- operator()(_Pair& __x) const
- { return __x.second; }
-
- const typename _Pair::second_type&
- operator()(const _Pair& __x) const
- { return __x.second; }
- };
-
- // 20.3.8 adaptors pointers members
- /** @defgroup s20_3_8_memadaptors Adaptors for pointers to members
- * There are a total of 8 = 2^3 function objects in this family.
- * (1) Member functions taking no arguments vs member functions taking
- * one argument.
- * (2) Call through pointer vs call through reference.
- * (3) Const vs non-const member function.
- *
- * All of this complexity is in the function objects themselves. You can
- * ignore it by using the helper function mem_fun and mem_fun_ref,
- * which create whichever type of adaptor is appropriate.
- *
- * @{
- */
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp>
- class mem_fun_t : public unary_function<_Tp*, _Ret>
- {
- public:
- explicit
- mem_fun_t(_Ret (_Tp::*__pf)())
- : _M_f(__pf) {}
-
- _Ret
- operator()(_Tp* __p) const
- { return (__p->*_M_f)(); }
- private:
- _Ret (_Tp::*_M_f)();
- };
-
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp>
- class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
- {
- public:
- explicit
- const_mem_fun_t(_Ret (_Tp::*__pf)() const)
- : _M_f(__pf) {}
-
- _Ret
- operator()(const _Tp* __p) const
- { return (__p->*_M_f)(); }
- private:
- _Ret (_Tp::*_M_f)() const;
- };
-
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp>
- class mem_fun_ref_t : public unary_function<_Tp, _Ret>
- {
- public:
- explicit
- mem_fun_ref_t(_Ret (_Tp::*__pf)())
- : _M_f(__pf) {}
-
- _Ret
- operator()(_Tp& __r) const
- { return (__r.*_M_f)(); }
- private:
- _Ret (_Tp::*_M_f)();
- };
-
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp>
- class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
- {
- public:
- explicit
- const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
- : _M_f(__pf) {}
-
- _Ret
- operator()(const _Tp& __r) const
- { return (__r.*_M_f)(); }
- private:
- _Ret (_Tp::*_M_f)() const;
- };
-
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp, class _Arg>
- class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
- {
- public:
- explicit
- mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
- : _M_f(__pf) {}
-
- _Ret
- operator()(_Tp* __p, _Arg __x) const
- { return (__p->*_M_f)(__x); }
- private:
- _Ret (_Tp::*_M_f)(_Arg);
- };
-
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp, class _Arg>
- class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
- {
- public:
- explicit
- const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
- : _M_f(__pf) {}
-
- _Ret
- operator()(const _Tp* __p, _Arg __x) const
- { return (__p->*_M_f)(__x); }
- private:
- _Ret (_Tp::*_M_f)(_Arg) const;
- };
-
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp, class _Arg>
- class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
- {
- public:
- explicit
- mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
- : _M_f(__pf) {}
-
- _Ret
- operator()(_Tp& __r, _Arg __x) const
- { return (__r.*_M_f)(__x); }
- private:
- _Ret (_Tp::*_M_f)(_Arg);
- };
-
- /// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
- template <class _Ret, class _Tp, class _Arg>
- class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
- {
- public:
- explicit
- const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
- : _M_f(__pf) {}
-
- _Ret
- operator()(const _Tp& __r, _Arg __x) const
- { return (__r.*_M_f)(__x); }
- private:
- _Ret (_Tp::*_M_f)(_Arg) const;
- };
-
- // Mem_fun adaptor helper functions. There are only two:
- // mem_fun and mem_fun_ref.
- template <class _Ret, class _Tp>
- inline mem_fun_t<_Ret, _Tp>
- mem_fun(_Ret (_Tp::*__f)())
- { return mem_fun_t<_Ret, _Tp>(__f); }
-
- template <class _Ret, class _Tp>
- inline const_mem_fun_t<_Ret, _Tp>
- mem_fun(_Ret (_Tp::*__f)() const)
- { return const_mem_fun_t<_Ret, _Tp>(__f); }
-
- template <class _Ret, class _Tp>
- inline mem_fun_ref_t<_Ret, _Tp>
- mem_fun_ref(_Ret (_Tp::*__f)())
- { return mem_fun_ref_t<_Ret, _Tp>(__f); }
-
- template <class _Ret, class _Tp>
- inline const_mem_fun_ref_t<_Ret, _Tp>
- mem_fun_ref(_Ret (_Tp::*__f)() const)
- { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
-
- template <class _Ret, class _Tp, class _Arg>
- inline mem_fun1_t<_Ret, _Tp, _Arg>
- mem_fun(_Ret (_Tp::*__f)(_Arg))
- { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
-
- template <class _Ret, class _Tp, class _Arg>
- inline const_mem_fun1_t<_Ret, _Tp, _Arg>
- mem_fun(_Ret (_Tp::*__f)(_Arg) const)
- { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
-
- template <class _Ret, class _Tp, class _Arg>
- inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
- mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
- { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-
- template <class _Ret, class _Tp, class _Arg>
- inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
- mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
- { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-
- /** @} */
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _FUNCTION_H */
diff --git a/contrib/libstdc++/include/bits/stl_heap.h b/contrib/libstdc++/include/bits/stl_heap.h
deleted file mode 100644
index 2f0d04c5e4d4..000000000000
--- a/contrib/libstdc++/include/bits/stl_heap.h
+++ /dev/null
@@ -1,463 +0,0 @@
-// Heap implementation -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_heap.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STL_HEAP_H
-#define _STL_HEAP_H 1
-
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // is_heap, a predicate testing whether or not a range is
- // a heap. This function is an extension, not part of the C++
- // standard.
- template<typename _RandomAccessIterator, typename _Distance>
- bool
- __is_heap(_RandomAccessIterator __first, _Distance __n)
- {
- _Distance __parent = 0;
- for (_Distance __child = 1; __child < __n; ++__child)
- {
- if (__first[__parent] < __first[__child])
- return false;
- if ((__child & 1) == 0)
- ++__parent;
- }
- return true;
- }
-
- template<typename _RandomAccessIterator, typename _Distance,
- typename _StrictWeakOrdering>
- bool
- __is_heap(_RandomAccessIterator __first, _StrictWeakOrdering __comp,
- _Distance __n)
- {
- _Distance __parent = 0;
- for (_Distance __child = 1; __child < __n; ++__child)
- {
- if (__comp(__first[__parent], __first[__child]))
- return false;
- if ((__child & 1) == 0)
- ++__parent;
- }
- return true;
- }
-
- template<typename _RandomAccessIterator>
- bool
- __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
- { return std::__is_heap(__first, std::distance(__first, __last)); }
-
- template<typename _RandomAccessIterator, typename _StrictWeakOrdering>
- bool
- __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _StrictWeakOrdering __comp)
- { return std::__is_heap(__first, __comp, std::distance(__first, __last)); }
-
- // Heap-manipulation functions: push_heap, pop_heap, make_heap, sort_heap.
-
- template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
- void
- __push_heap(_RandomAccessIterator __first,
- _Distance __holeIndex, _Distance __topIndex, _Tp __value)
- {
- _Distance __parent = (__holeIndex - 1) / 2;
- while (__holeIndex > __topIndex && *(__first + __parent) < __value)
- {
- *(__first + __holeIndex) = *(__first + __parent);
- __holeIndex = __parent;
- __parent = (__holeIndex - 1) / 2;
- }
- *(__first + __holeIndex) = __value;
- }
-
- /**
- * @brief Push an element onto a heap.
- * @param first Start of heap.
- * @param last End of heap + element.
- * @ingroup heap
- *
- * This operation pushes the element at last-1 onto the valid heap over the
- * range [first,last-1). After completion, [first,last) is a valid heap.
- */
- template<typename _RandomAccessIterator>
- inline void
- push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
- // __glibcxx_requires_heap(__first, __last - 1);
-
- std::__push_heap(__first, _DistanceType((__last - __first) - 1),
- _DistanceType(0), _ValueType(*(__last - 1)));
- }
-
- template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
- typename _Compare>
- void
- __push_heap(_RandomAccessIterator __first, _Distance __holeIndex,
- _Distance __topIndex, _Tp __value, _Compare __comp)
- {
- _Distance __parent = (__holeIndex - 1) / 2;
- while (__holeIndex > __topIndex
- && __comp(*(__first + __parent), __value))
- {
- *(__first + __holeIndex) = *(__first + __parent);
- __holeIndex = __parent;
- __parent = (__holeIndex - 1) / 2;
- }
- *(__first + __holeIndex) = __value;
- }
-
- /**
- * @brief Push an element onto a heap using comparison functor.
- * @param first Start of heap.
- * @param last End of heap + element.
- * @param comp Comparison functor.
- * @ingroup heap
- *
- * This operation pushes the element at last-1 onto the valid heap over the
- * range [first,last-1). After completion, [first,last) is a valid heap.
- * Compare operations are performed using comp.
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_heap_pred(__first, __last - 1, __comp);
-
- std::__push_heap(__first, _DistanceType((__last - __first) - 1),
- _DistanceType(0), _ValueType(*(__last - 1)), __comp);
- }
-
- template<typename _RandomAccessIterator, typename _Distance, typename _Tp>
- void
- __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
- _Distance __len, _Tp __value)
- {
- const _Distance __topIndex = __holeIndex;
- _Distance __secondChild = 2 * __holeIndex + 2;
- while (__secondChild < __len)
- {
- if (*(__first + __secondChild) < *(__first + (__secondChild - 1)))
- __secondChild--;
- *(__first + __holeIndex) = *(__first + __secondChild);
- __holeIndex = __secondChild;
- __secondChild = 2 * (__secondChild + 1);
- }
- if (__secondChild == __len)
- {
- *(__first + __holeIndex) = *(__first + (__secondChild - 1));
- __holeIndex = __secondChild - 1;
- }
- std::__push_heap(__first, __holeIndex, __topIndex, __value);
- }
-
- template<typename _RandomAccessIterator, typename _Tp>
- inline void
- __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _RandomAccessIterator __result, _Tp __value)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _Distance;
- *__result = *__first;
- std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
- __value);
- }
-
- /**
- * @brief Pop an element off a heap.
- * @param first Start of heap.
- * @param last End of heap.
- * @ingroup heap
- *
- * This operation pops the top of the heap. The elements first and last-1
- * are swapped and [first,last-1) is made into a heap.
- */
- template<typename _RandomAccessIterator>
- inline void
- pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_heap(__first, __last);
-
- std::__pop_heap(__first, __last - 1, __last - 1,
- _ValueType(*(__last - 1)));
- }
-
- template<typename _RandomAccessIterator, typename _Distance,
- typename _Tp, typename _Compare>
- void
- __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
- _Distance __len, _Tp __value, _Compare __comp)
- {
- const _Distance __topIndex = __holeIndex;
- _Distance __secondChild = 2 * __holeIndex + 2;
- while (__secondChild < __len)
- {
- if (__comp(*(__first + __secondChild),
- *(__first + (__secondChild - 1))))
- __secondChild--;
- *(__first + __holeIndex) = *(__first + __secondChild);
- __holeIndex = __secondChild;
- __secondChild = 2 * (__secondChild + 1);
- }
- if (__secondChild == __len)
- {
- *(__first + __holeIndex) = *(__first + (__secondChild - 1));
- __holeIndex = __secondChild - 1;
- }
- std::__push_heap(__first, __holeIndex, __topIndex, __value, __comp);
- }
-
- template<typename _RandomAccessIterator, typename _Tp, typename _Compare>
- inline void
- __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _RandomAccessIterator __result, _Tp __value, _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _Distance;
- *__result = *__first;
- std::__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
- __value, __comp);
- }
-
- /**
- * @brief Pop an element off a heap using comparison functor.
- * @param first Start of heap.
- * @param last End of heap.
- * @param comp Comparison functor to use.
- * @ingroup heap
- *
- * This operation pops the top of the heap. The elements first and last-1
- * are swapped and [first,last-1) is made into a heap. Comparisons are
- * made using comp.
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- pop_heap(_RandomAccessIterator __first,
- _RandomAccessIterator __last, _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_heap_pred(__first, __last, __comp);
-
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
- std::__pop_heap(__first, __last - 1, __last - 1,
- _ValueType(*(__last - 1)), __comp);
- }
-
- /**
- * @brief Construct a heap over a range.
- * @param first Start of heap.
- * @param last End of heap.
- * @ingroup heap
- *
- * This operation makes the elements in [first,last) into a heap.
- */
- template<typename _RandomAccessIterator>
- void
- make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<_ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__last - __first < 2)
- return;
-
- const _DistanceType __len = __last - __first;
- _DistanceType __parent = (__len - 2) / 2;
- while (true)
- {
- std::__adjust_heap(__first, __parent, __len,
- _ValueType(*(__first + __parent)));
- if (__parent == 0)
- return;
- __parent--;
- }
- }
-
- /**
- * @brief Construct a heap over a range using comparison functor.
- * @param first Start of heap.
- * @param last End of heap.
- * @param comp Comparison functor to use.
- * @ingroup heap
- *
- * This operation makes the elements in [first,last) into a heap.
- * Comparisons are made using comp.
- */
- template<typename _RandomAccessIterator, typename _Compare>
- inline void
- make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _Compare __comp)
- {
- typedef typename iterator_traits<_RandomAccessIterator>::value_type
- _ValueType;
- typedef typename iterator_traits<_RandomAccessIterator>::difference_type
- _DistanceType;
-
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__last - __first < 2)
- return;
-
- const _DistanceType __len = __last - __first;
- _DistanceType __parent = (__len - 2) / 2;
- while (true)
- {
- std::__adjust_heap(__first, __parent, __len,
- _ValueType(*(__first + __parent)), __comp);
- if (__parent == 0)
- return;
- __parent--;
- }
- }
-
- /**
- * @brief Sort a heap.
- * @param first Start of heap.
- * @param last End of heap.
- * @ingroup heap
- *
- * This operation sorts the valid heap in the range [first,last).
- */
- template<typename _RandomAccessIterator>
- void
- sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_RandomAccessIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
- // __glibcxx_requires_heap(__first, __last);
-
- while (__last - __first > 1)
- std::pop_heap(__first, _RandomAccessIterator(__last--));
- }
-
- /**
- * @brief Sort a heap using comparison functor.
- * @param first Start of heap.
- * @param last End of heap.
- * @param comp Comparison functor to use.
- * @ingroup heap
- *
- * This operation sorts the valid heap in the range [first,last).
- * Comparisons are made using comp.
- */
- template<typename _RandomAccessIterator, typename _Compare>
- void
- sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _Compare __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_heap_pred(__first, __last, __comp);
-
- while (__last - __first > 1)
- std::pop_heap(__first, _RandomAccessIterator(__last--), __comp);
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _STL_HEAP_H */
diff --git a/contrib/libstdc++/include/bits/stl_iterator.h b/contrib/libstdc++/include/bits/stl_iterator.h
deleted file mode 100644
index f9425aa14bc5..000000000000
--- a/contrib/libstdc++/include/bits/stl_iterator.h
+++ /dev/null
@@ -1,827 +0,0 @@
-// Iterators -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996-1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_iterator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- *
- * This file implements reverse_iterator, back_insert_iterator,
- * front_insert_iterator, insert_iterator, __normal_iterator, and their
- * supporting functions and overloaded operators.
- */
-
-#ifndef _ITERATOR_H
-#define _ITERATOR_H 1
-
-#include <bits/cpp_type_traits.h>
-#include <ext/type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 24.4.1 Reverse iterators
- /**
- * "Bidirectional and random access iterators have corresponding reverse
- * %iterator adaptors that iterate through the data structure in the
- * opposite direction. They have the same signatures as the corresponding
- * iterators. The fundamental relation between a reverse %iterator and its
- * corresponding %iterator @c i is established by the identity:
- * @code
- * &*(reverse_iterator(i)) == &*(i - 1)
- * @endcode
- *
- * This mapping is dictated by the fact that while there is always a
- * pointer past the end of an array, there might not be a valid pointer
- * before the beginning of an array." [24.4.1]/1,2
- *
- * Reverse iterators can be tricky and surprising at first. Their
- * semantics make sense, however, and the trickiness is a side effect of
- * the requirement that the iterators must be safe.
- */
- template<typename _Iterator>
- class reverse_iterator
- : public iterator<typename iterator_traits<_Iterator>::iterator_category,
- typename iterator_traits<_Iterator>::value_type,
- typename iterator_traits<_Iterator>::difference_type,
- typename iterator_traits<_Iterator>::pointer,
- typename iterator_traits<_Iterator>::reference>
- {
- protected:
- _Iterator current;
-
- public:
- typedef _Iterator iterator_type;
- typedef typename iterator_traits<_Iterator>::difference_type
- difference_type;
- typedef typename iterator_traits<_Iterator>::reference reference;
- typedef typename iterator_traits<_Iterator>::pointer pointer;
-
- public:
- /**
- * The default constructor default-initializes member @p current.
- * If it is a pointer, that means it is zero-initialized.
- */
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 235 No specification of default ctor for reverse_iterator
- reverse_iterator() : current() { }
-
- /**
- * This %iterator will move in the opposite direction that @p x does.
- */
- explicit
- reverse_iterator(iterator_type __x) : current(__x) { }
-
- /**
- * The copy constructor is normal.
- */
- reverse_iterator(const reverse_iterator& __x)
- : current(__x.current) { }
-
- /**
- * A reverse_iterator across other types can be copied in the normal
- * fashion.
- */
- template<typename _Iter>
- reverse_iterator(const reverse_iterator<_Iter>& __x)
- : current(__x.base()) { }
-
- /**
- * @return @c current, the %iterator used for underlying work.
- */
- iterator_type
- base() const
- { return current; }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reference
- operator*() const
- {
- _Iterator __tmp = current;
- return *--__tmp;
- }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- pointer
- operator->() const
- { return &(operator*()); }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator&
- operator++()
- {
- --current;
- return *this;
- }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator
- operator++(int)
- {
- reverse_iterator __tmp = *this;
- --current;
- return __tmp;
- }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator&
- operator--()
- {
- ++current;
- return *this;
- }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator
- operator--(int)
- {
- reverse_iterator __tmp = *this;
- ++current;
- return __tmp;
- }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator
- operator+(difference_type __n) const
- { return reverse_iterator(current - __n); }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator&
- operator+=(difference_type __n)
- {
- current -= __n;
- return *this;
- }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator
- operator-(difference_type __n) const
- { return reverse_iterator(current + __n); }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reverse_iterator&
- operator-=(difference_type __n)
- {
- current += __n;
- return *this;
- }
-
- /**
- * @return TODO
- *
- * @doctodo
- */
- reference
- operator[](difference_type __n) const
- { return *(*this + __n); }
- };
-
- //@{
- /**
- * @param x A %reverse_iterator.
- * @param y A %reverse_iterator.
- * @return A simple bool.
- *
- * Reverse iterators forward many operations to their underlying base()
- * iterators. Others are implemented in terms of one another.
- *
- */
- template<typename _Iterator>
- inline bool
- operator==(const reverse_iterator<_Iterator>& __x,
- const reverse_iterator<_Iterator>& __y)
- { return __x.base() == __y.base(); }
-
- template<typename _Iterator>
- inline bool
- operator<(const reverse_iterator<_Iterator>& __x,
- const reverse_iterator<_Iterator>& __y)
- { return __y.base() < __x.base(); }
-
- template<typename _Iterator>
- inline bool
- operator!=(const reverse_iterator<_Iterator>& __x,
- const reverse_iterator<_Iterator>& __y)
- { return !(__x == __y); }
-
- template<typename _Iterator>
- inline bool
- operator>(const reverse_iterator<_Iterator>& __x,
- const reverse_iterator<_Iterator>& __y)
- { return __y < __x; }
-
- template<typename _Iterator>
- inline bool
- operator<=(const reverse_iterator<_Iterator>& __x,
- const reverse_iterator<_Iterator>& __y)
- { return !(__y < __x); }
-
- template<typename _Iterator>
- inline bool
- operator>=(const reverse_iterator<_Iterator>& __x,
- const reverse_iterator<_Iterator>& __y)
- { return !(__x < __y); }
-
- template<typename _Iterator>
- inline typename reverse_iterator<_Iterator>::difference_type
- operator-(const reverse_iterator<_Iterator>& __x,
- const reverse_iterator<_Iterator>& __y)
- { return __y.base() - __x.base(); }
-
- template<typename _Iterator>
- inline reverse_iterator<_Iterator>
- operator+(typename reverse_iterator<_Iterator>::difference_type __n,
- const reverse_iterator<_Iterator>& __x)
- { return reverse_iterator<_Iterator>(__x.base() - __n); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 280. Comparison of reverse_iterator to const reverse_iterator.
- template<typename _IteratorL, typename _IteratorR>
- inline bool
- operator==(const reverse_iterator<_IteratorL>& __x,
- const reverse_iterator<_IteratorR>& __y)
- { return __x.base() == __y.base(); }
-
- template<typename _IteratorL, typename _IteratorR>
- inline bool
- operator<(const reverse_iterator<_IteratorL>& __x,
- const reverse_iterator<_IteratorR>& __y)
- { return __y.base() < __x.base(); }
-
- template<typename _IteratorL, typename _IteratorR>
- inline bool
- operator!=(const reverse_iterator<_IteratorL>& __x,
- const reverse_iterator<_IteratorR>& __y)
- { return !(__x == __y); }
-
- template<typename _IteratorL, typename _IteratorR>
- inline bool
- operator>(const reverse_iterator<_IteratorL>& __x,
- const reverse_iterator<_IteratorR>& __y)
- { return __y < __x; }
-
- template<typename _IteratorL, typename _IteratorR>
- inline bool
- operator<=(const reverse_iterator<_IteratorL>& __x,
- const reverse_iterator<_IteratorR>& __y)
- { return !(__y < __x); }
-
- template<typename _IteratorL, typename _IteratorR>
- inline bool
- operator>=(const reverse_iterator<_IteratorL>& __x,
- const reverse_iterator<_IteratorR>& __y)
- { return !(__x < __y); }
-
- template<typename _IteratorL, typename _IteratorR>
- inline typename reverse_iterator<_IteratorL>::difference_type
- operator-(const reverse_iterator<_IteratorL>& __x,
- const reverse_iterator<_IteratorR>& __y)
- { return __y.base() - __x.base(); }
- //@}
-
- // 24.4.2.2.1 back_insert_iterator
- /**
- * @brief Turns assignment into insertion.
- *
- * These are output iterators, constructed from a container-of-T.
- * Assigning a T to the iterator appends it to the container using
- * push_back.
- *
- * Tip: Using the back_inserter function to create these iterators can
- * save typing.
- */
- template<typename _Container>
- class back_insert_iterator
- : public iterator<output_iterator_tag, void, void, void, void>
- {
- protected:
- _Container* container;
-
- public:
- /// A nested typedef for the type of whatever container you used.
- typedef _Container container_type;
-
- /// The only way to create this %iterator is with a container.
- explicit
- back_insert_iterator(_Container& __x) : container(&__x) { }
-
- /**
- * @param value An instance of whatever type
- * container_type::const_reference is; presumably a
- * reference-to-const T for container<T>.
- * @return This %iterator, for chained operations.
- *
- * This kind of %iterator doesn't really have a "position" in the
- * container (you can think of the position as being permanently at
- * the end, if you like). Assigning a value to the %iterator will
- * always append the value to the end of the container.
- */
- back_insert_iterator&
- operator=(typename _Container::const_reference __value)
- {
- container->push_back(__value);
- return *this;
- }
-
- /// Simply returns *this.
- back_insert_iterator&
- operator*()
- { return *this; }
-
- /// Simply returns *this. (This %iterator does not "move".)
- back_insert_iterator&
- operator++()
- { return *this; }
-
- /// Simply returns *this. (This %iterator does not "move".)
- back_insert_iterator
- operator++(int)
- { return *this; }
- };
-
- /**
- * @param x A container of arbitrary type.
- * @return An instance of back_insert_iterator working on @p x.
- *
- * This wrapper function helps in creating back_insert_iterator instances.
- * Typing the name of the %iterator requires knowing the precise full
- * type of the container, which can be tedious and impedes generic
- * programming. Using this function lets you take advantage of automatic
- * template parameter deduction, making the compiler match the correct
- * types for you.
- */
- template<typename _Container>
- inline back_insert_iterator<_Container>
- back_inserter(_Container& __x)
- { return back_insert_iterator<_Container>(__x); }
-
- /**
- * @brief Turns assignment into insertion.
- *
- * These are output iterators, constructed from a container-of-T.
- * Assigning a T to the iterator prepends it to the container using
- * push_front.
- *
- * Tip: Using the front_inserter function to create these iterators can
- * save typing.
- */
- template<typename _Container>
- class front_insert_iterator
- : public iterator<output_iterator_tag, void, void, void, void>
- {
- protected:
- _Container* container;
-
- public:
- /// A nested typedef for the type of whatever container you used.
- typedef _Container container_type;
-
- /// The only way to create this %iterator is with a container.
- explicit front_insert_iterator(_Container& __x) : container(&__x) { }
-
- /**
- * @param value An instance of whatever type
- * container_type::const_reference is; presumably a
- * reference-to-const T for container<T>.
- * @return This %iterator, for chained operations.
- *
- * This kind of %iterator doesn't really have a "position" in the
- * container (you can think of the position as being permanently at
- * the front, if you like). Assigning a value to the %iterator will
- * always prepend the value to the front of the container.
- */
- front_insert_iterator&
- operator=(typename _Container::const_reference __value)
- {
- container->push_front(__value);
- return *this;
- }
-
- /// Simply returns *this.
- front_insert_iterator&
- operator*()
- { return *this; }
-
- /// Simply returns *this. (This %iterator does not "move".)
- front_insert_iterator&
- operator++()
- { return *this; }
-
- /// Simply returns *this. (This %iterator does not "move".)
- front_insert_iterator
- operator++(int)
- { return *this; }
- };
-
- /**
- * @param x A container of arbitrary type.
- * @return An instance of front_insert_iterator working on @p x.
- *
- * This wrapper function helps in creating front_insert_iterator instances.
- * Typing the name of the %iterator requires knowing the precise full
- * type of the container, which can be tedious and impedes generic
- * programming. Using this function lets you take advantage of automatic
- * template parameter deduction, making the compiler match the correct
- * types for you.
- */
- template<typename _Container>
- inline front_insert_iterator<_Container>
- front_inserter(_Container& __x)
- { return front_insert_iterator<_Container>(__x); }
-
- /**
- * @brief Turns assignment into insertion.
- *
- * These are output iterators, constructed from a container-of-T.
- * Assigning a T to the iterator inserts it in the container at the
- * %iterator's position, rather than overwriting the value at that
- * position.
- *
- * (Sequences will actually insert a @e copy of the value before the
- * %iterator's position.)
- *
- * Tip: Using the inserter function to create these iterators can
- * save typing.
- */
- template<typename _Container>
- class insert_iterator
- : public iterator<output_iterator_tag, void, void, void, void>
- {
- protected:
- _Container* container;
- typename _Container::iterator iter;
-
- public:
- /// A nested typedef for the type of whatever container you used.
- typedef _Container container_type;
-
- /**
- * The only way to create this %iterator is with a container and an
- * initial position (a normal %iterator into the container).
- */
- insert_iterator(_Container& __x, typename _Container::iterator __i)
- : container(&__x), iter(__i) {}
-
- /**
- * @param value An instance of whatever type
- * container_type::const_reference is; presumably a
- * reference-to-const T for container<T>.
- * @return This %iterator, for chained operations.
- *
- * This kind of %iterator maintains its own position in the
- * container. Assigning a value to the %iterator will insert the
- * value into the container at the place before the %iterator.
- *
- * The position is maintained such that subsequent assignments will
- * insert values immediately after one another. For example,
- * @code
- * // vector v contains A and Z
- *
- * insert_iterator i (v, ++v.begin());
- * i = 1;
- * i = 2;
- * i = 3;
- *
- * // vector v contains A, 1, 2, 3, and Z
- * @endcode
- */
- insert_iterator&
- operator=(const typename _Container::const_reference __value)
- {
- iter = container->insert(iter, __value);
- ++iter;
- return *this;
- }
-
- /// Simply returns *this.
- insert_iterator&
- operator*()
- { return *this; }
-
- /// Simply returns *this. (This %iterator does not "move".)
- insert_iterator&
- operator++()
- { return *this; }
-
- /// Simply returns *this. (This %iterator does not "move".)
- insert_iterator&
- operator++(int)
- { return *this; }
- };
-
- /**
- * @param x A container of arbitrary type.
- * @return An instance of insert_iterator working on @p x.
- *
- * This wrapper function helps in creating insert_iterator instances.
- * Typing the name of the %iterator requires knowing the precise full
- * type of the container, which can be tedious and impedes generic
- * programming. Using this function lets you take advantage of automatic
- * template parameter deduction, making the compiler match the correct
- * types for you.
- */
- template<typename _Container, typename _Iterator>
- inline insert_iterator<_Container>
- inserter(_Container& __x, _Iterator __i)
- {
- return insert_iterator<_Container>(__x,
- typename _Container::iterator(__i));
- }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // This iterator adapter is 'normal' in the sense that it does not
- // change the semantics of any of the operators of its iterator
- // parameter. Its primary purpose is to convert an iterator that is
- // not a class, e.g. a pointer, into an iterator that is a class.
- // The _Container parameter exists solely so that different containers
- // using this template can instantiate different types, even if the
- // _Iterator parameter is the same.
- using std::iterator_traits;
- using std::iterator;
- template<typename _Iterator, typename _Container>
- class __normal_iterator
- {
- protected:
- _Iterator _M_current;
-
- public:
- typedef typename iterator_traits<_Iterator>::iterator_category
- iterator_category;
- typedef typename iterator_traits<_Iterator>::value_type value_type;
- typedef typename iterator_traits<_Iterator>::difference_type
- difference_type;
- typedef typename iterator_traits<_Iterator>::reference reference;
- typedef typename iterator_traits<_Iterator>::pointer pointer;
-
- __normal_iterator() : _M_current(_Iterator()) { }
-
- explicit
- __normal_iterator(const _Iterator& __i) : _M_current(__i) { }
-
- // Allow iterator to const_iterator conversion
- template<typename _Iter>
- __normal_iterator(const __normal_iterator<_Iter,
- typename __enable_if<
- (std::__are_same<_Iter, typename _Container::pointer>::__value),
- _Container>::__type>& __i)
- : _M_current(__i.base()) { }
-
- // Forward iterator requirements
- reference
- operator*() const
- { return *_M_current; }
-
- pointer
- operator->() const
- { return _M_current; }
-
- __normal_iterator&
- operator++()
- {
- ++_M_current;
- return *this;
- }
-
- __normal_iterator
- operator++(int)
- { return __normal_iterator(_M_current++); }
-
- // Bidirectional iterator requirements
- __normal_iterator&
- operator--()
- {
- --_M_current;
- return *this;
- }
-
- __normal_iterator
- operator--(int)
- { return __normal_iterator(_M_current--); }
-
- // Random access iterator requirements
- reference
- operator[](const difference_type& __n) const
- { return _M_current[__n]; }
-
- __normal_iterator&
- operator+=(const difference_type& __n)
- { _M_current += __n; return *this; }
-
- __normal_iterator
- operator+(const difference_type& __n) const
- { return __normal_iterator(_M_current + __n); }
-
- __normal_iterator&
- operator-=(const difference_type& __n)
- { _M_current -= __n; return *this; }
-
- __normal_iterator
- operator-(const difference_type& __n) const
- { return __normal_iterator(_M_current - __n); }
-
- const _Iterator&
- base() const
- { return _M_current; }
- };
-
- // Note: In what follows, the left- and right-hand-side iterators are
- // allowed to vary in types (conceptually in cv-qualification) so that
- // comparaison between cv-qualified and non-cv-qualified iterators be
- // valid. However, the greedy and unfriendly operators in std::rel_ops
- // will make overload resolution ambiguous (when in scope) if we don't
- // provide overloads whose operands are of the same type. Can someone
- // remind me what generic programming is about? -- Gaby
-
- // Forward iterator requirements
- template<typename _IteratorL, typename _IteratorR, typename _Container>
- inline bool
- operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
- const __normal_iterator<_IteratorR, _Container>& __rhs)
- { return __lhs.base() == __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline bool
- operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
- const __normal_iterator<_Iterator, _Container>& __rhs)
- { return __lhs.base() == __rhs.base(); }
-
- template<typename _IteratorL, typename _IteratorR, typename _Container>
- inline bool
- operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
- const __normal_iterator<_IteratorR, _Container>& __rhs)
- { return __lhs.base() != __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline bool
- operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
- const __normal_iterator<_Iterator, _Container>& __rhs)
- { return __lhs.base() != __rhs.base(); }
-
- // Random access iterator requirements
- template<typename _IteratorL, typename _IteratorR, typename _Container>
- inline bool
- operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
- const __normal_iterator<_IteratorR, _Container>& __rhs)
- { return __lhs.base() < __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline bool
- operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
- const __normal_iterator<_Iterator, _Container>& __rhs)
- { return __lhs.base() < __rhs.base(); }
-
- template<typename _IteratorL, typename _IteratorR, typename _Container>
- inline bool
- operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
- const __normal_iterator<_IteratorR, _Container>& __rhs)
- { return __lhs.base() > __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline bool
- operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
- const __normal_iterator<_Iterator, _Container>& __rhs)
- { return __lhs.base() > __rhs.base(); }
-
- template<typename _IteratorL, typename _IteratorR, typename _Container>
- inline bool
- operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
- const __normal_iterator<_IteratorR, _Container>& __rhs)
- { return __lhs.base() <= __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline bool
- operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
- const __normal_iterator<_Iterator, _Container>& __rhs)
- { return __lhs.base() <= __rhs.base(); }
-
- template<typename _IteratorL, typename _IteratorR, typename _Container>
- inline bool
- operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
- const __normal_iterator<_IteratorR, _Container>& __rhs)
- { return __lhs.base() >= __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline bool
- operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
- const __normal_iterator<_Iterator, _Container>& __rhs)
- { return __lhs.base() >= __rhs.base(); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // According to the resolution of DR179 not only the various comparison
- // operators but also operator- must accept mixed iterator/const_iterator
- // parameters.
- template<typename _IteratorL, typename _IteratorR, typename _Container>
- inline typename __normal_iterator<_IteratorL, _Container>::difference_type
- operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
- const __normal_iterator<_IteratorR, _Container>& __rhs)
- { return __lhs.base() - __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline typename __normal_iterator<_Iterator, _Container>::difference_type
- operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
- const __normal_iterator<_Iterator, _Container>& __rhs)
- { return __lhs.base() - __rhs.base(); }
-
- template<typename _Iterator, typename _Container>
- inline __normal_iterator<_Iterator, _Container>
- operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
- __n, const __normal_iterator<_Iterator, _Container>& __i)
- { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/stl_iterator_base_funcs.h b/contrib/libstdc++/include/bits/stl_iterator_base_funcs.h
deleted file mode 100644
index 79fb6675fa25..000000000000
--- a/contrib/libstdc++/include/bits/stl_iterator_base_funcs.h
+++ /dev/null
@@ -1,182 +0,0 @@
-// Functions used by iterators -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996-1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_iterator_base_funcs.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- *
- * This file contains all of the general iterator-related utility
- * functions, such as distance() and advance().
- */
-
-#ifndef _ITERATOR_BASE_FUNCS_H
-#define _ITERATOR_BASE_FUNCS_H 1
-
-#pragma GCC system_header
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _InputIterator>
- inline typename iterator_traits<_InputIterator>::difference_type
- __distance(_InputIterator __first, _InputIterator __last,
- input_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
-
- typename iterator_traits<_InputIterator>::difference_type __n = 0;
- while (__first != __last)
- {
- ++__first;
- ++__n;
- }
- return __n;
- }
-
- template<typename _RandomAccessIterator>
- inline typename iterator_traits<_RandomAccessIterator>::difference_type
- __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
- random_access_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- return __last - __first;
- }
-
- /**
- * @brief A generalization of pointer arithmetic.
- * @param first An input iterator.
- * @param last An input iterator.
- * @return The distance between them.
- *
- * Returns @c n such that first + n == last. This requires that @p last
- * must be reachable from @p first. Note that @c n may be negative.
- *
- * For random access iterators, this uses their @c + and @c - operations
- * and are constant time. For other %iterator classes they are linear time.
- */
- template<typename _InputIterator>
- inline typename iterator_traits<_InputIterator>::difference_type
- distance(_InputIterator __first, _InputIterator __last)
- {
- // concept requirements -- taken care of in __distance
- return std::__distance(__first, __last,
- std::__iterator_category(__first));
- }
-
- template<typename _InputIterator, typename _Distance>
- inline void
- __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- while (__n--)
- ++__i;
- }
-
- template<typename _BidirectionalIterator, typename _Distance>
- inline void
- __advance(_BidirectionalIterator& __i, _Distance __n,
- bidirectional_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_BidirectionalIteratorConcept<
- _BidirectionalIterator>)
- if (__n > 0)
- while (__n--)
- ++__i;
- else
- while (__n++)
- --__i;
- }
-
- template<typename _RandomAccessIterator, typename _Distance>
- inline void
- __advance(_RandomAccessIterator& __i, _Distance __n,
- random_access_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __i += __n;
- }
-
- /**
- * @brief A generalization of pointer arithmetic.
- * @param i An input iterator.
- * @param n The "delta" by which to change @p i.
- * @return Nothing.
- *
- * This increments @p i by @p n. For bidirectional and random access
- * iterators, @p n may be negative, in which case @p i is decremented.
- *
- * For random access iterators, this uses their @c + and @c - operations
- * and are constant time. For other %iterator classes they are linear time.
- */
- template<typename _InputIterator, typename _Distance>
- inline void
- advance(_InputIterator& __i, _Distance __n)
- {
- // concept requirements -- taken care of in __advance
- typename iterator_traits<_InputIterator>::difference_type __d = __n;
- std::__advance(__i, __d, std::__iterator_category(__i));
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _ITERATOR_BASE_FUNCS_H */
diff --git a/contrib/libstdc++/include/bits/stl_iterator_base_types.h b/contrib/libstdc++/include/bits/stl_iterator_base_types.h
deleted file mode 100644
index c02cd261d8d1..000000000000
--- a/contrib/libstdc++/include/bits/stl_iterator_base_types.h
+++ /dev/null
@@ -1,170 +0,0 @@
-// Types used in iterator implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996-1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_iterator_base_types.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- *
- * This file contains all of the general iterator-related utility types,
- * such as iterator_traits and struct iterator.
- */
-
-#ifndef _ITERATOR_BASE_TYPES_H
-#define _ITERATOR_BASE_TYPES_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- //@{
- /**
- * @defgroup iterator_tags Iterator Tags
- * These are empty types, used to distinguish different iterators. The
- * distinction is not made by what they contain, but simply by what they
- * are. Different underlying algorithms can then be used based on the
- * different operations supporetd by different iterator types.
- */
- /// Marking input iterators.
- struct input_iterator_tag {};
- /// Marking output iterators.
- struct output_iterator_tag {};
- /// Forward iterators support a superset of input iterator operations.
- struct forward_iterator_tag : public input_iterator_tag {};
- /// Bidirectional iterators support a superset of forward iterator
- /// operations.
- struct bidirectional_iterator_tag : public forward_iterator_tag {};
- /// Random-access iterators support a superset of bidirectional iterator
- /// operations.
- struct random_access_iterator_tag : public bidirectional_iterator_tag {};
- //@}
-
-
- /**
- * @brief Common %iterator class.
- *
- * This class does nothing but define nested typedefs. %Iterator classes
- * can inherit from this class to save some work. The typedefs are then
- * used in specializations and overloading.
- *
- * In particular, there are no default implementations of requirements
- * such as @c operator++ and the like. (How could there be?)
- */
- template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
- typename _Pointer = _Tp*, typename _Reference = _Tp&>
- struct iterator
- {
- /// One of the @link iterator_tags tag types@endlink.
- typedef _Category iterator_category;
- /// The type "pointed to" by the iterator.
- typedef _Tp value_type;
- /// Distance between iterators is represented as this type.
- typedef _Distance difference_type;
- /// This type represents a pointer-to-value_type.
- typedef _Pointer pointer;
- /// This type represents a reference-to-value_type.
- typedef _Reference reference;
- };
-
- /**
- * This class does nothing but define nested typedefs. The general
- * version simply "forwards" the nested typedefs from the Iterator
- * argument. Specialized versions for pointers and pointers-to-const
- * provide tighter, more correct semantics.
- */
- template<typename _Iterator>
- struct iterator_traits
- {
- typedef typename _Iterator::iterator_category iterator_category;
- typedef typename _Iterator::value_type value_type;
- typedef typename _Iterator::difference_type difference_type;
- typedef typename _Iterator::pointer pointer;
- typedef typename _Iterator::reference reference;
- };
-
- template<typename _Tp>
- struct iterator_traits<_Tp*>
- {
- typedef random_access_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef _Tp& reference;
- };
-
- template<typename _Tp>
- struct iterator_traits<const _Tp*>
- {
- typedef random_access_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef ptrdiff_t difference_type;
- typedef const _Tp* pointer;
- typedef const _Tp& reference;
- };
-
- /**
- * @if maint
- * This function is not a part of the C++ standard but is syntactic
- * sugar for internal library use only.
- * @endif
- */
- template<typename _Iter>
- inline typename iterator_traits<_Iter>::iterator_category
- __iterator_category(const _Iter&)
- { return typename iterator_traits<_Iter>::iterator_category(); }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _ITERATOR_BASE_TYPES_H */
-
diff --git a/contrib/libstdc++/include/bits/stl_list.h b/contrib/libstdc++/include/bits/stl_list.h
deleted file mode 100644
index 57445a5ba4d2..000000000000
--- a/contrib/libstdc++/include/bits/stl_list.h
+++ /dev/null
@@ -1,1273 +0,0 @@
-// List implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_list.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _LIST_H
-#define _LIST_H 1
-
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- // Supporting structures are split into common and templated types; the
- // latter publicly inherits from the former in an effort to reduce code
- // duplication. This results in some "needless" static_cast'ing later on,
- // but it's all safe downcasting.
-
- /// @if maint Common part of a node in the %list. @endif
- struct _List_node_base
- {
- _List_node_base* _M_next; ///< Self-explanatory
- _List_node_base* _M_prev; ///< Self-explanatory
-
- static void
- swap(_List_node_base& __x, _List_node_base& __y);
-
- void
- transfer(_List_node_base * const __first,
- _List_node_base * const __last);
-
- void
- reverse();
-
- void
- hook(_List_node_base * const __position);
-
- void
- unhook();
- };
-
- /// @if maint An actual node in the %list. @endif
- template<typename _Tp>
- struct _List_node : public _List_node_base
- {
- _Tp _M_data; ///< User's data.
- };
-
- /**
- * @brief A list::iterator.
- *
- * @if maint
- * All the functions are op overloads.
- * @endif
- */
- template<typename _Tp>
- struct _List_iterator
- {
- typedef _List_iterator<_Tp> _Self;
- typedef _List_node<_Tp> _Node;
-
- typedef ptrdiff_t difference_type;
- typedef std::bidirectional_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef _Tp* pointer;
- typedef _Tp& reference;
-
- _List_iterator()
- : _M_node() { }
-
- explicit
- _List_iterator(_List_node_base* __x)
- : _M_node(__x) { }
-
- // Must downcast from List_node_base to _List_node to get to _M_data.
- reference
- operator*() const
- { return static_cast<_Node*>(_M_node)->_M_data; }
-
- pointer
- operator->() const
- { return &static_cast<_Node*>(_M_node)->_M_data; }
-
- _Self&
- operator++()
- {
- _M_node = _M_node->_M_next;
- return *this;
- }
-
- _Self
- operator++(int)
- {
- _Self __tmp = *this;
- _M_node = _M_node->_M_next;
- return __tmp;
- }
-
- _Self&
- operator--()
- {
- _M_node = _M_node->_M_prev;
- return *this;
- }
-
- _Self
- operator--(int)
- {
- _Self __tmp = *this;
- _M_node = _M_node->_M_prev;
- return __tmp;
- }
-
- bool
- operator==(const _Self& __x) const
- { return _M_node == __x._M_node; }
-
- bool
- operator!=(const _Self& __x) const
- { return _M_node != __x._M_node; }
-
- // The only member points to the %list element.
- _List_node_base* _M_node;
- };
-
- /**
- * @brief A list::const_iterator.
- *
- * @if maint
- * All the functions are op overloads.
- * @endif
- */
- template<typename _Tp>
- struct _List_const_iterator
- {
- typedef _List_const_iterator<_Tp> _Self;
- typedef const _List_node<_Tp> _Node;
- typedef _List_iterator<_Tp> iterator;
-
- typedef ptrdiff_t difference_type;
- typedef std::bidirectional_iterator_tag iterator_category;
- typedef _Tp value_type;
- typedef const _Tp* pointer;
- typedef const _Tp& reference;
-
- _List_const_iterator()
- : _M_node() { }
-
- explicit
- _List_const_iterator(const _List_node_base* __x)
- : _M_node(__x) { }
-
- _List_const_iterator(const iterator& __x)
- : _M_node(__x._M_node) { }
-
- // Must downcast from List_node_base to _List_node to get to
- // _M_data.
- reference
- operator*() const
- { return static_cast<_Node*>(_M_node)->_M_data; }
-
- pointer
- operator->() const
- { return &static_cast<_Node*>(_M_node)->_M_data; }
-
- _Self&
- operator++()
- {
- _M_node = _M_node->_M_next;
- return *this;
- }
-
- _Self
- operator++(int)
- {
- _Self __tmp = *this;
- _M_node = _M_node->_M_next;
- return __tmp;
- }
-
- _Self&
- operator--()
- {
- _M_node = _M_node->_M_prev;
- return *this;
- }
-
- _Self
- operator--(int)
- {
- _Self __tmp = *this;
- _M_node = _M_node->_M_prev;
- return __tmp;
- }
-
- bool
- operator==(const _Self& __x) const
- { return _M_node == __x._M_node; }
-
- bool
- operator!=(const _Self& __x) const
- { return _M_node != __x._M_node; }
-
- // The only member points to the %list element.
- const _List_node_base* _M_node;
- };
-
- template<typename _Val>
- inline bool
- operator==(const _List_iterator<_Val>& __x,
- const _List_const_iterator<_Val>& __y)
- { return __x._M_node == __y._M_node; }
-
- template<typename _Val>
- inline bool
- operator!=(const _List_iterator<_Val>& __x,
- const _List_const_iterator<_Val>& __y)
- { return __x._M_node != __y._M_node; }
-
-
- /**
- * @if maint
- * See bits/stl_deque.h's _Deque_base for an explanation.
- * @endif
- */
- template<typename _Tp, typename _Alloc>
- class _List_base
- {
- protected:
- // NOTA BENE
- // The stored instance is not actually of "allocator_type"'s
- // type. Instead we rebind the type to
- // Allocator<List_node<Tp>>, which according to [20.1.5]/4
- // should probably be the same. List_node<Tp> is not the same
- // size as Tp (it's two pointers larger), and specializations on
- // Tp may go unused because List_node<Tp> is being bound
- // instead.
- //
- // We put this to the test in the constructors and in
- // get_allocator, where we use conversions between
- // allocator_type and _Node_alloc_type. The conversion is
- // required by table 32 in [20.1.5].
- typedef typename _Alloc::template rebind<_List_node<_Tp> >::other
- _Node_alloc_type;
-
- typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
-
- struct _List_impl
- : public _Node_alloc_type
- {
- _List_node_base _M_node;
-
- _List_impl()
- : _Node_alloc_type(), _M_node()
- { }
-
- _List_impl(const _Node_alloc_type& __a)
- : _Node_alloc_type(__a), _M_node()
- { }
- };
-
- _List_impl _M_impl;
-
- _List_node<_Tp>*
- _M_get_node()
- { return _M_impl._Node_alloc_type::allocate(1); }
-
- void
- _M_put_node(_List_node<_Tp>* __p)
- { _M_impl._Node_alloc_type::deallocate(__p, 1); }
-
- public:
- typedef _Alloc allocator_type;
-
- _Node_alloc_type&
- _M_get_Node_allocator()
- { return *static_cast<_Node_alloc_type*>(&this->_M_impl); }
-
- const _Node_alloc_type&
- _M_get_Node_allocator() const
- { return *static_cast<const _Node_alloc_type*>(&this->_M_impl); }
-
- _Tp_alloc_type
- _M_get_Tp_allocator() const
- { return _Tp_alloc_type(_M_get_Node_allocator()); }
-
- allocator_type
- get_allocator() const
- { return allocator_type(_M_get_Node_allocator()); }
-
- _List_base()
- : _M_impl()
- { _M_init(); }
-
- _List_base(const allocator_type& __a)
- : _M_impl(__a)
- { _M_init(); }
-
- // This is what actually destroys the list.
- ~_List_base()
- { _M_clear(); }
-
- void
- _M_clear();
-
- void
- _M_init()
- {
- this->_M_impl._M_node._M_next = &this->_M_impl._M_node;
- this->_M_impl._M_node._M_prev = &this->_M_impl._M_node;
- }
- };
-
- /**
- * @brief A standard container with linear time access to elements,
- * and fixed time insertion/deletion at any point in the sequence.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and a
- * <a href="tables.html#67">sequence</a>, including the
- * <a href="tables.html#68">optional sequence requirements</a> with the
- * %exception of @c at and @c operator[].
- *
- * This is a @e doubly @e linked %list. Traversal up and down the
- * %list requires linear time, but adding and removing elements (or
- * @e nodes) is done in constant time, regardless of where the
- * change takes place. Unlike std::vector and std::deque,
- * random-access iterators are not provided, so subscripting ( @c
- * [] ) access is not allowed. For algorithms which only need
- * sequential access, this lack makes no difference.
- *
- * Also unlike the other standard containers, std::list provides
- * specialized algorithms %unique to linked lists, such as
- * splicing, sorting, and in-place reversal.
- *
- * @if maint
- * A couple points on memory allocation for list<Tp>:
- *
- * First, we never actually allocate a Tp, we allocate
- * List_node<Tp>'s and trust [20.1.5]/4 to DTRT. This is to ensure
- * that after elements from %list<X,Alloc1> are spliced into
- * %list<X,Alloc2>, destroying the memory of the second %list is a
- * valid operation, i.e., Alloc1 giveth and Alloc2 taketh away.
- *
- * Second, a %list conceptually represented as
- * @code
- * A <---> B <---> C <---> D
- * @endcode
- * is actually circular; a link exists between A and D. The %list
- * class holds (as its only data member) a private list::iterator
- * pointing to @e D, not to @e A! To get to the head of the %list,
- * we start at the tail and move forward by one. When this member
- * iterator's next/previous pointers refer to itself, the %list is
- * %empty. @endif
- */
- template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
- class list : protected _List_base<_Tp, _Alloc>
- {
- // concept requirements
- typedef typename _Alloc::value_type _Alloc_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires2(_Tp, _Alloc_value_type, _SameTypeConcept)
-
- typedef _List_base<_Tp, _Alloc> _Base;
- typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
-
- public:
- typedef _Tp value_type;
- typedef typename _Tp_alloc_type::pointer pointer;
- typedef typename _Tp_alloc_type::const_pointer const_pointer;
- typedef typename _Tp_alloc_type::reference reference;
- typedef typename _Tp_alloc_type::const_reference const_reference;
- typedef _List_iterator<_Tp> iterator;
- typedef _List_const_iterator<_Tp> const_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Alloc allocator_type;
-
- protected:
- // Note that pointers-to-_Node's can be ctor-converted to
- // iterator types.
- typedef _List_node<_Tp> _Node;
-
- using _Base::_M_impl;
- using _Base::_M_put_node;
- using _Base::_M_get_node;
- using _Base::_M_get_Tp_allocator;
- using _Base::_M_get_Node_allocator;
-
- /**
- * @if maint
- * @param x An instance of user data.
- *
- * Allocates space for a new node and constructs a copy of @a x in it.
- * @endif
- */
- _Node*
- _M_create_node(const value_type& __x)
- {
- _Node* __p = this->_M_get_node();
- try
- {
- _M_get_Tp_allocator().construct(&__p->_M_data, __x);
- }
- catch(...)
- {
- _M_put_node(__p);
- __throw_exception_again;
- }
- return __p;
- }
-
- public:
- // [23.2.2.1] construct/copy/destroy
- // (assign() and get_allocator() are also listed in this section)
- /**
- * @brief Default constructor creates no elements.
- */
- list()
- : _Base() { }
-
- explicit
- list(const allocator_type& __a)
- : _Base(__a) { }
-
- /**
- * @brief Create a %list with copies of an exemplar element.
- * @param n The number of elements to initially create.
- * @param value An element to copy.
- *
- * This constructor fills the %list with @a n copies of @a value.
- */
- explicit
- list(size_type __n, const value_type& __value = value_type(),
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- { _M_fill_initialize(__n, __value); }
-
- /**
- * @brief %List copy constructor.
- * @param x A %list of identical element and allocator types.
- *
- * The newly-created %list uses a copy of the allocation object used
- * by @a x.
- */
- list(const list& __x)
- : _Base(__x._M_get_Node_allocator())
- { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); }
-
- /**
- * @brief Builds a %list from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * Create a %list consisting of copies of the elements from
- * [@a first,@a last). This is linear in N (where N is
- * distance(@a first,@a last)).
- */
- template<typename _InputIterator>
- list(_InputIterator __first, _InputIterator __last,
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- {
- // Check whether it's an integral type. If so, it's not an iterator.
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_initialize_dispatch(__first, __last, _Integral());
- }
-
- /**
- * No explicit dtor needed as the _Base dtor takes care of
- * things. The _Base dtor only erases the elements, and note
- * that if the elements themselves are pointers, the pointed-to
- * memory is not touched in any way. Managing the pointer is
- * the user's responsibilty.
- */
-
- /**
- * @brief %List assignment operator.
- * @param x A %list of identical element and allocator types.
- *
- * All the elements of @a x are copied, but unlike the copy
- * constructor, the allocator object is not copied.
- */
- list&
- operator=(const list& __x);
-
- /**
- * @brief Assigns a given value to a %list.
- * @param n Number of elements to be assigned.
- * @param val Value to be assigned.
- *
- * This function fills a %list with @a n copies of the given
- * value. Note that the assignment completely changes the %list
- * and that the resulting %list's size is the same as the number
- * of elements assigned. Old data may be lost.
- */
- void
- assign(size_type __n, const value_type& __val)
- { _M_fill_assign(__n, __val); }
-
- /**
- * @brief Assigns a range to a %list.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * This function fills a %list with copies of the elements in the
- * range [@a first,@a last).
- *
- * Note that the assignment completely changes the %list and
- * that the resulting %list's size is the same as the number of
- * elements assigned. Old data may be lost.
- */
- template<typename _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- // Check whether it's an integral type. If so, it's not an iterator.
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_assign_dispatch(__first, __last, _Integral());
- }
-
- /// Get a copy of the memory allocation object.
- allocator_type
- get_allocator() const
- { return _Base::get_allocator(); }
-
- // iterators
- /**
- * Returns a read/write iterator that points to the first element in the
- * %list. Iteration is done in ordinary element order.
- */
- iterator
- begin()
- { return iterator(this->_M_impl._M_node._M_next); }
-
- /**
- * Returns a read-only (constant) iterator that points to the
- * first element in the %list. Iteration is done in ordinary
- * element order.
- */
- const_iterator
- begin() const
- { return const_iterator(this->_M_impl._M_node._M_next); }
-
- /**
- * Returns a read/write iterator that points one past the last
- * element in the %list. Iteration is done in ordinary element
- * order.
- */
- iterator
- end()
- { return iterator(&this->_M_impl._M_node); }
-
- /**
- * Returns a read-only (constant) iterator that points one past
- * the last element in the %list. Iteration is done in ordinary
- * element order.
- */
- const_iterator
- end() const
- { return const_iterator(&this->_M_impl._M_node); }
-
- /**
- * Returns a read/write reverse iterator that points to the last
- * element in the %list. Iteration is done in reverse element
- * order.
- */
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points to
- * the last element in the %list. Iteration is done in reverse
- * element order.
- */
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- /**
- * Returns a read/write reverse iterator that points to one
- * before the first element in the %list. Iteration is done in
- * reverse element order.
- */
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points to one
- * before the first element in the %list. Iteration is done in reverse
- * element order.
- */
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // [23.2.2.2] capacity
- /**
- * Returns true if the %list is empty. (Thus begin() would equal
- * end().)
- */
- bool
- empty() const
- { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; }
-
- /** Returns the number of elements in the %list. */
- size_type
- size() const
- { return std::distance(begin(), end()); }
-
- /** Returns the size() of the largest possible %list. */
- size_type
- max_size() const
- { return _M_get_Tp_allocator().max_size(); }
-
- /**
- * @brief Resizes the %list to the specified number of elements.
- * @param new_size Number of elements the %list should contain.
- * @param x Data with which new elements should be populated.
- *
- * This function will %resize the %list to the specified number
- * of elements. If the number is smaller than the %list's
- * current size the %list is truncated, otherwise the %list is
- * extended and new elements are populated with given data.
- */
- void
- resize(size_type __new_size, value_type __x = value_type());
-
- // element access
- /**
- * Returns a read/write reference to the data at the first
- * element of the %list.
- */
- reference
- front()
- { return *begin(); }
-
- /**
- * Returns a read-only (constant) reference to the data at the first
- * element of the %list.
- */
- const_reference
- front() const
- { return *begin(); }
-
- /**
- * Returns a read/write reference to the data at the last element
- * of the %list.
- */
- reference
- back()
- {
- iterator __tmp = end();
- --__tmp;
- return *__tmp;
- }
-
- /**
- * Returns a read-only (constant) reference to the data at the last
- * element of the %list.
- */
- const_reference
- back() const
- {
- const_iterator __tmp = end();
- --__tmp;
- return *__tmp;
- }
-
- // [23.2.2.3] modifiers
- /**
- * @brief Add data to the front of the %list.
- * @param x Data to be added.
- *
- * This is a typical stack operation. The function creates an
- * element at the front of the %list and assigns the given data
- * to it. Due to the nature of a %list this operation can be
- * done in constant time, and does not invalidate iterators and
- * references.
- */
- void
- push_front(const value_type& __x)
- { this->_M_insert(begin(), __x); }
-
- /**
- * @brief Removes first element.
- *
- * This is a typical stack operation. It shrinks the %list by
- * one. Due to the nature of a %list this operation can be done
- * in constant time, and only invalidates iterators/references to
- * the element being removed.
- *
- * Note that no data is returned, and if the first element's data
- * is needed, it should be retrieved before pop_front() is
- * called.
- */
- void
- pop_front()
- { this->_M_erase(begin()); }
-
- /**
- * @brief Add data to the end of the %list.
- * @param x Data to be added.
- *
- * This is a typical stack operation. The function creates an
- * element at the end of the %list and assigns the given data to
- * it. Due to the nature of a %list this operation can be done
- * in constant time, and does not invalidate iterators and
- * references.
- */
- void
- push_back(const value_type& __x)
- { this->_M_insert(end(), __x); }
-
- /**
- * @brief Removes last element.
- *
- * This is a typical stack operation. It shrinks the %list by
- * one. Due to the nature of a %list this operation can be done
- * in constant time, and only invalidates iterators/references to
- * the element being removed.
- *
- * Note that no data is returned, and if the last element's data
- * is needed, it should be retrieved before pop_back() is called.
- */
- void
- pop_back()
- { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); }
-
- /**
- * @brief Inserts given value into %list before specified iterator.
- * @param position An iterator into the %list.
- * @param x Data to be inserted.
- * @return An iterator that points to the inserted data.
- *
- * This function will insert a copy of the given value before
- * the specified location. Due to the nature of a %list this
- * operation can be done in constant time, and does not
- * invalidate iterators and references.
- */
- iterator
- insert(iterator __position, const value_type& __x);
-
- /**
- * @brief Inserts a number of copies of given data into the %list.
- * @param position An iterator into the %list.
- * @param n Number of elements to be inserted.
- * @param x Data to be inserted.
- *
- * This function will insert a specified number of copies of the
- * given data before the location specified by @a position.
- *
- * This operation is linear in the number of elements inserted and
- * does not invalidate iterators and references.
- */
- void
- insert(iterator __position, size_type __n, const value_type& __x)
- {
- list __tmp(__n, __x, _M_get_Node_allocator());
- splice(__position, __tmp);
- }
-
- /**
- * @brief Inserts a range into the %list.
- * @param position An iterator into the %list.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * This function will insert copies of the data in the range [@a
- * first,@a last) into the %list before the location specified by
- * @a position.
- *
- * This operation is linear in the number of elements inserted and
- * does not invalidate iterators and references.
- */
- template<typename _InputIterator>
- void
- insert(iterator __position, _InputIterator __first,
- _InputIterator __last)
- {
- list __tmp(__first, __last, _M_get_Node_allocator());
- splice(__position, __tmp);
- }
-
- /**
- * @brief Remove element at given position.
- * @param position Iterator pointing to element to be erased.
- * @return An iterator pointing to the next element (or end()).
- *
- * This function will erase the element at the given position and thus
- * shorten the %list by one.
- *
- * Due to the nature of a %list this operation can be done in
- * constant time, and only invalidates iterators/references to
- * the element being removed. The user is also cautioned that
- * this function only erases the element, and that if the element
- * is itself a pointer, the pointed-to memory is not touched in
- * any way. Managing the pointer is the user's responsibilty.
- */
- iterator
- erase(iterator __position);
-
- /**
- * @brief Remove a range of elements.
- * @param first Iterator pointing to the first element to be erased.
- * @param last Iterator pointing to one past the last element to be
- * erased.
- * @return An iterator pointing to the element pointed to by @a last
- * prior to erasing (or end()).
- *
- * This function will erase the elements in the range @a
- * [first,last) and shorten the %list accordingly.
- *
- * This operation is linear time in the size of the range and only
- * invalidates iterators/references to the element being removed.
- * The user is also cautioned that this function only erases the
- * elements, and that if the elements themselves are pointers, the
- * pointed-to memory is not touched in any way. Managing the pointer
- * is the user's responsibilty.
- */
- iterator
- erase(iterator __first, iterator __last)
- {
- while (__first != __last)
- __first = erase(__first);
- return __last;
- }
-
- /**
- * @brief Swaps data with another %list.
- * @param x A %list of the same element and allocator types.
- *
- * This exchanges the elements between two lists in constant
- * time. Note that the global std::swap() function is
- * specialized such that std::swap(l1,l2) will feed to this
- * function.
- */
- void
- swap(list& __x)
- {
- _List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<typename _Base::_Node_alloc_type>::
- _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator());
- }
-
- /**
- * Erases all the elements. Note that this function only erases
- * the elements, and that if the elements themselves are
- * pointers, the pointed-to memory is not touched in any way.
- * Managing the pointer is the user's responsibilty.
- */
- void
- clear()
- {
- _Base::_M_clear();
- _Base::_M_init();
- }
-
- // [23.2.2.4] list operations
- /**
- * @brief Insert contents of another %list.
- * @param position Iterator referencing the element to insert before.
- * @param x Source list.
- *
- * The elements of @a x are inserted in constant time in front of
- * the element referenced by @a position. @a x becomes an empty
- * list.
- *
- * Requires this != @a x.
- */
- void
- splice(iterator __position, list& __x)
- {
- if (!__x.empty())
- {
- _M_check_equal_allocators(__x);
-
- this->_M_transfer(__position, __x.begin(), __x.end());
- }
- }
-
- /**
- * @brief Insert element from another %list.
- * @param position Iterator referencing the element to insert before.
- * @param x Source list.
- * @param i Iterator referencing the element to move.
- *
- * Removes the element in list @a x referenced by @a i and
- * inserts it into the current list before @a position.
- */
- void
- splice(iterator __position, list& __x, iterator __i)
- {
- iterator __j = __i;
- ++__j;
- if (__position == __i || __position == __j)
- return;
-
- if (this != &__x)
- _M_check_equal_allocators(__x);
-
- this->_M_transfer(__position, __i, __j);
- }
-
- /**
- * @brief Insert range from another %list.
- * @param position Iterator referencing the element to insert before.
- * @param x Source list.
- * @param first Iterator referencing the start of range in x.
- * @param last Iterator referencing the end of range in x.
- *
- * Removes elements in the range [first,last) and inserts them
- * before @a position in constant time.
- *
- * Undefined if @a position is in [first,last).
- */
- void
- splice(iterator __position, list& __x, iterator __first, iterator __last)
- {
- if (__first != __last)
- {
- if (this != &__x)
- _M_check_equal_allocators(__x);
-
- this->_M_transfer(__position, __first, __last);
- }
- }
-
- /**
- * @brief Remove all elements equal to value.
- * @param value The value to remove.
- *
- * Removes every element in the list equal to @a value.
- * Remaining elements stay in list order. Note that this
- * function only erases the elements, and that if the elements
- * themselves are pointers, the pointed-to memory is not
- * touched in any way. Managing the pointer is the user's
- * responsibilty.
- */
- void
- remove(const _Tp& __value);
-
- /**
- * @brief Remove all elements satisfying a predicate.
- * @param Predicate Unary predicate function or object.
- *
- * Removes every element in the list for which the predicate
- * returns true. Remaining elements stay in list order. Note
- * that this function only erases the elements, and that if the
- * elements themselves are pointers, the pointed-to memory is
- * not touched in any way. Managing the pointer is the user's
- * responsibilty.
- */
- template<typename _Predicate>
- void
- remove_if(_Predicate);
-
- /**
- * @brief Remove consecutive duplicate elements.
- *
- * For each consecutive set of elements with the same value,
- * remove all but the first one. Remaining elements stay in
- * list order. Note that this function only erases the
- * elements, and that if the elements themselves are pointers,
- * the pointed-to memory is not touched in any way. Managing
- * the pointer is the user's responsibilty.
- */
- void
- unique();
-
- /**
- * @brief Remove consecutive elements satisfying a predicate.
- * @param BinaryPredicate Binary predicate function or object.
- *
- * For each consecutive set of elements [first,last) that
- * satisfy predicate(first,i) where i is an iterator in
- * [first,last), remove all but the first one. Remaining
- * elements stay in list order. Note that this function only
- * erases the elements, and that if the elements themselves are
- * pointers, the pointed-to memory is not touched in any way.
- * Managing the pointer is the user's responsibilty.
- */
- template<typename _BinaryPredicate>
- void
- unique(_BinaryPredicate);
-
- /**
- * @brief Merge sorted lists.
- * @param x Sorted list to merge.
- *
- * Assumes that both @a x and this list are sorted according to
- * operator<(). Merges elements of @a x into this list in
- * sorted order, leaving @a x empty when complete. Elements in
- * this list precede elements in @a x that are equal.
- */
- void
- merge(list& __x);
-
- /**
- * @brief Merge sorted lists according to comparison function.
- * @param x Sorted list to merge.
- * @param StrictWeakOrdering Comparison function definining
- * sort order.
- *
- * Assumes that both @a x and this list are sorted according to
- * StrictWeakOrdering. Merges elements of @a x into this list
- * in sorted order, leaving @a x empty when complete. Elements
- * in this list precede elements in @a x that are equivalent
- * according to StrictWeakOrdering().
- */
- template<typename _StrictWeakOrdering>
- void
- merge(list&, _StrictWeakOrdering);
-
- /**
- * @brief Reverse the elements in list.
- *
- * Reverse the order of elements in the list in linear time.
- */
- void
- reverse()
- { this->_M_impl._M_node.reverse(); }
-
- /**
- * @brief Sort the elements.
- *
- * Sorts the elements of this list in NlogN time. Equivalent
- * elements remain in list order.
- */
- void
- sort();
-
- /**
- * @brief Sort the elements according to comparison function.
- *
- * Sorts the elements of this list in NlogN time. Equivalent
- * elements remain in list order.
- */
- template<typename _StrictWeakOrdering>
- void
- sort(_StrictWeakOrdering);
-
- protected:
- // Internal constructor functions follow.
-
- // Called by the range constructor to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
- {
- _M_fill_initialize(static_cast<size_type>(__n),
- static_cast<value_type>(__x));
- }
-
- // Called by the range constructor to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type)
- {
- for (; __first != __last; ++__first)
- push_back(*__first);
- }
-
- // Called by list(n,v,a), and the range constructor when it turns out
- // to be the same thing.
- void
- _M_fill_initialize(size_type __n, const value_type& __x)
- {
- for (; __n > 0; --__n)
- push_back(__x);
- }
-
-
- // Internal assign functions follow.
-
- // Called by the range assign to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
- {
- _M_fill_assign(static_cast<size_type>(__n),
- static_cast<value_type>(__val));
- }
-
- // Called by the range assign to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type);
-
- // Called by assign(n,t), and the range assign when it turns out
- // to be the same thing.
- void
- _M_fill_assign(size_type __n, const value_type& __val);
-
-
- // Moves the elements from [first,last) before position.
- void
- _M_transfer(iterator __position, iterator __first, iterator __last)
- { __position._M_node->transfer(__first._M_node, __last._M_node); }
-
- // Inserts new element at position given and with value given.
- void
- _M_insert(iterator __position, const value_type& __x)
- {
- _Node* __tmp = _M_create_node(__x);
- __tmp->hook(__position._M_node);
- }
-
- // Erases element at position given.
- void
- _M_erase(iterator __position)
- {
- __position._M_node->unhook();
- _Node* __n = static_cast<_Node*>(__position._M_node);
- _M_get_Tp_allocator().destroy(&__n->_M_data);
- _M_put_node(__n);
- }
-
- // To implement the splice (and merge) bits of N1599.
- void
- _M_check_equal_allocators(list& __x)
- {
- if (_M_get_Node_allocator() != __x._M_get_Node_allocator())
- __throw_runtime_error(__N("list::_M_check_equal_allocators"));
- }
- };
-
- /**
- * @brief List equality comparison.
- * @param x A %list.
- * @param y A %list of the same type as @a x.
- * @return True iff the size and elements of the lists are equal.
- *
- * This is an equivalence relation. It is linear in the size of
- * the lists. Lists are considered equivalent if their sizes are
- * equal, and if corresponding elements compare equal.
- */
- template<typename _Tp, typename _Alloc>
- inline bool
- operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
- {
- typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;
- const_iterator __end1 = __x.end();
- const_iterator __end2 = __y.end();
-
- const_iterator __i1 = __x.begin();
- const_iterator __i2 = __y.begin();
- while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
- {
- ++__i1;
- ++__i2;
- }
- return __i1 == __end1 && __i2 == __end2;
- }
-
- /**
- * @brief List ordering relation.
- * @param x A %list.
- * @param y A %list of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is a total ordering relation. It is linear in the size of the
- * lists. The elements must be comparable with @c <.
- *
- * See std::lexicographical_compare() for how the determination is made.
- */
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
- { return std::lexicographical_compare(__x.begin(), __x.end(),
- __y.begin(), __y.end()); }
-
- /// Based on operator==
- template<typename _Tp, typename _Alloc>
- inline bool
- operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
- { return !(__x == __y); }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
- { return __y < __x; }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
- { return !(__y < __x); }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
- { return !(__x < __y); }
-
- /// See std::list::swap().
- template<typename _Tp, typename _Alloc>
- inline void
- swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _LIST_H */
-
diff --git a/contrib/libstdc++/include/bits/stl_map.h b/contrib/libstdc++/include/bits/stl_map.h
deleted file mode 100644
index 62eb9714fda8..000000000000
--- a/contrib/libstdc++/include/bits/stl_map.h
+++ /dev/null
@@ -1,740 +0,0 @@
-// Map implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003, 2004, 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
-// 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_map.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _MAP_H
-#define _MAP_H 1
-
-#include <bits/functexcept.h>
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @brief A standard container made up of (key,value) pairs, which can be
- * retrieved based on a key, in logarithmic time.
- *
- * @ingroup Containers
- * @ingroup Assoc_containers
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and an
- * <a href="tables.html#69">associative container</a> (using unique keys).
- * For a @c map<Key,T> the key_type is Key, the mapped_type is T, and the
- * value_type is std::pair<const Key,T>.
- *
- * Maps support bidirectional iterators.
- *
- * @if maint
- * The private tree data is declared exactly the same way for map and
- * multimap; the distinction is made entirely in how the tree functions are
- * called (*_unique versus *_equal, same as the standard).
- * @endif
- */
- template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
- typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
- class map
- {
- public:
- typedef _Key key_type;
- typedef _Tp mapped_type;
- typedef std::pair<const _Key, _Tp> value_type;
- typedef _Compare key_compare;
- typedef _Alloc allocator_type;
-
- private:
- // concept requirements
- typedef typename _Alloc::value_type _Alloc_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires4(_Compare, bool, _Key, _Key,
- _BinaryFunctionConcept)
- __glibcxx_class_requires2(value_type, _Alloc_value_type, _SameTypeConcept)
-
- public:
- class value_compare
- : public std::binary_function<value_type, value_type, bool>
- {
- friend class map<_Key, _Tp, _Compare, _Alloc>;
- protected:
- _Compare comp;
-
- value_compare(_Compare __c)
- : comp(__c) { }
-
- public:
- bool operator()(const value_type& __x, const value_type& __y) const
- { return comp(__x.first, __y.first); }
- };
-
- private:
- /// @if maint This turns a red-black tree into a [multi]map. @endif
- typedef typename _Alloc::template rebind<value_type>::other
- _Pair_alloc_type;
-
- typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
- key_compare, _Pair_alloc_type> _Rep_type;
-
- /// @if maint The actual tree structure. @endif
- _Rep_type _M_t;
-
- public:
- // many of these are specified differently in ISO, but the following are
- // "functionally equivalent"
- typedef typename _Pair_alloc_type::pointer pointer;
- typedef typename _Pair_alloc_type::const_pointer const_pointer;
- typedef typename _Pair_alloc_type::reference reference;
- typedef typename _Pair_alloc_type::const_reference const_reference;
- typedef typename _Rep_type::iterator iterator;
- typedef typename _Rep_type::const_iterator const_iterator;
- typedef typename _Rep_type::size_type size_type;
- typedef typename _Rep_type::difference_type difference_type;
- typedef typename _Rep_type::reverse_iterator reverse_iterator;
- typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
-
- // [23.3.1.1] construct/copy/destroy
- // (get_allocator() is normally listed in this section, but seems to have
- // been accidentally omitted in the printed standard)
- /**
- * @brief Default constructor creates no elements.
- */
- map()
- : _M_t() { }
-
- // for some reason this was made a separate function
- /**
- * @brief Default constructor creates no elements.
- */
- explicit
- map(const _Compare& __comp, const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a) { }
-
- /**
- * @brief Map copy constructor.
- * @param x A %map of identical element and allocator types.
- *
- * The newly-created %map uses a copy of the allocation object used
- * by @a x.
- */
- map(const map& __x)
- : _M_t(__x._M_t) { }
-
- /**
- * @brief Builds a %map from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * Create a %map consisting of copies of the elements from [first,last).
- * This is linear in N if the range is already sorted, and NlogN
- * otherwise (where N is distance(first,last)).
- */
- template <typename _InputIterator>
- map(_InputIterator __first, _InputIterator __last)
- : _M_t()
- { _M_t._M_insert_unique(__first, __last); }
-
- /**
- * @brief Builds a %map from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param comp A comparison functor.
- * @param a An allocator object.
- *
- * Create a %map consisting of copies of the elements from [first,last).
- * This is linear in N if the range is already sorted, and NlogN
- * otherwise (where N is distance(first,last)).
- */
- template <typename _InputIterator>
- map(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp, const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a)
- { _M_t._M_insert_unique(__first, __last); }
-
- // FIXME There is no dtor declared, but we should have something
- // generated by Doxygen. I don't know what tags to add to this
- // paragraph to make that happen:
- /**
- * The dtor only erases the elements, and note that if the elements
- * themselves are pointers, the pointed-to memory is not touched in any
- * way. Managing the pointer is the user's responsibilty.
- */
-
- /**
- * @brief Map assignment operator.
- * @param x A %map of identical element and allocator types.
- *
- * All the elements of @a x are copied, but unlike the copy constructor,
- * the allocator object is not copied.
- */
- map&
- operator=(const map& __x)
- {
- _M_t = __x._M_t;
- return *this;
- }
-
- /// Get a copy of the memory allocation object.
- allocator_type
- get_allocator() const
- { return _M_t.get_allocator(); }
-
- // iterators
- /**
- * Returns a read/write iterator that points to the first pair in the
- * %map.
- * Iteration is done in ascending order according to the keys.
- */
- iterator
- begin()
- { return _M_t.begin(); }
-
- /**
- * Returns a read-only (constant) iterator that points to the first pair
- * in the %map. Iteration is done in ascending order according to the
- * keys.
- */
- const_iterator
- begin() const
- { return _M_t.begin(); }
-
- /**
- * Returns a read/write iterator that points one past the last
- * pair in the %map. Iteration is done in ascending order
- * according to the keys.
- */
- iterator
- end()
- { return _M_t.end(); }
-
- /**
- * Returns a read-only (constant) iterator that points one past the last
- * pair in the %map. Iteration is done in ascending order according to
- * the keys.
- */
- const_iterator
- end() const
- { return _M_t.end(); }
-
- /**
- * Returns a read/write reverse iterator that points to the last pair in
- * the %map. Iteration is done in descending order according to the
- * keys.
- */
- reverse_iterator
- rbegin()
- { return _M_t.rbegin(); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points to the
- * last pair in the %map. Iteration is done in descending order
- * according to the keys.
- */
- const_reverse_iterator
- rbegin() const
- { return _M_t.rbegin(); }
-
- /**
- * Returns a read/write reverse iterator that points to one before the
- * first pair in the %map. Iteration is done in descending order
- * according to the keys.
- */
- reverse_iterator
- rend()
- { return _M_t.rend(); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points to one
- * before the first pair in the %map. Iteration is done in descending
- * order according to the keys.
- */
- const_reverse_iterator
- rend() const
- { return _M_t.rend(); }
-
- // capacity
- /** Returns true if the %map is empty. (Thus begin() would equal
- * end().)
- */
- bool
- empty() const
- { return _M_t.empty(); }
-
- /** Returns the size of the %map. */
- size_type
- size() const
- { return _M_t.size(); }
-
- /** Returns the maximum size of the %map. */
- size_type
- max_size() const
- { return _M_t.max_size(); }
-
- // [23.3.1.2] element access
- /**
- * @brief Subscript ( @c [] ) access to %map data.
- * @param k The key for which data should be retrieved.
- * @return A reference to the data of the (key,data) %pair.
- *
- * Allows for easy lookup with the subscript ( @c [] )
- * operator. Returns data associated with the key specified in
- * subscript. If the key does not exist, a pair with that key
- * is created using default values, which is then returned.
- *
- * Lookup requires logarithmic time.
- */
- mapped_type&
- operator[](const key_type& __k)
- {
- // concept requirements
- __glibcxx_function_requires(_DefaultConstructibleConcept<mapped_type>)
-
- iterator __i = lower_bound(__k);
- // __i->first is greater than or equivalent to __k.
- if (__i == end() || key_comp()(__k, (*__i).first))
- __i = insert(__i, value_type(__k, mapped_type()));
- return (*__i).second;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 464. Suggestion for new member functions in standard containers.
- /**
- * @brief Access to %map data.
- * @param k The key for which data should be retrieved.
- * @return A reference to the data whose key is equivalent to @a k, if
- * such a data is present in the %map.
- * @throw std::out_of_range If no such data is present.
- */
- mapped_type&
- at(const key_type& __k)
- {
- iterator __i = lower_bound(__k);
- if (__i == end() || key_comp()(__k, (*__i).first))
- __throw_out_of_range(__N("map::at"));
- return (*__i).second;
- }
-
- const mapped_type&
- at(const key_type& __k) const
- {
- const_iterator __i = lower_bound(__k);
- if (__i == end() || key_comp()(__k, (*__i).first))
- __throw_out_of_range(__N("map::at"));
- return (*__i).second;
- }
-
- // modifiers
- /**
- * @brief Attempts to insert a std::pair into the %map.
-
- * @param x Pair to be inserted (see std::make_pair for easy creation
- * of pairs).
-
- * @return A pair, of which the first element is an iterator that
- * points to the possibly inserted pair, and the second is
- * a bool that is true if the pair was actually inserted.
- *
- * This function attempts to insert a (key, value) %pair into the %map.
- * A %map relies on unique keys and thus a %pair is only inserted if its
- * first element (the key) is not already present in the %map.
- *
- * Insertion requires logarithmic time.
- */
- std::pair<iterator, bool>
- insert(const value_type& __x)
- { return _M_t._M_insert_unique(__x); }
-
- /**
- * @brief Attempts to insert a std::pair into the %map.
- * @param position An iterator that serves as a hint as to where the
- * pair should be inserted.
- * @param x Pair to be inserted (see std::make_pair for easy creation
- * of pairs).
- * @return An iterator that points to the element with key of @a x (may
- * or may not be the %pair passed in).
- *
-
- * This function is not concerned about whether the insertion
- * took place, and thus does not return a boolean like the
- * single-argument insert() does. Note that the first
- * parameter is only a hint and can potentially improve the
- * performance of the insertion process. A bad hint would
- * cause no gains in efficiency.
- *
- * See
- * http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4
- * for more on "hinting".
- *
- * Insertion requires logarithmic time (if the hint is not taken).
- */
- iterator
- insert(iterator __position, const value_type& __x)
- { return _M_t._M_insert_unique(__position, __x); }
-
- /**
- * @brief Template function that attemps to insert a range of elements.
- * @param first Iterator pointing to the start of the range to be
- * inserted.
- * @param last Iterator pointing to the end of the range.
- *
- * Complexity similar to that of the range constructor.
- */
- template <typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- { _M_t._M_insert_unique(__first, __last); }
-
- /**
- * @brief Erases an element from a %map.
- * @param position An iterator pointing to the element to be erased.
- *
- * This function erases an element, pointed to by the given
- * iterator, from a %map. Note that this function only erases
- * the element, and that if the element is itself a pointer,
- * the pointed-to memory is not touched in any way. Managing
- * the pointer is the user's responsibilty.
- */
- void
- erase(iterator __position)
- { _M_t.erase(__position); }
-
- /**
- * @brief Erases elements according to the provided key.
- * @param x Key of element to be erased.
- * @return The number of elements erased.
- *
- * This function erases all the elements located by the given key from
- * a %map.
- * Note that this function only erases the element, and that if
- * the element is itself a pointer, the pointed-to memory is not touched
- * in any way. Managing the pointer is the user's responsibilty.
- */
- size_type
- erase(const key_type& __x)
- { return _M_t.erase(__x); }
-
- /**
- * @brief Erases a [first,last) range of elements from a %map.
- * @param first Iterator pointing to the start of the range to be
- * erased.
- * @param last Iterator pointing to the end of the range to be erased.
- *
- * This function erases a sequence of elements from a %map.
- * Note that this function only erases the element, and that if
- * the element is itself a pointer, the pointed-to memory is not touched
- * in any way. Managing the pointer is the user's responsibilty.
- */
- void
- erase(iterator __first, iterator __last)
- { _M_t.erase(__first, __last); }
-
- /**
- * @brief Swaps data with another %map.
- * @param x A %map of the same element and allocator types.
- *
- * This exchanges the elements between two maps in constant
- * time. (It is only swapping a pointer, an integer, and an
- * instance of the @c Compare type (which itself is often
- * stateless and empty), so it should be quite fast.) Note
- * that the global std::swap() function is specialized such
- * that std::swap(m1,m2) will feed to this function.
- */
- void
- swap(map& __x)
- { _M_t.swap(__x._M_t); }
-
- /**
- * Erases all elements in a %map. Note that this function only
- * erases the elements, and that if the elements themselves are
- * pointers, the pointed-to memory is not touched in any way.
- * Managing the pointer is the user's responsibilty.
- */
- void
- clear()
- { _M_t.clear(); }
-
- // observers
- /**
- * Returns the key comparison object out of which the %map was
- * constructed.
- */
- key_compare
- key_comp() const
- { return _M_t.key_comp(); }
-
- /**
- * Returns a value comparison object, built from the key comparison
- * object out of which the %map was constructed.
- */
- value_compare
- value_comp() const
- { return value_compare(_M_t.key_comp()); }
-
- // [23.3.1.3] map operations
- /**
- * @brief Tries to locate an element in a %map.
- * @param x Key of (key, value) %pair to be located.
- * @return Iterator pointing to sought-after element, or end() if not
- * found.
- *
- * This function takes a key and tries to locate the element with which
- * the key matches. If successful the function returns an iterator
- * pointing to the sought after %pair. If unsuccessful it returns the
- * past-the-end ( @c end() ) iterator.
- */
- iterator
- find(const key_type& __x)
- { return _M_t.find(__x); }
-
- /**
- * @brief Tries to locate an element in a %map.
- * @param x Key of (key, value) %pair to be located.
- * @return Read-only (constant) iterator pointing to sought-after
- * element, or end() if not found.
- *
- * This function takes a key and tries to locate the element with which
- * the key matches. If successful the function returns a constant
- * iterator pointing to the sought after %pair. If unsuccessful it
- * returns the past-the-end ( @c end() ) iterator.
- */
- const_iterator
- find(const key_type& __x) const
- { return _M_t.find(__x); }
-
- /**
- * @brief Finds the number of elements with given key.
- * @param x Key of (key, value) pairs to be located.
- * @return Number of elements with specified key.
- *
- * This function only makes sense for multimaps; for map the result will
- * either be 0 (not present) or 1 (present).
- */
- size_type
- count(const key_type& __x) const
- { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
-
- /**
- * @brief Finds the beginning of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Iterator pointing to first element equal to or greater
- * than key, or end().
- *
- * This function returns the first element of a subsequence of elements
- * that matches the given key. If unsuccessful it returns an iterator
- * pointing to the first element that has a greater value than given key
- * or end() if no such element exists.
- */
- iterator
- lower_bound(const key_type& __x)
- { return _M_t.lower_bound(__x); }
-
- /**
- * @brief Finds the beginning of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Read-only (constant) iterator pointing to first element
- * equal to or greater than key, or end().
- *
- * This function returns the first element of a subsequence of elements
- * that matches the given key. If unsuccessful it returns an iterator
- * pointing to the first element that has a greater value than given key
- * or end() if no such element exists.
- */
- const_iterator
- lower_bound(const key_type& __x) const
- { return _M_t.lower_bound(__x); }
-
- /**
- * @brief Finds the end of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Iterator pointing to the first element
- * greater than key, or end().
- */
- iterator
- upper_bound(const key_type& __x)
- { return _M_t.upper_bound(__x); }
-
- /**
- * @brief Finds the end of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Read-only (constant) iterator pointing to first iterator
- * greater than key, or end().
- */
- const_iterator
- upper_bound(const key_type& __x) const
- { return _M_t.upper_bound(__x); }
-
- /**
- * @brief Finds a subsequence matching given key.
- * @param x Key of (key, value) pairs to be located.
- * @return Pair of iterators that possibly points to the subsequence
- * matching given key.
- *
- * This function is equivalent to
- * @code
- * std::make_pair(c.lower_bound(val),
- * c.upper_bound(val))
- * @endcode
- * (but is faster than making the calls separately).
- *
- * This function probably only makes sense for multimaps.
- */
- std::pair<iterator, iterator>
- equal_range(const key_type& __x)
- { return _M_t.equal_range(__x); }
-
- /**
- * @brief Finds a subsequence matching given key.
- * @param x Key of (key, value) pairs to be located.
- * @return Pair of read-only (constant) iterators that possibly points
- * to the subsequence matching given key.
- *
- * This function is equivalent to
- * @code
- * std::make_pair(c.lower_bound(val),
- * c.upper_bound(val))
- * @endcode
- * (but is faster than making the calls separately).
- *
- * This function probably only makes sense for multimaps.
- */
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type& __x) const
- { return _M_t.equal_range(__x); }
-
- template <typename _K1, typename _T1, typename _C1, typename _A1>
- friend bool
- operator== (const map<_K1, _T1, _C1, _A1>&,
- const map<_K1, _T1, _C1, _A1>&);
-
- template <typename _K1, typename _T1, typename _C1, typename _A1>
- friend bool
- operator< (const map<_K1, _T1, _C1, _A1>&,
- const map<_K1, _T1, _C1, _A1>&);
- };
-
- /**
- * @brief Map equality comparison.
- * @param x A %map.
- * @param y A %map of the same type as @a x.
- * @return True iff the size and elements of the maps are equal.
- *
- * This is an equivalence relation. It is linear in the size of the
- * maps. Maps are considered equivalent if their sizes are equal,
- * and if corresponding elements compare equal.
- */
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
- const map<_Key, _Tp, _Compare, _Alloc>& __y)
- { return __x._M_t == __y._M_t; }
-
- /**
- * @brief Map ordering relation.
- * @param x A %map.
- * @param y A %map of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is a total ordering relation. It is linear in the size of the
- * maps. The elements must be comparable with @c <.
- *
- * See std::lexicographical_compare() for how the determination is made.
- */
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
- const map<_Key, _Tp, _Compare, _Alloc>& __y)
- { return __x._M_t < __y._M_t; }
-
- /// Based on operator==
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
- const map<_Key, _Tp, _Compare, _Alloc>& __y)
- { return !(__x == __y); }
-
- /// Based on operator<
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
- const map<_Key, _Tp, _Compare, _Alloc>& __y)
- { return __y < __x; }
-
- /// Based on operator<
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
- const map<_Key, _Tp, _Compare, _Alloc>& __y)
- { return !(__y < __x); }
-
- /// Based on operator<
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
- const map<_Key, _Tp, _Compare, _Alloc>& __y)
- { return !(__x < __y); }
-
- /// See std::map::swap().
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline void
- swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
- map<_Key, _Tp, _Compare, _Alloc>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _MAP_H */
diff --git a/contrib/libstdc++/include/bits/stl_multimap.h b/contrib/libstdc++/include/bits/stl_multimap.h
deleted file mode 100644
index 85feba78c556..000000000000
--- a/contrib/libstdc++/include/bits/stl_multimap.h
+++ /dev/null
@@ -1,670 +0,0 @@
-// Multimap implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_multimap.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _MULTIMAP_H
-#define _MULTIMAP_H 1
-
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @brief A standard container made up of (key,value) pairs, which can be
- * retrieved based on a key, in logarithmic time.
- *
- * @ingroup Containers
- * @ingroup Assoc_containers
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and an
- * <a href="tables.html#69">associative container</a> (using equivalent
- * keys). For a @c multimap<Key,T> the key_type is Key, the mapped_type
- * is T, and the value_type is std::pair<const Key,T>.
- *
- * Multimaps support bidirectional iterators.
- *
- * @if maint
- * The private tree data is declared exactly the same way for map and
- * multimap; the distinction is made entirely in how the tree functions are
- * called (*_unique versus *_equal, same as the standard).
- * @endif
- */
- template <typename _Key, typename _Tp,
- typename _Compare = std::less<_Key>,
- typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
- class multimap
- {
- public:
- typedef _Key key_type;
- typedef _Tp mapped_type;
- typedef std::pair<const _Key, _Tp> value_type;
- typedef _Compare key_compare;
- typedef _Alloc allocator_type;
-
- private:
- // concept requirements
- typedef typename _Alloc::value_type _Alloc_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires4(_Compare, bool, _Key, _Key,
- _BinaryFunctionConcept)
- __glibcxx_class_requires2(value_type, _Alloc_value_type, _SameTypeConcept)
-
- public:
- class value_compare
- : public std::binary_function<value_type, value_type, bool>
- {
- friend class multimap<_Key, _Tp, _Compare, _Alloc>;
- protected:
- _Compare comp;
-
- value_compare(_Compare __c)
- : comp(__c) { }
-
- public:
- bool operator()(const value_type& __x, const value_type& __y) const
- { return comp(__x.first, __y.first); }
- };
-
- private:
- /// @if maint This turns a red-black tree into a [multi]map. @endif
- typedef typename _Alloc::template rebind<value_type>::other
- _Pair_alloc_type;
-
- typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
- key_compare, _Pair_alloc_type> _Rep_type;
- /// @if maint The actual tree structure. @endif
- _Rep_type _M_t;
-
- public:
- // many of these are specified differently in ISO, but the following are
- // "functionally equivalent"
- typedef typename _Pair_alloc_type::pointer pointer;
- typedef typename _Pair_alloc_type::const_pointer const_pointer;
- typedef typename _Pair_alloc_type::reference reference;
- typedef typename _Pair_alloc_type::const_reference const_reference;
- typedef typename _Rep_type::iterator iterator;
- typedef typename _Rep_type::const_iterator const_iterator;
- typedef typename _Rep_type::size_type size_type;
- typedef typename _Rep_type::difference_type difference_type;
- typedef typename _Rep_type::reverse_iterator reverse_iterator;
- typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
-
- // [23.3.2] construct/copy/destroy
- // (get_allocator() is also listed in this section)
- /**
- * @brief Default constructor creates no elements.
- */
- multimap()
- : _M_t() { }
-
- // for some reason this was made a separate function
- /**
- * @brief Default constructor creates no elements.
- */
- explicit
- multimap(const _Compare& __comp,
- const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a) { }
-
- /**
- * @brief %Multimap copy constructor.
- * @param x A %multimap of identical element and allocator types.
- *
- * The newly-created %multimap uses a copy of the allocation object used
- * by @a x.
- */
- multimap(const multimap& __x)
- : _M_t(__x._M_t) { }
-
- /**
- * @brief Builds a %multimap from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * Create a %multimap consisting of copies of the elements from
- * [first,last). This is linear in N if the range is already sorted,
- * and NlogN otherwise (where N is distance(first,last)).
- */
- template <typename _InputIterator>
- multimap(_InputIterator __first, _InputIterator __last)
- : _M_t()
- { _M_t._M_insert_equal(__first, __last); }
-
- /**
- * @brief Builds a %multimap from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param comp A comparison functor.
- * @param a An allocator object.
- *
- * Create a %multimap consisting of copies of the elements from
- * [first,last). This is linear in N if the range is already sorted,
- * and NlogN otherwise (where N is distance(first,last)).
- */
- template <typename _InputIterator>
- multimap(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp,
- const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a)
- { _M_t._M_insert_equal(__first, __last); }
-
- // FIXME There is no dtor declared, but we should have something generated
- // by Doxygen. I don't know what tags to add to this paragraph to make
- // that happen:
- /**
- * The dtor only erases the elements, and note that if the elements
- * themselves are pointers, the pointed-to memory is not touched in any
- * way. Managing the pointer is the user's responsibilty.
- */
-
- /**
- * @brief %Multimap assignment operator.
- * @param x A %multimap of identical element and allocator types.
- *
- * All the elements of @a x are copied, but unlike the copy constructor,
- * the allocator object is not copied.
- */
- multimap&
- operator=(const multimap& __x)
- {
- _M_t = __x._M_t;
- return *this;
- }
-
- /// Get a copy of the memory allocation object.
- allocator_type
- get_allocator() const
- { return _M_t.get_allocator(); }
-
- // iterators
- /**
- * Returns a read/write iterator that points to the first pair in the
- * %multimap. Iteration is done in ascending order according to the
- * keys.
- */
- iterator
- begin()
- { return _M_t.begin(); }
-
- /**
- * Returns a read-only (constant) iterator that points to the first pair
- * in the %multimap. Iteration is done in ascending order according to
- * the keys.
- */
- const_iterator
- begin() const
- { return _M_t.begin(); }
-
- /**
- * Returns a read/write iterator that points one past the last pair in
- * the %multimap. Iteration is done in ascending order according to the
- * keys.
- */
- iterator
- end()
- { return _M_t.end(); }
-
- /**
- * Returns a read-only (constant) iterator that points one past the last
- * pair in the %multimap. Iteration is done in ascending order according
- * to the keys.
- */
- const_iterator
- end() const
- { return _M_t.end(); }
-
- /**
- * Returns a read/write reverse iterator that points to the last pair in
- * the %multimap. Iteration is done in descending order according to the
- * keys.
- */
- reverse_iterator
- rbegin()
- { return _M_t.rbegin(); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points to the
- * last pair in the %multimap. Iteration is done in descending order
- * according to the keys.
- */
- const_reverse_iterator
- rbegin() const
- { return _M_t.rbegin(); }
-
- /**
- * Returns a read/write reverse iterator that points to one before the
- * first pair in the %multimap. Iteration is done in descending order
- * according to the keys.
- */
- reverse_iterator
- rend()
- { return _M_t.rend(); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points to one
- * before the first pair in the %multimap. Iteration is done in
- * descending order according to the keys.
- */
- const_reverse_iterator
- rend() const
- { return _M_t.rend(); }
-
- // capacity
- /** Returns true if the %multimap is empty. */
- bool
- empty() const
- { return _M_t.empty(); }
-
- /** Returns the size of the %multimap. */
- size_type
- size() const
- { return _M_t.size(); }
-
- /** Returns the maximum size of the %multimap. */
- size_type
- max_size() const
- { return _M_t.max_size(); }
-
- // modifiers
- /**
- * @brief Inserts a std::pair into the %multimap.
- * @param x Pair to be inserted (see std::make_pair for easy creation
- * of pairs).
- * @return An iterator that points to the inserted (key,value) pair.
- *
- * This function inserts a (key, value) pair into the %multimap.
- * Contrary to a std::map the %multimap does not rely on unique keys and
- * thus multiple pairs with the same key can be inserted.
- *
- * Insertion requires logarithmic time.
- */
- iterator
- insert(const value_type& __x)
- { return _M_t._M_insert_equal(__x); }
-
- /**
- * @brief Inserts a std::pair into the %multimap.
- * @param position An iterator that serves as a hint as to where the
- * pair should be inserted.
- * @param x Pair to be inserted (see std::make_pair for easy creation
- * of pairs).
- * @return An iterator that points to the inserted (key,value) pair.
- *
- * This function inserts a (key, value) pair into the %multimap.
- * Contrary to a std::map the %multimap does not rely on unique keys and
- * thus multiple pairs with the same key can be inserted.
- * Note that the first parameter is only a hint and can potentially
- * improve the performance of the insertion process. A bad hint would
- * cause no gains in efficiency.
- *
- * See http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4
- * for more on "hinting".
- *
- * Insertion requires logarithmic time (if the hint is not taken).
- */
- iterator
- insert(iterator __position, const value_type& __x)
- { return _M_t._M_insert_equal(__position, __x); }
-
- /**
- * @brief A template function that attemps to insert a range of elements.
- * @param first Iterator pointing to the start of the range to be
- * inserted.
- * @param last Iterator pointing to the end of the range.
- *
- * Complexity similar to that of the range constructor.
- */
- template <typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- { _M_t._M_insert_equal(__first, __last); }
-
- /**
- * @brief Erases an element from a %multimap.
- * @param position An iterator pointing to the element to be erased.
- *
- * This function erases an element, pointed to by the given iterator,
- * from a %multimap. Note that this function only erases the element,
- * and that if the element is itself a pointer, the pointed-to memory is
- * not touched in any way. Managing the pointer is the user's
- * responsibilty.
- */
- void
- erase(iterator __position)
- { _M_t.erase(__position); }
-
- /**
- * @brief Erases elements according to the provided key.
- * @param x Key of element to be erased.
- * @return The number of elements erased.
- *
- * This function erases all elements located by the given key from a
- * %multimap.
- * Note that this function only erases the element, and that if
- * the element is itself a pointer, the pointed-to memory is not touched
- * in any way. Managing the pointer is the user's responsibilty.
- */
- size_type
- erase(const key_type& __x)
- { return _M_t.erase(__x); }
-
- /**
- * @brief Erases a [first,last) range of elements from a %multimap.
- * @param first Iterator pointing to the start of the range to be
- * erased.
- * @param last Iterator pointing to the end of the range to be erased.
- *
- * This function erases a sequence of elements from a %multimap.
- * Note that this function only erases the elements, and that if
- * the elements themselves are pointers, the pointed-to memory is not
- * touched in any way. Managing the pointer is the user's responsibilty.
- */
- void
- erase(iterator __first, iterator __last)
- { _M_t.erase(__first, __last); }
-
- /**
- * @brief Swaps data with another %multimap.
- * @param x A %multimap of the same element and allocator types.
- *
- * This exchanges the elements between two multimaps in constant time.
- * (It is only swapping a pointer, an integer, and an instance of
- * the @c Compare type (which itself is often stateless and empty), so it
- * should be quite fast.)
- * Note that the global std::swap() function is specialized such that
- * std::swap(m1,m2) will feed to this function.
- */
- void
- swap(multimap& __x)
- { _M_t.swap(__x._M_t); }
-
- /**
- * Erases all elements in a %multimap. Note that this function only
- * erases the elements, and that if the elements themselves are pointers,
- * the pointed-to memory is not touched in any way. Managing the pointer
- * is the user's responsibilty.
- */
- void
- clear()
- { _M_t.clear(); }
-
- // observers
- /**
- * Returns the key comparison object out of which the %multimap
- * was constructed.
- */
- key_compare
- key_comp() const
- { return _M_t.key_comp(); }
-
- /**
- * Returns a value comparison object, built from the key comparison
- * object out of which the %multimap was constructed.
- */
- value_compare
- value_comp() const
- { return value_compare(_M_t.key_comp()); }
-
- // multimap operations
- /**
- * @brief Tries to locate an element in a %multimap.
- * @param x Key of (key, value) pair to be located.
- * @return Iterator pointing to sought-after element,
- * or end() if not found.
- *
- * This function takes a key and tries to locate the element with which
- * the key matches. If successful the function returns an iterator
- * pointing to the sought after %pair. If unsuccessful it returns the
- * past-the-end ( @c end() ) iterator.
- */
- iterator
- find(const key_type& __x)
- { return _M_t.find(__x); }
-
- /**
- * @brief Tries to locate an element in a %multimap.
- * @param x Key of (key, value) pair to be located.
- * @return Read-only (constant) iterator pointing to sought-after
- * element, or end() if not found.
- *
- * This function takes a key and tries to locate the element with which
- * the key matches. If successful the function returns a constant
- * iterator pointing to the sought after %pair. If unsuccessful it
- * returns the past-the-end ( @c end() ) iterator.
- */
- const_iterator
- find(const key_type& __x) const
- { return _M_t.find(__x); }
-
- /**
- * @brief Finds the number of elements with given key.
- * @param x Key of (key, value) pairs to be located.
- * @return Number of elements with specified key.
- */
- size_type
- count(const key_type& __x) const
- { return _M_t.count(__x); }
-
- /**
- * @brief Finds the beginning of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Iterator pointing to first element equal to or greater
- * than key, or end().
- *
- * This function returns the first element of a subsequence of elements
- * that matches the given key. If unsuccessful it returns an iterator
- * pointing to the first element that has a greater value than given key
- * or end() if no such element exists.
- */
- iterator
- lower_bound(const key_type& __x)
- { return _M_t.lower_bound(__x); }
-
- /**
- * @brief Finds the beginning of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Read-only (constant) iterator pointing to first element
- * equal to or greater than key, or end().
- *
- * This function returns the first element of a subsequence of elements
- * that matches the given key. If unsuccessful the iterator will point
- * to the next greatest element or, if no such greater element exists, to
- * end().
- */
- const_iterator
- lower_bound(const key_type& __x) const
- { return _M_t.lower_bound(__x); }
-
- /**
- * @brief Finds the end of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Iterator pointing to the first element
- * greater than key, or end().
- */
- iterator
- upper_bound(const key_type& __x)
- { return _M_t.upper_bound(__x); }
-
- /**
- * @brief Finds the end of a subsequence matching given key.
- * @param x Key of (key, value) pair to be located.
- * @return Read-only (constant) iterator pointing to first iterator
- * greater than key, or end().
- */
- const_iterator
- upper_bound(const key_type& __x) const
- { return _M_t.upper_bound(__x); }
-
- /**
- * @brief Finds a subsequence matching given key.
- * @param x Key of (key, value) pairs to be located.
- * @return Pair of iterators that possibly points to the subsequence
- * matching given key.
- *
- * This function is equivalent to
- * @code
- * std::make_pair(c.lower_bound(val),
- * c.upper_bound(val))
- * @endcode
- * (but is faster than making the calls separately).
- */
- std::pair<iterator, iterator>
- equal_range(const key_type& __x)
- { return _M_t.equal_range(__x); }
-
- /**
- * @brief Finds a subsequence matching given key.
- * @param x Key of (key, value) pairs to be located.
- * @return Pair of read-only (constant) iterators that possibly points
- * to the subsequence matching given key.
- *
- * This function is equivalent to
- * @code
- * std::make_pair(c.lower_bound(val),
- * c.upper_bound(val))
- * @endcode
- * (but is faster than making the calls separately).
- */
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type& __x) const
- { return _M_t.equal_range(__x); }
-
- template <typename _K1, typename _T1, typename _C1, typename _A1>
- friend bool
- operator== (const multimap<_K1, _T1, _C1, _A1>&,
- const multimap<_K1, _T1, _C1, _A1>&);
-
- template <typename _K1, typename _T1, typename _C1, typename _A1>
- friend bool
- operator< (const multimap<_K1, _T1, _C1, _A1>&,
- const multimap<_K1, _T1, _C1, _A1>&);
- };
-
- /**
- * @brief Multimap equality comparison.
- * @param x A %multimap.
- * @param y A %multimap of the same type as @a x.
- * @return True iff the size and elements of the maps are equal.
- *
- * This is an equivalence relation. It is linear in the size of the
- * multimaps. Multimaps are considered equivalent if their sizes are equal,
- * and if corresponding elements compare equal.
- */
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
- const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
- { return __x._M_t == __y._M_t; }
-
- /**
- * @brief Multimap ordering relation.
- * @param x A %multimap.
- * @param y A %multimap of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is a total ordering relation. It is linear in the size of the
- * multimaps. The elements must be comparable with @c <.
- *
- * See std::lexicographical_compare() for how the determination is made.
- */
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
- const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
- { return __x._M_t < __y._M_t; }
-
- /// Based on operator==
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
- const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
- { return !(__x == __y); }
-
- /// Based on operator<
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
- const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
- { return __y < __x; }
-
- /// Based on operator<
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
- const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
- { return !(__y < __x); }
-
- /// Based on operator<
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline bool
- operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
- const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
- { return !(__x < __y); }
-
- /// See std::multimap::swap().
- template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
- inline void
- swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
- multimap<_Key, _Tp, _Compare, _Alloc>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _MULTIMAP_H */
diff --git a/contrib/libstdc++/include/bits/stl_multiset.h b/contrib/libstdc++/include/bits/stl_multiset.h
deleted file mode 100644
index 6de5aeb3fdf1..000000000000
--- a/contrib/libstdc++/include/bits/stl_multiset.h
+++ /dev/null
@@ -1,565 +0,0 @@
-// Multiset implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_multiset.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _MULTISET_H
-#define _MULTISET_H 1
-
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @brief A standard container made up of elements, which can be retrieved
- * in logarithmic time.
- *
- * @ingroup Containers
- * @ingroup Assoc_containers
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and an
- * <a href="tables.html#69">associative container</a> (using equivalent
- * keys). For a @c multiset<Key> the key_type and value_type are Key.
- *
- * Multisets support bidirectional iterators.
- *
- * @if maint
- * The private tree data is declared exactly the same way for set and
- * multiset; the distinction is made entirely in how the tree functions are
- * called (*_unique versus *_equal, same as the standard).
- * @endif
- */
- template <class _Key, class _Compare = std::less<_Key>,
- class _Alloc = std::allocator<_Key> >
- class multiset
- {
- // concept requirements
- typedef typename _Alloc::value_type _Alloc_value_type;
- __glibcxx_class_requires(_Key, _SGIAssignableConcept)
- __glibcxx_class_requires4(_Compare, bool, _Key, _Key,
- _BinaryFunctionConcept)
- __glibcxx_class_requires2(_Key, _Alloc_value_type, _SameTypeConcept)
-
- public:
- // typedefs:
- typedef _Key key_type;
- typedef _Key value_type;
- typedef _Compare key_compare;
- typedef _Compare value_compare;
- typedef _Alloc allocator_type;
-
- private:
- /// @if maint This turns a red-black tree into a [multi]set. @endif
- typedef typename _Alloc::template rebind<_Key>::other _Key_alloc_type;
-
- typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
- key_compare, _Key_alloc_type> _Rep_type;
- /// @if maint The actual tree structure. @endif
- _Rep_type _M_t;
-
- public:
- typedef typename _Key_alloc_type::pointer pointer;
- typedef typename _Key_alloc_type::const_pointer const_pointer;
- typedef typename _Key_alloc_type::reference reference;
- typedef typename _Key_alloc_type::const_reference const_reference;
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 103. set::iterator is required to be modifiable,
- // but this allows modification of keys.
- typedef typename _Rep_type::const_iterator iterator;
- typedef typename _Rep_type::const_iterator const_iterator;
- typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
- typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
- typedef typename _Rep_type::size_type size_type;
- typedef typename _Rep_type::difference_type difference_type;
-
- // allocation/deallocation
-
- /**
- * @brief Default constructor creates no elements.
- */
- multiset()
- : _M_t() { }
-
- explicit
- multiset(const _Compare& __comp,
- const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a) { }
-
- /**
- * @brief Builds a %multiset from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * Create a %multiset consisting of copies of the elements from
- * [first,last). This is linear in N if the range is already sorted,
- * and NlogN otherwise (where N is distance(first,last)).
- */
- template <class _InputIterator>
- multiset(_InputIterator __first, _InputIterator __last)
- : _M_t()
- { _M_t._M_insert_equal(__first, __last); }
-
- /**
- * @brief Builds a %multiset from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param comp A comparison functor.
- * @param a An allocator object.
- *
- * Create a %multiset consisting of copies of the elements from
- * [first,last). This is linear in N if the range is already sorted,
- * and NlogN otherwise (where N is distance(first,last)).
- */
- template <class _InputIterator>
- multiset(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp,
- const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a)
- { _M_t._M_insert_equal(__first, __last); }
-
- /**
- * @brief %Multiset copy constructor.
- * @param x A %multiset of identical element and allocator types.
- *
- * The newly-created %multiset uses a copy of the allocation object used
- * by @a x.
- */
- multiset(const multiset& __x)
- : _M_t(__x._M_t) { }
-
- /**
- * @brief %Multiset assignment operator.
- * @param x A %multiset of identical element and allocator types.
- *
- * All the elements of @a x are copied, but unlike the copy constructor,
- * the allocator object is not copied.
- */
- multiset&
- operator=(const multiset& __x)
- {
- _M_t = __x._M_t;
- return *this;
- }
-
- // accessors:
-
- /// Returns the comparison object.
- key_compare
- key_comp() const
- { return _M_t.key_comp(); }
- /// Returns the comparison object.
- value_compare
- value_comp() const
- { return _M_t.key_comp(); }
- /// Returns the memory allocation object.
- allocator_type
- get_allocator() const
- { return _M_t.get_allocator(); }
-
- /**
- * Returns a read/write iterator that points to the first element in the
- * %multiset. Iteration is done in ascending order according to the
- * keys.
- */
- iterator
- begin() const
- { return _M_t.begin(); }
-
- /**
- * Returns a read/write iterator that points one past the last element in
- * the %multiset. Iteration is done in ascending order according to the
- * keys.
- */
- iterator
- end() const
- { return _M_t.end(); }
-
- /**
- * Returns a read/write reverse iterator that points to the last element
- * in the %multiset. Iteration is done in descending order according to
- * the keys.
- */
- reverse_iterator
- rbegin() const
- { return _M_t.rbegin(); }
-
- /**
- * Returns a read/write reverse iterator that points to the last element
- * in the %multiset. Iteration is done in descending order according to
- * the keys.
- */
- reverse_iterator
- rend() const
- { return _M_t.rend(); }
-
- /// Returns true if the %set is empty.
- bool
- empty() const
- { return _M_t.empty(); }
-
- /// Returns the size of the %set.
- size_type
- size() const
- { return _M_t.size(); }
-
- /// Returns the maximum size of the %set.
- size_type
- max_size() const
- { return _M_t.max_size(); }
-
- /**
- * @brief Swaps data with another %multiset.
- * @param x A %multiset of the same element and allocator types.
- *
- * This exchanges the elements between two multisets in constant time.
- * (It is only swapping a pointer, an integer, and an instance of the @c
- * Compare type (which itself is often stateless and empty), so it should
- * be quite fast.)
- * Note that the global std::swap() function is specialized such that
- * std::swap(s1,s2) will feed to this function.
- */
- void
- swap(multiset& __x)
- { _M_t.swap(__x._M_t); }
-
- // insert/erase
- /**
- * @brief Inserts an element into the %multiset.
- * @param x Element to be inserted.
- * @return An iterator that points to the inserted element.
- *
- * This function inserts an element into the %multiset. Contrary
- * to a std::set the %multiset does not rely on unique keys and thus
- * multiple copies of the same element can be inserted.
- *
- * Insertion requires logarithmic time.
- */
- iterator
- insert(const value_type& __x)
- { return _M_t._M_insert_equal(__x); }
-
- /**
- * @brief Inserts an element into the %multiset.
- * @param position An iterator that serves as a hint as to where the
- * element should be inserted.
- * @param x Element to be inserted.
- * @return An iterator that points to the inserted element.
- *
- * This function inserts an element into the %multiset. Contrary
- * to a std::set the %multiset does not rely on unique keys and thus
- * multiple copies of the same element can be inserted.
- *
- * Note that the first parameter is only a hint and can potentially
- * improve the performance of the insertion process. A bad hint would
- * cause no gains in efficiency.
- *
- * See http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4
- * for more on "hinting".
- *
- * Insertion requires logarithmic time (if the hint is not taken).
- */
- iterator
- insert(iterator __position, const value_type& __x)
- { return _M_t._M_insert_equal(__position, __x); }
-
- /**
- * @brief A template function that attemps to insert a range of elements.
- * @param first Iterator pointing to the start of the range to be
- * inserted.
- * @param last Iterator pointing to the end of the range.
- *
- * Complexity similar to that of the range constructor.
- */
- template <class _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- { _M_t._M_insert_equal(__first, __last); }
-
- /**
- * @brief Erases an element from a %multiset.
- * @param position An iterator pointing to the element to be erased.
- *
- * This function erases an element, pointed to by the given iterator,
- * from a %multiset. Note that this function only erases the element,
- * and that if the element is itself a pointer, the pointed-to memory is
- * not touched in any way. Managing the pointer is the user's
- * responsibilty.
- */
- void
- erase(iterator __position)
- { _M_t.erase(__position); }
-
- /**
- * @brief Erases elements according to the provided key.
- * @param x Key of element to be erased.
- * @return The number of elements erased.
- *
- * This function erases all elements located by the given key from a
- * %multiset.
- * Note that this function only erases the element, and that if
- * the element is itself a pointer, the pointed-to memory is not touched
- * in any way. Managing the pointer is the user's responsibilty.
- */
- size_type
- erase(const key_type& __x)
- { return _M_t.erase(__x); }
-
- /**
- * @brief Erases a [first,last) range of elements from a %multiset.
- * @param first Iterator pointing to the start of the range to be
- * erased.
- * @param last Iterator pointing to the end of the range to be erased.
- *
- * This function erases a sequence of elements from a %multiset.
- * Note that this function only erases the elements, and that if
- * the elements themselves are pointers, the pointed-to memory is not
- * touched in any way. Managing the pointer is the user's responsibilty.
- */
- void
- erase(iterator __first, iterator __last)
- { _M_t.erase(__first, __last); }
-
- /**
- * Erases all elements in a %multiset. Note that this function only
- * erases the elements, and that if the elements themselves are pointers,
- * the pointed-to memory is not touched in any way. Managing the pointer
- * is the user's responsibilty.
- */
- void
- clear()
- { _M_t.clear(); }
-
- // multiset operations:
-
- /**
- * @brief Finds the number of elements with given key.
- * @param x Key of elements to be located.
- * @return Number of elements with specified key.
- */
- size_type
- count(const key_type& __x) const
- { return _M_t.count(__x); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- //@{
- /**
- * @brief Tries to locate an element in a %set.
- * @param x Element to be located.
- * @return Iterator pointing to sought-after element, or end() if not
- * found.
- *
- * This function takes a key and tries to locate the element with which
- * the key matches. If successful the function returns an iterator
- * pointing to the sought after element. If unsuccessful it returns the
- * past-the-end ( @c end() ) iterator.
- */
- iterator
- find(const key_type& __x)
- { return _M_t.find(__x); }
-
- const_iterator
- find(const key_type& __x) const
- { return _M_t.find(__x); }
- //@}
-
- //@{
- /**
- * @brief Finds the beginning of a subsequence matching given key.
- * @param x Key to be located.
- * @return Iterator pointing to first element equal to or greater
- * than key, or end().
- *
- * This function returns the first element of a subsequence of elements
- * that matches the given key. If unsuccessful it returns an iterator
- * pointing to the first element that has a greater value than given key
- * or end() if no such element exists.
- */
- iterator
- lower_bound(const key_type& __x)
- { return _M_t.lower_bound(__x); }
-
- const_iterator
- lower_bound(const key_type& __x) const
- { return _M_t.lower_bound(__x); }
- //@}
-
- //@{
- /**
- * @brief Finds the end of a subsequence matching given key.
- * @param x Key to be located.
- * @return Iterator pointing to the first element
- * greater than key, or end().
- */
- iterator
- upper_bound(const key_type& __x)
- { return _M_t.upper_bound(__x); }
-
- const_iterator
- upper_bound(const key_type& __x) const
- { return _M_t.upper_bound(__x); }
- //@}
-
- //@{
- /**
- * @brief Finds a subsequence matching given key.
- * @param x Key to be located.
- * @return Pair of iterators that possibly points to the subsequence
- * matching given key.
- *
- * This function is equivalent to
- * @code
- * std::make_pair(c.lower_bound(val),
- * c.upper_bound(val))
- * @endcode
- * (but is faster than making the calls separately).
- *
- * This function probably only makes sense for multisets.
- */
- std::pair<iterator, iterator>
- equal_range(const key_type& __x)
- { return _M_t.equal_range(__x); }
-
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type& __x) const
- { return _M_t.equal_range(__x); }
-
- template <class _K1, class _C1, class _A1>
- friend bool
- operator== (const multiset<_K1, _C1, _A1>&,
- const multiset<_K1, _C1, _A1>&);
-
- template <class _K1, class _C1, class _A1>
- friend bool
- operator< (const multiset<_K1, _C1, _A1>&,
- const multiset<_K1, _C1, _A1>&);
- };
-
- /**
- * @brief Multiset equality comparison.
- * @param x A %multiset.
- * @param y A %multiset of the same type as @a x.
- * @return True iff the size and elements of the multisets are equal.
- *
- * This is an equivalence relation. It is linear in the size of the
- * multisets.
- * Multisets are considered equivalent if their sizes are equal, and if
- * corresponding elements compare equal.
- */
- template <class _Key, class _Compare, class _Alloc>
- inline bool
- operator==(const multiset<_Key, _Compare, _Alloc>& __x,
- const multiset<_Key, _Compare, _Alloc>& __y)
- { return __x._M_t == __y._M_t; }
-
- /**
- * @brief Multiset ordering relation.
- * @param x A %multiset.
- * @param y A %multiset of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is a total ordering relation. It is linear in the size of the
- * maps. The elements must be comparable with @c <.
- *
- * See std::lexicographical_compare() for how the determination is made.
- */
- template <class _Key, class _Compare, class _Alloc>
- inline bool
- operator<(const multiset<_Key, _Compare, _Alloc>& __x,
- const multiset<_Key, _Compare, _Alloc>& __y)
- { return __x._M_t < __y._M_t; }
-
- /// Returns !(x == y).
- template <class _Key, class _Compare, class _Alloc>
- inline bool
- operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
- const multiset<_Key, _Compare, _Alloc>& __y)
- { return !(__x == __y); }
-
- /// Returns y < x.
- template <class _Key, class _Compare, class _Alloc>
- inline bool
- operator>(const multiset<_Key,_Compare,_Alloc>& __x,
- const multiset<_Key,_Compare,_Alloc>& __y)
- { return __y < __x; }
-
- /// Returns !(y < x)
- template <class _Key, class _Compare, class _Alloc>
- inline bool
- operator<=(const multiset<_Key, _Compare, _Alloc>& __x,
- const multiset<_Key, _Compare, _Alloc>& __y)
- { return !(__y < __x); }
-
- /// Returns !(x < y)
- template <class _Key, class _Compare, class _Alloc>
- inline bool
- operator>=(const multiset<_Key, _Compare, _Alloc>& __x,
- const multiset<_Key, _Compare, _Alloc>& __y)
- { return !(__x < __y); }
-
- /// See std::multiset::swap().
- template <class _Key, class _Compare, class _Alloc>
- inline void
- swap(multiset<_Key, _Compare, _Alloc>& __x,
- multiset<_Key, _Compare, _Alloc>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _MULTISET_H */
diff --git a/contrib/libstdc++/include/bits/stl_numeric.h b/contrib/libstdc++/include/bits/stl_numeric.h
deleted file mode 100644
index 82bee216d102..000000000000
--- a/contrib/libstdc++/include/bits/stl_numeric.h
+++ /dev/null
@@ -1,339 +0,0 @@
-// Numeric functions implementation -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_numeric.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STL_NUMERIC_H
-#define _STL_NUMERIC_H 1
-
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Accumulate values in a range.
- *
- * Accumulates the values in the range [first,last) using operator+(). The
- * initial value is @a init. The values are processed in order.
- *
- * @param first Start of range.
- * @param last End of range.
- * @param init Starting value to add other values to.
- * @return The final sum.
- */
- template<typename _InputIterator, typename _Tp>
- _Tp
- accumulate(_InputIterator __first, _InputIterator __last, _Tp __init)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for (; __first != __last; ++__first)
- __init = __init + *__first;
- return __init;
- }
-
- /**
- * @brief Accumulate values in a range with operation.
- *
- * Accumulates the values in the range [first,last) using the function
- * object @a binary_op. The initial value is @a init. The values are
- * processed in order.
- *
- * @param first Start of range.
- * @param last End of range.
- * @param init Starting value to add other values to.
- * @param binary_op Function object to accumulate with.
- * @return The final sum.
- */
- template<typename _InputIterator, typename _Tp, typename _BinaryOperation>
- _Tp
- accumulate(_InputIterator __first, _InputIterator __last, _Tp __init,
- _BinaryOperation __binary_op)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for (; __first != __last; ++__first)
- __init = __binary_op(__init, *__first);
- return __init;
- }
-
- /**
- * @brief Compute inner product of two ranges.
- *
- * Starting with an initial value of @a init, multiplies successive
- * elements from the two ranges and adds each product into the accumulated
- * value using operator+(). The values in the ranges are processed in
- * order.
- *
- * @param first1 Start of range 1.
- * @param last1 End of range 1.
- * @param first2 Start of range 2.
- * @param init Starting value to add other values to.
- * @return The final inner product.
- */
- template<typename _InputIterator1, typename _InputIterator2, typename _Tp>
- _Tp
- inner_product(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _Tp __init)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- for (; __first1 != __last1; ++__first1, ++__first2)
- __init = __init + (*__first1 * *__first2);
- return __init;
- }
-
- /**
- * @brief Compute inner product of two ranges.
- *
- * Starting with an initial value of @a init, applies @a binary_op2 to
- * successive elements from the two ranges and accumulates each result into
- * the accumulated value using @a binary_op1. The values in the ranges are
- * processed in order.
- *
- * @param first1 Start of range 1.
- * @param last1 End of range 1.
- * @param first2 Start of range 2.
- * @param init Starting value to add other values to.
- * @param binary_op1 Function object to accumulate with.
- * @param binary_op2 Function object to apply to pairs of input values.
- * @return The final inner product.
- */
- template<typename _InputIterator1, typename _InputIterator2, typename _Tp,
- typename _BinaryOperation1, typename _BinaryOperation2>
- _Tp
- inner_product(_InputIterator1 __first1, _InputIterator1 __last1,
- _InputIterator2 __first2, _Tp __init,
- _BinaryOperation1 __binary_op1,
- _BinaryOperation2 __binary_op2)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_requires_valid_range(__first1, __last1);
-
- for (; __first1 != __last1; ++__first1, ++__first2)
- __init = __binary_op1(__init, __binary_op2(*__first1, *__first2));
- return __init;
- }
-
- /**
- * @brief Return list of partial sums
- *
- * Accumulates the values in the range [first,last) using operator+().
- * As each successive input value is added into the total, that partial sum
- * is written to @a result. Therefore, the first value in result is the
- * first value of the input, the second value in result is the sum of the
- * first and second input values, and so on.
- *
- * @param first Start of input range.
- * @param last End of input range.
- * @param result Output to write sums to.
- * @return Iterator pointing just beyond the values written to result.
- */
- template<typename _InputIterator, typename _OutputIterator>
- _OutputIterator
- partial_sum(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result)
- {
- typedef typename iterator_traits<_InputIterator>::value_type _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __result;
- _ValueType __value = *__first;
- *__result = __value;
- while (++__first != __last)
- {
- __value = __value + *__first;
- *++__result = __value;
- }
- return ++__result;
- }
-
- /**
- * @brief Return list of partial sums
- *
- * Accumulates the values in the range [first,last) using operator+().
- * As each successive input value is added into the total, that partial sum
- * is written to @a result. Therefore, the first value in result is the
- * first value of the input, the second value in result is the sum of the
- * first and second input values, and so on.
- *
- * @param first Start of input range.
- * @param last End of input range.
- * @param result Output to write sums to.
- * @return Iterator pointing just beyond the values written to result.
- */
- template<typename _InputIterator, typename _OutputIterator,
- typename _BinaryOperation>
- _OutputIterator
- partial_sum(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result, _BinaryOperation __binary_op)
- {
- typedef typename iterator_traits<_InputIterator>::value_type _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __result;
- _ValueType __value = *__first;
- *__result = __value;
- while (++__first != __last)
- {
- __value = __binary_op(__value, *__first);
- *++__result = __value;
- }
- return ++__result;
- }
-
- /**
- * @brief Return differences between adjacent values.
- *
- * Computes the difference between adjacent values in the range
- * [first,last) using operator-() and writes the result to @a result.
- *
- * @param first Start of input range.
- * @param last End of input range.
- * @param result Output to write sums to.
- * @return Iterator pointing just beyond the values written to result.
- */
- template<typename _InputIterator, typename _OutputIterator>
- _OutputIterator
- adjacent_difference(_InputIterator __first,
- _InputIterator __last, _OutputIterator __result)
- {
- typedef typename iterator_traits<_InputIterator>::value_type _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __result;
- _ValueType __value = *__first;
- *__result = __value;
- while (++__first != __last)
- {
- _ValueType __tmp = *__first;
- *++__result = __tmp - __value;
- __value = __tmp;
- }
- return ++__result;
- }
-
- /**
- * @brief Return differences between adjacent values.
- *
- * Computes the difference between adjacent values in the range
- * [first,last) using the function object @a binary_op and writes the
- * result to @a result.
- *
- * @param first Start of input range.
- * @param last End of input range.
- * @param result Output to write sums to.
- * @return Iterator pointing just beyond the values written to result.
- */
- template<typename _InputIterator, typename _OutputIterator,
- typename _BinaryOperation>
- _OutputIterator
- adjacent_difference(_InputIterator __first, _InputIterator __last,
- _OutputIterator __result, _BinaryOperation __binary_op)
- {
- typedef typename iterator_traits<_InputIterator>::value_type _ValueType;
-
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- _ValueType>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return __result;
- _ValueType __value = *__first;
- *__result = __value;
- while (++__first != __last)
- {
- _ValueType __tmp = *__first;
- *++__result = __binary_op(__tmp, __value);
- __value = __tmp;
- }
- return ++__result;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _STL_NUMERIC_H */
diff --git a/contrib/libstdc++/include/bits/stl_pair.h b/contrib/libstdc++/include/bits/stl_pair.h
deleted file mode 100644
index b4bb00c26e10..000000000000
--- a/contrib/libstdc++/include/bits/stl_pair.h
+++ /dev/null
@@ -1,149 +0,0 @@
-// Pair implementation -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_pair.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _PAIR_H
-#define _PAIR_H 1
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// pair holds two objects of arbitrary type.
- template<class _T1, class _T2>
- struct pair
- {
- typedef _T1 first_type; ///< @c first_type is the first bound type
- typedef _T2 second_type; ///< @c second_type is the second bound type
-
- _T1 first; ///< @c first is a copy of the first object
- _T2 second; ///< @c second is a copy of the second object
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 265. std::pair::pair() effects overly restrictive
- /** The default constructor creates @c first and @c second using their
- * respective default constructors. */
- pair()
- : first(), second() { }
-
- /** Two objects may be passed to a @c pair constructor to be copied. */
- pair(const _T1& __a, const _T2& __b)
- : first(__a), second(__b) { }
-
- /** There is also a templated copy ctor for the @c pair class itself. */
- template<class _U1, class _U2>
- pair(const pair<_U1, _U2>& __p)
- : first(__p.first), second(__p.second) { }
- };
-
- /// Two pairs of the same type are equal iff their members are equal.
- template<class _T1, class _T2>
- inline bool
- operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
- { return __x.first == __y.first && __x.second == __y.second; }
-
- /// <http://gcc.gnu.org/onlinedocs/libstdc++/20_util/howto.html#pairlt>
- template<class _T1, class _T2>
- inline bool
- operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
- { return __x.first < __y.first
- || (!(__y.first < __x.first) && __x.second < __y.second); }
-
- /// Uses @c operator== to find the result.
- template<class _T1, class _T2>
- inline bool
- operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
- { return !(__x == __y); }
-
- /// Uses @c operator< to find the result.
- template<class _T1, class _T2>
- inline bool
- operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
- { return __y < __x; }
-
- /// Uses @c operator< to find the result.
- template<class _T1, class _T2>
- inline bool
- operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
- { return !(__y < __x); }
-
- /// Uses @c operator< to find the result.
- template<class _T1, class _T2>
- inline bool
- operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
- { return !(__x < __y); }
-
- /**
- * @brief A convenience wrapper for creating a pair from two objects.
- * @param x The first object.
- * @param y The second object.
- * @return A newly-constructed pair<> object of the appropriate type.
- *
- * The standard requires that the objects be passed by reference-to-const,
- * but LWG issue #181 says they should be passed by const value. We follow
- * the LWG by default.
- */
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 181. make_pair() unintended behavior
- template<class _T1, class _T2>
- inline pair<_T1, _T2>
- make_pair(_T1 __x, _T2 __y)
- { return pair<_T1, _T2>(__x, __y); }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _PAIR_H */
diff --git a/contrib/libstdc++/include/bits/stl_queue.h b/contrib/libstdc++/include/bits/stl_queue.h
deleted file mode 100644
index 04e3a7b46e02..000000000000
--- a/contrib/libstdc++/include/bits/stl_queue.h
+++ /dev/null
@@ -1,443 +0,0 @@
-// Queue implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_queue.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _QUEUE_H
-#define _QUEUE_H 1
-
-#include <bits/concept_check.h>
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief A standard container giving FIFO behavior.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * Meets many of the requirements of a
- * <a href="tables.html#65">container</a>,
- * but does not define anything to do with iterators. Very few of the
- * other standard container interfaces are defined.
- *
- * This is not a true container, but an @e adaptor. It holds another
- * container, and provides a wrapper interface to that container. The
- * wrapper is what enforces strict first-in-first-out %queue behavior.
- *
- * The second template parameter defines the type of the underlying
- * sequence/container. It defaults to std::deque, but it can be any type
- * that supports @c front, @c back, @c push_back, and @c pop_front,
- * such as std::list or an appropriate user-defined type.
- *
- * Members not found in "normal" containers are @c container_type,
- * which is a typedef for the second Sequence parameter, and @c push and
- * @c pop, which are standard %queue/FIFO operations.
- */
- template<typename _Tp, typename _Sequence = deque<_Tp> >
- class queue
- {
- // concept requirements
- typedef typename _Sequence::value_type _Sequence_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires(_Sequence, _FrontInsertionSequenceConcept)
- __glibcxx_class_requires(_Sequence, _BackInsertionSequenceConcept)
- __glibcxx_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept)
-
- template<typename _Tp1, typename _Seq1>
- friend bool
- operator==(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
-
- template<typename _Tp1, typename _Seq1>
- friend bool
- operator<(const queue<_Tp1, _Seq1>&, const queue<_Tp1, _Seq1>&);
-
- public:
- typedef typename _Sequence::value_type value_type;
- typedef typename _Sequence::reference reference;
- typedef typename _Sequence::const_reference const_reference;
- typedef typename _Sequence::size_type size_type;
- typedef _Sequence container_type;
-
- protected:
- /**
- * 'c' is the underlying container. Maintainers wondering why
- * this isn't uglified as per style guidelines should note that
- * this name is specified in the standard, [23.2.3.1]. (Why?
- * Presumably for the same reason that it's protected instead
- * of private: to allow derivation. But none of the other
- * containers allow for derivation. Odd.)
- */
- _Sequence c;
-
- public:
- /**
- * @brief Default constructor creates no elements.
- */
- explicit
- queue(const _Sequence& __c = _Sequence()) : c(__c) {}
-
- /**
- * Returns true if the %queue is empty.
- */
- bool
- empty() const
- { return c.empty(); }
-
- /** Returns the number of elements in the %queue. */
- size_type
- size() const
- { return c.size(); }
-
- /**
- * Returns a read/write reference to the data at the first
- * element of the %queue.
- */
- reference
- front()
- {
- __glibcxx_requires_nonempty();
- return c.front();
- }
-
- /**
- * Returns a read-only (constant) reference to the data at the first
- * element of the %queue.
- */
- const_reference
- front() const
- {
- __glibcxx_requires_nonempty();
- return c.front();
- }
-
- /**
- * Returns a read/write reference to the data at the last
- * element of the %queue.
- */
- reference
- back()
- {
- __glibcxx_requires_nonempty();
- return c.back();
- }
-
- /**
- * Returns a read-only (constant) reference to the data at the last
- * element of the %queue.
- */
- const_reference
- back() const
- {
- __glibcxx_requires_nonempty();
- return c.back();
- }
-
- /**
- * @brief Add data to the end of the %queue.
- * @param x Data to be added.
- *
- * This is a typical %queue operation. The function creates an
- * element at the end of the %queue and assigns the given data
- * to it. The time complexity of the operation depends on the
- * underlying sequence.
- */
- void
- push(const value_type& __x)
- { c.push_back(__x); }
-
- /**
- * @brief Removes first element.
- *
- * This is a typical %queue operation. It shrinks the %queue by one.
- * The time complexity of the operation depends on the underlying
- * sequence.
- *
- * Note that no data is returned, and if the first element's
- * data is needed, it should be retrieved before pop() is
- * called.
- */
- void
- pop()
- {
- __glibcxx_requires_nonempty();
- c.pop_front();
- }
- };
-
-
- /**
- * @brief Queue equality comparison.
- * @param x A %queue.
- * @param y A %queue of the same type as @a x.
- * @return True iff the size and elements of the queues are equal.
- *
- * This is an equivalence relation. Complexity and semantics depend on the
- * underlying sequence type, but the expected rules are: this relation is
- * linear in the size of the sequences, and queues are considered equivalent
- * if their sequences compare equal.
- */
- template<typename _Tp, typename _Seq>
- inline bool
- operator==(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
- { return __x.c == __y.c; }
-
- /**
- * @brief Queue ordering relation.
- * @param x A %queue.
- * @param y A %queue of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is an total ordering relation. Complexity and semantics
- * depend on the underlying sequence type, but the expected rules
- * are: this relation is linear in the size of the sequences, the
- * elements must be comparable with @c <, and
- * std::lexicographical_compare() is usually used to make the
- * determination.
- */
- template<typename _Tp, typename _Seq>
- inline bool
- operator<(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
- { return __x.c < __y.c; }
-
- /// Based on operator==
- template<typename _Tp, typename _Seq>
- inline bool
- operator!=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
- { return !(__x == __y); }
-
- /// Based on operator<
- template<typename _Tp, typename _Seq>
- inline bool
- operator>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
- { return __y < __x; }
-
- /// Based on operator<
- template<typename _Tp, typename _Seq>
- inline bool
- operator<=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
- { return !(__y < __x); }
-
- /// Based on operator<
- template<typename _Tp, typename _Seq>
- inline bool
- operator>=(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
- { return !(__x < __y); }
-
- /**
- * @brief A standard container automatically sorting its contents.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * This is not a true container, but an @e adaptor. It holds
- * another container, and provides a wrapper interface to that
- * container. The wrapper is what enforces priority-based sorting
- * and %queue behavior. Very few of the standard container/sequence
- * interface requirements are met (e.g., iterators).
- *
- * The second template parameter defines the type of the underlying
- * sequence/container. It defaults to std::vector, but it can be
- * any type that supports @c front(), @c push_back, @c pop_back,
- * and random-access iterators, such as std::deque or an
- * appropriate user-defined type.
- *
- * The third template parameter supplies the means of making
- * priority comparisons. It defaults to @c less<value_type> but
- * can be anything defining a strict weak ordering.
- *
- * Members not found in "normal" containers are @c container_type,
- * which is a typedef for the second Sequence parameter, and @c
- * push, @c pop, and @c top, which are standard %queue operations.
- *
- * @note No equality/comparison operators are provided for
- * %priority_queue.
- *
- * @note Sorting of the elements takes place as they are added to,
- * and removed from, the %priority_queue using the
- * %priority_queue's member functions. If you access the elements
- * by other means, and change their data such that the sorting
- * order would be different, the %priority_queue will not re-sort
- * the elements for you. (How could it know to do so?)
- */
- template<typename _Tp, typename _Sequence = vector<_Tp>,
- typename _Compare = less<typename _Sequence::value_type> >
- class priority_queue
- {
- // concept requirements
- typedef typename _Sequence::value_type _Sequence_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires(_Sequence, _SequenceConcept)
- __glibcxx_class_requires(_Sequence, _RandomAccessContainerConcept)
- __glibcxx_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept)
- __glibcxx_class_requires4(_Compare, bool, _Tp, _Tp,
- _BinaryFunctionConcept)
-
- public:
- typedef typename _Sequence::value_type value_type;
- typedef typename _Sequence::reference reference;
- typedef typename _Sequence::const_reference const_reference;
- typedef typename _Sequence::size_type size_type;
- typedef _Sequence container_type;
-
- protected:
- // See queue::c for notes on these names.
- _Sequence c;
- _Compare comp;
-
- public:
- /**
- * @brief Default constructor creates no elements.
- */
- explicit
- priority_queue(const _Compare& __x = _Compare(),
- const _Sequence& __s = _Sequence())
- : c(__s), comp(__x)
- { std::make_heap(c.begin(), c.end(), comp); }
-
- /**
- * @brief Builds a %queue from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param x A comparison functor describing a strict weak ordering.
- * @param s An initial sequence with which to start.
- *
- * Begins by copying @a s, inserting a copy of the elements
- * from @a [first,last) into the copy of @a s, then ordering
- * the copy according to @a x.
- *
- * For more information on function objects, see the
- * documentation on @link s20_3_1_base functor base
- * classes@endlink.
- */
- template<typename _InputIterator>
- priority_queue(_InputIterator __first, _InputIterator __last,
- const _Compare& __x = _Compare(),
- const _Sequence& __s = _Sequence())
- : c(__s), comp(__x)
- {
- __glibcxx_requires_valid_range(__first, __last);
- c.insert(c.end(), __first, __last);
- std::make_heap(c.begin(), c.end(), comp);
- }
-
- /**
- * Returns true if the %queue is empty.
- */
- bool
- empty() const
- { return c.empty(); }
-
- /** Returns the number of elements in the %queue. */
- size_type
- size() const
- { return c.size(); }
-
- /**
- * Returns a read-only (constant) reference to the data at the first
- * element of the %queue.
- */
- const_reference
- top() const
- {
- __glibcxx_requires_nonempty();
- return c.front();
- }
-
- /**
- * @brief Add data to the %queue.
- * @param x Data to be added.
- *
- * This is a typical %queue operation.
- * The time complexity of the operation depends on the underlying
- * sequence.
- */
- void
- push(const value_type& __x)
- {
- c.push_back(__x);
- std::push_heap(c.begin(), c.end(), comp);
- }
-
- /**
- * @brief Removes first element.
- *
- * This is a typical %queue operation. It shrinks the %queue
- * by one. The time complexity of the operation depends on the
- * underlying sequence.
- *
- * Note that no data is returned, and if the first element's
- * data is needed, it should be retrieved before pop() is
- * called.
- */
- void
- pop()
- {
- __glibcxx_requires_nonempty();
- std::pop_heap(c.begin(), c.end(), comp);
- c.pop_back();
- }
- };
-
- // No equality/comparison operators are provided for priority_queue.
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _QUEUE_H */
diff --git a/contrib/libstdc++/include/bits/stl_raw_storage_iter.h b/contrib/libstdc++/include/bits/stl_raw_storage_iter.h
deleted file mode 100644
index 615da28524e0..000000000000
--- a/contrib/libstdc++/include/bits/stl_raw_storage_iter.h
+++ /dev/null
@@ -1,110 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2001, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_raw_storage_iter.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STL_RAW_STORAGE_ITERATOR_H
-#define _STL_RAW_STORAGE_ITERATOR_H 1
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * This iterator class lets algorithms store their results into
- * uninitialized memory.
- */
- template <class _ForwardIterator, class _Tp>
- class raw_storage_iterator
- : public iterator<output_iterator_tag, void, void, void, void>
- {
- protected:
- _ForwardIterator _M_iter;
-
- public:
- explicit
- raw_storage_iterator(_ForwardIterator __x)
- : _M_iter(__x) {}
-
- raw_storage_iterator&
- operator*() { return *this; }
-
- raw_storage_iterator&
- operator=(const _Tp& __element)
- {
- std::_Construct(&*_M_iter, __element);
- return *this;
- }
-
- raw_storage_iterator<_ForwardIterator, _Tp>&
- operator++()
- {
- ++_M_iter;
- return *this;
- }
-
- raw_storage_iterator<_ForwardIterator, _Tp>
- operator++(int)
- {
- raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this;
- ++_M_iter;
- return __tmp;
- }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/stl_relops.h b/contrib/libstdc++/include/bits/stl_relops.h
deleted file mode 100644
index 11fc30dedd8e..000000000000
--- a/contrib/libstdc++/include/bits/stl_relops.h
+++ /dev/null
@@ -1,138 +0,0 @@
-// std::rel_ops implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file stl_relops.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- *
- * @if maint
- * Inclusion of this file has been removed from
- * all of the other STL headers for safety reasons, except std_utility.h.
- * For more information, see the thread of about twenty messages starting
- * with http://gcc.gnu.org/ml/libstdc++/2001-01/msg00223.html , or the
- * FAQ at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_4 .
- *
- * Short summary: the rel_ops operators should be avoided for the present.
- * @endif
- */
-
-#ifndef _STL_RELOPS_H
-#define _STL_RELOPS_H 1
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- namespace rel_ops
- {
- /** @namespace std::rel_ops
- * @brief The generated relational operators are sequestered here.
- */
-
- /**
- * @brief Defines @c != for arbitrary types, in terms of @c ==.
- * @param x A thing.
- * @param y Another thing.
- * @return x != y
- *
- * This function uses @c == to determine its result.
- */
- template <class _Tp>
- inline bool
- operator!=(const _Tp& __x, const _Tp& __y)
- { return !(__x == __y); }
-
- /**
- * @brief Defines @c > for arbitrary types, in terms of @c <.
- * @param x A thing.
- * @param y Another thing.
- * @return x > y
- *
- * This function uses @c < to determine its result.
- */
- template <class _Tp>
- inline bool
- operator>(const _Tp& __x, const _Tp& __y)
- { return __y < __x; }
-
- /**
- * @brief Defines @c <= for arbitrary types, in terms of @c <.
- * @param x A thing.
- * @param y Another thing.
- * @return x <= y
- *
- * This function uses @c < to determine its result.
- */
- template <class _Tp>
- inline bool
- operator<=(const _Tp& __x, const _Tp& __y)
- { return !(__y < __x); }
-
- /**
- * @brief Defines @c >= for arbitrary types, in terms of @c <.
- * @param x A thing.
- * @param y Another thing.
- * @return x >= y
- *
- * This function uses @c < to determine its result.
- */
- template <class _Tp>
- inline bool
- operator>=(const _Tp& __x, const _Tp& __y)
- { return !(__x < __y); }
-
- } // namespace rel_ops
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _STL_RELOPS_H */
diff --git a/contrib/libstdc++/include/bits/stl_set.h b/contrib/libstdc++/include/bits/stl_set.h
deleted file mode 100644
index a77dd8e0878c..000000000000
--- a/contrib/libstdc++/include/bits/stl_set.h
+++ /dev/null
@@ -1,578 +0,0 @@
-// Set implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_set.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _SET_H
-#define _SET_H 1
-
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @brief A standard container made up of unique keys, which can be
- * retrieved in logarithmic time.
- *
- * @ingroup Containers
- * @ingroup Assoc_containers
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and an
- * <a href="tables.html#69">associative container</a> (using unique keys).
- *
- * Sets support bidirectional iterators.
- *
- * @param Key Type of key objects.
- * @param Compare Comparison function object type, defaults to less<Key>.
- * @param Alloc Allocator type, defaults to allocator<Key>.
- *
- * @if maint
- * The private tree data is declared exactly the same way for set and
- * multiset; the distinction is made entirely in how the tree functions are
- * called (*_unique versus *_equal, same as the standard).
- * @endif
- */
- template<class _Key, class _Compare = std::less<_Key>,
- class _Alloc = std::allocator<_Key> >
- class set
- {
- // concept requirements
- typedef typename _Alloc::value_type _Alloc_value_type;
- __glibcxx_class_requires(_Key, _SGIAssignableConcept)
- __glibcxx_class_requires4(_Compare, bool, _Key, _Key,
- _BinaryFunctionConcept)
- __glibcxx_class_requires2(_Key, _Alloc_value_type, _SameTypeConcept)
-
- public:
- // typedefs:
- //@{
- /// Public typedefs.
- typedef _Key key_type;
- typedef _Key value_type;
- typedef _Compare key_compare;
- typedef _Compare value_compare;
- typedef _Alloc allocator_type;
- //@}
-
- private:
- typedef typename _Alloc::template rebind<_Key>::other _Key_alloc_type;
-
- typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
- key_compare, _Key_alloc_type> _Rep_type;
- _Rep_type _M_t; // red-black tree representing set
-
- public:
- //@{
- /// Iterator-related typedefs.
- typedef typename _Key_alloc_type::pointer pointer;
- typedef typename _Key_alloc_type::const_pointer const_pointer;
- typedef typename _Key_alloc_type::reference reference;
- typedef typename _Key_alloc_type::const_reference const_reference;
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 103. set::iterator is required to be modifiable,
- // but this allows modification of keys.
- typedef typename _Rep_type::const_iterator iterator;
- typedef typename _Rep_type::const_iterator const_iterator;
- typedef typename _Rep_type::const_reverse_iterator reverse_iterator;
- typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
- typedef typename _Rep_type::size_type size_type;
- typedef typename _Rep_type::difference_type difference_type;
- //@}
-
- // allocation/deallocation
- /// Default constructor creates no elements.
- set()
- : _M_t() { }
-
- /**
- * @brief Default constructor creates no elements.
- *
- * @param comp Comparator to use.
- * @param a Allocator to use.
- */
- explicit
- set(const _Compare& __comp,
- const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a) {}
-
- /**
- * @brief Builds a %set from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * Create a %set consisting of copies of the elements from [first,last).
- * This is linear in N if the range is already sorted, and NlogN
- * otherwise (where N is distance(first,last)).
- */
- template<class _InputIterator>
- set(_InputIterator __first, _InputIterator __last)
- : _M_t()
- { _M_t._M_insert_unique(__first, __last); }
-
- /**
- * @brief Builds a %set from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param comp A comparison functor.
- * @param a An allocator object.
- *
- * Create a %set consisting of copies of the elements from [first,last).
- * This is linear in N if the range is already sorted, and NlogN
- * otherwise (where N is distance(first,last)).
- */
- template<class _InputIterator>
- set(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp,
- const allocator_type& __a = allocator_type())
- : _M_t(__comp, __a)
- { _M_t._M_insert_unique(__first, __last); }
-
- /**
- * @brief Set copy constructor.
- * @param x A %set of identical element and allocator types.
- *
- * The newly-created %set uses a copy of the allocation object used
- * by @a x.
- */
- set(const set& __x)
- : _M_t(__x._M_t) { }
-
- /**
- * @brief Set assignment operator.
- * @param x A %set of identical element and allocator types.
- *
- * All the elements of @a x are copied, but unlike the copy constructor,
- * the allocator object is not copied.
- */
- set&
- operator=(const set& __x)
- {
- _M_t = __x._M_t;
- return *this;
- }
-
- // accessors:
-
- /// Returns the comparison object with which the %set was constructed.
- key_compare
- key_comp() const
- { return _M_t.key_comp(); }
- /// Returns the comparison object with which the %set was constructed.
- value_compare
- value_comp() const
- { return _M_t.key_comp(); }
- /// Returns the allocator object with which the %set was constructed.
- allocator_type
- get_allocator() const
- { return _M_t.get_allocator(); }
-
- /**
- * Returns a read/write iterator that points to the first element in the
- * %set. Iteration is done in ascending order according to the keys.
- */
- iterator
- begin() const
- { return _M_t.begin(); }
-
- /**
- * Returns a read/write iterator that points one past the last element in
- * the %set. Iteration is done in ascending order according to the keys.
- */
- iterator
- end() const
- { return _M_t.end(); }
-
- /**
- * Returns a read/write reverse iterator that points to the last element
- * in the %set. Iteration is done in descending order according to the
- * keys.
- */
- reverse_iterator
- rbegin() const
- { return _M_t.rbegin(); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points to the
- * last pair in the %map. Iteration is done in descending order
- * according to the keys.
- */
- reverse_iterator
- rend() const
- { return _M_t.rend(); }
-
- /// Returns true if the %set is empty.
- bool
- empty() const
- { return _M_t.empty(); }
-
- /// Returns the size of the %set.
- size_type
- size() const
- { return _M_t.size(); }
-
- /// Returns the maximum size of the %set.
- size_type
- max_size() const
- { return _M_t.max_size(); }
-
- /**
- * @brief Swaps data with another %set.
- * @param x A %set of the same element and allocator types.
- *
- * This exchanges the elements between two sets in constant time.
- * (It is only swapping a pointer, an integer, and an instance of
- * the @c Compare type (which itself is often stateless and empty), so it
- * should be quite fast.)
- * Note that the global std::swap() function is specialized such that
- * std::swap(s1,s2) will feed to this function.
- */
- void
- swap(set& __x)
- { _M_t.swap(__x._M_t); }
-
- // insert/erase
- /**
- * @brief Attempts to insert an element into the %set.
- * @param x Element to be inserted.
- * @return A pair, of which the first element is an iterator that points
- * to the possibly inserted element, and the second is a bool
- * that is true if the element was actually inserted.
- *
- * This function attempts to insert an element into the %set. A %set
- * relies on unique keys and thus an element is only inserted if it is
- * not already present in the %set.
- *
- * Insertion requires logarithmic time.
- */
- std::pair<iterator,bool>
- insert(const value_type& __x)
- {
- std::pair<typename _Rep_type::iterator, bool> __p =
- _M_t._M_insert_unique(__x);
- return std::pair<iterator, bool>(__p.first, __p.second);
- }
-
- /**
- * @brief Attempts to insert an element into the %set.
- * @param position An iterator that serves as a hint as to where the
- * element should be inserted.
- * @param x Element to be inserted.
- * @return An iterator that points to the element with key of @a x (may
- * or may not be the element passed in).
- *
- * This function is not concerned about whether the insertion took place,
- * and thus does not return a boolean like the single-argument insert()
- * does. Note that the first parameter is only a hint and can
- * potentially improve the performance of the insertion process. A bad
- * hint would cause no gains in efficiency.
- *
- * See http://gcc.gnu.org/onlinedocs/libstdc++/23_containers/howto.html#4
- * for more on "hinting".
- *
- * Insertion requires logarithmic time (if the hint is not taken).
- */
- iterator
- insert(iterator __position, const value_type& __x)
- { return _M_t._M_insert_unique(__position, __x); }
-
- /**
- * @brief A template function that attemps to insert a range of elements.
- * @param first Iterator pointing to the start of the range to be
- * inserted.
- * @param last Iterator pointing to the end of the range.
- *
- * Complexity similar to that of the range constructor.
- */
- template<class _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- { _M_t._M_insert_unique(__first, __last); }
-
- /**
- * @brief Erases an element from a %set.
- * @param position An iterator pointing to the element to be erased.
- *
- * This function erases an element, pointed to by the given iterator,
- * from a %set. Note that this function only erases the element, and
- * that if the element is itself a pointer, the pointed-to memory is not
- * touched in any way. Managing the pointer is the user's responsibilty.
- */
- void
- erase(iterator __position)
- { _M_t.erase(__position); }
-
- /**
- * @brief Erases elements according to the provided key.
- * @param x Key of element to be erased.
- * @return The number of elements erased.
- *
- * This function erases all the elements located by the given key from
- * a %set.
- * Note that this function only erases the element, and that if
- * the element is itself a pointer, the pointed-to memory is not touched
- * in any way. Managing the pointer is the user's responsibilty.
- */
- size_type
- erase(const key_type& __x)
- { return _M_t.erase(__x); }
-
- /**
- * @brief Erases a [first,last) range of elements from a %set.
- * @param first Iterator pointing to the start of the range to be
- * erased.
- * @param last Iterator pointing to the end of the range to be erased.
- *
- * This function erases a sequence of elements from a %set.
- * Note that this function only erases the element, and that if
- * the element is itself a pointer, the pointed-to memory is not touched
- * in any way. Managing the pointer is the user's responsibilty.
- */
- void
- erase(iterator __first, iterator __last)
- { _M_t.erase(__first, __last); }
-
- /**
- * Erases all elements in a %set. Note that this function only erases
- * the elements, and that if the elements themselves are pointers, the
- * pointed-to memory is not touched in any way. Managing the pointer is
- * the user's responsibilty.
- */
- void
- clear()
- { _M_t.clear(); }
-
- // set operations:
-
- /**
- * @brief Finds the number of elements.
- * @param x Element to located.
- * @return Number of elements with specified key.
- *
- * This function only makes sense for multisets; for set the result will
- * either be 0 (not present) or 1 (present).
- */
- size_type
- count(const key_type& __x) const
- { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- //@{
- /**
- * @brief Tries to locate an element in a %set.
- * @param x Element to be located.
- * @return Iterator pointing to sought-after element, or end() if not
- * found.
- *
- * This function takes a key and tries to locate the element with which
- * the key matches. If successful the function returns an iterator
- * pointing to the sought after element. If unsuccessful it returns the
- * past-the-end ( @c end() ) iterator.
- */
- iterator
- find(const key_type& __x)
- { return _M_t.find(__x); }
-
- const_iterator
- find(const key_type& __x) const
- { return _M_t.find(__x); }
- //@}
-
- //@{
- /**
- * @brief Finds the beginning of a subsequence matching given key.
- * @param x Key to be located.
- * @return Iterator pointing to first element equal to or greater
- * than key, or end().
- *
- * This function returns the first element of a subsequence of elements
- * that matches the given key. If unsuccessful it returns an iterator
- * pointing to the first element that has a greater value than given key
- * or end() if no such element exists.
- */
- iterator
- lower_bound(const key_type& __x)
- { return _M_t.lower_bound(__x); }
-
- const_iterator
- lower_bound(const key_type& __x) const
- { return _M_t.lower_bound(__x); }
- //@}
-
- //@{
- /**
- * @brief Finds the end of a subsequence matching given key.
- * @param x Key to be located.
- * @return Iterator pointing to the first element
- * greater than key, or end().
- */
- iterator
- upper_bound(const key_type& __x)
- { return _M_t.upper_bound(__x); }
-
- const_iterator
- upper_bound(const key_type& __x) const
- { return _M_t.upper_bound(__x); }
- //@}
-
- //@{
- /**
- * @brief Finds a subsequence matching given key.
- * @param x Key to be located.
- * @return Pair of iterators that possibly points to the subsequence
- * matching given key.
- *
- * This function is equivalent to
- * @code
- * std::make_pair(c.lower_bound(val),
- * c.upper_bound(val))
- * @endcode
- * (but is faster than making the calls separately).
- *
- * This function probably only makes sense for multisets.
- */
- std::pair<iterator, iterator>
- equal_range(const key_type& __x)
- { return _M_t.equal_range(__x); }
-
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type& __x) const
- { return _M_t.equal_range(__x); }
- //@}
-
- template<class _K1, class _C1, class _A1>
- friend bool
- operator== (const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
-
- template<class _K1, class _C1, class _A1>
- friend bool
- operator< (const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&);
- };
-
-
- /**
- * @brief Set equality comparison.
- * @param x A %set.
- * @param y A %set of the same type as @a x.
- * @return True iff the size and elements of the sets are equal.
- *
- * This is an equivalence relation. It is linear in the size of the sets.
- * Sets are considered equivalent if their sizes are equal, and if
- * corresponding elements compare equal.
- */
- template<class _Key, class _Compare, class _Alloc>
- inline bool
- operator==(const set<_Key, _Compare, _Alloc>& __x,
- const set<_Key, _Compare, _Alloc>& __y)
- { return __x._M_t == __y._M_t; }
-
- /**
- * @brief Set ordering relation.
- * @param x A %set.
- * @param y A %set of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is a total ordering relation. It is linear in the size of the
- * maps. The elements must be comparable with @c <.
- *
- * See std::lexicographical_compare() for how the determination is made.
- */
- template<class _Key, class _Compare, class _Alloc>
- inline bool
- operator<(const set<_Key, _Compare, _Alloc>& __x,
- const set<_Key, _Compare, _Alloc>& __y)
- { return __x._M_t < __y._M_t; }
-
- /// Returns !(x == y).
- template<class _Key, class _Compare, class _Alloc>
- inline bool
- operator!=(const set<_Key, _Compare, _Alloc>& __x,
- const set<_Key, _Compare, _Alloc>& __y)
- { return !(__x == __y); }
-
- /// Returns y < x.
- template<class _Key, class _Compare, class _Alloc>
- inline bool
- operator>(const set<_Key, _Compare, _Alloc>& __x,
- const set<_Key, _Compare, _Alloc>& __y)
- { return __y < __x; }
-
- /// Returns !(y < x)
- template<class _Key, class _Compare, class _Alloc>
- inline bool
- operator<=(const set<_Key, _Compare, _Alloc>& __x,
- const set<_Key, _Compare, _Alloc>& __y)
- { return !(__y < __x); }
-
- /// Returns !(x < y)
- template<class _Key, class _Compare, class _Alloc>
- inline bool
- operator>=(const set<_Key, _Compare, _Alloc>& __x,
- const set<_Key, _Compare, _Alloc>& __y)
- { return !(__x < __y); }
-
- /// See std::set::swap().
- template<class _Key, class _Compare, class _Alloc>
- inline void
- swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _SET_H */
diff --git a/contrib/libstdc++/include/bits/stl_stack.h b/contrib/libstdc++/include/bits/stl_stack.h
deleted file mode 100644
index f5b41facb034..000000000000
--- a/contrib/libstdc++/include/bits/stl_stack.h
+++ /dev/null
@@ -1,261 +0,0 @@
-// Stack implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_stack.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STACK_H
-#define _STACK_H 1
-
-#include <bits/concept_check.h>
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief A standard container giving FILO behavior.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * Meets many of the requirements of a
- * <a href="tables.html#65">container</a>,
- * but does not define anything to do with iterators. Very few of the
- * other standard container interfaces are defined.
- *
- * This is not a true container, but an @e adaptor. It holds
- * another container, and provides a wrapper interface to that
- * container. The wrapper is what enforces strict
- * first-in-last-out %stack behavior.
- *
- * The second template parameter defines the type of the underlying
- * sequence/container. It defaults to std::deque, but it can be
- * any type that supports @c back, @c push_back, and @c pop_front,
- * such as std::list, std::vector, or an appropriate user-defined
- * type.
- *
- * Members not found in "normal" containers are @c container_type,
- * which is a typedef for the second Sequence parameter, and @c
- * push, @c pop, and @c top, which are standard %stack/FILO
- * operations.
- */
- template<typename _Tp, typename _Sequence = deque<_Tp> >
- class stack
- {
- // concept requirements
- typedef typename _Sequence::value_type _Sequence_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires(_Sequence, _BackInsertionSequenceConcept)
- __glibcxx_class_requires2(_Tp, _Sequence_value_type, _SameTypeConcept)
-
- template<typename _Tp1, typename _Seq1>
- friend bool
- operator==(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
-
- template<typename _Tp1, typename _Seq1>
- friend bool
- operator<(const stack<_Tp1, _Seq1>&, const stack<_Tp1, _Seq1>&);
-
- public:
- typedef typename _Sequence::value_type value_type;
- typedef typename _Sequence::reference reference;
- typedef typename _Sequence::const_reference const_reference;
- typedef typename _Sequence::size_type size_type;
- typedef _Sequence container_type;
-
- protected:
- // See queue::c for notes on this name.
- _Sequence c;
-
- public:
- // XXX removed old def ctor, added def arg to this one to match 14882
- /**
- * @brief Default constructor creates no elements.
- */
- explicit
- stack(const _Sequence& __c = _Sequence())
- : c(__c) { }
-
- /**
- * Returns true if the %stack is empty.
- */
- bool
- empty() const
- { return c.empty(); }
-
- /** Returns the number of elements in the %stack. */
- size_type
- size() const
- { return c.size(); }
-
- /**
- * Returns a read/write reference to the data at the first
- * element of the %stack.
- */
- reference
- top()
- {
- __glibcxx_requires_nonempty();
- return c.back();
- }
-
- /**
- * Returns a read-only (constant) reference to the data at the first
- * element of the %stack.
- */
- const_reference
- top() const
- {
- __glibcxx_requires_nonempty();
- return c.back();
- }
-
- /**
- * @brief Add data to the top of the %stack.
- * @param x Data to be added.
- *
- * This is a typical %stack operation. The function creates an
- * element at the top of the %stack and assigns the given data
- * to it. The time complexity of the operation depends on the
- * underlying sequence.
- */
- void
- push(const value_type& __x)
- { c.push_back(__x); }
-
- /**
- * @brief Removes first element.
- *
- * This is a typical %stack operation. It shrinks the %stack
- * by one. The time complexity of the operation depends on the
- * underlying sequence.
- *
- * Note that no data is returned, and if the first element's
- * data is needed, it should be retrieved before pop() is
- * called.
- */
- void
- pop()
- {
- __glibcxx_requires_nonempty();
- c.pop_back();
- }
- };
-
- /**
- * @brief Stack equality comparison.
- * @param x A %stack.
- * @param y A %stack of the same type as @a x.
- * @return True iff the size and elements of the stacks are equal.
- *
- * This is an equivalence relation. Complexity and semantics
- * depend on the underlying sequence type, but the expected rules
- * are: this relation is linear in the size of the sequences, and
- * stacks are considered equivalent if their sequences compare
- * equal.
- */
- template<typename _Tp, typename _Seq>
- inline bool
- operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
- { return __x.c == __y.c; }
-
- /**
- * @brief Stack ordering relation.
- * @param x A %stack.
- * @param y A %stack of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is an total ordering relation. Complexity and semantics
- * depend on the underlying sequence type, but the expected rules
- * are: this relation is linear in the size of the sequences, the
- * elements must be comparable with @c <, and
- * std::lexicographical_compare() is usually used to make the
- * determination.
- */
- template<typename _Tp, typename _Seq>
- inline bool
- operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
- { return __x.c < __y.c; }
-
- /// Based on operator==
- template<typename _Tp, typename _Seq>
- inline bool
- operator!=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
- { return !(__x == __y); }
-
- /// Based on operator<
- template<typename _Tp, typename _Seq>
- inline bool
- operator>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
- { return __y < __x; }
-
- /// Based on operator<
- template<typename _Tp, typename _Seq>
- inline bool
- operator<=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
- { return !(__y < __x); }
-
- /// Based on operator<
- template<typename _Tp, typename _Seq>
- inline bool
- operator>=(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
- { return !(__x < __y); }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _STACK_H */
diff --git a/contrib/libstdc++/include/bits/stl_tempbuf.h b/contrib/libstdc++/include/bits/stl_tempbuf.h
deleted file mode 100644
index fbe24e795d73..000000000000
--- a/contrib/libstdc++/include/bits/stl_tempbuf.h
+++ /dev/null
@@ -1,172 +0,0 @@
-// Temporary buffer implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_tempbuf.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _TEMPBUF_H
-#define _TEMPBUF_H 1
-
-#include <memory>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @if maint
- * This class is used in two places: stl_algo.h and ext/memory,
- * where it is wrapped as the temporary_buffer class. See
- * temporary_buffer docs for more notes.
- * @endif
- */
- template<typename _ForwardIterator, typename _Tp>
- class _Temporary_buffer
- {
- // concept requirements
- __glibcxx_class_requires(_ForwardIterator, _ForwardIteratorConcept)
-
- public:
- typedef _Tp value_type;
- typedef value_type* pointer;
- typedef pointer iterator;
- typedef ptrdiff_t size_type;
-
- protected:
- size_type _M_original_len;
- size_type _M_len;
- pointer _M_buffer;
-
- void
- _M_initialize_buffer(const _Tp&, __true_type) { }
-
- void
- _M_initialize_buffer(const _Tp& __val, __false_type)
- { std::uninitialized_fill_n(_M_buffer, _M_len, __val); }
-
- public:
- /// As per Table mumble.
- size_type
- size() const
- { return _M_len; }
-
- /// Returns the size requested by the constructor; may be >size().
- size_type
- requested_size() const
- { return _M_original_len; }
-
- /// As per Table mumble.
- iterator
- begin()
- { return _M_buffer; }
-
- /// As per Table mumble.
- iterator
- end()
- { return _M_buffer + _M_len; }
-
- /**
- * Constructs a temporary buffer of a size somewhere between
- * zero and the size of the given range.
- */
- _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last);
-
- ~_Temporary_buffer()
- {
- std::_Destroy(_M_buffer, _M_buffer + _M_len);
- std::return_temporary_buffer(_M_buffer);
- }
-
- private:
- // Disable copy constructor and assignment operator.
- _Temporary_buffer(const _Temporary_buffer&);
-
- void
- operator=(const _Temporary_buffer&);
- };
-
-
- template<typename _ForwardIterator, typename _Tp>
- _Temporary_buffer<_ForwardIterator, _Tp>::
- _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
- : _M_original_len(std::distance(__first, __last)),
- _M_len(0), _M_buffer(0)
- {
- // Workaround for a __type_traits bug in the pre-7.3 compiler.
- typedef typename std::__is_scalar<_Tp>::__type _Trivial;
-
- try
- {
- pair<pointer, size_type> __p(get_temporary_buffer<
- value_type>(_M_original_len));
- _M_buffer = __p.first;
- _M_len = __p.second;
- if (_M_len > 0)
- _M_initialize_buffer(*__first, _Trivial());
- }
- catch(...)
- {
- std::return_temporary_buffer(_M_buffer);
- _M_buffer = 0;
- _M_len = 0;
- __throw_exception_again;
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _TEMPBUF_H */
-
diff --git a/contrib/libstdc++/include/bits/stl_tree.h b/contrib/libstdc++/include/bits/stl_tree.h
deleted file mode 100644
index 9e7a9ac31be2..000000000000
--- a/contrib/libstdc++/include/bits/stl_tree.h
+++ /dev/null
@@ -1,1576 +0,0 @@
-// RB tree implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- */
-
-/** @file stl_tree.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _TREE_H
-#define _TREE_H 1
-
-#pragma GCC system_header
-
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_function.h>
-#include <bits/cpp_type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Red-black tree class, designed for use in implementing STL
- // associative containers (set, multiset, map, and multimap). The
- // insertion and deletion algorithms are based on those in Cormen,
- // Leiserson, and Rivest, Introduction to Algorithms (MIT Press,
- // 1990), except that
- //
- // (1) the header cell is maintained with links not only to the root
- // but also to the leftmost node of the tree, to enable constant
- // time begin(), and to the rightmost node of the tree, to enable
- // linear time performance when used with the generic set algorithms
- // (set_union, etc.)
- //
- // (2) when a node being deleted has two children its successor node
- // is relinked into its place, rather than copied, so that the only
- // iterators invalidated are those referring to the deleted node.
-
- enum _Rb_tree_color { _S_red = false, _S_black = true };
-
- struct _Rb_tree_node_base
- {
- typedef _Rb_tree_node_base* _Base_ptr;
- typedef const _Rb_tree_node_base* _Const_Base_ptr;
-
- _Rb_tree_color _M_color;
- _Base_ptr _M_parent;
- _Base_ptr _M_left;
- _Base_ptr _M_right;
-
- static _Base_ptr
- _S_minimum(_Base_ptr __x)
- {
- while (__x->_M_left != 0) __x = __x->_M_left;
- return __x;
- }
-
- static _Const_Base_ptr
- _S_minimum(_Const_Base_ptr __x)
- {
- while (__x->_M_left != 0) __x = __x->_M_left;
- return __x;
- }
-
- static _Base_ptr
- _S_maximum(_Base_ptr __x)
- {
- while (__x->_M_right != 0) __x = __x->_M_right;
- return __x;
- }
-
- static _Const_Base_ptr
- _S_maximum(_Const_Base_ptr __x)
- {
- while (__x->_M_right != 0) __x = __x->_M_right;
- return __x;
- }
- };
-
- template<typename _Val>
- struct _Rb_tree_node : public _Rb_tree_node_base
- {
- typedef _Rb_tree_node<_Val>* _Link_type;
- _Val _M_value_field;
- };
-
- _Rb_tree_node_base*
- _Rb_tree_increment(_Rb_tree_node_base* __x);
-
- const _Rb_tree_node_base*
- _Rb_tree_increment(const _Rb_tree_node_base* __x);
-
- _Rb_tree_node_base*
- _Rb_tree_decrement(_Rb_tree_node_base* __x);
-
- const _Rb_tree_node_base*
- _Rb_tree_decrement(const _Rb_tree_node_base* __x);
-
- template<typename _Tp>
- struct _Rb_tree_iterator
- {
- typedef _Tp value_type;
- typedef _Tp& reference;
- typedef _Tp* pointer;
-
- typedef bidirectional_iterator_tag iterator_category;
- typedef ptrdiff_t difference_type;
-
- typedef _Rb_tree_iterator<_Tp> _Self;
- typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
- typedef _Rb_tree_node<_Tp>* _Link_type;
-
- _Rb_tree_iterator()
- : _M_node() { }
-
- explicit
- _Rb_tree_iterator(_Link_type __x)
- : _M_node(__x) { }
-
- reference
- operator*() const
- { return static_cast<_Link_type>(_M_node)->_M_value_field; }
-
- pointer
- operator->() const
- { return &static_cast<_Link_type>(_M_node)->_M_value_field; }
-
- _Self&
- operator++()
- {
- _M_node = _Rb_tree_increment(_M_node);
- return *this;
- }
-
- _Self
- operator++(int)
- {
- _Self __tmp = *this;
- _M_node = _Rb_tree_increment(_M_node);
- return __tmp;
- }
-
- _Self&
- operator--()
- {
- _M_node = _Rb_tree_decrement(_M_node);
- return *this;
- }
-
- _Self
- operator--(int)
- {
- _Self __tmp = *this;
- _M_node = _Rb_tree_decrement(_M_node);
- return __tmp;
- }
-
- bool
- operator==(const _Self& __x) const
- { return _M_node == __x._M_node; }
-
- bool
- operator!=(const _Self& __x) const
- { return _M_node != __x._M_node; }
-
- _Base_ptr _M_node;
- };
-
- template<typename _Tp>
- struct _Rb_tree_const_iterator
- {
- typedef _Tp value_type;
- typedef const _Tp& reference;
- typedef const _Tp* pointer;
-
- typedef _Rb_tree_iterator<_Tp> iterator;
-
- typedef bidirectional_iterator_tag iterator_category;
- typedef ptrdiff_t difference_type;
-
- typedef _Rb_tree_const_iterator<_Tp> _Self;
- typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
- typedef const _Rb_tree_node<_Tp>* _Link_type;
-
- _Rb_tree_const_iterator()
- : _M_node() { }
-
- explicit
- _Rb_tree_const_iterator(_Link_type __x)
- : _M_node(__x) { }
-
- _Rb_tree_const_iterator(const iterator& __it)
- : _M_node(__it._M_node) { }
-
- reference
- operator*() const
- { return static_cast<_Link_type>(_M_node)->_M_value_field; }
-
- pointer
- operator->() const
- { return &static_cast<_Link_type>(_M_node)->_M_value_field; }
-
- _Self&
- operator++()
- {
- _M_node = _Rb_tree_increment(_M_node);
- return *this;
- }
-
- _Self
- operator++(int)
- {
- _Self __tmp = *this;
- _M_node = _Rb_tree_increment(_M_node);
- return __tmp;
- }
-
- _Self&
- operator--()
- {
- _M_node = _Rb_tree_decrement(_M_node);
- return *this;
- }
-
- _Self
- operator--(int)
- {
- _Self __tmp = *this;
- _M_node = _Rb_tree_decrement(_M_node);
- return __tmp;
- }
-
- bool
- operator==(const _Self& __x) const
- { return _M_node == __x._M_node; }
-
- bool
- operator!=(const _Self& __x) const
- { return _M_node != __x._M_node; }
-
- _Base_ptr _M_node;
- };
-
- template<typename _Val>
- inline bool
- operator==(const _Rb_tree_iterator<_Val>& __x,
- const _Rb_tree_const_iterator<_Val>& __y)
- { return __x._M_node == __y._M_node; }
-
- template<typename _Val>
- inline bool
- operator!=(const _Rb_tree_iterator<_Val>& __x,
- const _Rb_tree_const_iterator<_Val>& __y)
- { return __x._M_node != __y._M_node; }
-
- void
- _Rb_tree_rotate_left(_Rb_tree_node_base* const __x,
- _Rb_tree_node_base*& __root);
-
- void
- _Rb_tree_rotate_right(_Rb_tree_node_base* const __x,
- _Rb_tree_node_base*& __root);
-
- void
- _Rb_tree_insert_and_rebalance(const bool __insert_left,
- _Rb_tree_node_base* __x,
- _Rb_tree_node_base* __p,
- _Rb_tree_node_base& __header);
-
- _Rb_tree_node_base*
- _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
- _Rb_tree_node_base& __header);
-
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc = allocator<_Val> >
- class _Rb_tree
- {
- typedef typename _Alloc::template rebind<_Rb_tree_node<_Val> >::other
- _Node_allocator;
-
- protected:
- typedef _Rb_tree_node_base* _Base_ptr;
- typedef const _Rb_tree_node_base* _Const_Base_ptr;
- typedef _Rb_tree_node<_Val> _Rb_tree_node;
-
- public:
- typedef _Key key_type;
- typedef _Val value_type;
- typedef value_type* pointer;
- typedef const value_type* const_pointer;
- typedef value_type& reference;
- typedef const value_type& const_reference;
- typedef _Rb_tree_node* _Link_type;
- typedef const _Rb_tree_node* _Const_Link_type;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Alloc allocator_type;
-
- _Node_allocator&
- _M_get_Node_allocator()
- { return *static_cast<_Node_allocator*>(&this->_M_impl); }
-
- const _Node_allocator&
- _M_get_Node_allocator() const
- { return *static_cast<const _Node_allocator*>(&this->_M_impl); }
-
- allocator_type
- get_allocator() const
- { return allocator_type(_M_get_Node_allocator()); }
-
- protected:
- _Rb_tree_node*
- _M_get_node()
- { return _M_impl._Node_allocator::allocate(1); }
-
- void
- _M_put_node(_Rb_tree_node* __p)
- { _M_impl._Node_allocator::deallocate(__p, 1); }
-
- _Link_type
- _M_create_node(const value_type& __x)
- {
- _Link_type __tmp = _M_get_node();
- try
- { get_allocator().construct(&__tmp->_M_value_field, __x); }
- catch(...)
- {
- _M_put_node(__tmp);
- __throw_exception_again;
- }
- return __tmp;
- }
-
- _Link_type
- _M_clone_node(_Const_Link_type __x)
- {
- _Link_type __tmp = _M_create_node(__x->_M_value_field);
- __tmp->_M_color = __x->_M_color;
- __tmp->_M_left = 0;
- __tmp->_M_right = 0;
- return __tmp;
- }
-
- void
- _M_destroy_node(_Link_type __p)
- {
- get_allocator().destroy(&__p->_M_value_field);
- _M_put_node(__p);
- }
-
- protected:
- template<typename _Key_compare,
- bool _Is_pod_comparator = std::__is_pod<_Key_compare>::__value>
- struct _Rb_tree_impl : public _Node_allocator
- {
- _Key_compare _M_key_compare;
- _Rb_tree_node_base _M_header;
- size_type _M_node_count; // Keeps track of size of tree.
-
- _Rb_tree_impl()
- : _Node_allocator(), _M_key_compare(), _M_header(),
- _M_node_count(0)
- { _M_initialize(); }
-
- _Rb_tree_impl(const _Key_compare& __comp, const _Node_allocator& __a)
- : _Node_allocator(__a), _M_key_compare(__comp), _M_header(),
- _M_node_count(0)
- { _M_initialize(); }
-
- private:
- void
- _M_initialize()
- {
- this->_M_header._M_color = _S_red;
- this->_M_header._M_parent = 0;
- this->_M_header._M_left = &this->_M_header;
- this->_M_header._M_right = &this->_M_header;
- }
- };
-
- // Specialization for _Comparison types that are not capable of
- // being base classes / super classes.
- template<typename _Key_compare>
- struct _Rb_tree_impl<_Key_compare, true> : public _Node_allocator
- {
- _Key_compare _M_key_compare;
- _Rb_tree_node_base _M_header;
- size_type _M_node_count; // Keeps track of size of tree.
-
- _Rb_tree_impl()
- : _Node_allocator(), _M_key_compare(), _M_header(),
- _M_node_count(0)
- { _M_initialize(); }
-
- _Rb_tree_impl(const _Key_compare& __comp, const _Node_allocator& __a)
- : _Node_allocator(__a), _M_key_compare(__comp), _M_header(),
- _M_node_count(0)
- { _M_initialize(); }
-
- private:
- void
- _M_initialize()
- {
- this->_M_header._M_color = _S_red;
- this->_M_header._M_parent = 0;
- this->_M_header._M_left = &this->_M_header;
- this->_M_header._M_right = &this->_M_header;
- }
- };
-
- _Rb_tree_impl<_Compare> _M_impl;
-
- protected:
- _Base_ptr&
- _M_root()
- { return this->_M_impl._M_header._M_parent; }
-
- _Const_Base_ptr
- _M_root() const
- { return this->_M_impl._M_header._M_parent; }
-
- _Base_ptr&
- _M_leftmost()
- { return this->_M_impl._M_header._M_left; }
-
- _Const_Base_ptr
- _M_leftmost() const
- { return this->_M_impl._M_header._M_left; }
-
- _Base_ptr&
- _M_rightmost()
- { return this->_M_impl._M_header._M_right; }
-
- _Const_Base_ptr
- _M_rightmost() const
- { return this->_M_impl._M_header._M_right; }
-
- _Link_type
- _M_begin()
- { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
-
- _Const_Link_type
- _M_begin() const
- {
- return static_cast<_Const_Link_type>
- (this->_M_impl._M_header._M_parent);
- }
-
- _Link_type
- _M_end()
- { return static_cast<_Link_type>(&this->_M_impl._M_header); }
-
- _Const_Link_type
- _M_end() const
- { return static_cast<_Const_Link_type>(&this->_M_impl._M_header); }
-
- static const_reference
- _S_value(_Const_Link_type __x)
- { return __x->_M_value_field; }
-
- static const _Key&
- _S_key(_Const_Link_type __x)
- { return _KeyOfValue()(_S_value(__x)); }
-
- static _Link_type
- _S_left(_Base_ptr __x)
- { return static_cast<_Link_type>(__x->_M_left); }
-
- static _Const_Link_type
- _S_left(_Const_Base_ptr __x)
- { return static_cast<_Const_Link_type>(__x->_M_left); }
-
- static _Link_type
- _S_right(_Base_ptr __x)
- { return static_cast<_Link_type>(__x->_M_right); }
-
- static _Const_Link_type
- _S_right(_Const_Base_ptr __x)
- { return static_cast<_Const_Link_type>(__x->_M_right); }
-
- static const_reference
- _S_value(_Const_Base_ptr __x)
- { return static_cast<_Const_Link_type>(__x)->_M_value_field; }
-
- static const _Key&
- _S_key(_Const_Base_ptr __x)
- { return _KeyOfValue()(_S_value(__x)); }
-
- static _Base_ptr
- _S_minimum(_Base_ptr __x)
- { return _Rb_tree_node_base::_S_minimum(__x); }
-
- static _Const_Base_ptr
- _S_minimum(_Const_Base_ptr __x)
- { return _Rb_tree_node_base::_S_minimum(__x); }
-
- static _Base_ptr
- _S_maximum(_Base_ptr __x)
- { return _Rb_tree_node_base::_S_maximum(__x); }
-
- static _Const_Base_ptr
- _S_maximum(_Const_Base_ptr __x)
- { return _Rb_tree_node_base::_S_maximum(__x); }
-
- public:
- typedef _Rb_tree_iterator<value_type> iterator;
- typedef _Rb_tree_const_iterator<value_type> const_iterator;
-
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- private:
- iterator
- _M_insert(_Base_ptr __x, _Base_ptr __y, const value_type& __v);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 233. Insertion hints in associative containers.
- iterator
- _M_insert_lower(_Base_ptr __x, _Base_ptr __y, const value_type& __v);
-
- const_iterator
- _M_insert(_Const_Base_ptr __x, _Const_Base_ptr __y,
- const value_type& __v);
-
- _Link_type
- _M_copy(_Const_Link_type __x, _Link_type __p);
-
- void
- _M_erase(_Link_type __x);
-
- public:
- // allocation/deallocation
- _Rb_tree()
- { }
-
- _Rb_tree(const _Compare& __comp,
- const allocator_type& __a = allocator_type())
- : _M_impl(__comp, __a)
- { }
-
- _Rb_tree(const _Rb_tree& __x)
- : _M_impl(__x._M_impl._M_key_compare, __x._M_get_Node_allocator())
- {
- if (__x._M_root() != 0)
- {
- _M_root() = _M_copy(__x._M_begin(), _M_end());
- _M_leftmost() = _S_minimum(_M_root());
- _M_rightmost() = _S_maximum(_M_root());
- _M_impl._M_node_count = __x._M_impl._M_node_count;
- }
- }
-
- ~_Rb_tree()
- { _M_erase(_M_begin()); }
-
- _Rb_tree&
- operator=(const _Rb_tree& __x);
-
- // Accessors.
- _Compare
- key_comp() const
- { return _M_impl._M_key_compare; }
-
- iterator
- begin()
- {
- return iterator(static_cast<_Link_type>
- (this->_M_impl._M_header._M_left));
- }
-
- const_iterator
- begin() const
- {
- return const_iterator(static_cast<_Const_Link_type>
- (this->_M_impl._M_header._M_left));
- }
-
- iterator
- end()
- { return iterator(static_cast<_Link_type>(&this->_M_impl._M_header)); }
-
- const_iterator
- end() const
- {
- return const_iterator(static_cast<_Const_Link_type>
- (&this->_M_impl._M_header));
- }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- bool
- empty() const
- { return _M_impl._M_node_count == 0; }
-
- size_type
- size() const
- { return _M_impl._M_node_count; }
-
- size_type
- max_size() const
- { return get_allocator().max_size(); }
-
- void
- swap(_Rb_tree& __t);
-
- // Insert/erase.
- pair<iterator, bool>
- _M_insert_unique(const value_type& __x);
-
- iterator
- _M_insert_equal(const value_type& __x);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 233. Insertion hints in associative containers.
- iterator
- _M_insert_equal_lower(const value_type& __x);
-
- iterator
- _M_insert_unique(iterator __position, const value_type& __x);
-
- const_iterator
- _M_insert_unique(const_iterator __position, const value_type& __x);
-
- iterator
- _M_insert_equal(iterator __position, const value_type& __x);
-
- const_iterator
- _M_insert_equal(const_iterator __position, const value_type& __x);
-
- template<typename _InputIterator>
- void
- _M_insert_unique(_InputIterator __first, _InputIterator __last);
-
- template<typename _InputIterator>
- void
- _M_insert_equal(_InputIterator __first, _InputIterator __last);
-
- void
- erase(iterator __position);
-
- void
- erase(const_iterator __position);
-
- size_type
- erase(const key_type& __x);
-
- void
- erase(iterator __first, iterator __last);
-
- void
- erase(const_iterator __first, const_iterator __last);
-
- void
- erase(const key_type* __first, const key_type* __last);
-
- void
- clear()
- {
- _M_erase(_M_begin());
- _M_leftmost() = _M_end();
- _M_root() = 0;
- _M_rightmost() = _M_end();
- _M_impl._M_node_count = 0;
- }
-
- // Set operations.
- iterator
- find(const key_type& __x);
-
- const_iterator
- find(const key_type& __x) const;
-
- size_type
- count(const key_type& __x) const;
-
- iterator
- lower_bound(const key_type& __x);
-
- const_iterator
- lower_bound(const key_type& __x) const;
-
- iterator
- upper_bound(const key_type& __x);
-
- const_iterator
- upper_bound(const key_type& __x) const;
-
- pair<iterator,iterator>
- equal_range(const key_type& __x);
-
- pair<const_iterator, const_iterator>
- equal_range(const key_type& __x) const;
-
- // Debugging.
- bool
- __rb_verify() const;
- };
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline bool
- operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
- const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
- {
- return __x.size() == __y.size()
- && std::equal(__x.begin(), __x.end(), __y.begin());
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline bool
- operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
- const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
- {
- return std::lexicographical_compare(__x.begin(), __x.end(),
- __y.begin(), __y.end());
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline bool
- operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
- const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
- { return !(__x == __y); }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline bool
- operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
- const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
- { return __y < __x; }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline bool
- operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
- const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
- { return !(__y < __x); }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline bool
- operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
- const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
- { return !(__x < __y); }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline void
- swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
- { __x.swap(__y); }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- operator=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x)
- {
- if (this != &__x)
- {
- // Note that _Key may be a constant type.
- clear();
- _M_impl._M_key_compare = __x._M_impl._M_key_compare;
- if (__x._M_root() != 0)
- {
- _M_root() = _M_copy(__x._M_begin(), _M_end());
- _M_leftmost() = _S_minimum(_M_root());
- _M_rightmost() = _S_maximum(_M_root());
- _M_impl._M_node_count = __x._M_impl._M_node_count;
- }
- }
- return *this;
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert(_Base_ptr __x, _Base_ptr __p, const _Val& __v)
- {
- bool __insert_left = (__x != 0 || __p == _M_end()
- || _M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key(__p)));
-
- _Link_type __z = _M_create_node(__v);
-
- _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
- this->_M_impl._M_header);
- ++_M_impl._M_node_count;
- return iterator(__z);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_lower(_Base_ptr __x, _Base_ptr __p, const _Val& __v)
- {
- bool __insert_left = (__x != 0 || __p == _M_end()
- || !_M_impl._M_key_compare(_S_key(__p),
- _KeyOfValue()(__v)));
-
- _Link_type __z = _M_create_node(__v);
-
- _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
- this->_M_impl._M_header);
- ++_M_impl._M_node_count;
- return iterator(__z);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert(_Const_Base_ptr __x, _Const_Base_ptr __p, const _Val& __v)
- {
- bool __insert_left = (__x != 0 || __p == _M_end()
- || _M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key(__p)));
-
- _Link_type __z = _M_create_node(__v);
-
- _Rb_tree_insert_and_rebalance(__insert_left, __z,
- const_cast<_Base_ptr>(__p),
- this->_M_impl._M_header);
- ++_M_impl._M_node_count;
- return const_iterator(__z);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_equal(const _Val& __v)
- {
- _Link_type __x = _M_begin();
- _Link_type __y = _M_end();
- while (__x != 0)
- {
- __y = __x;
- __x = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x)) ?
- _S_left(__x) : _S_right(__x);
- }
- return _M_insert(__x, __y, __v);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_equal_lower(const _Val& __v)
- {
- _Link_type __x = _M_begin();
- _Link_type __y = _M_end();
- while (__x != 0)
- {
- __y = __x;
- __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
- _S_left(__x) : _S_right(__x);
- }
- return _M_insert_lower(__x, __y, __v);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- void
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t)
- {
- if (_M_root() == 0)
- {
- if (__t._M_root() != 0)
- {
- _M_root() = __t._M_root();
- _M_leftmost() = __t._M_leftmost();
- _M_rightmost() = __t._M_rightmost();
- _M_root()->_M_parent = _M_end();
-
- __t._M_root() = 0;
- __t._M_leftmost() = __t._M_end();
- __t._M_rightmost() = __t._M_end();
- }
- }
- else if (__t._M_root() == 0)
- {
- __t._M_root() = _M_root();
- __t._M_leftmost() = _M_leftmost();
- __t._M_rightmost() = _M_rightmost();
- __t._M_root()->_M_parent = __t._M_end();
-
- _M_root() = 0;
- _M_leftmost() = _M_end();
- _M_rightmost() = _M_end();
- }
- else
- {
- std::swap(_M_root(),__t._M_root());
- std::swap(_M_leftmost(),__t._M_leftmost());
- std::swap(_M_rightmost(),__t._M_rightmost());
-
- _M_root()->_M_parent = _M_end();
- __t._M_root()->_M_parent = __t._M_end();
- }
- // No need to swap header's color as it does not change.
- std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
- std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<_Node_allocator>::
- _S_do_it(_M_get_Node_allocator(), __t._M_get_Node_allocator());
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
- _Compare, _Alloc>::iterator, bool>
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_unique(const _Val& __v)
- {
- _Link_type __x = _M_begin();
- _Link_type __y = _M_end();
- bool __comp = true;
- while (__x != 0)
- {
- __y = __x;
- __comp = _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__x));
- __x = __comp ? _S_left(__x) : _S_right(__x);
- }
- iterator __j = iterator(__y);
- if (__comp)
- {
- if (__j == begin())
- return pair<iterator,bool>(_M_insert(__x, __y, __v), true);
- else
- --__j;
- }
- if (_M_impl._M_key_compare(_S_key(__j._M_node), _KeyOfValue()(__v)))
- return pair<iterator, bool>(_M_insert(__x, __y, __v), true);
- return pair<iterator, bool>(__j, false);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_unique(iterator __position, const _Val& __v)
- {
- // end()
- if (__position._M_node == _M_end())
- {
- if (size() > 0
- && _M_impl._M_key_compare(_S_key(_M_rightmost()),
- _KeyOfValue()(__v)))
- return _M_insert(0, _M_rightmost(), __v);
- else
- return _M_insert_unique(__v).first;
- }
- else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key(__position._M_node)))
- {
- // First, try before...
- iterator __before = __position;
- if (__position._M_node == _M_leftmost()) // begin()
- return _M_insert(_M_leftmost(), _M_leftmost(), __v);
- else if (_M_impl._M_key_compare(_S_key((--__before)._M_node),
- _KeyOfValue()(__v)))
- {
- if (_S_right(__before._M_node) == 0)
- return _M_insert(0, __before._M_node, __v);
- else
- return _M_insert(__position._M_node,
- __position._M_node, __v);
- }
- else
- return _M_insert_unique(__v).first;
- }
- else if (_M_impl._M_key_compare(_S_key(__position._M_node),
- _KeyOfValue()(__v)))
- {
- // ... then try after.
- iterator __after = __position;
- if (__position._M_node == _M_rightmost())
- return _M_insert(0, _M_rightmost(), __v);
- else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key((++__after)._M_node)))
- {
- if (_S_right(__position._M_node) == 0)
- return _M_insert(0, __position._M_node, __v);
- else
- return _M_insert(__after._M_node, __after._M_node, __v);
- }
- else
- return _M_insert_unique(__v).first;
- }
- else
- return __position; // Equivalent keys.
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_unique(const_iterator __position, const _Val& __v)
- {
- // end()
- if (__position._M_node == _M_end())
- {
- if (size() > 0
- && _M_impl._M_key_compare(_S_key(_M_rightmost()),
- _KeyOfValue()(__v)))
- return _M_insert(0, _M_rightmost(), __v);
- else
- return const_iterator(_M_insert_unique(__v).first);
- }
- else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key(__position._M_node)))
- {
- // First, try before...
- const_iterator __before = __position;
- if (__position._M_node == _M_leftmost()) // begin()
- return _M_insert(_M_leftmost(), _M_leftmost(), __v);
- else if (_M_impl._M_key_compare(_S_key((--__before)._M_node),
- _KeyOfValue()(__v)))
- {
- if (_S_right(__before._M_node) == 0)
- return _M_insert(0, __before._M_node, __v);
- else
- return _M_insert(__position._M_node,
- __position._M_node, __v);
- }
- else
- return const_iterator(_M_insert_unique(__v).first);
- }
- else if (_M_impl._M_key_compare(_S_key(__position._M_node),
- _KeyOfValue()(__v)))
- {
- // ... then try after.
- const_iterator __after = __position;
- if (__position._M_node == _M_rightmost())
- return _M_insert(0, _M_rightmost(), __v);
- else if (_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key((++__after)._M_node)))
- {
- if (_S_right(__position._M_node) == 0)
- return _M_insert(0, __position._M_node, __v);
- else
- return _M_insert(__after._M_node, __after._M_node, __v);
- }
- else
- return const_iterator(_M_insert_unique(__v).first);
- }
- else
- return __position; // Equivalent keys.
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_equal(iterator __position, const _Val& __v)
- {
- // end()
- if (__position._M_node == _M_end())
- {
- if (size() > 0
- && !_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key(_M_rightmost())))
- return _M_insert(0, _M_rightmost(), __v);
- else
- return _M_insert_equal(__v);
- }
- else if (!_M_impl._M_key_compare(_S_key(__position._M_node),
- _KeyOfValue()(__v)))
- {
- // First, try before...
- iterator __before = __position;
- if (__position._M_node == _M_leftmost()) // begin()
- return _M_insert(_M_leftmost(), _M_leftmost(), __v);
- else if (!_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key((--__before)._M_node)))
- {
- if (_S_right(__before._M_node) == 0)
- return _M_insert(0, __before._M_node, __v);
- else
- return _M_insert(__position._M_node,
- __position._M_node, __v);
- }
- else
- return _M_insert_equal(__v);
- }
- else
- {
- // ... then try after.
- iterator __after = __position;
- if (__position._M_node == _M_rightmost())
- return _M_insert(0, _M_rightmost(), __v);
- else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node),
- _KeyOfValue()(__v)))
- {
- if (_S_right(__position._M_node) == 0)
- return _M_insert(0, __position._M_node, __v);
- else
- return _M_insert(__after._M_node, __after._M_node, __v);
- }
- else
- return _M_insert_equal_lower(__v);
- }
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_insert_equal(const_iterator __position, const _Val& __v)
- {
- // end()
- if (__position._M_node == _M_end())
- {
- if (size() > 0
- && !_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key(_M_rightmost())))
- return _M_insert(0, _M_rightmost(), __v);
- else
- return const_iterator(_M_insert_equal(__v));
- }
- else if (!_M_impl._M_key_compare(_S_key(__position._M_node),
- _KeyOfValue()(__v)))
- {
- // First, try before...
- const_iterator __before = __position;
- if (__position._M_node == _M_leftmost()) // begin()
- return _M_insert(_M_leftmost(), _M_leftmost(), __v);
- else if (!_M_impl._M_key_compare(_KeyOfValue()(__v),
- _S_key((--__before)._M_node)))
- {
- if (_S_right(__before._M_node) == 0)
- return _M_insert(0, __before._M_node, __v);
- else
- return _M_insert(__position._M_node,
- __position._M_node, __v);
- }
- else
- return const_iterator(_M_insert_equal(__v));
- }
- else
- {
- // ... then try after.
- const_iterator __after = __position;
- if (__position._M_node == _M_rightmost())
- return _M_insert(0, _M_rightmost(), __v);
- else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node),
- _KeyOfValue()(__v)))
- {
- if (_S_right(__position._M_node) == 0)
- return _M_insert(0, __position._M_node, __v);
- else
- return _M_insert(__after._M_node, __after._M_node, __v);
- }
- else
- return const_iterator(_M_insert_equal_lower(__v));
- }
- }
-
- template<typename _Key, typename _Val, typename _KoV,
- typename _Cmp, typename _Alloc>
- template<class _II>
- void
- _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
- _M_insert_equal(_II __first, _II __last)
- {
- for (; __first != __last; ++__first)
- _M_insert_equal(end(), *__first);
- }
-
- template<typename _Key, typename _Val, typename _KoV,
- typename _Cmp, typename _Alloc>
- template<class _II>
- void
- _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
- _M_insert_unique(_II __first, _II __last)
- {
- for (; __first != __last; ++__first)
- _M_insert_unique(end(), *__first);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline void
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- erase(iterator __position)
- {
- _Link_type __y =
- static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
- (__position._M_node,
- this->_M_impl._M_header));
- _M_destroy_node(__y);
- --_M_impl._M_node_count;
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline void
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- erase(const_iterator __position)
- {
- _Link_type __y =
- static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
- (const_cast<_Base_ptr>(__position._M_node),
- this->_M_impl._M_header));
- _M_destroy_node(__y);
- --_M_impl._M_node_count;
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- erase(const _Key& __x)
- {
- pair<iterator, iterator> __p = equal_range(__x);
- const size_type __old_size = size();
- erase(__p.first, __p.second);
- return __old_size - size();
- }
-
- template<typename _Key, typename _Val, typename _KoV,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
- _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
- _M_copy(_Const_Link_type __x, _Link_type __p)
- {
- // Structural copy. __x and __p must be non-null.
- _Link_type __top = _M_clone_node(__x);
- __top->_M_parent = __p;
-
- try
- {
- if (__x->_M_right)
- __top->_M_right = _M_copy(_S_right(__x), __top);
- __p = __top;
- __x = _S_left(__x);
-
- while (__x != 0)
- {
- _Link_type __y = _M_clone_node(__x);
- __p->_M_left = __y;
- __y->_M_parent = __p;
- if (__x->_M_right)
- __y->_M_right = _M_copy(_S_right(__x), __y);
- __p = __y;
- __x = _S_left(__x);
- }
- }
- catch(...)
- {
- _M_erase(__top);
- __throw_exception_again;
- }
- return __top;
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- void
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- _M_erase(_Link_type __x)
- {
- // Erase without rebalancing.
- while (__x != 0)
- {
- _M_erase(_S_right(__x));
- _Link_type __y = _S_left(__x);
- _M_destroy_node(__x);
- __x = __y;
- }
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- void
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- erase(iterator __first, iterator __last)
- {
- if (__first == begin() && __last == end())
- clear();
- else
- while (__first != __last)
- erase(__first++);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- void
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- erase(const_iterator __first, const_iterator __last)
- {
- if (__first == begin() && __last == end())
- clear();
- else
- while (__first != __last)
- erase(__first++);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- void
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- erase(const _Key* __first, const _Key* __last)
- {
- while (__first != __last)
- erase(*__first++);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- find(const _Key& __k)
- {
- _Link_type __x = _M_begin(); // Current node.
- _Link_type __y = _M_end(); // Last node which is not less than __k.
-
- while (__x != 0)
- if (!_M_impl._M_key_compare(_S_key(__x), __k))
- __y = __x, __x = _S_left(__x);
- else
- __x = _S_right(__x);
-
- iterator __j = iterator(__y);
- return (__j == end()
- || _M_impl._M_key_compare(__k,
- _S_key(__j._M_node))) ? end() : __j;
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- find(const _Key& __k) const
- {
- _Const_Link_type __x = _M_begin(); // Current node.
- _Const_Link_type __y = _M_end(); // Last node which is not less than __k.
-
- while (__x != 0)
- {
- if (!_M_impl._M_key_compare(_S_key(__x), __k))
- __y = __x, __x = _S_left(__x);
- else
- __x = _S_right(__x);
- }
- const_iterator __j = const_iterator(__y);
- return (__j == end()
- || _M_impl._M_key_compare(__k,
- _S_key(__j._M_node))) ? end() : __j;
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- count(const _Key& __k) const
- {
- pair<const_iterator, const_iterator> __p = equal_range(__k);
- const size_type __n = std::distance(__p.first, __p.second);
- return __n;
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- lower_bound(const _Key& __k)
- {
- _Link_type __x = _M_begin(); // Current node.
- _Link_type __y = _M_end(); // Last node which is not less than __k.
-
- while (__x != 0)
- if (!_M_impl._M_key_compare(_S_key(__x), __k))
- __y = __x, __x = _S_left(__x);
- else
- __x = _S_right(__x);
-
- return iterator(__y);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- lower_bound(const _Key& __k) const
- {
- _Const_Link_type __x = _M_begin(); // Current node.
- _Const_Link_type __y = _M_end(); // Last node which is not less than __k.
-
- while (__x != 0)
- if (!_M_impl._M_key_compare(_S_key(__x), __k))
- __y = __x, __x = _S_left(__x);
- else
- __x = _S_right(__x);
-
- return const_iterator(__y);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- upper_bound(const _Key& __k)
- {
- _Link_type __x = _M_begin(); // Current node.
- _Link_type __y = _M_end(); // Last node which is greater than __k.
-
- while (__x != 0)
- if (_M_impl._M_key_compare(__k, _S_key(__x)))
- __y = __x, __x = _S_left(__x);
- else
- __x = _S_right(__x);
-
- return iterator(__y);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- upper_bound(const _Key& __k) const
- {
- _Const_Link_type __x = _M_begin(); // Current node.
- _Const_Link_type __y = _M_end(); // Last node which is greater than __k.
-
- while (__x != 0)
- if (_M_impl._M_key_compare(__k, _S_key(__x)))
- __y = __x, __x = _S_left(__x);
- else
- __x = _S_right(__x);
-
- return const_iterator(__y);
- }
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- inline
- pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
- _Compare, _Alloc>::iterator,
- typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator>
- _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- equal_range(const _Key& __k)
- { return pair<iterator, iterator>(lower_bound(__k), upper_bound(__k)); }
-
- template<typename _Key, typename _Val, typename _KoV,
- typename _Compare, typename _Alloc>
- inline
- pair<typename _Rb_tree<_Key, _Val, _KoV,
- _Compare, _Alloc>::const_iterator,
- typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::const_iterator>
- _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
- equal_range(const _Key& __k) const
- { return pair<const_iterator, const_iterator>(lower_bound(__k),
- upper_bound(__k)); }
-
- unsigned int
- _Rb_tree_black_count(const _Rb_tree_node_base* __node,
- const _Rb_tree_node_base* __root);
-
- template<typename _Key, typename _Val, typename _KeyOfValue,
- typename _Compare, typename _Alloc>
- bool
- _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
- {
- if (_M_impl._M_node_count == 0 || begin() == end())
- return _M_impl._M_node_count == 0 && begin() == end()
- && this->_M_impl._M_header._M_left == _M_end()
- && this->_M_impl._M_header._M_right == _M_end();
-
- unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
- for (const_iterator __it = begin(); __it != end(); ++__it)
- {
- _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
- _Const_Link_type __L = _S_left(__x);
- _Const_Link_type __R = _S_right(__x);
-
- if (__x->_M_color == _S_red)
- if ((__L && __L->_M_color == _S_red)
- || (__R && __R->_M_color == _S_red))
- return false;
-
- if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
- return false;
- if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
- return false;
-
- if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len)
- return false;
- }
-
- if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
- return false;
- if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
- return false;
- return true;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/stl_uninitialized.h b/contrib/libstdc++/include/bits/stl_uninitialized.h
deleted file mode 100644
index 2c947f64bef2..000000000000
--- a/contrib/libstdc++/include/bits/stl_uninitialized.h
+++ /dev/null
@@ -1,392 +0,0 @@
-// Raw memory manipulators -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_uninitialized.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STL_UNINITIALIZED_H
-#define _STL_UNINITIALIZED_H 1
-
-#include <cstring>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // uninitialized_copy
- template<typename _InputIterator, typename _ForwardIterator>
- inline _ForwardIterator
- __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
- _ForwardIterator __result,
- __true_type)
- { return std::copy(__first, __last, __result); }
-
- template<typename _InputIterator, typename _ForwardIterator>
- inline _ForwardIterator
- __uninitialized_copy_aux(_InputIterator __first, _InputIterator __last,
- _ForwardIterator __result,
- __false_type)
- {
- _ForwardIterator __cur = __result;
- try
- {
- for (; __first != __last; ++__first, ++__cur)
- std::_Construct(&*__cur, *__first);
- return __cur;
- }
- catch(...)
- {
- std::_Destroy(__result, __cur);
- __throw_exception_again;
- }
- }
-
- /**
- * @brief Copies the range [first,last) into result.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @return result + (first - last)
- *
- * Like copy(), but does not require an initialized output range.
- */
- template<typename _InputIterator, typename _ForwardIterator>
- inline _ForwardIterator
- uninitialized_copy(_InputIterator __first, _InputIterator __last,
- _ForwardIterator __result)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
- typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
- return std::__uninitialized_copy_aux(__first, __last, __result,
- _Is_POD());
- }
-
- inline char*
- uninitialized_copy(const char* __first, const char* __last, char* __result)
- {
- std::memmove(__result, __first, __last - __first);
- return __result + (__last - __first);
- }
-
- inline wchar_t*
- uninitialized_copy(const wchar_t* __first, const wchar_t* __last,
- wchar_t* __result)
- {
- std::memmove(__result, __first, sizeof(wchar_t) * (__last - __first));
- return __result + (__last - __first);
- }
-
- // Valid if copy construction is equivalent to assignment, and if the
- // destructor is trivial.
- template<typename _ForwardIterator, typename _Tp>
- inline void
- __uninitialized_fill_aux(_ForwardIterator __first,
- _ForwardIterator __last,
- const _Tp& __x, __true_type)
- { std::fill(__first, __last, __x); }
-
- template<typename _ForwardIterator, typename _Tp>
- void
- __uninitialized_fill_aux(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __x, __false_type)
- {
- _ForwardIterator __cur = __first;
- try
- {
- for (; __cur != __last; ++__cur)
- std::_Construct(&*__cur, __x);
- }
- catch(...)
- {
- std::_Destroy(__first, __cur);
- __throw_exception_again;
- }
- }
-
- /**
- * @brief Copies the value x into the range [first,last).
- * @param first An input iterator.
- * @param last An input iterator.
- * @param x The source value.
- * @return Nothing.
- *
- * Like fill(), but does not require an initialized output range.
- */
- template<typename _ForwardIterator, typename _Tp>
- inline void
- uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __x)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
- typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
- std::__uninitialized_fill_aux(__first, __last, __x, _Is_POD());
- }
-
- // Valid if copy construction is equivalent to assignment, and if the
- // destructor is trivial.
- template<typename _ForwardIterator, typename _Size, typename _Tp>
- inline void
- __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
- const _Tp& __x, __true_type)
- { std::fill_n(__first, __n, __x); }
-
- template<typename _ForwardIterator, typename _Size, typename _Tp>
- void
- __uninitialized_fill_n_aux(_ForwardIterator __first, _Size __n,
- const _Tp& __x, __false_type)
- {
- _ForwardIterator __cur = __first;
- try
- {
- for (; __n > 0; --__n, ++__cur)
- std::_Construct(&*__cur, __x);
- }
- catch(...)
- {
- std::_Destroy(__first, __cur);
- __throw_exception_again;
- }
- }
-
- /**
- * @brief Copies the value x into the range [first,first+n).
- * @param first An input iterator.
- * @param n The number of copies to make.
- * @param x The source value.
- * @return Nothing.
- *
- * Like fill_n(), but does not require an initialized output range.
- */
- template<typename _ForwardIterator, typename _Size, typename _Tp>
- inline void
- uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
- {
- typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType;
- typedef typename std::__is_scalar<_ValueType>::__type _Is_POD;
- std::__uninitialized_fill_n_aux(__first, __n, __x, _Is_POD());
- }
-
- // Extensions: versions of uninitialized_copy, uninitialized_fill,
- // and uninitialized_fill_n that take an allocator parameter.
- // We dispatch back to the standard versions when we're given the
- // default allocator. For nondefault allocators we do not use
- // any of the POD optimizations.
-
- template<typename _InputIterator, typename _ForwardIterator,
- typename _Allocator>
- _ForwardIterator
- __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
- _ForwardIterator __result,
- _Allocator __alloc)
- {
- _ForwardIterator __cur = __result;
- try
- {
- for (; __first != __last; ++__first, ++__cur)
- __alloc.construct(&*__cur, *__first);
- return __cur;
- }
- catch(...)
- {
- std::_Destroy(__result, __cur, __alloc);
- __throw_exception_again;
- }
- }
-
- template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
- inline _ForwardIterator
- __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
- _ForwardIterator __result,
- allocator<_Tp>)
- { return std::uninitialized_copy(__first, __last, __result); }
-
- template<typename _ForwardIterator, typename _Tp, typename _Allocator>
- void
- __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __x, _Allocator __alloc)
- {
- _ForwardIterator __cur = __first;
- try
- {
- for (; __cur != __last; ++__cur)
- __alloc.construct(&*__cur, __x);
- }
- catch(...)
- {
- std::_Destroy(__first, __cur, __alloc);
- __throw_exception_again;
- }
- }
-
- template<typename _ForwardIterator, typename _Tp, typename _Tp2>
- inline void
- __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __x, allocator<_Tp2>)
- { std::uninitialized_fill(__first, __last, __x); }
-
- template<typename _ForwardIterator, typename _Size, typename _Tp,
- typename _Allocator>
- void
- __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
- const _Tp& __x,
- _Allocator __alloc)
- {
- _ForwardIterator __cur = __first;
- try
- {
- for (; __n > 0; --__n, ++__cur)
- __alloc.construct(&*__cur, __x);
- }
- catch(...)
- {
- std::_Destroy(__first, __cur, __alloc);
- __throw_exception_again;
- }
- }
-
- template<typename _ForwardIterator, typename _Size, typename _Tp,
- typename _Tp2>
- inline void
- __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
- const _Tp& __x,
- allocator<_Tp2>)
- { std::uninitialized_fill_n(__first, __n, __x); }
-
-
- // Extensions: __uninitialized_copy_copy, __uninitialized_copy_fill,
- // __uninitialized_fill_copy. All of these algorithms take a user-
- // supplied allocator, which is used for construction and destruction.
-
- // __uninitialized_copy_copy
- // Copies [first1, last1) into [result, result + (last1 - first1)), and
- // copies [first2, last2) into
- // [result, result + (last1 - first1) + (last2 - first2)).
-
- template<typename _InputIterator1, typename _InputIterator2,
- typename _ForwardIterator, typename _Allocator>
- inline _ForwardIterator
- __uninitialized_copy_copy(_InputIterator1 __first1,
- _InputIterator1 __last1,
- _InputIterator2 __first2,
- _InputIterator2 __last2,
- _ForwardIterator __result,
- _Allocator __alloc)
- {
- _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
- __result,
- __alloc);
- try
- {
- return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
- }
- catch(...)
- {
- std::_Destroy(__result, __mid, __alloc);
- __throw_exception_again;
- }
- }
-
- // __uninitialized_fill_copy
- // Fills [result, mid) with x, and copies [first, last) into
- // [mid, mid + (last - first)).
- template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
- typename _Allocator>
- inline _ForwardIterator
- __uninitialized_fill_copy(_ForwardIterator __result, _ForwardIterator __mid,
- const _Tp& __x, _InputIterator __first,
- _InputIterator __last,
- _Allocator __alloc)
- {
- std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
- try
- {
- return std::__uninitialized_copy_a(__first, __last, __mid, __alloc);
- }
- catch(...)
- {
- std::_Destroy(__result, __mid, __alloc);
- __throw_exception_again;
- }
- }
-
- // __uninitialized_copy_fill
- // Copies [first1, last1) into [first2, first2 + (last1 - first1)), and
- // fills [first2 + (last1 - first1), last2) with x.
- template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
- typename _Allocator>
- inline void
- __uninitialized_copy_fill(_InputIterator __first1, _InputIterator __last1,
- _ForwardIterator __first2,
- _ForwardIterator __last2, const _Tp& __x,
- _Allocator __alloc)
- {
- _ForwardIterator __mid2 = std::__uninitialized_copy_a(__first1, __last1,
- __first2,
- __alloc);
- try
- {
- std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
- }
- catch(...)
- {
- std::_Destroy(__first2, __mid2, __alloc);
- __throw_exception_again;
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _STL_UNINITIALIZED_H */
diff --git a/contrib/libstdc++/include/bits/stl_vector.h b/contrib/libstdc++/include/bits/stl_vector.h
deleted file mode 100644
index 60e352cad74b..000000000000
--- a/contrib/libstdc++/include/bits/stl_vector.h
+++ /dev/null
@@ -1,1006 +0,0 @@
-// Vector implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file stl_vector.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _VECTOR_H
-#define _VECTOR_H 1
-
-#include <bits/stl_iterator_base_funcs.h>
-#include <bits/functexcept.h>
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @if maint
- * See bits/stl_deque.h's _Deque_base for an explanation.
- * @endif
- */
- template<typename _Tp, typename _Alloc>
- struct _Vector_base
- {
- typedef typename _Alloc::template rebind<_Tp>::other _Tp_alloc_type;
-
- struct _Vector_impl
- : public _Tp_alloc_type
- {
- _Tp* _M_start;
- _Tp* _M_finish;
- _Tp* _M_end_of_storage;
-
- _Vector_impl()
- : _Tp_alloc_type(), _M_start(0), _M_finish(0), _M_end_of_storage(0)
- { }
-
- _Vector_impl(_Tp_alloc_type const& __a)
- : _Tp_alloc_type(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0)
- { }
- };
-
- public:
- typedef _Alloc allocator_type;
-
- _Tp_alloc_type&
- _M_get_Tp_allocator()
- { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); }
-
- const _Tp_alloc_type&
- _M_get_Tp_allocator() const
- { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); }
-
- allocator_type
- get_allocator() const
- { return allocator_type(_M_get_Tp_allocator()); }
-
- _Vector_base()
- : _M_impl() { }
-
- _Vector_base(const allocator_type& __a)
- : _M_impl(__a)
- { }
-
- _Vector_base(size_t __n, const allocator_type& __a)
- : _M_impl(__a)
- {
- if (__n)
- {
- this->_M_impl._M_start = this->_M_allocate(__n);
- this->_M_impl._M_finish = this->_M_impl._M_start;
- this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
- }
- }
-
- ~_Vector_base()
- { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start); }
-
- public:
- _Vector_impl _M_impl;
-
- _Tp*
- _M_allocate(size_t __n)
- { return _M_impl.allocate(__n); }
-
- void
- _M_deallocate(_Tp* __p, size_t __n)
- {
- if (__p)
- _M_impl.deallocate(__p, __n);
- }
- };
-
-
- /**
- * @brief A standard container which offers fixed time access to
- * individual elements in any order.
- *
- * @ingroup Containers
- * @ingroup Sequences
- *
- * Meets the requirements of a <a href="tables.html#65">container</a>, a
- * <a href="tables.html#66">reversible container</a>, and a
- * <a href="tables.html#67">sequence</a>, including the
- * <a href="tables.html#68">optional sequence requirements</a> with the
- * %exception of @c push_front and @c pop_front.
- *
- * In some terminology a %vector can be described as a dynamic
- * C-style array, it offers fast and efficient access to individual
- * elements in any order and saves the user from worrying about
- * memory and size allocation. Subscripting ( @c [] ) access is
- * also provided as with C-style arrays.
- */
- template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
- class vector : protected _Vector_base<_Tp, _Alloc>
- {
- // Concept requirements.
- typedef typename _Alloc::value_type _Alloc_value_type;
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires2(_Tp, _Alloc_value_type, _SameTypeConcept)
-
- typedef _Vector_base<_Tp, _Alloc> _Base;
- typedef vector<_Tp, _Alloc> vector_type;
- typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
-
- public:
- typedef _Tp value_type;
- typedef typename _Tp_alloc_type::pointer pointer;
- typedef typename _Tp_alloc_type::const_pointer const_pointer;
- typedef typename _Tp_alloc_type::reference reference;
- typedef typename _Tp_alloc_type::const_reference const_reference;
- typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator;
- typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type>
- const_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Alloc allocator_type;
-
- protected:
- using _Base::_M_allocate;
- using _Base::_M_deallocate;
- using _Base::_M_impl;
- using _Base::_M_get_Tp_allocator;
-
- public:
- // [23.2.4.1] construct/copy/destroy
- // (assign() and get_allocator() are also listed in this section)
- /**
- * @brief Default constructor creates no elements.
- */
- vector()
- : _Base() { }
-
- explicit
- vector(const allocator_type& __a)
- : _Base(__a)
- { }
-
- /**
- * @brief Create a %vector with copies of an exemplar element.
- * @param n The number of elements to initially create.
- * @param value An element to copy.
- *
- * This constructor fills the %vector with @a n copies of @a value.
- */
- explicit
- vector(size_type __n, const value_type& __value = value_type(),
- const allocator_type& __a = allocator_type())
- : _Base(__n, __a)
- {
- std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = this->_M_impl._M_start + __n;
- }
-
- /**
- * @brief %Vector copy constructor.
- * @param x A %vector of identical element and allocator types.
- *
- * The newly-created %vector uses a copy of the allocation
- * object used by @a x. All the elements of @a x are copied,
- * but any extra memory in
- * @a x (for fast expansion) will not be copied.
- */
- vector(const vector& __x)
- : _Base(__x.size(), __x._M_get_Tp_allocator())
- { this->_M_impl._M_finish =
- std::__uninitialized_copy_a(__x.begin(), __x.end(),
- this->_M_impl._M_start,
- _M_get_Tp_allocator());
- }
-
- /**
- * @brief Builds a %vector from a range.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * Create a %vector consisting of copies of the elements from
- * [first,last).
- *
- * If the iterators are forward, bidirectional, or
- * random-access, then this will call the elements' copy
- * constructor N times (where N is distance(first,last)) and do
- * no memory reallocation. But if only input iterators are
- * used, then this will do at most 2N calls to the copy
- * constructor, and logN memory reallocations.
- */
- template<typename _InputIterator>
- vector(_InputIterator __first, _InputIterator __last,
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- {
- // Check whether it's an integral type. If so, it's not an iterator.
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_initialize_dispatch(__first, __last, _Integral());
- }
-
- /**
- * The dtor only erases the elements, and note that if the
- * elements themselves are pointers, the pointed-to memory is
- * not touched in any way. Managing the pointer is the user's
- * responsibilty.
- */
- ~vector()
- { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
- _M_get_Tp_allocator()); }
-
- /**
- * @brief %Vector assignment operator.
- * @param x A %vector of identical element and allocator types.
- *
- * All the elements of @a x are copied, but any extra memory in
- * @a x (for fast expansion) will not be copied. Unlike the
- * copy constructor, the allocator object is not copied.
- */
- vector&
- operator=(const vector& __x);
-
- /**
- * @brief Assigns a given value to a %vector.
- * @param n Number of elements to be assigned.
- * @param val Value to be assigned.
- *
- * This function fills a %vector with @a n copies of the given
- * value. Note that the assignment completely changes the
- * %vector and that the resulting %vector's size is the same as
- * the number of elements assigned. Old data may be lost.
- */
- void
- assign(size_type __n, const value_type& __val)
- { _M_fill_assign(__n, __val); }
-
- /**
- * @brief Assigns a range to a %vector.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * This function fills a %vector with copies of the elements in the
- * range [first,last).
- *
- * Note that the assignment completely changes the %vector and
- * that the resulting %vector's size is the same as the number
- * of elements assigned. Old data may be lost.
- */
- template<typename _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- // Check whether it's an integral type. If so, it's not an iterator.
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_assign_dispatch(__first, __last, _Integral());
- }
-
- /// Get a copy of the memory allocation object.
- using _Base::get_allocator;
-
- // iterators
- /**
- * Returns a read/write iterator that points to the first
- * element in the %vector. Iteration is done in ordinary
- * element order.
- */
- iterator
- begin()
- { return iterator(this->_M_impl._M_start); }
-
- /**
- * Returns a read-only (constant) iterator that points to the
- * first element in the %vector. Iteration is done in ordinary
- * element order.
- */
- const_iterator
- begin() const
- { return const_iterator(this->_M_impl._M_start); }
-
- /**
- * Returns a read/write iterator that points one past the last
- * element in the %vector. Iteration is done in ordinary
- * element order.
- */
- iterator
- end()
- { return iterator(this->_M_impl._M_finish); }
-
- /**
- * Returns a read-only (constant) iterator that points one past
- * the last element in the %vector. Iteration is done in
- * ordinary element order.
- */
- const_iterator
- end() const
- { return const_iterator(this->_M_impl._M_finish); }
-
- /**
- * Returns a read/write reverse iterator that points to the
- * last element in the %vector. Iteration is done in reverse
- * element order.
- */
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to the last element in the %vector. Iteration is done in
- * reverse element order.
- */
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- /**
- * Returns a read/write reverse iterator that points to one
- * before the first element in the %vector. Iteration is done
- * in reverse element order.
- */
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to one before the first element in the %vector. Iteration
- * is done in reverse element order.
- */
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // [23.2.4.2] capacity
- /** Returns the number of elements in the %vector. */
- size_type
- size() const
- { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
-
- /** Returns the size() of the largest possible %vector. */
- size_type
- max_size() const
- { return _M_get_Tp_allocator().max_size(); }
-
- /**
- * @brief Resizes the %vector to the specified number of elements.
- * @param new_size Number of elements the %vector should contain.
- * @param x Data with which new elements should be populated.
- *
- * This function will %resize the %vector to the specified
- * number of elements. If the number is smaller than the
- * %vector's current size the %vector is truncated, otherwise
- * the %vector is extended and new elements are populated with
- * given data.
- */
- void
- resize(size_type __new_size, value_type __x = value_type())
- {
- if (__new_size < size())
- _M_erase_at_end(this->_M_impl._M_start + __new_size);
- else
- insert(end(), __new_size - size(), __x);
- }
-
- /**
- * Returns the total number of elements that the %vector can
- * hold before needing to allocate more memory.
- */
- size_type
- capacity() const
- { return size_type(this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start); }
-
- /**
- * Returns true if the %vector is empty. (Thus begin() would
- * equal end().)
- */
- bool
- empty() const
- { return begin() == end(); }
-
- /**
- * @brief Attempt to preallocate enough memory for specified number of
- * elements.
- * @param n Number of elements required.
- * @throw std::length_error If @a n exceeds @c max_size().
- *
- * This function attempts to reserve enough memory for the
- * %vector to hold the specified number of elements. If the
- * number requested is more than max_size(), length_error is
- * thrown.
- *
- * The advantage of this function is that if optimal code is a
- * necessity and the user can determine the number of elements
- * that will be required, the user can reserve the memory in
- * %advance, and thus prevent a possible reallocation of memory
- * and copying of %vector data.
- */
- void
- reserve(size_type __n);
-
- // element access
- /**
- * @brief Subscript access to the data contained in the %vector.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read/write reference to data.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().)
- */
- reference
- operator[](size_type __n)
- { return *(this->_M_impl._M_start + __n); }
-
- /**
- * @brief Subscript access to the data contained in the %vector.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read-only (constant) reference to data.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().)
- */
- const_reference
- operator[](size_type __n) const
- { return *(this->_M_impl._M_start + __n); }
-
- protected:
- /// @if maint Safety check used only from at(). @endif
- void
- _M_range_check(size_type __n) const
- {
- if (__n >= this->size())
- __throw_out_of_range(__N("vector::_M_range_check"));
- }
-
- public:
- /**
- * @brief Provides access to the data contained in the %vector.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read/write reference to data.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter
- * is first checked that it is in the range of the vector. The
- * function throws out_of_range if the check fails.
- */
- reference
- at(size_type __n)
- {
- _M_range_check(__n);
- return (*this)[__n];
- }
-
- /**
- * @brief Provides access to the data contained in the %vector.
- * @param n The index of the element for which data should be
- * accessed.
- * @return Read-only (constant) reference to data.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter
- * is first checked that it is in the range of the vector. The
- * function throws out_of_range if the check fails.
- */
- const_reference
- at(size_type __n) const
- {
- _M_range_check(__n);
- return (*this)[__n];
- }
-
- /**
- * Returns a read/write reference to the data at the first
- * element of the %vector.
- */
- reference
- front()
- { return *begin(); }
-
- /**
- * Returns a read-only (constant) reference to the data at the first
- * element of the %vector.
- */
- const_reference
- front() const
- { return *begin(); }
-
- /**
- * Returns a read/write reference to the data at the last
- * element of the %vector.
- */
- reference
- back()
- { return *(end() - 1); }
-
- /**
- * Returns a read-only (constant) reference to the data at the
- * last element of the %vector.
- */
- const_reference
- back() const
- { return *(end() - 1); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 464. Suggestion for new member functions in standard containers.
- // data access
- /**
- * Returns a pointer such that [data(), data() + size()) is a valid
- * range. For a non-empty %vector, data() == &front().
- */
- pointer
- data()
- { return pointer(this->_M_impl._M_start); }
-
- const_pointer
- data() const
- { return const_pointer(this->_M_impl._M_start); }
-
- // [23.2.4.3] modifiers
- /**
- * @brief Add data to the end of the %vector.
- * @param x Data to be added.
- *
- * This is a typical stack operation. The function creates an
- * element at the end of the %vector and assigns the given data
- * to it. Due to the nature of a %vector this operation can be
- * done in constant time if the %vector has preallocated space
- * available.
- */
- void
- push_back(const value_type& __x)
- {
- if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
- {
- this->_M_impl.construct(this->_M_impl._M_finish, __x);
- ++this->_M_impl._M_finish;
- }
- else
- _M_insert_aux(end(), __x);
- }
-
- /**
- * @brief Removes last element.
- *
- * This is a typical stack operation. It shrinks the %vector by one.
- *
- * Note that no data is returned, and if the last element's
- * data is needed, it should be retrieved before pop_back() is
- * called.
- */
- void
- pop_back()
- {
- --this->_M_impl._M_finish;
- this->_M_impl.destroy(this->_M_impl._M_finish);
- }
-
- /**
- * @brief Inserts given value into %vector before specified iterator.
- * @param position An iterator into the %vector.
- * @param x Data to be inserted.
- * @return An iterator that points to the inserted data.
- *
- * This function will insert a copy of the given value before
- * the specified location. Note that this kind of operation
- * could be expensive for a %vector and if it is frequently
- * used the user should consider using std::list.
- */
- iterator
- insert(iterator __position, const value_type& __x);
-
- /**
- * @brief Inserts a number of copies of given data into the %vector.
- * @param position An iterator into the %vector.
- * @param n Number of elements to be inserted.
- * @param x Data to be inserted.
- *
- * This function will insert a specified number of copies of
- * the given data before the location specified by @a position.
- *
- * Note that this kind of operation could be expensive for a
- * %vector and if it is frequently used the user should
- * consider using std::list.
- */
- void
- insert(iterator __position, size_type __n, const value_type& __x)
- { _M_fill_insert(__position, __n, __x); }
-
- /**
- * @brief Inserts a range into the %vector.
- * @param position An iterator into the %vector.
- * @param first An input iterator.
- * @param last An input iterator.
- *
- * This function will insert copies of the data in the range
- * [first,last) into the %vector before the location specified
- * by @a pos.
- *
- * Note that this kind of operation could be expensive for a
- * %vector and if it is frequently used the user should
- * consider using std::list.
- */
- template<typename _InputIterator>
- void
- insert(iterator __position, _InputIterator __first,
- _InputIterator __last)
- {
- // Check whether it's an integral type. If so, it's not an iterator.
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_insert_dispatch(__position, __first, __last, _Integral());
- }
-
- /**
- * @brief Remove element at given position.
- * @param position Iterator pointing to element to be erased.
- * @return An iterator pointing to the next element (or end()).
- *
- * This function will erase the element at the given position and thus
- * shorten the %vector by one.
- *
- * Note This operation could be expensive and if it is
- * frequently used the user should consider using std::list.
- * The user is also cautioned that this function only erases
- * the element, and that if the element is itself a pointer,
- * the pointed-to memory is not touched in any way. Managing
- * the pointer is the user's responsibilty.
- */
- iterator
- erase(iterator __position);
-
- /**
- * @brief Remove a range of elements.
- * @param first Iterator pointing to the first element to be erased.
- * @param last Iterator pointing to one past the last element to be
- * erased.
- * @return An iterator pointing to the element pointed to by @a last
- * prior to erasing (or end()).
- *
- * This function will erase the elements in the range [first,last) and
- * shorten the %vector accordingly.
- *
- * Note This operation could be expensive and if it is
- * frequently used the user should consider using std::list.
- * The user is also cautioned that this function only erases
- * the elements, and that if the elements themselves are
- * pointers, the pointed-to memory is not touched in any way.
- * Managing the pointer is the user's responsibilty.
- */
- iterator
- erase(iterator __first, iterator __last);
-
- /**
- * @brief Swaps data with another %vector.
- * @param x A %vector of the same element and allocator types.
- *
- * This exchanges the elements between two vectors in constant time.
- * (Three pointers, so it should be quite fast.)
- * Note that the global std::swap() function is specialized such that
- * std::swap(v1,v2) will feed to this function.
- */
- void
- swap(vector& __x)
- {
- std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
- std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
- std::swap(this->_M_impl._M_end_of_storage,
- __x._M_impl._M_end_of_storage);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<_Tp_alloc_type>::_S_do_it(_M_get_Tp_allocator(),
- __x._M_get_Tp_allocator());
- }
-
- /**
- * Erases all the elements. Note that this function only erases the
- * elements, and that if the elements themselves are pointers, the
- * pointed-to memory is not touched in any way. Managing the pointer is
- * the user's responsibilty.
- */
- void
- clear()
- { _M_erase_at_end(this->_M_impl._M_start); }
-
- protected:
- /**
- * @if maint
- * Memory expansion handler. Uses the member allocation function to
- * obtain @a n bytes of memory, and then copies [first,last) into it.
- * @endif
- */
- template<typename _ForwardIterator>
- pointer
- _M_allocate_and_copy(size_type __n,
- _ForwardIterator __first, _ForwardIterator __last)
- {
- pointer __result = this->_M_allocate(__n);
- try
- {
- std::__uninitialized_copy_a(__first, __last, __result,
- _M_get_Tp_allocator());
- return __result;
- }
- catch(...)
- {
- _M_deallocate(__result, __n);
- __throw_exception_again;
- }
- }
-
-
- // Internal constructor functions follow.
-
- // Called by the range constructor to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type)
- {
- this->_M_impl._M_start = _M_allocate(__n);
- this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
- std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish = this->_M_impl._M_end_of_storage;
- }
-
- // Called by the range constructor to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type)
- {
- typedef typename std::iterator_traits<_InputIterator>::
- iterator_category _IterCategory;
- _M_range_initialize(__first, __last, _IterCategory());
- }
-
- // Called by the second initialize_dispatch above
- template<typename _InputIterator>
- void
- _M_range_initialize(_InputIterator __first,
- _InputIterator __last, std::input_iterator_tag)
- {
- for (; __first != __last; ++__first)
- push_back(*__first);
- }
-
- // Called by the second initialize_dispatch above
- template<typename _ForwardIterator>
- void
- _M_range_initialize(_ForwardIterator __first,
- _ForwardIterator __last, std::forward_iterator_tag)
- {
- const size_type __n = std::distance(__first, __last);
- this->_M_impl._M_start = this->_M_allocate(__n);
- this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
- this->_M_impl._M_finish =
- std::__uninitialized_copy_a(__first, __last,
- this->_M_impl._M_start,
- _M_get_Tp_allocator());
- }
-
-
- // Internal assign functions follow. The *_aux functions do the actual
- // assignment work for the range versions.
-
- // Called by the range assign to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
- {
- _M_fill_assign(static_cast<size_type>(__n),
- static_cast<value_type>(__val));
- }
-
- // Called by the range assign to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type)
- {
- typedef typename std::iterator_traits<_InputIterator>::
- iterator_category _IterCategory;
- _M_assign_aux(__first, __last, _IterCategory());
- }
-
- // Called by the second assign_dispatch above
- template<typename _InputIterator>
- void
- _M_assign_aux(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag);
-
- // Called by the second assign_dispatch above
- template<typename _ForwardIterator>
- void
- _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag);
-
- // Called by assign(n,t), and the range assign when it turns out
- // to be the same thing.
- void
- _M_fill_assign(size_type __n, const value_type& __val);
-
-
- // Internal insert functions follow.
-
- // Called by the range insert to implement [23.1.1]/9
- template<typename _Integer>
- void
- _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
- __true_type)
- {
- _M_fill_insert(__pos, static_cast<size_type>(__n),
- static_cast<value_type>(__val));
- }
-
- // Called by the range insert to implement [23.1.1]/9
- template<typename _InputIterator>
- void
- _M_insert_dispatch(iterator __pos, _InputIterator __first,
- _InputIterator __last, __false_type)
- {
- typedef typename std::iterator_traits<_InputIterator>::
- iterator_category _IterCategory;
- _M_range_insert(__pos, __first, __last, _IterCategory());
- }
-
- // Called by the second insert_dispatch above
- template<typename _InputIterator>
- void
- _M_range_insert(iterator __pos, _InputIterator __first,
- _InputIterator __last, std::input_iterator_tag);
-
- // Called by the second insert_dispatch above
- template<typename _ForwardIterator>
- void
- _M_range_insert(iterator __pos, _ForwardIterator __first,
- _ForwardIterator __last, std::forward_iterator_tag);
-
- // Called by insert(p,n,x), and the range insert when it turns out to be
- // the same thing.
- void
- _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
-
- // Called by insert(p,x)
- void
- _M_insert_aux(iterator __position, const value_type& __x);
-
- // Internal erase functions follow.
-
- // Called by erase(q1,q2), clear(), resize(), _M_fill_assign,
- // _M_assign_aux.
- void
- _M_erase_at_end(pointer __pos)
- {
- std::_Destroy(__pos, this->_M_impl._M_finish, _M_get_Tp_allocator());
- this->_M_impl._M_finish = __pos;
- }
- };
-
-
- /**
- * @brief Vector equality comparison.
- * @param x A %vector.
- * @param y A %vector of the same type as @a x.
- * @return True iff the size and elements of the vectors are equal.
- *
- * This is an equivalence relation. It is linear in the size of the
- * vectors. Vectors are considered equivalent if their sizes are equal,
- * and if corresponding elements compare equal.
- */
- template<typename _Tp, typename _Alloc>
- inline bool
- operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
- { return (__x.size() == __y.size()
- && std::equal(__x.begin(), __x.end(), __y.begin())); }
-
- /**
- * @brief Vector ordering relation.
- * @param x A %vector.
- * @param y A %vector of the same type as @a x.
- * @return True iff @a x is lexicographically less than @a y.
- *
- * This is a total ordering relation. It is linear in the size of the
- * vectors. The elements must be comparable with @c <.
- *
- * See std::lexicographical_compare() for how the determination is made.
- */
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
- { return std::lexicographical_compare(__x.begin(), __x.end(),
- __y.begin(), __y.end()); }
-
- /// Based on operator==
- template<typename _Tp, typename _Alloc>
- inline bool
- operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
- { return !(__x == __y); }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
- { return __y < __x; }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
- { return !(__y < __x); }
-
- /// Based on operator<
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
- { return !(__x < __y); }
-
- /// See std::vector::swap().
- template<typename _Tp, typename _Alloc>
- inline void
- swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _VECTOR_H */
diff --git a/contrib/libstdc++/include/bits/stream_iterator.h b/contrib/libstdc++/include/bits/stream_iterator.h
deleted file mode 100644
index ce3e675bc6a5..000000000000
--- a/contrib/libstdc++/include/bits/stream_iterator.h
+++ /dev/null
@@ -1,216 +0,0 @@
-// Stream iterators
-
-// Copyright (C) 2001, 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 stream_iterator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STREAM_ITERATOR_H
-#define _STREAM_ITERATOR_H 1
-
-#pragma GCC system_header
-
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// Provides input iterator semantics for streams.
- template<typename _Tp, typename _CharT = char,
- typename _Traits = char_traits<_CharT>, typename _Dist = ptrdiff_t>
- class istream_iterator
- : public iterator<input_iterator_tag, _Tp, _Dist, const _Tp*, const _Tp&>
- {
- public:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef basic_istream<_CharT, _Traits> istream_type;
-
- private:
- istream_type* _M_stream;
- _Tp _M_value;
- bool _M_ok;
-
- public:
- /// Construct end of input stream iterator.
- istream_iterator()
- : _M_stream(0), _M_value(), _M_ok(false) {}
-
- /// Construct start of input stream iterator.
- istream_iterator(istream_type& __s)
- : _M_stream(&__s)
- { _M_read(); }
-
- istream_iterator(const istream_iterator& __obj)
- : _M_stream(__obj._M_stream), _M_value(__obj._M_value),
- _M_ok(__obj._M_ok)
- { }
-
- const _Tp&
- operator*() const
- {
- __glibcxx_requires_cond(_M_ok,
- _M_message(__gnu_debug::__msg_deref_istream)
- ._M_iterator(*this));
- return _M_value;
- }
-
- const _Tp*
- operator->() const { return &(operator*()); }
-
- istream_iterator&
- operator++()
- {
- __glibcxx_requires_cond(_M_ok,
- _M_message(__gnu_debug::__msg_inc_istream)
- ._M_iterator(*this));
- _M_read();
- return *this;
- }
-
- istream_iterator
- operator++(int)
- {
- __glibcxx_requires_cond(_M_ok,
- _M_message(__gnu_debug::__msg_inc_istream)
- ._M_iterator(*this));
- istream_iterator __tmp = *this;
- _M_read();
- return __tmp;
- }
-
- bool
- _M_equal(const istream_iterator& __x) const
- { return (_M_ok == __x._M_ok) && (!_M_ok || _M_stream == __x._M_stream); }
-
- private:
- void
- _M_read()
- {
- _M_ok = (_M_stream && *_M_stream) ? true : false;
- if (_M_ok)
- {
- *_M_stream >> _M_value;
- _M_ok = *_M_stream ? true : false;
- }
- }
- };
-
- /// Return true if x and y are both end or not end, or x and y are the same.
- template<typename _Tp, typename _CharT, typename _Traits, typename _Dist>
- inline bool
- operator==(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
- const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y)
- { return __x._M_equal(__y); }
-
- /// Return false if x and y are both end or not end, or x and y are the same.
- template <class _Tp, class _CharT, class _Traits, class _Dist>
- inline bool
- operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
- const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __y)
- { return !__x._M_equal(__y); }
-
- /**
- * @brief Provides output iterator semantics for streams.
- *
- * This class provides an iterator to write to an ostream. The type Tp is
- * the only type written by this iterator and there must be an
- * operator<<(Tp) defined.
- *
- * @param Tp The type to write to the ostream.
- * @param CharT The ostream char_type.
- * @param Traits The ostream char_traits.
- */
- template<typename _Tp, typename _CharT = char,
- typename _Traits = char_traits<_CharT> >
- class ostream_iterator
- : public iterator<output_iterator_tag, void, void, void, void>
- {
- public:
- //@{
- /// Public typedef
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef basic_ostream<_CharT, _Traits> ostream_type;
- //@}
-
- private:
- ostream_type* _M_stream;
- const _CharT* _M_string;
-
- public:
- /// Construct from an ostream.
- ostream_iterator(ostream_type& __s) : _M_stream(&__s), _M_string(0) {}
-
- /**
- * Construct from an ostream.
- *
- * The delimiter string @a c is written to the stream after every Tp
- * written to the stream. The delimiter is not copied, and thus must
- * not be destroyed while this iterator is in use.
- *
- * @param s Underlying ostream to write to.
- * @param c CharT delimiter string to insert.
- */
- ostream_iterator(ostream_type& __s, const _CharT* __c)
- : _M_stream(&__s), _M_string(__c) { }
-
- /// Copy constructor.
- ostream_iterator(const ostream_iterator& __obj)
- : _M_stream(__obj._M_stream), _M_string(__obj._M_string) { }
-
- /// Writes @a value to underlying ostream using operator<<. If
- /// constructed with delimiter string, writes delimiter to ostream.
- ostream_iterator&
- operator=(const _Tp& __value)
- {
- __glibcxx_requires_cond(_M_stream != 0,
- _M_message(__gnu_debug::__msg_output_ostream)
- ._M_iterator(*this));
- *_M_stream << __value;
- if (_M_string) *_M_stream << _M_string;
- return *this;
- }
-
- ostream_iterator&
- operator*()
- { return *this; }
-
- ostream_iterator&
- operator++()
- { return *this; }
-
- ostream_iterator&
- operator++(int)
- { return *this; }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/streambuf.tcc b/contrib/libstdc++/include/bits/streambuf.tcc
deleted file mode 100644
index c4b860549a75..000000000000
--- a/contrib/libstdc++/include/bits/streambuf.tcc
+++ /dev/null
@@ -1,179 +0,0 @@
-// Stream buffer classes -*- C++ -*-
-
-// 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 streambuf.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 27.5 Stream buffers
-//
-
-#ifndef _STREAMBUF_TCC
-#define _STREAMBUF_TCC 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits>
- streamsize
- basic_streambuf<_CharT, _Traits>::
- xsgetn(char_type* __s, streamsize __n)
- {
- streamsize __ret = 0;
- while (__ret < __n)
- {
- const streamsize __buf_len = this->egptr() - this->gptr();
- if (__buf_len)
- {
- const streamsize __remaining = __n - __ret;
- const streamsize __len = std::min(__buf_len, __remaining);
- traits_type::copy(__s, this->gptr(), __len);
- __ret += __len;
- __s += __len;
- this->gbump(__len);
- }
-
- if (__ret < __n)
- {
- const int_type __c = this->uflow();
- if (!traits_type::eq_int_type(__c, traits_type::eof()))
- {
- traits_type::assign(*__s++, traits_type::to_char_type(__c));
- ++__ret;
- }
- else
- break;
- }
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- streamsize
- basic_streambuf<_CharT, _Traits>::
- xsputn(const char_type* __s, streamsize __n)
- {
- streamsize __ret = 0;
- while (__ret < __n)
- {
- const streamsize __buf_len = this->epptr() - this->pptr();
- if (__buf_len)
- {
- const streamsize __remaining = __n - __ret;
- const streamsize __len = std::min(__buf_len, __remaining);
- traits_type::copy(this->pptr(), __s, __len);
- __ret += __len;
- __s += __len;
- this->pbump(__len);
- }
-
- if (__ret < __n)
- {
- int_type __c = this->overflow(traits_type::to_int_type(*__s));
- if (!traits_type::eq_int_type(__c, traits_type::eof()))
- {
- ++__ret;
- ++__s;
- }
- else
- break;
- }
- }
- return __ret;
- }
-
- // Conceivably, this could be used to implement buffer-to-buffer
- // copies, if this was ever desired in an un-ambiguous way by the
- // standard.
- template<typename _CharT, typename _Traits>
- streamsize
- __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
- basic_streambuf<_CharT, _Traits>* __sbout,
- bool& __ineof)
- {
- streamsize __ret = 0;
- __ineof = true;
- typename _Traits::int_type __c = __sbin->sgetc();
- while (!_Traits::eq_int_type(__c, _Traits::eof()))
- {
- __c = __sbout->sputc(_Traits::to_char_type(__c));
- if (_Traits::eq_int_type(__c, _Traits::eof()))
- {
- __ineof = false;
- break;
- }
- ++__ret;
- __c = __sbin->snextc();
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits>
- inline streamsize
- __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
- basic_streambuf<_CharT, _Traits>* __sbout)
- {
- bool __ineof;
- return __copy_streambufs_eof(__sbin, __sbout, __ineof);
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class basic_streambuf<char>;
- extern template
- streamsize
- __copy_streambufs(basic_streambuf<char>*,
- basic_streambuf<char>*);
- extern template
- streamsize
- __copy_streambufs_eof(basic_streambuf<char>*,
- basic_streambuf<char>*, bool&);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class basic_streambuf<wchar_t>;
- extern template
- streamsize
- __copy_streambufs(basic_streambuf<wchar_t>*,
- basic_streambuf<wchar_t>*);
- extern template
- streamsize
- __copy_streambufs_eof(basic_streambuf<wchar_t>*,
- basic_streambuf<wchar_t>*, bool&);
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/streambuf_iterator.h b/contrib/libstdc++/include/bits/streambuf_iterator.h
deleted file mode 100644
index c743bb311ba6..000000000000
--- a/contrib/libstdc++/include/bits/streambuf_iterator.h
+++ /dev/null
@@ -1,400 +0,0 @@
-// Streambuf iterators
-
-// 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 streambuf_iterator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _STREAMBUF_ITERATOR_H
-#define _STREAMBUF_ITERATOR_H 1
-
-#pragma GCC system_header
-
-#include <streambuf>
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // 24.5.3 Template class istreambuf_iterator
- /// Provides input iterator semantics for streambufs.
- template<typename _CharT, typename _Traits>
- class istreambuf_iterator
- : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
- _CharT*, _CharT&>
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename _Traits::int_type int_type;
- typedef basic_streambuf<_CharT, _Traits> streambuf_type;
- typedef basic_istream<_CharT, _Traits> istream_type;
- //@}
-
- template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
- ostreambuf_iterator<_CharT2> >::__type
- copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
- ostreambuf_iterator<_CharT2>);
-
- template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
- _CharT2*>::__type
- __copy_aux(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
- _CharT2*);
-
- template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
- istreambuf_iterator<_CharT2> >::__type
- find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
- const _CharT2&);
-
- private:
- // 24.5.3 istreambuf_iterator
- // p 1
- // If the end of stream is reached (streambuf_type::sgetc()
- // returns traits_type::eof()), the iterator becomes equal to
- // the "end of stream" iterator value.
- // NB: This implementation assumes the "end of stream" value
- // is EOF, or -1.
- mutable streambuf_type* _M_sbuf;
- mutable int_type _M_c;
-
- public:
- /// Construct end of input stream iterator.
- istreambuf_iterator() throw()
- : _M_sbuf(0), _M_c(traits_type::eof()) { }
-
- /// Construct start of input stream iterator.
- istreambuf_iterator(istream_type& __s) throw()
- : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
-
- /// Construct start of streambuf iterator.
- istreambuf_iterator(streambuf_type* __s) throw()
- : _M_sbuf(__s), _M_c(traits_type::eof()) { }
-
- /// Return the current character pointed to by iterator. This returns
- /// streambuf.sgetc(). It cannot be assigned. NB: The result of
- /// operator*() on an end of stream is undefined.
- char_type
- operator*() const
- {
-#ifdef _GLIBCXX_DEBUG_PEDANTIC
- // Dereferencing a past-the-end istreambuf_iterator is a
- // libstdc++ extension
- __glibcxx_requires_cond(!_M_at_eof(),
- _M_message(__gnu_debug::__msg_deref_istreambuf)
- ._M_iterator(*this));
-#endif
- return traits_type::to_char_type(_M_get());
- }
-
- /// Advance the iterator. Calls streambuf.sbumpc().
- istreambuf_iterator&
- operator++()
- {
- __glibcxx_requires_cond(!_M_at_eof(),
- _M_message(__gnu_debug::__msg_inc_istreambuf)
- ._M_iterator(*this));
- if (_M_sbuf)
- {
- _M_sbuf->sbumpc();
- _M_c = traits_type::eof();
- }
- return *this;
- }
-
- /// Advance the iterator. Calls streambuf.sbumpc().
- istreambuf_iterator
- operator++(int)
- {
- __glibcxx_requires_cond(!_M_at_eof(),
- _M_message(__gnu_debug::__msg_inc_istreambuf)
- ._M_iterator(*this));
-
- istreambuf_iterator __old = *this;
- if (_M_sbuf)
- {
- __old._M_c = _M_sbuf->sbumpc();
- _M_c = traits_type::eof();
- }
- return __old;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 110 istreambuf_iterator::equal not const
- // NB: there is also number 111 (NAD, Future) pending on this function.
- /// Return true both iterators are end or both are not end.
- bool
- equal(const istreambuf_iterator& __b) const
- {
- const bool __thiseof = _M_at_eof();
- const bool __beof = __b._M_at_eof();
- return ((__thiseof && __beof) || (!__thiseof && !__beof));
- }
-
- private:
- int_type
- _M_get() const
- {
- const int_type __eof = traits_type::eof();
- int_type __ret = __eof;
- if (_M_sbuf)
- {
- if (!traits_type::eq_int_type(_M_c, __eof))
- __ret = _M_c;
- else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()),
- __eof))
- _M_c = __ret;
- else
- _M_sbuf = 0;
- }
- return __ret;
- }
-
- bool
- _M_at_eof() const
- {
- const int_type __eof = traits_type::eof();
- return traits_type::eq_int_type(_M_get(), __eof);
- }
- };
-
- template<typename _CharT, typename _Traits>
- inline bool
- operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
- const istreambuf_iterator<_CharT, _Traits>& __b)
- { return __a.equal(__b); }
-
- template<typename _CharT, typename _Traits>
- inline bool
- operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
- const istreambuf_iterator<_CharT, _Traits>& __b)
- { return !__a.equal(__b); }
-
- /// Provides output iterator semantics for streambufs.
- template<typename _CharT, typename _Traits>
- class ostreambuf_iterator
- : public iterator<output_iterator_tag, void, void, void, void>
- {
- public:
- // Types:
- //@{
- /// Public typedefs
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef basic_streambuf<_CharT, _Traits> streambuf_type;
- typedef basic_ostream<_CharT, _Traits> ostream_type;
- //@}
-
- template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
- ostreambuf_iterator<_CharT2> >::__type
- copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
- ostreambuf_iterator<_CharT2>);
-
- private:
- streambuf_type* _M_sbuf;
- bool _M_failed;
-
- public:
- /// Construct output iterator from ostream.
- ostreambuf_iterator(ostream_type& __s) throw ()
- : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
-
- /// Construct output iterator from streambuf.
- ostreambuf_iterator(streambuf_type* __s) throw ()
- : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
-
- /// Write character to streambuf. Calls streambuf.sputc().
- ostreambuf_iterator&
- operator=(_CharT __c)
- {
- if (!_M_failed &&
- _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
- _M_failed = true;
- return *this;
- }
-
- /// Return *this.
- ostreambuf_iterator&
- operator*()
- { return *this; }
-
- /// Return *this.
- ostreambuf_iterator&
- operator++(int)
- { return *this; }
-
- /// Return *this.
- ostreambuf_iterator&
- operator++()
- { return *this; }
-
- /// Return true if previous operator=() failed.
- bool
- failed() const throw()
- { return _M_failed; }
-
- ostreambuf_iterator&
- _M_put(const _CharT* __ws, streamsize __len)
- {
- if (__builtin_expect(!_M_failed, true)
- && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
- false))
- _M_failed = true;
- return *this;
- }
- };
-
- // Overloads for streambuf iterators.
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- ostreambuf_iterator<_CharT> >::__type
- copy(istreambuf_iterator<_CharT> __first,
- istreambuf_iterator<_CharT> __last,
- ostreambuf_iterator<_CharT> __result)
- {
- if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
- {
- bool __ineof;
- __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
- if (!__ineof)
- __result._M_failed = true;
- }
- return __result;
- }
-
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- ostreambuf_iterator<_CharT> >::__type
- __copy_aux(_CharT* __first, _CharT* __last,
- ostreambuf_iterator<_CharT> __result)
- {
- const streamsize __num = __last - __first;
- if (__num > 0)
- __result._M_put(__first, __num);
- return __result;
- }
-
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- ostreambuf_iterator<_CharT> >::__type
- __copy_aux(const _CharT* __first, const _CharT* __last,
- ostreambuf_iterator<_CharT> __result)
- {
- const streamsize __num = __last - __first;
- if (__num > 0)
- __result._M_put(__first, __num);
- return __result;
- }
-
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- _CharT*>::__type
- __copy_aux(istreambuf_iterator<_CharT> __first,
- istreambuf_iterator<_CharT> __last, _CharT* __result)
- {
- typedef istreambuf_iterator<_CharT> __is_iterator_type;
- typedef typename __is_iterator_type::traits_type traits_type;
- typedef typename __is_iterator_type::streambuf_type streambuf_type;
- typedef typename traits_type::int_type int_type;
-
- if (__first._M_sbuf && !__last._M_sbuf)
- {
- streambuf_type* __sb = __first._M_sbuf;
- int_type __c = __sb->sgetc();
- while (!traits_type::eq_int_type(__c, traits_type::eof()))
- {
- const streamsize __n = __sb->egptr() - __sb->gptr();
- if (__n > 1)
- {
- traits_type::copy(__result, __sb->gptr(), __n);
- __sb->gbump(__n);
- __result += __n;
- __c = __sb->underflow();
- }
- else
- {
- *__result++ = traits_type::to_char_type(__c);
- __c = __sb->snextc();
- }
- }
- }
- return __result;
- }
-
- template<typename _CharT>
- typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
- istreambuf_iterator<_CharT> >::__type
- find(istreambuf_iterator<_CharT> __first,
- istreambuf_iterator<_CharT> __last, const _CharT& __val)
- {
- typedef istreambuf_iterator<_CharT> __is_iterator_type;
- typedef typename __is_iterator_type::traits_type traits_type;
- typedef typename __is_iterator_type::streambuf_type streambuf_type;
- typedef typename traits_type::int_type int_type;
-
- if (__first._M_sbuf && !__last._M_sbuf)
- {
- const int_type __ival = traits_type::to_int_type(__val);
- streambuf_type* __sb = __first._M_sbuf;
- int_type __c = __sb->sgetc();
- while (!traits_type::eq_int_type(__c, traits_type::eof())
- && !traits_type::eq_int_type(__c, __ival))
- {
- streamsize __n = __sb->egptr() - __sb->gptr();
- if (__n > 1)
- {
- const _CharT* __p = traits_type::find(__sb->gptr(),
- __n, __val);
- if (__p)
- __n = __p - __sb->gptr();
- __sb->gbump(__n);
- __c = __sb->sgetc();
- }
- else
- __c = __sb->snextc();
- }
-
- if (!traits_type::eq_int_type(__c, traits_type::eof()))
- __first._M_c = __c;
- else
- __first._M_sbuf = 0;
- }
- return __first;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/bits/stringfwd.h b/contrib/libstdc++/include/bits/stringfwd.h
deleted file mode 100644
index d27ef14be4b5..000000000000
--- a/contrib/libstdc++/include/bits/stringfwd.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// String support -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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 stringfwd.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-//
-// ISO C++ 14882: 21 Strings library
-//
-
-#ifndef _STRINGFWD_H
-#define _STRINGFWD_H 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _Alloc>
- class allocator;
-
- template<class _CharT>
- struct char_traits;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_string;
-
- template<> struct char_traits<char>;
-
- typedef basic_string<char> string;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<> struct char_traits<wchar_t>;
-
- typedef basic_string<wchar_t> wstring;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif // _STRINGFWD_H
diff --git a/contrib/libstdc++/include/bits/valarray_after.h b/contrib/libstdc++/include/bits/valarray_after.h
deleted file mode 100644
index 723df613fb19..000000000000
--- a/contrib/libstdc++/include/bits/valarray_after.h
+++ /dev/null
@@ -1,554 +0,0 @@
-// The template and inlines for the -*- C++ -*- internal _Meta class.
-
-// 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 valarray_after.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
-
-#ifndef _VALARRAY_AFTER_H
-#define _VALARRAY_AFTER_H 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- //
- // gslice_array closure.
- //
- template<class _Dom>
- class _GBase
- {
- public:
- typedef typename _Dom::value_type value_type;
-
- _GBase (const _Dom& __e, const valarray<size_t>& __i)
- : _M_expr (__e), _M_index(__i) {}
-
- value_type
- operator[] (size_t __i) const
- { return _M_expr[_M_index[__i]]; }
-
- size_t
- size () const
- { return _M_index.size(); }
-
- private:
- const _Dom& _M_expr;
- const valarray<size_t>& _M_index;
- };
-
- template<typename _Tp>
- class _GBase<_Array<_Tp> >
- {
- public:
- typedef _Tp value_type;
-
- _GBase (_Array<_Tp> __a, const valarray<size_t>& __i)
- : _M_array (__a), _M_index(__i) {}
-
- value_type
- operator[] (size_t __i) const
- { return _M_array._M_data[_M_index[__i]]; }
-
- size_t
- size () const
- { return _M_index.size(); }
-
- private:
- const _Array<_Tp> _M_array;
- const valarray<size_t>& _M_index;
- };
-
- template<class _Dom>
- struct _GClos<_Expr, _Dom>
- : _GBase<_Dom>
- {
- typedef _GBase<_Dom> _Base;
- typedef typename _Base::value_type value_type;
-
- _GClos (const _Dom& __e, const valarray<size_t>& __i)
- : _Base (__e, __i) {}
- };
-
- template<typename _Tp>
- struct _GClos<_ValArray, _Tp>
- : _GBase<_Array<_Tp> >
- {
- typedef _GBase<_Array<_Tp> > _Base;
- typedef typename _Base::value_type value_type;
-
- _GClos (_Array<_Tp> __a, const valarray<size_t>& __i)
- : _Base (__a, __i) {}
- };
-
- //
- // indirect_array closure
- //
- template<class _Dom>
- class _IBase
- {
- public:
- typedef typename _Dom::value_type value_type;
-
- _IBase (const _Dom& __e, const valarray<size_t>& __i)
- : _M_expr (__e), _M_index (__i) {}
-
- value_type
- operator[] (size_t __i) const
- { return _M_expr[_M_index[__i]]; }
-
- size_t
- size() const
- { return _M_index.size(); }
-
- private:
- const _Dom& _M_expr;
- const valarray<size_t>& _M_index;
- };
-
- template<class _Dom>
- struct _IClos<_Expr, _Dom>
- : _IBase<_Dom>
- {
- typedef _IBase<_Dom> _Base;
- typedef typename _Base::value_type value_type;
-
- _IClos (const _Dom& __e, const valarray<size_t>& __i)
- : _Base (__e, __i) {}
- };
-
- template<typename _Tp>
- struct _IClos<_ValArray, _Tp>
- : _IBase<valarray<_Tp> >
- {
- typedef _IBase<valarray<_Tp> > _Base;
- typedef _Tp value_type;
-
- _IClos (const valarray<_Tp>& __a, const valarray<size_t>& __i)
- : _Base (__a, __i) {}
- };
-
- //
- // class _Expr
- //
- template<class _Clos, typename _Tp>
- class _Expr
- {
- public:
- typedef _Tp value_type;
-
- _Expr(const _Clos&);
-
- const _Clos& operator()() const;
-
- value_type operator[](size_t) const;
- valarray<value_type> operator[](slice) const;
- valarray<value_type> operator[](const gslice&) const;
- valarray<value_type> operator[](const valarray<bool>&) const;
- valarray<value_type> operator[](const valarray<size_t>&) const;
-
- _Expr<_UnClos<__unary_plus, std::_Expr, _Clos>, value_type>
- operator+() const;
-
- _Expr<_UnClos<__negate, std::_Expr, _Clos>, value_type>
- operator-() const;
-
- _Expr<_UnClos<__bitwise_not, std::_Expr, _Clos>, value_type>
- operator~() const;
-
- _Expr<_UnClos<__logical_not, std::_Expr, _Clos>, bool>
- operator!() const;
-
- size_t size() const;
- value_type sum() const;
-
- valarray<value_type> shift(int) const;
- valarray<value_type> cshift(int) const;
-
- value_type min() const;
- value_type max() const;
-
- valarray<value_type> apply(value_type (*)(const value_type&)) const;
- valarray<value_type> apply(value_type (*)(value_type)) const;
-
- private:
- const _Clos _M_closure;
- };
-
- template<class _Clos, typename _Tp>
- inline
- _Expr<_Clos, _Tp>::_Expr(const _Clos& __c) : _M_closure(__c) {}
-
- template<class _Clos, typename _Tp>
- inline const _Clos&
- _Expr<_Clos, _Tp>::operator()() const
- { return _M_closure; }
-
- template<class _Clos, typename _Tp>
- inline _Tp
- _Expr<_Clos, _Tp>::operator[](size_t __i) const
- { return _M_closure[__i]; }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::operator[](slice __s) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this)[__s];
- return __v;
- }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::operator[](const gslice& __gs) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this)[__gs];
- return __v;
- }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::operator[](const valarray<bool>& __m) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this)[__m];
- return __v;
- }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::operator[](const valarray<size_t>& __i) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this)[__i];
- return __v;
- }
-
- template<class _Clos, typename _Tp>
- inline size_t
- _Expr<_Clos, _Tp>::size() const
- { return _M_closure.size(); }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::shift(int __n) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this).shift(__n);
- return __v;
- }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::cshift(int __n) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this).cshift(__n);
- return __v;
- }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::apply(_Tp __f(const _Tp&)) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this).apply(__f);
- return __v;
- }
-
- template<class _Clos, typename _Tp>
- inline valarray<_Tp>
- _Expr<_Clos, _Tp>::apply(_Tp __f(_Tp)) const
- {
- valarray<_Tp> __v = valarray<_Tp>(*this).apply(__f);
- return __v;
- }
-
- // XXX: replace this with a more robust summation algorithm.
- template<class _Clos, typename _Tp>
- inline _Tp
- _Expr<_Clos, _Tp>::sum() const
- {
- size_t __n = _M_closure.size();
- if (__n == 0)
- return _Tp();
- else
- {
- _Tp __s = _M_closure[--__n];
- while (__n != 0)
- __s += _M_closure[--__n];
- return __s;
- }
- }
-
- template<class _Clos, typename _Tp>
- inline _Tp
- _Expr<_Clos, _Tp>::min() const
- { return __valarray_min(_M_closure); }
-
- template<class _Clos, typename _Tp>
- inline _Tp
- _Expr<_Clos, _Tp>::max() const
- { return __valarray_max(_M_closure); }
-
- template<class _Dom, typename _Tp>
- inline _Expr<_UnClos<__logical_not, _Expr, _Dom>, bool>
- _Expr<_Dom, _Tp>::operator!() const
- {
- typedef _UnClos<__logical_not, std::_Expr, _Dom> _Closure;
- return _Expr<_Closure, _Tp>(_Closure(this->_M_closure));
- }
-
-#define _DEFINE_EXPR_UNARY_OPERATOR(_Op, _Name) \
- template<class _Dom, typename _Tp> \
- inline _Expr<_UnClos<_Name, std::_Expr, _Dom>, _Tp> \
- _Expr<_Dom, _Tp>::operator _Op() const \
- { \
- typedef _UnClos<_Name, std::_Expr, _Dom> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(this->_M_closure)); \
- }
-
- _DEFINE_EXPR_UNARY_OPERATOR(+, __unary_plus)
- _DEFINE_EXPR_UNARY_OPERATOR(-, __negate)
- _DEFINE_EXPR_UNARY_OPERATOR(~, __bitwise_not)
-
-#undef _DEFINE_EXPR_UNARY_OPERATOR
-
-#define _DEFINE_EXPR_BINARY_OPERATOR(_Op, _Name) \
- template<class _Dom1, class _Dom2> \
- inline _Expr<_BinClos<_Name, _Expr, _Expr, _Dom1, _Dom2>, \
- typename __fun<_Name, typename _Dom1::value_type>::result_type> \
- operator _Op(const _Expr<_Dom1, typename _Dom1::value_type>& __v, \
- const _Expr<_Dom2, typename _Dom2::value_type>& __w) \
- { \
- typedef typename _Dom1::value_type _Arg; \
- typedef typename __fun<_Name, _Arg>::result_type _Value; \
- typedef _BinClos<_Name, _Expr, _Expr, _Dom1, _Dom2> _Closure; \
- return _Expr<_Closure, _Value>(_Closure(__v(), __w())); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<_Name, _Expr, _Constant, _Dom, \
- typename _Dom::value_type>, \
- typename __fun<_Name, typename _Dom::value_type>::result_type> \
- operator _Op(const _Expr<_Dom, typename _Dom::value_type>& __v, \
- const typename _Dom::value_type& __t) \
- { \
- typedef typename _Dom::value_type _Arg; \
- typedef typename __fun<_Name, _Arg>::result_type _Value; \
- typedef _BinClos<_Name, _Expr, _Constant, _Dom, _Arg> _Closure; \
- return _Expr<_Closure, _Value>(_Closure(__v(), __t)); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<_Name, _Constant, _Expr, \
- typename _Dom::value_type, _Dom>, \
- typename __fun<_Name, typename _Dom::value_type>::result_type> \
- operator _Op(const typename _Dom::value_type& __t, \
- const _Expr<_Dom, typename _Dom::value_type>& __v) \
- { \
- typedef typename _Dom::value_type _Arg; \
- typedef typename __fun<_Name, _Arg>::result_type _Value; \
- typedef _BinClos<_Name, _Constant, _Expr, _Arg, _Dom> _Closure; \
- return _Expr<_Closure, _Value>(_Closure(__t, __v())); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<_Name, _Expr, _ValArray, \
- _Dom, typename _Dom::value_type>, \
- typename __fun<_Name, typename _Dom::value_type>::result_type> \
- operator _Op(const _Expr<_Dom,typename _Dom::value_type>& __e, \
- const valarray<typename _Dom::value_type>& __v) \
- { \
- typedef typename _Dom::value_type _Arg; \
- typedef typename __fun<_Name, _Arg>::result_type _Value; \
- typedef _BinClos<_Name, _Expr, _ValArray, _Dom, _Arg> _Closure; \
- return _Expr<_Closure, _Value>(_Closure(__e(), __v)); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<_Name, _ValArray, _Expr, \
- typename _Dom::value_type, _Dom>, \
- typename __fun<_Name, typename _Dom::value_type>::result_type> \
- operator _Op(const valarray<typename _Dom::value_type>& __v, \
- const _Expr<_Dom, typename _Dom::value_type>& __e) \
- { \
- typedef typename _Dom::value_type _Tp; \
- typedef typename __fun<_Name, _Tp>::result_type _Value; \
- typedef _BinClos<_Name, _ValArray, _Expr, _Tp, _Dom> _Closure; \
- return _Expr<_Closure, _Value>(_Closure(__v, __e ())); \
- }
-
- _DEFINE_EXPR_BINARY_OPERATOR(+, __plus)
- _DEFINE_EXPR_BINARY_OPERATOR(-, __minus)
- _DEFINE_EXPR_BINARY_OPERATOR(*, __multiplies)
- _DEFINE_EXPR_BINARY_OPERATOR(/, __divides)
- _DEFINE_EXPR_BINARY_OPERATOR(%, __modulus)
- _DEFINE_EXPR_BINARY_OPERATOR(^, __bitwise_xor)
- _DEFINE_EXPR_BINARY_OPERATOR(&, __bitwise_and)
- _DEFINE_EXPR_BINARY_OPERATOR(|, __bitwise_or)
- _DEFINE_EXPR_BINARY_OPERATOR(<<, __shift_left)
- _DEFINE_EXPR_BINARY_OPERATOR(>>, __shift_right)
- _DEFINE_EXPR_BINARY_OPERATOR(&&, __logical_and)
- _DEFINE_EXPR_BINARY_OPERATOR(||, __logical_or)
- _DEFINE_EXPR_BINARY_OPERATOR(==, __equal_to)
- _DEFINE_EXPR_BINARY_OPERATOR(!=, __not_equal_to)
- _DEFINE_EXPR_BINARY_OPERATOR(<, __less)
- _DEFINE_EXPR_BINARY_OPERATOR(>, __greater)
- _DEFINE_EXPR_BINARY_OPERATOR(<=, __less_equal)
- _DEFINE_EXPR_BINARY_OPERATOR(>=, __greater_equal)
-
-#undef _DEFINE_EXPR_BINARY_OPERATOR
-
-#define _DEFINE_EXPR_UNARY_FUNCTION(_Name) \
- template<class _Dom> \
- inline _Expr<_UnClos<__##_Name, _Expr, _Dom>, \
- typename _Dom::value_type> \
- _Name(const _Expr<_Dom, typename _Dom::value_type>& __e) \
- { \
- typedef typename _Dom::value_type _Tp; \
- typedef _UnClos<__##_Name, _Expr, _Dom> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__e())); \
- } \
- \
- template<typename _Tp> \
- inline _Expr<_UnClos<__##_Name, _ValArray, _Tp>, _Tp> \
- _Name(const valarray<_Tp>& __v) \
- { \
- typedef _UnClos<__##_Name, _ValArray, _Tp> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__v)); \
- }
-
- _DEFINE_EXPR_UNARY_FUNCTION(abs)
- _DEFINE_EXPR_UNARY_FUNCTION(cos)
- _DEFINE_EXPR_UNARY_FUNCTION(acos)
- _DEFINE_EXPR_UNARY_FUNCTION(cosh)
- _DEFINE_EXPR_UNARY_FUNCTION(sin)
- _DEFINE_EXPR_UNARY_FUNCTION(asin)
- _DEFINE_EXPR_UNARY_FUNCTION(sinh)
- _DEFINE_EXPR_UNARY_FUNCTION(tan)
- _DEFINE_EXPR_UNARY_FUNCTION(tanh)
- _DEFINE_EXPR_UNARY_FUNCTION(atan)
- _DEFINE_EXPR_UNARY_FUNCTION(exp)
- _DEFINE_EXPR_UNARY_FUNCTION(log)
- _DEFINE_EXPR_UNARY_FUNCTION(log10)
- _DEFINE_EXPR_UNARY_FUNCTION(sqrt)
-
-#undef _DEFINE_EXPR_UNARY_FUNCTION
-
-#define _DEFINE_EXPR_BINARY_FUNCTION(_Fun) \
- template<class _Dom1, class _Dom2> \
- inline _Expr<_BinClos<__##_Fun, _Expr, _Expr, _Dom1, _Dom2>, \
- typename _Dom1::value_type> \
- _Fun(const _Expr<_Dom1, typename _Dom1::value_type>& __e1, \
- const _Expr<_Dom2, typename _Dom2::value_type>& __e2) \
- { \
- typedef typename _Dom1::value_type _Tp; \
- typedef _BinClos<__##_Fun, _Expr, _Expr, _Dom1, _Dom2> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__e1(), __e2())); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<__##_Fun, _Expr, _ValArray, _Dom, \
- typename _Dom::value_type>, \
- typename _Dom::value_type> \
- _Fun(const _Expr<_Dom, typename _Dom::value_type>& __e, \
- const valarray<typename _Dom::value_type>& __v) \
- { \
- typedef typename _Dom::value_type _Tp; \
- typedef _BinClos<__##_Fun, _Expr, _ValArray, _Dom, _Tp> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__e(), __v)); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<__##_Fun, _ValArray, _Expr, \
- typename _Dom::value_type, _Dom>, \
- typename _Dom::value_type> \
- _Fun(const valarray<typename _Dom::valarray>& __v, \
- const _Expr<_Dom, typename _Dom::value_type>& __e) \
- { \
- typedef typename _Dom::value_type _Tp; \
- typedef _BinClos<__##_Fun, _ValArray, _Expr, _Tp, _Dom> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__v, __e())); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<__##_Fun, _Expr, _Constant, _Dom, \
- typename _Dom::value_type>, \
- typename _Dom::value_type> \
- _Fun(const _Expr<_Dom, typename _Dom::value_type>& __e, \
- const typename _Dom::value_type& __t) \
- { \
- typedef typename _Dom::value_type _Tp; \
- typedef _BinClos<__##_Fun, _Expr, _Constant, _Dom, _Tp> _Closure;\
- return _Expr<_Closure, _Tp>(_Closure(__e(), __t)); \
- } \
- \
- template<class _Dom> \
- inline _Expr<_BinClos<__##_Fun, _Constant, _Expr, \
- typename _Dom::value_type, _Dom>, \
- typename _Dom::value_type> \
- _Fun(const typename _Dom::value_type& __t, \
- const _Expr<_Dom, typename _Dom::value_type>& __e) \
- { \
- typedef typename _Dom::value_type _Tp; \
- typedef _BinClos<__##_Fun, _Constant, _Expr, _Tp, _Dom> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__t, __e())); \
- } \
- \
- template<typename _Tp> \
- inline _Expr<_BinClos<__##_Fun, _ValArray, _ValArray, _Tp, _Tp>, _Tp> \
- _Fun(const valarray<_Tp>& __v, const valarray<_Tp>& __w) \
- { \
- typedef _BinClos<__##_Fun, _ValArray, _ValArray, _Tp, _Tp> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__v, __w)); \
- } \
- \
- template<typename _Tp> \
- inline _Expr<_BinClos<__##_Fun, _ValArray, _Constant, _Tp, _Tp>, _Tp> \
- _Fun(const valarray<_Tp>& __v, const _Tp& __t) \
- { \
- typedef _BinClos<__##_Fun, _ValArray, _Constant, _Tp, _Tp> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__v, __t)); \
- } \
- \
- template<typename _Tp> \
- inline _Expr<_BinClos<__##_Fun, _Constant, _ValArray, _Tp, _Tp>, _Tp> \
- _Fun(const _Tp& __t, const valarray<_Tp>& __v) \
- { \
- typedef _BinClos<__##_Fun, _Constant, _ValArray, _Tp, _Tp> _Closure; \
- return _Expr<_Closure, _Tp>(_Closure(__t, __v)); \
- }
-
-_DEFINE_EXPR_BINARY_FUNCTION(atan2)
-_DEFINE_EXPR_BINARY_FUNCTION(pow)
-
-#undef _DEFINE_EXPR_BINARY_FUNCTION
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _CPP_VALARRAY_AFTER_H */
diff --git a/contrib/libstdc++/include/bits/valarray_array.h b/contrib/libstdc++/include/bits/valarray_array.h
deleted file mode 100644
index a40c880ba8d6..000000000000
--- a/contrib/libstdc++/include/bits/valarray_array.h
+++ /dev/null
@@ -1,704 +0,0 @@
-// The template and inlines for the -*- C++ -*- internal _Array helper class.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 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 valarray_array.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _VALARRAY_ARRAY_H
-#define _VALARRAY_ARRAY_H 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/cpp_type_traits.h>
-#include <cstdlib>
-#include <cstring>
-#include <new>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- //
- // Helper functions on raw pointers
- //
-
- // We get memory by the old fashion way
- inline void*
- __valarray_get_memory(size_t __n)
- { return operator new(__n); }
-
- template<typename _Tp>
- inline _Tp*__restrict__
- __valarray_get_storage(size_t __n)
- {
- return static_cast<_Tp*__restrict__>
- (std::__valarray_get_memory(__n * sizeof(_Tp)));
- }
-
- // Return memory to the system
- inline void
- __valarray_release_memory(void* __p)
- { operator delete(__p); }
-
- // Turn a raw-memory into an array of _Tp filled with _Tp()
- // This is required in 'valarray<T> v(n);'
- template<typename _Tp, bool>
- struct _Array_default_ctor
- {
- // Please note that this isn't exception safe. But
- // valarrays aren't required to be exception safe.
- inline static void
- _S_do_it(_Tp* __restrict__ __b, _Tp* __restrict__ __e)
- {
- while (__b != __e)
- new(__b++) _Tp();
- }
- };
-
- template<typename _Tp>
- struct _Array_default_ctor<_Tp, true>
- {
- // For fundamental types, it suffices to say 'memset()'
- inline static void
- _S_do_it(_Tp* __restrict__ __b, _Tp* __restrict__ __e)
- { std::memset(__b, 0, (__e - __b) * sizeof(_Tp)); }
- };
-
- template<typename _Tp>
- inline void
- __valarray_default_construct(_Tp* __restrict__ __b, _Tp* __restrict__ __e)
- {
- _Array_default_ctor<_Tp, __is_pod<_Tp>::__value>::_S_do_it(__b, __e);
- }
-
- // Turn a raw-memory into an array of _Tp filled with __t
- // This is the required in valarray<T> v(n, t). Also
- // used in valarray<>::resize().
- template<typename _Tp, bool>
- struct _Array_init_ctor
- {
- // Please note that this isn't exception safe. But
- // valarrays aren't required to be exception safe.
- inline static void
- _S_do_it(_Tp* __restrict__ __b, _Tp* __restrict__ __e, const _Tp __t)
- {
- while (__b != __e)
- new(__b++) _Tp(__t);
- }
- };
-
- template<typename _Tp>
- struct _Array_init_ctor<_Tp, true>
- {
- inline static void
- _S_do_it(_Tp* __restrict__ __b, _Tp* __restrict__ __e, const _Tp __t)
- {
- while (__b != __e)
- *__b++ = __t;
- }
- };
-
- template<typename _Tp>
- inline void
- __valarray_fill_construct(_Tp* __restrict__ __b, _Tp* __restrict__ __e,
- const _Tp __t)
- {
- _Array_init_ctor<_Tp, __is_pod<_Tp>::__value>::_S_do_it(__b, __e, __t);
- }
-
- //
- // copy-construct raw array [__o, *) from plain array [__b, __e)
- // We can't just say 'memcpy()'
- //
- template<typename _Tp, bool>
- struct _Array_copy_ctor
- {
- // Please note that this isn't exception safe. But
- // valarrays aren't required to be exception safe.
- inline static void
- _S_do_it(const _Tp* __restrict__ __b, const _Tp* __restrict__ __e,
- _Tp* __restrict__ __o)
- {
- while (__b != __e)
- new(__o++) _Tp(*__b++);
- }
- };
-
- template<typename _Tp>
- struct _Array_copy_ctor<_Tp, true>
- {
- inline static void
- _S_do_it(const _Tp* __restrict__ __b, const _Tp* __restrict__ __e,
- _Tp* __restrict__ __o)
- { std::memcpy(__o, __b, (__e - __b)*sizeof(_Tp)); }
- };
-
- template<typename _Tp>
- inline void
- __valarray_copy_construct(const _Tp* __restrict__ __b,
- const _Tp* __restrict__ __e,
- _Tp* __restrict__ __o)
- {
- _Array_copy_ctor<_Tp, __is_pod<_Tp>::__value>::_S_do_it(__b, __e, __o);
- }
-
- // copy-construct raw array [__o, *) from strided array __a[<__n : __s>]
- template<typename _Tp>
- inline void
- __valarray_copy_construct (const _Tp* __restrict__ __a, size_t __n,
- size_t __s, _Tp* __restrict__ __o)
- {
- if (__is_pod<_Tp>::__value)
- while (__n--)
- {
- *__o++ = *__a;
- __a += __s;
- }
- else
- while (__n--)
- {
- new(__o++) _Tp(*__a);
- __a += __s;
- }
- }
-
- // copy-construct raw array [__o, *) from indexed array __a[__i[<__n>]]
- template<typename _Tp>
- inline void
- __valarray_copy_construct (const _Tp* __restrict__ __a,
- const size_t* __restrict__ __i,
- _Tp* __restrict__ __o, size_t __n)
- {
- if (__is_pod<_Tp>::__value)
- while (__n--)
- *__o++ = __a[*__i++];
- else
- while (__n--)
- new (__o++) _Tp(__a[*__i++]);
- }
-
- // Do the necessary cleanup when we're done with arrays.
- template<typename _Tp>
- inline void
- __valarray_destroy_elements(_Tp* __restrict__ __b, _Tp* __restrict__ __e)
- {
- if (!__is_pod<_Tp>::__value)
- while (__b != __e)
- {
- __b->~_Tp();
- ++__b;
- }
- }
-
- // Fill a plain array __a[<__n>] with __t
- template<typename _Tp>
- inline void
- __valarray_fill(_Tp* __restrict__ __a, size_t __n, const _Tp& __t)
- {
- while (__n--)
- *__a++ = __t;
- }
-
- // fill strided array __a[<__n-1 : __s>] with __t
- template<typename _Tp>
- inline void
- __valarray_fill(_Tp* __restrict__ __a, size_t __n,
- size_t __s, const _Tp& __t)
- {
- for (size_t __i = 0; __i < __n; ++__i, __a += __s)
- *__a = __t;
- }
-
- // fill indir ect array __a[__i[<__n>]] with __i
- template<typename _Tp>
- inline void
- __valarray_fill(_Tp* __restrict__ __a, const size_t* __restrict__ __i,
- size_t __n, const _Tp& __t)
- {
- for (size_t __j = 0; __j < __n; ++__j, ++__i)
- __a[*__i] = __t;
- }
-
- // copy plain array __a[<__n>] in __b[<__n>]
- // For non-fundamental types, it is wrong to say 'memcpy()'
- template<typename _Tp, bool>
- struct _Array_copier
- {
- inline static void
- _S_do_it(const _Tp* __restrict__ __a, size_t __n, _Tp* __restrict__ __b)
- {
- while(__n--)
- *__b++ = *__a++;
- }
- };
-
- template<typename _Tp>
- struct _Array_copier<_Tp, true>
- {
- inline static void
- _S_do_it(const _Tp* __restrict__ __a, size_t __n, _Tp* __restrict__ __b)
- { std::memcpy (__b, __a, __n * sizeof (_Tp)); }
- };
-
- // Copy a plain array __a[<__n>] into a play array __b[<>]
- template<typename _Tp>
- inline void
- __valarray_copy(const _Tp* __restrict__ __a, size_t __n,
- _Tp* __restrict__ __b)
- {
- _Array_copier<_Tp, __is_pod<_Tp>::__value>::_S_do_it(__a, __n, __b);
- }
-
- // Copy strided array __a[<__n : __s>] in plain __b[<__n>]
- template<typename _Tp>
- inline void
- __valarray_copy(const _Tp* __restrict__ __a, size_t __n, size_t __s,
- _Tp* __restrict__ __b)
- {
- for (size_t __i = 0; __i < __n; ++__i, ++__b, __a += __s)
- *__b = *__a;
- }
-
- // Copy a plain array __a[<__n>] into a strided array __b[<__n : __s>]
- template<typename _Tp>
- inline void
- __valarray_copy(const _Tp* __restrict__ __a, _Tp* __restrict__ __b,
- size_t __n, size_t __s)
- {
- for (size_t __i = 0; __i < __n; ++__i, ++__a, __b += __s)
- *__b = *__a;
- }
-
- // Copy strided array __src[<__n : __s1>] into another
- // strided array __dst[< : __s2>]. Their sizes must match.
- template<typename _Tp>
- inline void
- __valarray_copy(const _Tp* __restrict__ __src, size_t __n, size_t __s1,
- _Tp* __restrict__ __dst, size_t __s2)
- {
- for (size_t __i = 0; __i < __n; ++__i)
- __dst[__i * __s2] = __src[__i * __s1];
- }
-
- // Copy an indexed array __a[__i[<__n>]] in plain array __b[<__n>]
- template<typename _Tp>
- inline void
- __valarray_copy(const _Tp* __restrict__ __a,
- const size_t* __restrict__ __i,
- _Tp* __restrict__ __b, size_t __n)
- {
- for (size_t __j = 0; __j < __n; ++__j, ++__b, ++__i)
- *__b = __a[*__i];
- }
-
- // Copy a plain array __a[<__n>] in an indexed array __b[__i[<__n>]]
- template<typename _Tp>
- inline void
- __valarray_copy(const _Tp* __restrict__ __a, size_t __n,
- _Tp* __restrict__ __b, const size_t* __restrict__ __i)
- {
- for (size_t __j = 0; __j < __n; ++__j, ++__a, ++__i)
- __b[*__i] = *__a;
- }
-
- // Copy the __n first elements of an indexed array __src[<__i>] into
- // another indexed array __dst[<__j>].
- template<typename _Tp>
- inline void
- __valarray_copy(const _Tp* __restrict__ __src, size_t __n,
- const size_t* __restrict__ __i,
- _Tp* __restrict__ __dst, const size_t* __restrict__ __j)
- {
- for (size_t __k = 0; __k < __n; ++__k)
- __dst[*__j++] = __src[*__i++];
- }
-
- //
- // Compute the sum of elements in range [__f, __l)
- // This is a naive algorithm. It suffers from cancelling.
- // In the future try to specialize
- // for _Tp = float, double, long double using a more accurate
- // algorithm.
- //
- template<typename _Tp>
- inline _Tp
- __valarray_sum(const _Tp* __restrict__ __f, const _Tp* __restrict__ __l)
- {
- _Tp __r = _Tp();
- while (__f != __l)
- __r += *__f++;
- return __r;
- }
-
- // Compute the product of all elements in range [__f, __l)
- template<typename _Tp>
- inline _Tp
- __valarray_product(const _Tp* __restrict__ __f,
- const _Tp* __restrict__ __l)
- {
- _Tp __r = _Tp(1);
- while (__f != __l)
- __r = __r * *__f++;
- return __r;
- }
-
- // Compute the min/max of an array-expression
- template<typename _Ta>
- inline typename _Ta::value_type
- __valarray_min(const _Ta& __a)
- {
- size_t __s = __a.size();
- typedef typename _Ta::value_type _Value_type;
- _Value_type __r = __s == 0 ? _Value_type() : __a[0];
- for (size_t __i = 1; __i < __s; ++__i)
- {
- _Value_type __t = __a[__i];
- if (__t < __r)
- __r = __t;
- }
- return __r;
- }
-
- template<typename _Ta>
- inline typename _Ta::value_type
- __valarray_max(const _Ta& __a)
- {
- size_t __s = __a.size();
- typedef typename _Ta::value_type _Value_type;
- _Value_type __r = __s == 0 ? _Value_type() : __a[0];
- for (size_t __i = 1; __i < __s; ++__i)
- {
- _Value_type __t = __a[__i];
- if (__t > __r)
- __r = __t;
- }
- return __r;
- }
-
- //
- // Helper class _Array, first layer of valarray abstraction.
- // All operations on valarray should be forwarded to this class
- // whenever possible. -- gdr
- //
-
- template<typename _Tp>
- struct _Array
- {
- explicit _Array(size_t);
- explicit _Array(_Tp* const __restrict__);
- explicit _Array(const valarray<_Tp>&);
- _Array(const _Tp* __restrict__, size_t);
-
- _Tp* begin() const;
-
- _Tp* const __restrict__ _M_data;
- };
-
-
- // Copy-construct plain array __b[<__n>] from indexed array __a[__i[<__n>]]
- template<typename _Tp>
- inline void
- __valarray_copy_construct(_Array<_Tp> __a, _Array<size_t> __i,
- _Array<_Tp> __b, size_t __n)
- { std::__valarray_copy_construct(__a._M_data, __i._M_data,
- __b._M_data, __n); }
-
- // Copy-construct plain array __b[<__n>] from strided array __a[<__n : __s>]
- template<typename _Tp>
- inline void
- __valarray_copy_construct(_Array<_Tp> __a, size_t __n, size_t __s,
- _Array<_Tp> __b)
- { std::__valarray_copy_construct(__a._M_data, __n, __s, __b._M_data); }
-
- template<typename _Tp>
- inline void
- __valarray_fill (_Array<_Tp> __a, size_t __n, const _Tp& __t)
- { std::__valarray_fill(__a._M_data, __n, __t); }
-
- template<typename _Tp>
- inline void
- __valarray_fill(_Array<_Tp> __a, size_t __n, size_t __s, const _Tp& __t)
- { std::__valarray_fill(__a._M_data, __n, __s, __t); }
-
- template<typename _Tp>
- inline void
- __valarray_fill(_Array<_Tp> __a, _Array<size_t> __i,
- size_t __n, const _Tp& __t)
- { std::__valarray_fill(__a._M_data, __i._M_data, __n, __t); }
-
- // Copy a plain array __a[<__n>] into a play array __b[<>]
- template<typename _Tp>
- inline void
- __valarray_copy(_Array<_Tp> __a, size_t __n, _Array<_Tp> __b)
- { std::__valarray_copy(__a._M_data, __n, __b._M_data); }
-
- // Copy strided array __a[<__n : __s>] in plain __b[<__n>]
- template<typename _Tp>
- inline void
- __valarray_copy(_Array<_Tp> __a, size_t __n, size_t __s, _Array<_Tp> __b)
- { std::__valarray_copy(__a._M_data, __n, __s, __b._M_data); }
-
- // Copy a plain array __a[<__n>] into a strided array __b[<__n : __s>]
- template<typename _Tp>
- inline void
- __valarray_copy(_Array<_Tp> __a, _Array<_Tp> __b, size_t __n, size_t __s)
- { __valarray_copy(__a._M_data, __b._M_data, __n, __s); }
-
- // Copy strided array __src[<__n : __s1>] into another
- // strided array __dst[< : __s2>]. Their sizes must match.
- template<typename _Tp>
- inline void
- __valarray_copy(_Array<_Tp> __a, size_t __n, size_t __s1,
- _Array<_Tp> __b, size_t __s2)
- { std::__valarray_copy(__a._M_data, __n, __s1, __b._M_data, __s2); }
-
- // Copy an indexed array __a[__i[<__n>]] in plain array __b[<__n>]
- template<typename _Tp>
- inline void
- __valarray_copy(_Array<_Tp> __a, _Array<size_t> __i,
- _Array<_Tp> __b, size_t __n)
- { std::__valarray_copy(__a._M_data, __i._M_data, __b._M_data, __n); }
-
- // Copy a plain array __a[<__n>] in an indexed array __b[__i[<__n>]]
- template<typename _Tp>
- inline void
- __valarray_copy(_Array<_Tp> __a, size_t __n, _Array<_Tp> __b,
- _Array<size_t> __i)
- { std::__valarray_copy(__a._M_data, __n, __b._M_data, __i._M_data); }
-
- // Copy the __n first elements of an indexed array __src[<__i>] into
- // another indexed array __dst[<__j>].
- template<typename _Tp>
- inline void
- __valarray_copy(_Array<_Tp> __src, size_t __n, _Array<size_t> __i,
- _Array<_Tp> __dst, _Array<size_t> __j)
- {
- std::__valarray_copy(__src._M_data, __n, __i._M_data,
- __dst._M_data, __j._M_data);
- }
-
- template<typename _Tp>
- inline
- _Array<_Tp>::_Array(size_t __n)
- : _M_data(__valarray_get_storage<_Tp>(__n))
- { std::__valarray_default_construct(_M_data, _M_data + __n); }
-
- template<typename _Tp>
- inline
- _Array<_Tp>::_Array(_Tp* const __restrict__ __p)
- : _M_data (__p) {}
-
- template<typename _Tp>
- inline
- _Array<_Tp>::_Array(const valarray<_Tp>& __v)
- : _M_data (__v._M_data) {}
-
- template<typename _Tp>
- inline
- _Array<_Tp>::_Array(const _Tp* __restrict__ __b, size_t __s)
- : _M_data(__valarray_get_storage<_Tp>(__s))
- { std::__valarray_copy_construct(__b, __s, _M_data); }
-
- template<typename _Tp>
- inline _Tp*
- _Array<_Tp>::begin () const
- { return _M_data; }
-
-#define _DEFINE_ARRAY_FUNCTION(_Op, _Name) \
- template<typename _Tp> \
- inline void \
- _Array_augmented_##_Name(_Array<_Tp> __a, size_t __n, const _Tp& __t) \
- { \
- for (_Tp* __p = __a._M_data; __p < __a._M_data + __n; ++__p) \
- *__p _Op##= __t; \
- } \
- \
- template<typename _Tp> \
- inline void \
- _Array_augmented_##_Name(_Array<_Tp> __a, size_t __n, _Array<_Tp> __b) \
- { \
- _Tp* __p = __a._M_data; \
- for (_Tp* __q = __b._M_data; __q < __b._M_data + __n; ++__p, ++__q) \
- *__p _Op##= *__q; \
- } \
- \
- template<typename _Tp, class _Dom> \
- void \
- _Array_augmented_##_Name(_Array<_Tp> __a, \
- const _Expr<_Dom, _Tp>& __e, size_t __n) \
- { \
- _Tp* __p(__a._M_data); \
- for (size_t __i = 0; __i < __n; ++__i, ++__p) \
- *__p _Op##= __e[__i]; \
- } \
- \
- template<typename _Tp> \
- inline void \
- _Array_augmented_##_Name(_Array<_Tp> __a, size_t __n, size_t __s, \
- _Array<_Tp> __b) \
- { \
- _Tp* __q(__b._M_data); \
- for (_Tp* __p = __a._M_data; __p < __a._M_data + __s * __n; \
- __p += __s, ++__q) \
- *__p _Op##= *__q; \
- } \
- \
- template<typename _Tp> \
- inline void \
- _Array_augmented_##_Name(_Array<_Tp> __a, _Array<_Tp> __b, \
- size_t __n, size_t __s) \
- { \
- _Tp* __q(__b._M_data); \
- for (_Tp* __p = __a._M_data; __p < __a._M_data + __n; \
- ++__p, __q += __s) \
- *__p _Op##= *__q; \
- } \
- \
- template<typename _Tp, class _Dom> \
- void \
- _Array_augmented_##_Name(_Array<_Tp> __a, size_t __s, \
- const _Expr<_Dom, _Tp>& __e, size_t __n) \
- { \
- _Tp* __p(__a._M_data); \
- for (size_t __i = 0; __i < __n; ++__i, __p += __s) \
- *__p _Op##= __e[__i]; \
- } \
- \
- template<typename _Tp> \
- inline void \
- _Array_augmented_##_Name(_Array<_Tp> __a, _Array<size_t> __i, \
- _Array<_Tp> __b, size_t __n) \
- { \
- _Tp* __q(__b._M_data); \
- for (size_t* __j = __i._M_data; __j < __i._M_data + __n; \
- ++__j, ++__q) \
- __a._M_data[*__j] _Op##= *__q; \
- } \
- \
- template<typename _Tp> \
- inline void \
- _Array_augmented_##_Name(_Array<_Tp> __a, size_t __n, \
- _Array<_Tp> __b, _Array<size_t> __i) \
- { \
- _Tp* __p(__a._M_data); \
- for (size_t* __j = __i._M_data; __j<__i._M_data + __n; \
- ++__j, ++__p) \
- *__p _Op##= __b._M_data[*__j]; \
- } \
- \
- template<typename _Tp, class _Dom> \
- void \
- _Array_augmented_##_Name(_Array<_Tp> __a, _Array<size_t> __i, \
- const _Expr<_Dom, _Tp>& __e, size_t __n) \
- { \
- size_t* __j(__i._M_data); \
- for (size_t __k = 0; __k<__n; ++__k, ++__j) \
- __a._M_data[*__j] _Op##= __e[__k]; \
- } \
- \
- template<typename _Tp> \
- void \
- _Array_augmented_##_Name(_Array<_Tp> __a, _Array<bool> __m, \
- _Array<_Tp> __b, size_t __n) \
- { \
- bool* __ok(__m._M_data); \
- _Tp* __p(__a._M_data); \
- for (_Tp* __q = __b._M_data; __q < __b._M_data + __n; \
- ++__q, ++__ok, ++__p) \
- { \
- while (! *__ok) \
- { \
- ++__ok; \
- ++__p; \
- } \
- *__p _Op##= *__q; \
- } \
- } \
- \
- template<typename _Tp> \
- void \
- _Array_augmented_##_Name(_Array<_Tp> __a, size_t __n, \
- _Array<_Tp> __b, _Array<bool> __m) \
- { \
- bool* __ok(__m._M_data); \
- _Tp* __q(__b._M_data); \
- for (_Tp* __p = __a._M_data; __p < __a._M_data + __n; \
- ++__p, ++__ok, ++__q) \
- { \
- while (! *__ok) \
- { \
- ++__ok; \
- ++__q; \
- } \
- *__p _Op##= *__q; \
- } \
- } \
- \
- template<typename _Tp, class _Dom> \
- void \
- _Array_augmented_##_Name(_Array<_Tp> __a, _Array<bool> __m, \
- const _Expr<_Dom, _Tp>& __e, size_t __n) \
- { \
- bool* __ok(__m._M_data); \
- _Tp* __p(__a._M_data); \
- for (size_t __i = 0; __i < __n; ++__i, ++__ok, ++__p) \
- { \
- while (! *__ok) \
- { \
- ++__ok; \
- ++__p; \
- } \
- *__p _Op##= __e[__i]; \
- } \
- }
-
- _DEFINE_ARRAY_FUNCTION(+, __plus)
- _DEFINE_ARRAY_FUNCTION(-, __minus)
- _DEFINE_ARRAY_FUNCTION(*, __multiplies)
- _DEFINE_ARRAY_FUNCTION(/, __divides)
- _DEFINE_ARRAY_FUNCTION(%, __modulus)
- _DEFINE_ARRAY_FUNCTION(^, __bitwise_xor)
- _DEFINE_ARRAY_FUNCTION(|, __bitwise_or)
- _DEFINE_ARRAY_FUNCTION(&, __bitwise_and)
- _DEFINE_ARRAY_FUNCTION(<<, __shift_left)
- _DEFINE_ARRAY_FUNCTION(>>, __shift_right)
-
-#undef _DEFINE_ARRAY_FUNCTION
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/valarray_array.tcc>
-#endif
-
-#endif /* _ARRAY_H */
diff --git a/contrib/libstdc++/include/bits/valarray_array.tcc b/contrib/libstdc++/include/bits/valarray_array.tcc
deleted file mode 100644
index f00ffb4dc8bd..000000000000
--- a/contrib/libstdc++/include/bits/valarray_array.tcc
+++ /dev/null
@@ -1,246 +0,0 @@
-// The template and inlines for the -*- C++ -*- internal _Array helper class.
-
-// Copyright (C) 1997, 1998, 1999, 2003, 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 valarray_array.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _VALARRAY_ARRAY_TCC
-#define _VALARRAY_ARRAY_TCC 1
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _Tp>
- void
- __valarray_fill(_Array<_Tp> __a, size_t __n, _Array<bool> __m,
- const _Tp& __t)
- {
- _Tp* __p = __a._M_data;
- bool* __ok (__m._M_data);
- for (size_t __i=0; __i < __n; ++__i, ++__ok, ++__p)
- {
- while (!*__ok)
- {
- ++__ok;
- ++__p;
- }
- *__p = __t;
- }
- }
-
- // Copy n elements of a into consecutive elements of b. When m is
- // false, the corresponding element of a is skipped. m must contain
- // at least n true elements. a must contain at least n elements and
- // enough elements to match up with m through the nth true element
- // of m. I.e. if n is 10, m has 15 elements with 5 false followed
- // by 10 true, a must have 15 elements.
- template<typename _Tp>
- void
- __valarray_copy(_Array<_Tp> __a, _Array<bool> __m, _Array<_Tp> __b,
- size_t __n)
- {
- _Tp* __p (__a._M_data);
- bool* __ok (__m._M_data);
- for (_Tp* __q = __b._M_data; __q < __b._M_data + __n;
- ++__q, ++__ok, ++__p)
- {
- while (! *__ok)
- {
- ++__ok;
- ++__p;
- }
- *__q = *__p;
- }
- }
-
- // Copy n consecutive elements from a into elements of b. Elements
- // of b are skipped if the corresponding element of m is false. m
- // must contain at least n true elements. b must have at least as
- // many elements as the index of the nth true element of m. I.e. if
- // m has 15 elements with 5 false followed by 10 true, b must have
- // at least 15 elements.
- template<typename _Tp>
- void
- __valarray_copy(_Array<_Tp> __a, size_t __n, _Array<_Tp> __b,
- _Array<bool> __m)
- {
- _Tp* __q (__b._M_data);
- bool* __ok (__m._M_data);
- for (_Tp* __p = __a._M_data; __p < __a._M_data+__n;
- ++__p, ++__ok, ++__q)
- {
- while (! *__ok)
- {
- ++__ok;
- ++__q;
- }
- *__q = *__p;
- }
- }
-
- // Copy n elements from a into elements of b. Elements of a are
- // skipped if the corresponding element of m is false. Elements of
- // b are skipped if the corresponding element of k is false. m and
- // k must contain at least n true elements. a and b must have at
- // least as many elements as the index of the nth true element of m.
- template<typename _Tp>
- void
- __valarray_copy(_Array<_Tp> __a, _Array<bool> __m, size_t __n,
- _Array<_Tp> __b, _Array<bool> __k)
- {
- _Tp* __p (__a._M_data);
- _Tp* __q (__b._M_data);
- bool* __srcok (__m._M_data);
- bool* __dstok (__k._M_data);
- for (size_t __i = 0; __i < __n;
- ++__srcok, ++__p, ++__dstok, ++__q, ++__i)
- {
- while (! *__srcok)
- {
- ++__srcok;
- ++__p;
- }
- while (! *__dstok)
- {
- ++__dstok;
- ++__q;
- }
- *__q = *__p;
- }
- }
-
- // Copy n consecutive elements of e into consecutive elements of a.
- // I.e. a[i] = e[i].
- template<typename _Tp, class _Dom>
- void
- __valarray_copy(const _Expr<_Dom, _Tp>& __e, size_t __n, _Array<_Tp> __a)
- {
- _Tp* __p (__a._M_data);
- for (size_t __i = 0; __i < __n; ++__i, ++__p)
- *__p = __e[__i];
- }
-
- // Copy n consecutive elements of e into elements of a using stride
- // s. I.e., a[0] = e[0], a[s] = e[1], a[2*s] = e[2].
- template<typename _Tp, class _Dom>
- void
- __valarray_copy(const _Expr<_Dom, _Tp>& __e, size_t __n,
- _Array<_Tp> __a, size_t __s)
- {
- _Tp* __p (__a._M_data);
- for (size_t __i = 0; __i < __n; ++__i, __p += __s)
- *__p = __e[__i];
- }
-
- // Copy n consecutive elements of e into elements of a indexed by
- // contents of i. I.e., a[i[0]] = e[0].
- template<typename _Tp, class _Dom>
- void
- __valarray_copy(const _Expr<_Dom, _Tp>& __e, size_t __n,
- _Array<_Tp> __a, _Array<size_t> __i)
- {
- size_t* __j (__i._M_data);
- for (size_t __k = 0; __k < __n; ++__k, ++__j)
- __a._M_data[*__j] = __e[__k];
- }
-
- // Copy n elements of e indexed by contents of f into elements of a
- // indexed by contents of i. I.e., a[i[0]] = e[f[0]].
- template<typename _Tp>
- void
- __valarray_copy(_Array<_Tp> __e, _Array<size_t> __f,
- size_t __n,
- _Array<_Tp> __a, _Array<size_t> __i)
- {
- size_t* __g (__f._M_data);
- size_t* __j (__i._M_data);
- for (size_t __k = 0; __k < __n; ++__k, ++__j, ++__g)
- __a._M_data[*__j] = __e._M_data[*__g];
- }
-
- // Copy n consecutive elements of e into elements of a. Elements of
- // a are skipped if the corresponding element of m is false. m must
- // have at least n true elements and a must have at least as many
- // elements as the index of the nth true element of m. I.e. if m
- // has 5 false followed by 10 true elements and n == 10, a must have
- // at least 15 elements.
- template<typename _Tp, class _Dom>
- void
- __valarray_copy(const _Expr<_Dom, _Tp>& __e, size_t __n,
- _Array<_Tp> __a, _Array<bool> __m)
- {
- bool* __ok (__m._M_data);
- _Tp* __p (__a._M_data);
- for (size_t __i = 0; __i < __n; ++__i, ++__ok, ++__p)
- {
- while (! *__ok)
- {
- ++__ok;
- ++__p;
- }
- *__p = __e[__i];
- }
- }
-
-
- template<typename _Tp, class _Dom>
- void
- __valarray_copy_construct(const _Expr<_Dom, _Tp>& __e, size_t __n,
- _Array<_Tp> __a)
- {
- _Tp* __p (__a._M_data);
- for (size_t __i = 0; __i < __n; ++__i, ++__p)
- new (__p) _Tp(__e[__i]);
- }
-
-
- template<typename _Tp>
- void
- __valarray_copy_construct(_Array<_Tp> __a, _Array<bool> __m,
- _Array<_Tp> __b, size_t __n)
- {
- _Tp* __p (__a._M_data);
- bool* __ok (__m._M_data);
- for (_Tp* __q = __b._M_data; __q < __b._M_data+__n; ++__q, ++__ok, ++__p)
- {
- while (! *__ok)
- {
- ++__ok;
- ++__p;
- }
- new (__q) _Tp(*__p);
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _VALARRAY_ARRAY_TCC */
diff --git a/contrib/libstdc++/include/bits/valarray_before.h b/contrib/libstdc++/include/bits/valarray_before.h
deleted file mode 100644
index 4e3b937a264d..000000000000
--- a/contrib/libstdc++/include/bits/valarray_before.h
+++ /dev/null
@@ -1,735 +0,0 @@
-// The template and inlines for the -*- C++ -*- internal _Meta class.
-
-// 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 valarray_before.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
-
-#ifndef _VALARRAY_BEFORE_H
-#define _VALARRAY_BEFORE_H 1
-
-#pragma GCC system_header
-
-#include <bits/slice_array.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- //
- // Implementing a loosened valarray return value is tricky.
- // First we need to meet 26.3.1/3: we should not add more than
- // two levels of template nesting. Therefore we resort to template
- // template to "flatten" loosened return value types.
- // At some point we use partial specialization to remove one level
- // template nesting due to _Expr<>
- //
-
- // This class is NOT defined. It doesn't need to.
- template<typename _Tp1, typename _Tp2> class _Constant;
-
- // Implementations of unary functions applied to valarray<>s.
- // I use hard-coded object functions here instead of a generic
- // approach like pointers to function:
- // 1) correctness: some functions take references, others values.
- // we can't deduce the correct type afterwards.
- // 2) efficiency -- object functions can be easily inlined
- // 3) be Koenig-lookup-friendly
-
- struct __abs
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return abs(__t); }
- };
-
- struct __cos
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return cos(__t); }
- };
-
- struct __acos
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return acos(__t); }
- };
-
- struct __cosh
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return cosh(__t); }
- };
-
- struct __sin
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return sin(__t); }
- };
-
- struct __asin
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return asin(__t); }
- };
-
- struct __sinh
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return sinh(__t); }
- };
-
- struct __tan
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return tan(__t); }
- };
-
- struct __atan
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return atan(__t); }
- };
-
- struct __tanh
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return tanh(__t); }
- };
-
- struct __exp
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return exp(__t); }
- };
-
- struct __log
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return log(__t); }
- };
-
- struct __log10
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return log10(__t); }
- };
-
- struct __sqrt
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return sqrt(__t); }
- };
-
- // In the past, we used to tailor operator applications semantics
- // to the specialization of standard function objects (i.e. plus<>, etc.)
- // That is incorrect. Therefore we provide our own surrogates.
-
- struct __unary_plus
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return +__t; }
- };
-
- struct __negate
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return -__t; }
- };
-
- struct __bitwise_not
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __t) const
- { return ~__t; }
- };
-
- struct __plus
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x + __y; }
- };
-
- struct __minus
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x - __y; }
- };
-
- struct __multiplies
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x * __y; }
- };
-
- struct __divides
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x / __y; }
- };
-
- struct __modulus
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x % __y; }
- };
-
- struct __bitwise_xor
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x ^ __y; }
- };
-
- struct __bitwise_and
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x & __y; }
- };
-
- struct __bitwise_or
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x | __y; }
- };
-
- struct __shift_left
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x << __y; }
- };
-
- struct __shift_right
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return __x >> __y; }
- };
-
- struct __logical_and
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x && __y; }
- };
-
- struct __logical_or
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x || __y; }
- };
-
- struct __logical_not
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x) const { return !__x; }
- };
-
- struct __equal_to
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x == __y; }
- };
-
- struct __not_equal_to
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x != __y; }
- };
-
- struct __less
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x < __y; }
- };
-
- struct __greater
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x > __y; }
- };
-
- struct __less_equal
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x <= __y; }
- };
-
- struct __greater_equal
- {
- template<typename _Tp>
- bool operator()(const _Tp& __x, const _Tp& __y) const
- { return __x >= __y; }
- };
-
- // The few binary functions we miss.
- struct __atan2
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return atan2(__x, __y); }
- };
-
- struct __pow
- {
- template<typename _Tp>
- _Tp operator()(const _Tp& __x, const _Tp& __y) const
- { return pow(__x, __y); }
- };
-
-
- // We need these bits in order to recover the return type of
- // some functions/operators now that we're no longer using
- // function templates.
- template<typename, typename _Tp>
- struct __fun
- {
- typedef _Tp result_type;
- };
-
- // several specializations for relational operators.
- template<typename _Tp>
- struct __fun<__logical_not, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__logical_and, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__logical_or, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__less, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__greater, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__less_equal, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__greater_equal, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__equal_to, _Tp>
- {
- typedef bool result_type;
- };
-
- template<typename _Tp>
- struct __fun<__not_equal_to, _Tp>
- {
- typedef bool result_type;
- };
-
- //
- // Apply function taking a value/const reference closure
- //
-
- template<typename _Dom, typename _Arg>
- class _FunBase
- {
- public:
- typedef typename _Dom::value_type value_type;
-
- _FunBase(const _Dom& __e, value_type __f(_Arg))
- : _M_expr(__e), _M_func(__f) {}
-
- value_type operator[](size_t __i) const
- { return _M_func (_M_expr[__i]); }
-
- size_t size() const { return _M_expr.size ();}
-
- private:
- const _Dom& _M_expr;
- value_type (*_M_func)(_Arg);
- };
-
- template<class _Dom>
- struct _ValFunClos<_Expr,_Dom> : _FunBase<_Dom, typename _Dom::value_type>
- {
- typedef _FunBase<_Dom, typename _Dom::value_type> _Base;
- typedef typename _Base::value_type value_type;
- typedef value_type _Tp;
-
- _ValFunClos(const _Dom& __e, _Tp __f(_Tp)) : _Base(__e, __f) {}
- };
-
- template<typename _Tp>
- struct _ValFunClos<_ValArray,_Tp> : _FunBase<valarray<_Tp>, _Tp>
- {
- typedef _FunBase<valarray<_Tp>, _Tp> _Base;
- typedef _Tp value_type;
-
- _ValFunClos(const valarray<_Tp>& __v, _Tp __f(_Tp)) : _Base(__v, __f) {}
- };
-
- template<class _Dom>
- struct _RefFunClos<_Expr, _Dom>
- : _FunBase<_Dom, const typename _Dom::value_type&>
- {
- typedef _FunBase<_Dom, const typename _Dom::value_type&> _Base;
- typedef typename _Base::value_type value_type;
- typedef value_type _Tp;
-
- _RefFunClos(const _Dom& __e, _Tp __f(const _Tp&))
- : _Base(__e, __f) {}
- };
-
- template<typename _Tp>
- struct _RefFunClos<_ValArray, _Tp>
- : _FunBase<valarray<_Tp>, const _Tp&>
- {
- typedef _FunBase<valarray<_Tp>, const _Tp&> _Base;
- typedef _Tp value_type;
-
- _RefFunClos(const valarray<_Tp>& __v, _Tp __f(const _Tp&))
- : _Base(__v, __f) {}
- };
-
- //
- // Unary expression closure.
- //
-
- template<class _Oper, class _Arg>
- class _UnBase
- {
- public:
- typedef typename _Arg::value_type _Vt;
- typedef typename __fun<_Oper, _Vt>::result_type value_type;
-
- _UnBase(const _Arg& __e) : _M_expr(__e) {}
-
- value_type operator[](size_t __i) const
- { return _Oper()(_M_expr[__i]); }
-
- size_t size() const { return _M_expr.size(); }
-
- private:
- const _Arg& _M_expr;
- };
-
- template<class _Oper, class _Dom>
- struct _UnClos<_Oper, _Expr, _Dom>
- : _UnBase<_Oper, _Dom>
- {
- typedef _Dom _Arg;
- typedef _UnBase<_Oper, _Dom> _Base;
- typedef typename _Base::value_type value_type;
-
- _UnClos(const _Arg& __e) : _Base(__e) {}
- };
-
- template<class _Oper, typename _Tp>
- struct _UnClos<_Oper, _ValArray, _Tp>
- : _UnBase<_Oper, valarray<_Tp> >
- {
- typedef valarray<_Tp> _Arg;
- typedef _UnBase<_Oper, valarray<_Tp> > _Base;
- typedef typename _Base::value_type value_type;
-
- _UnClos(const _Arg& __e) : _Base(__e) {}
- };
-
-
- //
- // Binary expression closure.
- //
-
- template<class _Oper, class _FirstArg, class _SecondArg>
- class _BinBase
- {
- public:
- typedef typename _FirstArg::value_type _Vt;
- typedef typename __fun<_Oper, _Vt>::result_type value_type;
-
- _BinBase(const _FirstArg& __e1, const _SecondArg& __e2)
- : _M_expr1(__e1), _M_expr2(__e2) {}
-
- value_type operator[](size_t __i) const
- { return _Oper()(_M_expr1[__i], _M_expr2[__i]); }
-
- size_t size() const { return _M_expr1.size(); }
-
- private:
- const _FirstArg& _M_expr1;
- const _SecondArg& _M_expr2;
- };
-
-
- template<class _Oper, class _Clos>
- class _BinBase2
- {
- public:
- typedef typename _Clos::value_type _Vt;
- typedef typename __fun<_Oper, _Vt>::result_type value_type;
-
- _BinBase2(const _Clos& __e, const _Vt& __t)
- : _M_expr1(__e), _M_expr2(__t) {}
-
- value_type operator[](size_t __i) const
- { return _Oper()(_M_expr1[__i], _M_expr2); }
-
- size_t size() const { return _M_expr1.size(); }
-
- private:
- const _Clos& _M_expr1;
- const _Vt& _M_expr2;
- };
-
- template<class _Oper, class _Clos>
- class _BinBase1
- {
- public:
- typedef typename _Clos::value_type _Vt;
- typedef typename __fun<_Oper, _Vt>::result_type value_type;
-
- _BinBase1(const _Vt& __t, const _Clos& __e)
- : _M_expr1(__t), _M_expr2(__e) {}
-
- value_type operator[](size_t __i) const
- { return _Oper()(_M_expr1, _M_expr2[__i]); }
-
- size_t size() const { return _M_expr2.size(); }
-
- private:
- const _Vt& _M_expr1;
- const _Clos& _M_expr2;
- };
-
- template<class _Oper, class _Dom1, class _Dom2>
- struct _BinClos<_Oper, _Expr, _Expr, _Dom1, _Dom2>
- : _BinBase<_Oper, _Dom1, _Dom2>
- {
- typedef _BinBase<_Oper, _Dom1, _Dom2> _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const _Dom1& __e1, const _Dom2& __e2) : _Base(__e1, __e2) {}
- };
-
- template<class _Oper, typename _Tp>
- struct _BinClos<_Oper,_ValArray, _ValArray, _Tp, _Tp>
- : _BinBase<_Oper, valarray<_Tp>, valarray<_Tp> >
- {
- typedef _BinBase<_Oper, valarray<_Tp>, valarray<_Tp> > _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const valarray<_Tp>& __v, const valarray<_Tp>& __w)
- : _Base(__v, __w) {}
- };
-
- template<class _Oper, class _Dom>
- struct _BinClos<_Oper, _Expr, _ValArray, _Dom, typename _Dom::value_type>
- : _BinBase<_Oper, _Dom, valarray<typename _Dom::value_type> >
- {
- typedef typename _Dom::value_type _Tp;
- typedef _BinBase<_Oper,_Dom,valarray<_Tp> > _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const _Dom& __e1, const valarray<_Tp>& __e2)
- : _Base(__e1, __e2) {}
- };
-
- template<class _Oper, class _Dom>
- struct _BinClos<_Oper, _ValArray, _Expr, typename _Dom::value_type, _Dom>
- : _BinBase<_Oper, valarray<typename _Dom::value_type>,_Dom>
- {
- typedef typename _Dom::value_type _Tp;
- typedef _BinBase<_Oper, valarray<_Tp>, _Dom> _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const valarray<_Tp>& __e1, const _Dom& __e2)
- : _Base(__e1, __e2) {}
- };
-
- template<class _Oper, class _Dom>
- struct _BinClos<_Oper, _Expr, _Constant, _Dom, typename _Dom::value_type>
- : _BinBase2<_Oper, _Dom>
- {
- typedef typename _Dom::value_type _Tp;
- typedef _BinBase2<_Oper,_Dom> _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const _Dom& __e1, const _Tp& __e2) : _Base(__e1, __e2) {}
- };
-
- template<class _Oper, class _Dom>
- struct _BinClos<_Oper, _Constant, _Expr, typename _Dom::value_type, _Dom>
- : _BinBase1<_Oper, _Dom>
- {
- typedef typename _Dom::value_type _Tp;
- typedef _BinBase1<_Oper, _Dom> _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const _Tp& __e1, const _Dom& __e2) : _Base(__e1, __e2) {}
- };
-
- template<class _Oper, typename _Tp>
- struct _BinClos<_Oper, _ValArray, _Constant, _Tp, _Tp>
- : _BinBase2<_Oper, valarray<_Tp> >
- {
- typedef _BinBase2<_Oper,valarray<_Tp> > _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const valarray<_Tp>& __v, const _Tp& __t) : _Base(__v, __t) {}
- };
-
- template<class _Oper, typename _Tp>
- struct _BinClos<_Oper, _Constant, _ValArray, _Tp, _Tp>
- : _BinBase1<_Oper, valarray<_Tp> >
- {
- typedef _BinBase1<_Oper, valarray<_Tp> > _Base;
- typedef typename _Base::value_type value_type;
-
- _BinClos(const _Tp& __t, const valarray<_Tp>& __v) : _Base(__t, __v) {}
- };
-
- //
- // slice_array closure.
- //
- template<typename _Dom>
- class _SBase
- {
- public:
- typedef typename _Dom::value_type value_type;
-
- _SBase (const _Dom& __e, const slice& __s)
- : _M_expr (__e), _M_slice (__s) {}
-
- value_type
- operator[] (size_t __i) const
- { return _M_expr[_M_slice.start () + __i * _M_slice.stride ()]; }
-
- size_t
- size() const
- { return _M_slice.size (); }
-
- private:
- const _Dom& _M_expr;
- const slice& _M_slice;
- };
-
- template<typename _Tp>
- class _SBase<_Array<_Tp> >
- {
- public:
- typedef _Tp value_type;
-
- _SBase (_Array<_Tp> __a, const slice& __s)
- : _M_array (__a._M_data+__s.start()), _M_size (__s.size()),
- _M_stride (__s.stride()) {}
-
- value_type
- operator[] (size_t __i) const
- { return _M_array._M_data[__i * _M_stride]; }
-
- size_t
- size() const
- { return _M_size; }
-
- private:
- const _Array<_Tp> _M_array;
- const size_t _M_size;
- const size_t _M_stride;
- };
-
- template<class _Dom>
- struct _SClos<_Expr, _Dom>
- : _SBase<_Dom>
- {
- typedef _SBase<_Dom> _Base;
- typedef typename _Base::value_type value_type;
-
- _SClos (const _Dom& __e, const slice& __s) : _Base (__e, __s) {}
- };
-
- template<typename _Tp>
- struct _SClos<_ValArray, _Tp>
- : _SBase<_Array<_Tp> >
- {
- typedef _SBase<_Array<_Tp> > _Base;
- typedef _Tp value_type;
-
- _SClos (_Array<_Tp> __a, const slice& __s) : _Base (__a, __s) {}
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _CPP_VALARRAY_BEFORE_H */
diff --git a/contrib/libstdc++/include/bits/vector.tcc b/contrib/libstdc++/include/bits/vector.tcc
deleted file mode 100644
index f476c460d33e..000000000000
--- a/contrib/libstdc++/include/bits/vector.tcc
+++ /dev/null
@@ -1,496 +0,0 @@
-// Vector implementation (out of line) -*- C++ -*-
-
-// 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file vector.tcc
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _VECTOR_TCC
-#define _VECTOR_TCC 1
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- template<typename _Tp, typename _Alloc>
- void
- vector<_Tp, _Alloc>::
- reserve(size_type __n)
- {
- if (__n > this->max_size())
- __throw_length_error(__N("vector::reserve"));
- if (this->capacity() < __n)
- {
- const size_type __old_size = size();
- pointer __tmp = _M_allocate_and_copy(__n, this->_M_impl._M_start,
- this->_M_impl._M_finish);
- std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- _M_deallocate(this->_M_impl._M_start,
- this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start);
- this->_M_impl._M_start = __tmp;
- this->_M_impl._M_finish = __tmp + __old_size;
- this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- typename vector<_Tp, _Alloc>::iterator
- vector<_Tp, _Alloc>::
- insert(iterator __position, const value_type& __x)
- {
- const size_type __n = __position - begin();
- if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage
- && __position == end())
- {
- this->_M_impl.construct(this->_M_impl._M_finish, __x);
- ++this->_M_impl._M_finish;
- }
- else
- _M_insert_aux(__position, __x);
- return iterator(this->_M_impl._M_start + __n);
- }
-
- template<typename _Tp, typename _Alloc>
- typename vector<_Tp, _Alloc>::iterator
- vector<_Tp, _Alloc>::
- erase(iterator __position)
- {
- if (__position + 1 != end())
- std::copy(__position + 1, end(), __position);
- --this->_M_impl._M_finish;
- this->_M_impl.destroy(this->_M_impl._M_finish);
- return __position;
- }
-
- template<typename _Tp, typename _Alloc>
- typename vector<_Tp, _Alloc>::iterator
- vector<_Tp, _Alloc>::
- erase(iterator __first, iterator __last)
- {
- if (__last != end())
- std::copy(__last, end(), __first);
- _M_erase_at_end(__first.base() + (end() - __last));
- return __first;
- }
-
- template<typename _Tp, typename _Alloc>
- vector<_Tp, _Alloc>&
- vector<_Tp, _Alloc>::
- operator=(const vector<_Tp, _Alloc>& __x)
- {
- if (&__x != this)
- {
- const size_type __xlen = __x.size();
- if (__xlen > capacity())
- {
- pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
- __x.end());
- std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- _M_deallocate(this->_M_impl._M_start,
- this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start);
- this->_M_impl._M_start = __tmp;
- this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
- }
- else if (size() >= __xlen)
- {
- std::_Destroy(std::copy(__x.begin(), __x.end(), begin()),
- end(), _M_get_Tp_allocator());
- }
- else
- {
- std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
- this->_M_impl._M_start);
- std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
- __x._M_impl._M_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- }
- this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
- }
- return *this;
- }
-
- template<typename _Tp, typename _Alloc>
- void
- vector<_Tp, _Alloc>::
- _M_fill_assign(size_t __n, const value_type& __val)
- {
- if (__n > capacity())
- {
- vector __tmp(__n, __val, _M_get_Tp_allocator());
- __tmp.swap(*this);
- }
- else if (__n > size())
- {
- std::fill(begin(), end(), __val);
- std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
- __n - size(), __val,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish += __n - size();
- }
- else
- _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
- }
-
- template<typename _Tp, typename _Alloc>
- template<typename _InputIterator>
- void
- vector<_Tp, _Alloc>::
- _M_assign_aux(_InputIterator __first, _InputIterator __last,
- std::input_iterator_tag)
- {
- pointer __cur(this->_M_impl._M_start);
- for (; __first != __last && __cur != this->_M_impl._M_finish;
- ++__cur, ++__first)
- *__cur = *__first;
- if (__first == __last)
- _M_erase_at_end(__cur);
- else
- insert(end(), __first, __last);
- }
-
- template<typename _Tp, typename _Alloc>
- template<typename _ForwardIterator>
- void
- vector<_Tp, _Alloc>::
- _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag)
- {
- const size_type __len = std::distance(__first, __last);
-
- if (__len > capacity())
- {
- pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
- std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- _M_deallocate(this->_M_impl._M_start,
- this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start);
- this->_M_impl._M_start = __tmp;
- this->_M_impl._M_finish = this->_M_impl._M_start + __len;
- this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
- }
- else if (size() >= __len)
- _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
- else
- {
- _ForwardIterator __mid = __first;
- std::advance(__mid, size());
- std::copy(__first, __mid, this->_M_impl._M_start);
- this->_M_impl._M_finish =
- std::__uninitialized_copy_a(__mid, __last,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- }
- }
-
- template<typename _Tp, typename _Alloc>
- void
- vector<_Tp, _Alloc>::
- _M_insert_aux(iterator __position, const _Tp& __x)
- {
- if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
- {
- this->_M_impl.construct(this->_M_impl._M_finish,
- *(this->_M_impl._M_finish - 1));
- ++this->_M_impl._M_finish;
- _Tp __x_copy = __x;
- std::copy_backward(__position.base(),
- this->_M_impl._M_finish - 2,
- this->_M_impl._M_finish - 1);
- *__position = __x_copy;
- }
- else
- {
- const size_type __old_size = size();
- if (__old_size == this->max_size())
- __throw_length_error(__N("vector::_M_insert_aux"));
-
- // When sizeof(value_type) == 1 and __old_size > size_type(-1)/2
- // __len overflows: if we don't notice and _M_allocate doesn't
- // throw we crash badly later.
- size_type __len = __old_size != 0 ? 2 * __old_size : 1;
- if (__len < __old_size)
- __len = this->max_size();
-
- pointer __new_start(this->_M_allocate(__len));
- pointer __new_finish(__new_start);
- try
- {
- __new_finish =
- std::__uninitialized_copy_a(this->_M_impl._M_start,
- __position.base(), __new_start,
- _M_get_Tp_allocator());
- this->_M_impl.construct(__new_finish, __x);
- ++__new_finish;
- __new_finish =
- std::__uninitialized_copy_a(__position.base(),
- this->_M_impl._M_finish,
- __new_finish,
- _M_get_Tp_allocator());
- }
- catch(...)
- {
- std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
- _M_deallocate(__new_start, __len);
- __throw_exception_again;
- }
- std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- _M_deallocate(this->_M_impl._M_start,
- this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start);
- this->_M_impl._M_start = __new_start;
- this->_M_impl._M_finish = __new_finish;
- this->_M_impl._M_end_of_storage = __new_start + __len;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- void
- vector<_Tp, _Alloc>::
- _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
- {
- if (__n != 0)
- {
- if (size_type(this->_M_impl._M_end_of_storage
- - this->_M_impl._M_finish) >= __n)
- {
- value_type __x_copy = __x;
- const size_type __elems_after = end() - __position;
- pointer __old_finish(this->_M_impl._M_finish);
- if (__elems_after > __n)
- {
- std::__uninitialized_copy_a(this->_M_impl._M_finish - __n,
- this->_M_impl._M_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish += __n;
- std::copy_backward(__position.base(), __old_finish - __n,
- __old_finish);
- std::fill(__position.base(), __position.base() + __n,
- __x_copy);
- }
- else
- {
- std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
- __n - __elems_after,
- __x_copy,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish += __n - __elems_after;
- std::__uninitialized_copy_a(__position.base(), __old_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish += __elems_after;
- std::fill(__position.base(), __old_finish, __x_copy);
- }
- }
- else
- {
- const size_type __old_size = size();
- if (this->max_size() - __old_size < __n)
- __throw_length_error(__N("vector::_M_fill_insert"));
-
- // See _M_insert_aux above.
- size_type __len = __old_size + std::max(__old_size, __n);
- if (__len < __old_size)
- __len = this->max_size();
-
- pointer __new_start(this->_M_allocate(__len));
- pointer __new_finish(__new_start);
- try
- {
- __new_finish =
- std::__uninitialized_copy_a(this->_M_impl._M_start,
- __position.base(),
- __new_start,
- _M_get_Tp_allocator());
- std::__uninitialized_fill_n_a(__new_finish, __n, __x,
- _M_get_Tp_allocator());
- __new_finish += __n;
- __new_finish =
- std::__uninitialized_copy_a(__position.base(),
- this->_M_impl._M_finish,
- __new_finish,
- _M_get_Tp_allocator());
- }
- catch(...)
- {
- std::_Destroy(__new_start, __new_finish,
- _M_get_Tp_allocator());
- _M_deallocate(__new_start, __len);
- __throw_exception_again;
- }
- std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- _M_deallocate(this->_M_impl._M_start,
- this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start);
- this->_M_impl._M_start = __new_start;
- this->_M_impl._M_finish = __new_finish;
- this->_M_impl._M_end_of_storage = __new_start + __len;
- }
- }
- }
-
- template<typename _Tp, typename _Alloc> template<typename _InputIterator>
- void
- vector<_Tp, _Alloc>::
- _M_range_insert(iterator __pos, _InputIterator __first,
- _InputIterator __last, std::input_iterator_tag)
- {
- for (; __first != __last; ++__first)
- {
- __pos = insert(__pos, *__first);
- ++__pos;
- }
- }
-
- template<typename _Tp, typename _Alloc>
- template<typename _ForwardIterator>
- void
- vector<_Tp, _Alloc>::
- _M_range_insert(iterator __position, _ForwardIterator __first,
- _ForwardIterator __last, std::forward_iterator_tag)
- {
- if (__first != __last)
- {
- const size_type __n = std::distance(__first, __last);
- if (size_type(this->_M_impl._M_end_of_storage
- - this->_M_impl._M_finish) >= __n)
- {
- const size_type __elems_after = end() - __position;
- pointer __old_finish(this->_M_impl._M_finish);
- if (__elems_after > __n)
- {
- std::__uninitialized_copy_a(this->_M_impl._M_finish - __n,
- this->_M_impl._M_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish += __n;
- std::copy_backward(__position.base(), __old_finish - __n,
- __old_finish);
- std::copy(__first, __last, __position);
- }
- else
- {
- _ForwardIterator __mid = __first;
- std::advance(__mid, __elems_after);
- std::__uninitialized_copy_a(__mid, __last,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish += __n - __elems_after;
- std::__uninitialized_copy_a(__position.base(),
- __old_finish,
- this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- this->_M_impl._M_finish += __elems_after;
- std::copy(__first, __mid, __position);
- }
- }
- else
- {
- const size_type __old_size = size();
- if (this->max_size() - __old_size < __n)
- __throw_length_error(__N("vector::_M_range_insert"));
-
- // See _M_insert_aux above.
- size_type __len = __old_size + std::max(__old_size, __n);
- if (__len < __old_size)
- __len = this->max_size();
-
- pointer __new_start(this->_M_allocate(__len));
- pointer __new_finish(__new_start);
- try
- {
- __new_finish =
- std::__uninitialized_copy_a(this->_M_impl._M_start,
- __position.base(),
- __new_start,
- _M_get_Tp_allocator());
- __new_finish =
- std::__uninitialized_copy_a(__first, __last, __new_finish,
- _M_get_Tp_allocator());
- __new_finish =
- std::__uninitialized_copy_a(__position.base(),
- this->_M_impl._M_finish,
- __new_finish,
- _M_get_Tp_allocator());
- }
- catch(...)
- {
- std::_Destroy(__new_start, __new_finish,
- _M_get_Tp_allocator());
- _M_deallocate(__new_start, __len);
- __throw_exception_again;
- }
- std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
- _M_get_Tp_allocator());
- _M_deallocate(this->_M_impl._M_start,
- this->_M_impl._M_end_of_storage
- - this->_M_impl._M_start);
- this->_M_impl._M_start = __new_start;
- this->_M_impl._M_finish = __new_finish;
- this->_M_impl._M_end_of_storage = __new_start + __len;
- }
- }
- }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#endif /* _VECTOR_TCC */
diff --git a/contrib/libstdc++/include/c/std_cassert.h b/contrib/libstdc++/include/c/std_cassert.h
deleted file mode 100644
index 873eeef6ba58..000000000000
--- a/contrib/libstdc++/include/c/std_cassert.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-//
-// ISO C++ 14882: 19.2 Assertions
-//
-
-// No include guards on this header...
-
-#pragma GCC system_header
-
-#include_next <assert.h>
diff --git a/contrib/libstdc++/include/c/std_cctype.h b/contrib/libstdc++/include/c/std_cctype.h
deleted file mode 100644
index 103dd379bbe4..000000000000
--- a/contrib/libstdc++/include/c/std_cctype.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: <ccytpe>
-//
-
-#ifndef _GLIBCXX_CCTYPE
-#define _GLIBCXX_CCTYPE 1
-
-#pragma GCC system_header
-
-#include_next <ctype.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cerrno.h b/contrib/libstdc++/include/c/std_cerrno.h
deleted file mode 100644
index e27c3619dfdb..000000000000
--- a/contrib/libstdc++/include/c/std_cerrno.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
- */
-
-//
-// ISO C++ 14882: 19.3 Error numbers
-//
-
-#ifndef _GLIBCXX_CERRNO
-#define _GLIBCXX_CERRNO 1
-
-#pragma GCC system_header
-
-#include_next <errno.h>
-
-// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
-#ifndef errno
-#define errno errno
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cfloat.h b/contrib/libstdc++/include/c/std_cfloat.h
deleted file mode 100644
index 3cf6b9b0b972..000000000000
--- a/contrib/libstdc++/include/c/std_cfloat.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-#ifndef _GLIBCXX_CFLOAT
-#define _GLIBCXX_CFLOAT 1
-
-#pragma GCC system_header
-
-#include_next <float.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_ciso646.h b/contrib/libstdc++/include/c/std_ciso646.h
deleted file mode 100644
index 4ffd3bb1a9b1..000000000000
--- a/contrib/libstdc++/include/c/std_ciso646.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2001 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.
- */
diff --git a/contrib/libstdc++/include/c/std_climits.h b/contrib/libstdc++/include/c/std_climits.h
deleted file mode 100644
index ca9db692e6d1..000000000000
--- a/contrib/libstdc++/include/c/std_climits.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-#ifndef _GLIBCXX_CLIMITS
-#define _GLIBCXX_CLIMITS 1
-
-#pragma GCC system_header
-
-#include_next <limits.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_clocale.h b/contrib/libstdc++/include/c/std_clocale.h
deleted file mode 100644
index 7642222b2e6b..000000000000
--- a/contrib/libstdc++/include/c/std_clocale.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 18.2.2 Implementation properties: C library
-//
-
-#ifndef _GLIBCXX_CLOCALE
-#define _GLIBCXX_CLOCALE 1
-
-#pragma GCC system_header
-
-#include_next <locale.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cmath.h b/contrib/libstdc++/include/c/std_cmath.h
deleted file mode 100644
index 18c1fb2e5b26..000000000000
--- a/contrib/libstdc++/include/c/std_cmath.h
+++ /dev/null
@@ -1,124 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 26.5 C library
-//
-
-#ifndef _GLIBCXX_CMATH
-#define _GLIBCXX_CMATH 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-
-#include_next <math.h>
-
-// 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
-
-#undef fpclassify
-#undef isfinite
-#undef isinf
-#undef isnan
-#undef isnormal
-#undef signbit
-#undef isgreater
-#undef isgreaterequal
-#undef isless
-#undef islessequal
-#undef islessgreater
-#undef isunordered
-
-namespace std
-{
- 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); }
-
-#if _GLIBCXX_HAVE_MODFF
- inline float
- modf(float __x, float* __iptr) { return modff(__x, __iptr); }
-#else
- inline float
- modf(float __x, float* __iptr)
- {
- double __tmp;
- double __res = modf(static_cast<double>(__x), &__tmp);
- *__iptr = static_cast<float>(__tmp);
- return __res;
- }
-#endif
-
-#if _GLIBCXX_HAVE_MODFL
- inline long double
- modf(long double __x, long double* __iptr) { return modfl(__x, __iptr); }
-#else
- inline long double
- modf(long double __x, long double* __iptr)
- {
- double __tmp;
- double __res = modf(static_cast<double>(__x), &__tmp);
- * __iptr = static_cast<long double>(__tmp);
- return __res;
- }
-#endif
-}
-#endif
diff --git a/contrib/libstdc++/include/c/std_csetjmp.h b/contrib/libstdc++/include/c/std_csetjmp.h
deleted file mode 100644
index 1926bccfbbae..000000000000
--- a/contrib/libstdc++/include/c/std_csetjmp.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _GLIBCXX_CSETJMP
-#define _GLIBCXX_CSETJMP 1
-
-#pragma GCC system_header
-
-#include_next <setjmp.h>
-
-// 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) std::setjmp (env)
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_csignal.h b/contrib/libstdc++/include/c/std_csignal.h
deleted file mode 100644
index 37bacaecae6a..000000000000
--- a/contrib/libstdc++/include/c/std_csignal.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _GLIBCXX_CSIGNAL
-#define _GLIBCXX_CSIGNAL 1
-
-#pragma GCC system_header
-
-#include_next <signal.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cstdarg.h b/contrib/libstdc++/include/c/std_cstdarg.h
deleted file mode 100644
index 00aa001d43cc..000000000000
--- a/contrib/libstdc++/include/c/std_cstdarg.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _GLIBCXX_CSTDARG
-#define _GLIBCXX_CSTDARG 1
-
-#pragma GCC system_header
-
-#undef __need___va_list
-#include_next <stdarg.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cstddef.h b/contrib/libstdc++/include/c/std_cstddef.h
deleted file mode 100644
index 33269af6ba00..000000000000
--- a/contrib/libstdc++/include/c/std_cstddef.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 18.1 Types
-//
-
-#ifndef _GLIBCXX_CSTDDEF
-#define _GLIBCXX_CSTDDEF 1
-
-#pragma GCC system_header
-
-#define __need_size_t
-#define __need_ptrdiff_t
-#define __need_NULL
-#define __need_offsetof
-#include_next <stddef.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cstdio.h b/contrib/libstdc++/include/c/std_cstdio.h
deleted file mode 100644
index 5cb8bcfcf97a..000000000000
--- a/contrib/libstdc++/include/c/std_cstdio.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 27.8.2 C Library files
-//
-
-#ifndef _GLIBCXX_CSTDIO
-#define _GLIBCXX_CSTDIO 1
-
-#pragma GCC system_header
-
-#include_next <stdio.h>
-
-// 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
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cstdlib.h b/contrib/libstdc++/include/c/std_cstdlib.h
deleted file mode 100644
index 85f5bf762079..000000000000
--- a/contrib/libstdc++/include/c/std_cstdlib.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _GLIBCXX_CSTDLIB
-#define _GLIBCXX_CSTDLIB 1
-
-#pragma GCC system_header
-
-#include_next <stdlib.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cstring.h b/contrib/libstdc++/include/c/std_cstring.h
deleted file mode 100644
index ed7719c317e6..000000000000
--- a/contrib/libstdc++/include/c/std_cstring.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-//
-// ISO C++ 14882: 20.4.6 C library
-//
-
-#ifndef _GLIBCXX_CSTRING
-#define _GLIBCXX_CSTRING 1
-
-#pragma GCC system_header
-
-#include_next <string.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_ctime.h b/contrib/libstdc++/include/c/std_ctime.h
deleted file mode 100644
index 1d2bd3fd4e13..000000000000
--- a/contrib/libstdc++/include/c/std_ctime.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 20.5 Date and time
-//
-
-#ifndef _GLIBCXX_CTIME
-#define _GLIBCXX_CTIME 1
-
-#pragma GCC system_header
-
-#include_next <time.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cwchar.h b/contrib/libstdc++/include/c/std_cwchar.h
deleted file mode 100644
index 69576b5035b2..000000000000
--- a/contrib/libstdc++/include/c/std_cwchar.h
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 21.4
-//
-
-#ifndef _GLIBCXX_CWCHAR
-#define _GLIBCXX_CWCHAR 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <ctime>
-
-#if _GLIBCXX_HAVE_WCHAR_H
-#include_next <wchar.h>
-#endif
-
-// 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
-namespace std
-{
- extern "C"
- {
- typedef struct
- {
- int __fill[6];
- } mbstate_t;
- }
-}
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/c/std_cwctype.h b/contrib/libstdc++/include/c/std_cwctype.h
deleted file mode 100644
index a91676006e3e..000000000000
--- a/contrib/libstdc++/include/c/std_cwctype.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// -*- C++ -*- forwarding header.
-
-// Copyright (C) 2000, 2002, 2003 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.
-
-//
-// ISO C++ 14882: <cwctype>
-//
-
-#ifndef _GLIBCXX_CWCTYPE
-#define _GLIBCXX_CWCTYPE 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_HAVE_WCTYPE_H
-#include_next <wctype.h>
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/assert.h b/contrib/libstdc++/include/c_compatibility/assert.h
deleted file mode 100644
index fc14c0f4bcdf..000000000000
--- a/contrib/libstdc++/include/c_compatibility/assert.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#include <cassert>
diff --git a/contrib/libstdc++/include/c_compatibility/ctype.h b/contrib/libstdc++/include/c_compatibility/ctype.h
deleted file mode 100644
index 1bd379dee4db..000000000000
--- a/contrib/libstdc++/include/c_compatibility/ctype.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_CTYPE_H
-#define _GLIBCXX_CTYPE_H 1
-
-#include <cctype>
-
-using std::isalnum;
-using std::isalpha;
-using std::iscntrl;
-using std::isdigit;
-using std::isgraph;
-using std::islower;
-using std::isprint;
-using std::ispunct;
-using std::isspace;
-using std::isupper;
-using std::isxdigit;
-using std::tolower;
-using std::toupper;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/errno.h b/contrib/libstdc++/include/c_compatibility/errno.h
deleted file mode 100644
index d7cc829452bf..000000000000
--- a/contrib/libstdc++/include/c_compatibility/errno.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_ERRNO_H
-#define _GLIBCXX_ERRNO_H 1
-
-#include <cerrno>
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/float.h b/contrib/libstdc++/include/c_compatibility/float.h
deleted file mode 100644
index adeb73fef83f..000000000000
--- a/contrib/libstdc++/include/c_compatibility/float.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_FLOAT_H
-#define _GLIBCXX_FLOAT_H 1
-
-#include <cfloat>
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/iso646.h b/contrib/libstdc++/include/c_compatibility/iso646.h
deleted file mode 100644
index d5097ca72516..000000000000
--- a/contrib/libstdc++/include/c_compatibility/iso646.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_ISO646_H
-#define _GLIBCXX_ISO646_H 1
-
-#include <ciso646>
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/limits.h b/contrib/libstdc++/include/c_compatibility/limits.h
deleted file mode 100644
index e7abd017fbff..000000000000
--- a/contrib/libstdc++/include/c_compatibility/limits.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_LIMITS_H
-#define _GLIBCXX_LIMITS_H 1
-
-#include <climits>
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/locale.h b/contrib/libstdc++/include/c_compatibility/locale.h
deleted file mode 100644
index 8baf041e20f2..000000000000
--- a/contrib/libstdc++/include/c_compatibility/locale.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_LOCALE_H
-#define _GLIBCXX_LOCALE_H 1
-
-#include <clocale>
-
-using std::lconv;
-using std::setlocale;
-using std::localeconv;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/math.h b/contrib/libstdc++/include/c_compatibility/math.h
deleted file mode 100644
index 38636e60c1bb..000000000000
--- a/contrib/libstdc++/include/c_compatibility/math.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_MATH_H
-#define _GLIBCXX_MATH_H 1
-
-#include <cmath>
-
-using std::abs;
-using std::acos;
-using std::asin;
-using std::atan;
-using std::atan2;
-using std::cos;
-using std::sin;
-using std::tan;
-using std::cosh;
-using std::sinh;
-using std::tanh;
-using std::exp;
-using std::frexp;
-using std::ldexp;
-using std::log;
-using std::log10;
-using std::modf;
-using std::pow;
-using std::sqrt;
-using std::ceil;
-using std::fabs;
-using std::floor;
-using std::fmod;
-
-#if _GLIBCXX_USE_C99
-using std::fpclassify;
-using std::isfinite;
-using std::isinf;
-using std::isnan;
-using std::isnormal;
-using std::signbit;
-using std::isgreater;
-using std::isgreaterequal;
-using std::isless;
-using std::islessequal;
-using std::islessgreater;
-using std::isunordered;
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/setjmp.h b/contrib/libstdc++/include/c_compatibility/setjmp.h
deleted file mode 100644
index f2d481ae17da..000000000000
--- a/contrib/libstdc++/include/c_compatibility/setjmp.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_SETJMP_H
-#define _GLIBCXX_SETJMP_H 1
-
-#include <csetjmp>
-
-using std::jmp_buf;
-using std::longjmp;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/signal.h b/contrib/libstdc++/include/c_compatibility/signal.h
deleted file mode 100644
index ae1d23d56af0..000000000000
--- a/contrib/libstdc++/include/c_compatibility/signal.h
+++ /dev/null
@@ -1,40 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_SIGNAL_H
-#define _GLIBCXX_SIGNAL_H 1
-
-#include <csignal>
-
-using std::sig_atomic_t;
-
-using std::raise;
-using std::signal;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/stdarg.h b/contrib/libstdc++/include/c_compatibility/stdarg.h
deleted file mode 100644
index 9b92a93f9c2e..000000000000
--- a/contrib/libstdc++/include/c_compatibility/stdarg.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_STDARG_H
-#define _GLIBCXX_STDARG_H 1
-
-#include <cstdarg>
-
-using std::va_list;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/stddef.h b/contrib/libstdc++/include/c_compatibility/stddef.h
deleted file mode 100644
index 457cd0062d2d..000000000000
--- a/contrib/libstdc++/include/c_compatibility/stddef.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_STDDEF_H
-#define _GLIBCXX_STDDEF_H 1
-
-#include <cstddef>
-
-using std::size_t;
-using std::ptrdiff_t;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/stdio.h b/contrib/libstdc++/include/c_compatibility/stdio.h
deleted file mode 100644
index 270852f5329c..000000000000
--- a/contrib/libstdc++/include/c_compatibility/stdio.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_STDIO_H
-#define _GLIBCXX_STDIO_H 1
-
-#include <cstdio>
-
-using std::FILE;
-using std::fpos_t;
-
-using std::remove;
-using std::rename;
-using std::tmpfile;
-using std::tmpnam;
-using std::fclose;
-using std::fflush;
-using std::fopen;
-using std::freopen;
-using std::setbuf;
-using std::setvbuf;
-using std::fprintf;
-using std::fscanf;
-using std::printf;
-using std::scanf;
-using std::snprintf;
-using std::sprintf;
-using std::sscanf;
-using std::vfprintf;
-using std::vfscanf;
-using std::vprintf;
-using std::vscanf;
-using std::vsnprintf;
-using std::vsprintf;
-using std::vsscanf;
-using std::fgetc;
-using std::fgets;
-using std::fputc;
-using std::fputs;
-using std::getc;
-using std::getchar;
-using std::gets;
-using std::putc;
-using std::putchar;
-using std::puts;
-using std::ungetc;
-using std::fread;
-using std::fwrite;
-using std::fgetpos;
-using std::fseek;
-using std::fsetpos;
-using std::ftell;
-using std::rewind;
-using std::clearerr;
-using std::feof;
-using std::ferror;
-using std::perror;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/stdlib.h b/contrib/libstdc++/include/c_compatibility/stdlib.h
deleted file mode 100644
index dbf99b4a58f2..000000000000
--- a/contrib/libstdc++/include/c_compatibility/stdlib.h
+++ /dev/null
@@ -1,67 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_STDLIB_H
-#define _GLIBCXX_STDLIB_H 1
-
-#include <cstdlib>
-
-using std::div_t;
-using std::ldiv_t;
-
-using std::abort;
-using std::abs;
-using std::atexit;
-using std::atof;
-using std::atoi;
-using std::atol;
-using std::bsearch;
-using std::calloc;
-using std::div;
-using std::exit;
-using std::free;
-using std::getenv;
-using std::labs;
-using std::ldiv;
-using std::malloc;
-using std::mblen;
-using std::mbstowcs;
-using std::mbtowc;
-using std::qsort;
-using std::rand;
-using std::realloc;
-using std::srand;
-using std::strtod;
-using std::strtol;
-using std::strtoul;
-using std::system;
-using std::wcstombs;
-using std::wctomb;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/string.h b/contrib/libstdc++/include/c_compatibility/string.h
deleted file mode 100644
index 09e59cfef2c2..000000000000
--- a/contrib/libstdc++/include/c_compatibility/string.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_STRING_H
-#define _GLIBCXX_STRING_H 1
-
-#include <cstring>
-
-using std::memcpy;
-using std::memmove;
-using std::strcpy;
-using std::strncpy;
-using std::strcat;
-using std::strncat;
-using std::memcmp;
-using std::strcmp;
-using std::strcoll;
-using std::strncmp;
-using std::strxfrm;
-using std::memchr;
-using std::strchr;
-using std::strcspn;
-using std::strpbrk;
-using std::strrchr;
-using std::strspn;
-using std::strstr;
-using std::strtok;
-using std::memset;
-using std::strerror;
-using std::strlen;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/time.h b/contrib/libstdc++/include/c_compatibility/time.h
deleted file mode 100644
index d5684adf2d98..000000000000
--- a/contrib/libstdc++/include/c_compatibility/time.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_TIME_H
-#define _GLIBCXX_TIME_H 1
-
-#include <ctime>
-
-// Get rid of those macros defined in <time.h> in lieu of real functions.
-#undef clock
-#undef difftime
-#undef mktime
-#undef time
-#undef asctime
-#undef ctime
-#undef gmtime
-#undef localtime
-#undef strftime
-
-using std::clock_t;
-using std::time_t;
-using std::tm;
-
-using std::clock;
-using std::difftime;
-using std::mktime;
-using std::time;
-using std::asctime;
-using std::ctime;
-using std::gmtime;
-using std::localtime;
-using std::strftime;
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/wchar.h b/contrib/libstdc++/include/c_compatibility/wchar.h
deleted file mode 100644
index 2071ae436de4..000000000000
--- a/contrib/libstdc++/include/c_compatibility/wchar.h
+++ /dev/null
@@ -1,114 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002, 2003 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.
-
-#ifndef _GLIBCXX_WCHAR_H
-#define _GLIBCXX_WCHAR_H 1
-
-#include <cwchar>
-
-using std::mbstate_t;
-
-#if _GLIBCXX_USE_WCHAR_T
-using std::wint_t;
-
-using std::btowc;
-using std::wctob;
-using std::fgetwc;
-using std::fgetwc;
-using std::fgetws;
-using std::fputwc;
-using std::fputws;
-using std::fwide;
-using std::fwprintf;
-using std::fwscanf;
-using std::swprintf;
-using std::swscanf;
-using std::vfwprintf;
-#if _GLIBCXX_HAVE_VFWSCANF
-using std::vfwscanf;
-#endif
-using std::vswprintf;
-#if _GLIBCXX_HAVE_VSWSCANF
-using std::vswscanf;
-#endif
-using std::vwprintf;
-#if _GLIBCXX_HAVE_VWSCANF
-using std::vwscanf;
-#endif
-using std::wprintf;
-using std::wscanf;
-using std::getwc;
-using std::getwchar;
-using std::mbsinit;
-using std::mbrlen;
-using std::mbrtowc;
-using std::mbsrtowcs;
-using std::wcsrtombs;
-using std::putwc;
-using std::putwchar;
-using std::ungetwc;
-using std::wcrtomb;
-using std::wcstod;
-#if _GLIBCXX_HAVE_WCSTOF
-using std::wcstof;
-#endif
-using std::wcstol;
-using std::wcstoul;
-using std::wcscpy;
-using std::wcsncpy;
-using std::wcscat;
-using std::wcsncat;
-using std::wcscmp;
-using std::wcscoll;
-using std::wcsncmmp;
-using std::wcsxfrm;
-using std::wcschr;
-using std::wcscspn;
-using std::wcslen;
-using std::wcspbrk;
-using std::wcsrchr;
-using std::wcsspn;
-using std::wcsstr;
-using std::wcstok;
-using std::wmemchr;
-using std::wmemcmp;
-using std::wmemcpy;
-using std::wmemmove;
-using std::wmemset;
-using std::wcsftime;
-
-#if _GLIBCXX_USE_C99
-using std::wcstold;
-using std::wcstoll;
-using std::wcstoull;
-#endif
-
-#endif //_GLIBCXX_USE_WCHAR_T
-
-#endif
diff --git a/contrib/libstdc++/include/c_compatibility/wctype.h b/contrib/libstdc++/include/c_compatibility/wctype.h
deleted file mode 100644
index c7ddc903ab91..000000000000
--- a/contrib/libstdc++/include/c_compatibility/wctype.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// -*- C++ -*- compatibility header.
-
-// Copyright (C) 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-#ifndef _GLIBCXX_CWCTYPE_H
-#define _GLIBCXX_CWCTYPE_H 1
-
-#include <cwctype>
-
-using std::wctype_t;
-using std::wctrans_t;
-using std::iswalpha;
-using std::iswupper;
-using std::iswlower;
-using std::iswdigit;
-using std::iswxdigit;
-using std::iswalnum;
-using std::iswspace;
-using std::iswpunct;
-using std::iswprint;
-using std::iswgraph;
-using std::iswcntrl;
-using std::iswctype;
-using std::towctrans;
-using std::towlower;
-using std::towupper;
-using std::wctrans;
-using std::wctype;
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/cmath.tcc b/contrib/libstdc++/include/c_std/cmath.tcc
deleted file mode 100644
index 472324af03ed..000000000000
--- a/contrib/libstdc++/include/c_std/cmath.tcc
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- 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/contrib/libstdc++/include/c_std/std_cassert.h b/contrib/libstdc++/include/c_std/std_cassert.h
deleted file mode 100644
index 0e5c77a082df..000000000000
--- a/contrib/libstdc++/include/c_std/std_cassert.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// -*- 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 <assert.h>
diff --git a/contrib/libstdc++/include/c_std/std_cctype.h b/contrib/libstdc++/include/c_std/std_cctype.h
deleted file mode 100644
index 61a55cb73a4e..000000000000
--- a/contrib/libstdc++/include/c_std/std_cctype.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// -*- 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 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>
-//
-
-#ifndef _GLIBCXX_CCTYPE
-#define _GLIBCXX_CCTYPE 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <ctype.h>
-
-// 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
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cerrno.h b/contrib/libstdc++/include/c_std/std_cerrno.h
deleted file mode 100644
index e597b8fbd737..000000000000
--- a/contrib/libstdc++/include/c_std/std_cerrno.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// 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
-//
-
-#ifndef _GLIBCXX_CERRNO
-#define _GLIBCXX_CERRNO 1
-
-#pragma GCC system_header
-
-#include <errno.h>
-
-// Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998
-#ifndef errno
-#define errno errno
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cfloat.h b/contrib/libstdc++/include/c_std/std_cfloat.h
deleted file mode 100644
index 2b514491cf87..000000000000
--- a/contrib/libstdc++/include/c_std/std_cfloat.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CFLOAT
-#define _GLIBCXX_CFLOAT 1
-
-#pragma GCC system_header
-
-#include <float.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_ciso646.h b/contrib/libstdc++/include/c_std/std_ciso646.h
deleted file mode 100644
index 3e391b41030f..000000000000
--- a/contrib/libstdc++/include/c_std/std_ciso646.h
+++ /dev/null
@@ -1,38 +0,0 @@
-// -*- 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/contrib/libstdc++/include/c_std/std_climits.h b/contrib/libstdc++/include/c_std/std_climits.h
deleted file mode 100644
index e85869f0679e..000000000000
--- a/contrib/libstdc++/include/c_std/std_climits.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CLIMITS
-#define _GLIBCXX_CLIMITS 1
-
-#pragma GCC system_header
-
-#include <limits.h>
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_clocale.h b/contrib/libstdc++/include/c_std/std_clocale.h
deleted file mode 100644
index 51e6440bfeea..000000000000
--- a/contrib/libstdc++/include/c_std/std_clocale.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// -*- 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
-//
-
-#ifndef _GLIBCXX_CLOCALE
-#define _GLIBCXX_CLOCALE 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <locale.h>
-
-// 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/contrib/libstdc++/include/c_std/std_cmath.h b/contrib/libstdc++/include/c_std/std_cmath.h
deleted file mode 100644
index a5cb69a4891c..000000000000
--- a/contrib/libstdc++/include/c_std/std_cmath.h
+++ /dev/null
@@ -1,602 +0,0 @@
-// -*- 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
-//
-
-#ifndef _GLIBCXX_CMATH
-#define _GLIBCXX_CMATH 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/cpp_type_traits.h>
-#include <ext/type_traits.h>
-
-#include <math.h>
-
-// 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
-using std::isnan;
-using std::isinf;
-
-#endif /* _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC */
-#endif
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/cmath.tcc>
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_csetjmp.h b/contrib/libstdc++/include/c_std/std_csetjmp.h
deleted file mode 100644
index 946e7e3c032c..000000000000
--- a/contrib/libstdc++/include/c_std/std_csetjmp.h
+++ /dev/null
@@ -1,68 +0,0 @@
-// -*- 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
-//
-
-#ifndef _GLIBCXX_CSETJMP
-#define _GLIBCXX_CSETJMP 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <setjmp.h>
-
-// 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/contrib/libstdc++/include/c_std/std_csignal.h b/contrib/libstdc++/include/c_std/std_csignal.h
deleted file mode 100644
index 0ce5e2f77db6..000000000000
--- a/contrib/libstdc++/include/c_std/std_csignal.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- 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
-//
-
-#ifndef _GLIBCXX_CSIGNAL
-#define _GLIBCXX_CSIGNAL 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <signal.h>
-
-// 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/contrib/libstdc++/include/c_std/std_cstdarg.h b/contrib/libstdc++/include/c_std/std_cstdarg.h
deleted file mode 100644
index 53c29c843a27..000000000000
--- a/contrib/libstdc++/include/c_std/std_cstdarg.h
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CSTDARG
-#define _GLIBCXX_CSTDARG 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <stdarg.h>
-
-// 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
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cstddef.h b/contrib/libstdc++/include/c_std/std_cstddef.h
deleted file mode 100644
index bfa8388d5630..000000000000
--- a/contrib/libstdc++/include/c_std/std_cstddef.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CSTDDEF
-#define _GLIBCXX_CSTDDEF 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <stddef.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- using ::ptrdiff_t;
- using ::size_t;
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cstdio.h b/contrib/libstdc++/include/c_std/std_cstdio.h
deleted file mode 100644
index b6cb807d8ae1..000000000000
--- a/contrib/libstdc++/include/c_std/std_cstdio.h
+++ /dev/null
@@ -1,189 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CSTDIO
-#define _GLIBCXX_CSTDIO 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-
-#include <stdio.h>
-
-// 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 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 ::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
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cstdlib.h b/contrib/libstdc++/include/c_std/std_cstdlib.h
deleted file mode 100644
index 5c3d586c0e67..000000000000
--- a/contrib/libstdc++/include/c_std/std_cstdlib.h
+++ /dev/null
@@ -1,227 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CSTDLIB
-#define _GLIBCXX_CSTDLIB 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-
-#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 <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
-
-#endif // !_GLIBCXX_HOSTED
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cstring.h b/contrib/libstdc++/include/c_std/std_cstring.h
deleted file mode 100644
index 5fef6b0086e6..000000000000
--- a/contrib/libstdc++/include/c_std/std_cstring.h
+++ /dev/null
@@ -1,130 +0,0 @@
-// -*- 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
-//
-
-#ifndef _GLIBCXX_CSTRING
-#define _GLIBCXX_CSTRING 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <string.h>
-
-// 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/contrib/libstdc++/include/c_std/std_ctime.h b/contrib/libstdc++/include/c_std/std_ctime.h
deleted file mode 100644
index 9f7f15c7979f..000000000000
--- a/contrib/libstdc++/include/c_std/std_ctime.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CTIME
-#define _GLIBCXX_CTIME 1
-
-#pragma GCC system_header
-
-#include <cstddef>
-#include <time.h>
-
-// 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
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cwchar.h b/contrib/libstdc++/include/c_std/std_cwchar.h
deleted file mode 100644
index 20cb8041e790..000000000000
--- a/contrib/libstdc++/include/c_std/std_cwchar.h
+++ /dev/null
@@ -1,280 +0,0 @@
-// -*- 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 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
-//
-
-#ifndef _GLIBCXX_CWCHAR
-#define _GLIBCXX_CWCHAR 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <ctime>
-
-#if _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-
-// 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
-
-#endif
diff --git a/contrib/libstdc++/include/c_std/std_cwctype.h b/contrib/libstdc++/include/c_std/std_cwctype.h
deleted file mode 100644
index dd0032f3dd6e..000000000000
--- a/contrib/libstdc++/include/c_std/std_cwctype.h
+++ /dev/null
@@ -1,112 +0,0 @@
-// -*- 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 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>
-//
-
-#ifndef _GLIBCXX_CWCTYPE
-#define _GLIBCXX_CWCTYPE 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-// 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
-
-#endif
diff --git a/contrib/libstdc++/include/debug/bitset b/contrib/libstdc++/include/debug/bitset
deleted file mode 100644
index 58d4e6b82d91..000000000000
--- a/contrib/libstdc++/include/debug/bitset
+++ /dev/null
@@ -1,328 +0,0 @@
-// Debugging bitset implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/bitset
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_BITSET
-#define _GLIBCXX_DEBUG_BITSET
-
-#include <bitset>
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace std
-{
-namespace __debug
-{
- template<size_t _Nb>
- class bitset
- : public _GLIBCXX_STD::bitset<_Nb>,
- public __gnu_debug::_Safe_sequence_base
- {
- typedef _GLIBCXX_STD::bitset<_Nb> _Base;
- typedef __gnu_debug::_Safe_sequence_base _Safe_base;
-
- public:
- // bit reference:
- class reference
- : private _Base::reference, public __gnu_debug::_Safe_iterator_base
- {
- typedef typename _Base::reference _Base_ref;
-
- friend class bitset;
- reference();
-
- reference(const _Base_ref& __base, bitset* __seq)
- : _Base_ref(__base), _Safe_iterator_base(__seq, false)
- { }
-
- public:
- reference(const reference& __x)
- : _Base_ref(__x), _Safe_iterator_base(__x, false)
- { }
-
- reference&
- operator=(bool __x)
- {
- _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(),
- _M_message(__gnu_debug::__msg_bad_bitset_write)
- ._M_iterator(*this));
- *static_cast<_Base_ref*>(this) = __x;
- return *this;
- }
-
- reference&
- operator=(const reference& __x)
- {
- _GLIBCXX_DEBUG_VERIFY(! __x._M_singular(),
- _M_message(__gnu_debug::__msg_bad_bitset_read)
- ._M_iterator(__x));
- _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(),
- _M_message(__gnu_debug::__msg_bad_bitset_write)
- ._M_iterator(*this));
- *static_cast<_Base_ref*>(this) = __x;
- return *this;
- }
-
- bool
- operator~() const
- {
- _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(),
- _M_message(__gnu_debug::__msg_bad_bitset_read)
- ._M_iterator(*this));
- return ~(*static_cast<const _Base_ref*>(this));
- }
-
- operator bool() const
- {
- _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(),
- _M_message(__gnu_debug::__msg_bad_bitset_read)
- ._M_iterator(*this));
- return *static_cast<const _Base_ref*>(this);
- }
-
- reference&
- flip()
- {
- _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(),
- _M_message(__gnu_debug::__msg_bad_bitset_flip)
- ._M_iterator(*this));
- _Base_ref::flip();
- return *this;
- }
- };
-
- // 23.3.5.1 constructors:
- bitset() : _Base() { }
-
- bitset(unsigned long __val) : _Base(__val) { }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- explicit
- bitset(const std::basic_string<_CharT,_Traits,_Allocator>& __str,
- typename std::basic_string<_CharT,_Traits,_Allocator>::size_type
- __pos = 0,
- typename std::basic_string<_CharT,_Traits,_Allocator>::size_type
- __n = (std::basic_string<_CharT,_Traits,_Allocator>::npos))
- : _Base(__str, __pos, __n) { }
-
- bitset(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- // 23.3.5.2 bitset operations:
- bitset<_Nb>&
- operator&=(const bitset<_Nb>& __rhs)
- {
- _M_base() &= __rhs;
- return *this;
- }
-
- bitset<_Nb>&
- operator|=(const bitset<_Nb>& __rhs)
- {
- _M_base() |= __rhs;
- return *this;
- }
-
- bitset<_Nb>&
- operator^=(const bitset<_Nb>& __rhs)
- {
- _M_base() ^= __rhs;
- return *this;
- }
-
- bitset<_Nb>&
- operator<<=(size_t __pos)
- {
- _M_base() <<= __pos;
- return *this;
- }
-
- bitset<_Nb>&
- operator>>=(size_t __pos)
- {
- _M_base() >>= __pos;
- return *this;
- }
-
- bitset<_Nb>&
- set()
- {
- _Base::set();
- return *this;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 186. bitset::set() second parameter should be bool
- bitset<_Nb>&
- set(size_t __pos, bool __val = true)
- {
- _Base::set(__pos, __val);
- return *this;
- }
-
- bitset<_Nb>&
- reset()
- {
- _Base::reset();
- return *this;
- }
-
- bitset<_Nb>&
- reset(size_t __pos)
- {
- _Base::reset(__pos);
- return *this;
- }
-
- bitset<_Nb> operator~() const { return bitset(~_M_base()); }
-
- bitset<_Nb>&
- flip()
- {
- _Base::flip();
- return *this;
- }
-
- bitset<_Nb>&
- flip(size_t __pos)
- {
- _Base::flip(__pos);
- return *this;
- }
-
- // element access:
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 11. Bitset minor problems
- reference
- operator[](size_t __pos)
- {
- __glibcxx_check_subscript(__pos);
- return reference(_M_base()[__pos], this);
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 11. Bitset minor problems
- bool
- operator[](size_t __pos) const
- {
- __glibcxx_check_subscript(__pos);
- return _M_base()[__pos];
- }
-
- using _Base::to_ulong;
-
- template <typename _CharT, typename _Traits, typename _Allocator>
- std::basic_string<_CharT, _Traits, _Allocator>
- to_string() const
- { return _M_base().template to_string<_CharT, _Traits, _Allocator>(); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 434. bitset::to_string() hard to use.
- template<typename _CharT, typename _Traits>
- std::basic_string<_CharT, _Traits, std::allocator<_CharT> >
- to_string() const
- { return to_string<_CharT, _Traits, std::allocator<_CharT> >(); }
-
- template<typename _CharT>
- std::basic_string<_CharT, std::char_traits<_CharT>,
- std::allocator<_CharT> >
- to_string() const
- {
- return to_string<_CharT, std::char_traits<_CharT>,
- std::allocator<_CharT> >();
- }
-
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- to_string() const
- {
- return to_string<char,std::char_traits<char>,std::allocator<char> >();
- }
-
- using _Base::count;
- using _Base::size;
-
- bool
- operator==(const bitset<_Nb>& __rhs) const
- { return _M_base() == __rhs; }
-
- bool
- operator!=(const bitset<_Nb>& __rhs) const
- { return _M_base() != __rhs; }
-
- using _Base::test;
- using _Base::any;
- using _Base::none;
-
- bitset<_Nb>
- operator<<(size_t __pos) const
- { return bitset<_Nb>(_M_base() << __pos); }
-
- bitset<_Nb>
- operator>>(size_t __pos) const
- { return bitset<_Nb>(_M_base() >> __pos); }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
- };
-
- template<size_t _Nb>
- bitset<_Nb>
- operator&(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
- { return bitset<_Nb>(__x) &= __y; }
-
- template<size_t _Nb>
- bitset<_Nb>
- operator|(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
- { return bitset<_Nb>(__x) |= __y; }
-
- template<size_t _Nb>
- bitset<_Nb>
- operator^(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
- { return bitset<_Nb>(__x) ^= __y; }
-
- template<typename _CharT, typename _Traits, size_t _Nb>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x)
- { return __is >> __x._M_base(); }
-
- template<typename _CharT, typename _Traits, size_t _Nb>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const bitset<_Nb>& __x)
- { return __os << __x._M_base(); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/debug/debug.h b/contrib/libstdc++/include/debug/debug.h
deleted file mode 100644
index b914a2cca4de..000000000000
--- a/contrib/libstdc++/include/debug/debug.h
+++ /dev/null
@@ -1,145 +0,0 @@
-// Debugging support implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/debug.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_MACRO_SWITCH_H
-#define _GLIBCXX_DEBUG_MACRO_SWITCH_H 1
-
-/** Macros and namespaces used by the implementation outside of debug
- * wrappers to verify certain properties. The __glibcxx_requires_xxx
- * macros are merely wrappers around the __glibcxx_check_xxx wrappers
- * when we are compiling with debug mode, but disappear when we are
- * in release mode so that there is no checking performed in, e.g.,
- * the standard library algorithms.
-*/
-
-// Debug mode namespaces.
-namespace std
-{
- namespace __debug { }
-}
-
-namespace __gnu_cxx
-{
- namespace __debug { };
-}
-
-namespace __gnu_debug
-{
- using namespace std::__debug;
- using namespace __gnu_cxx::__debug;
-}
-
-#ifndef _GLIBCXX_DEBUG
-
-# define _GLIBCXX_DEBUG_ASSERT(_Condition)
-# define _GLIBCXX_DEBUG_PEDASSERT(_Condition)
-# define _GLIBCXX_DEBUG_ONLY(_Statement) ;
-# define __glibcxx_requires_cond(_Cond,_Msg)
-# define __glibcxx_requires_valid_range(_First,_Last)
-# define __glibcxx_requires_sorted(_First,_Last)
-# define __glibcxx_requires_sorted_pred(_First,_Last,_Pred)
-# define __glibcxx_requires_partitioned(_First,_Last,_Value)
-# define __glibcxx_requires_partitioned_pred(_First,_Last,_Value,_Pred)
-# define __glibcxx_requires_heap(_First,_Last)
-# define __glibcxx_requires_heap_pred(_First,_Last,_Pred)
-# define __glibcxx_requires_nonempty()
-# define __glibcxx_requires_string(_String)
-# define __glibcxx_requires_string_len(_String,_Len)
-# define __glibcxx_requires_subscript(_N)
-
-#else
-
-# include <cstdlib>
-# include <cstdio>
-# include <debug/macros.h>
-
-namespace std
-{
- namespace __debug
- {
- // Avoid the use of assert, because we're trying to keep the <cassert>
- // include out of the mix.
- inline void
- __replacement_assert(const char* __file, int __line,
- const char* __function, const char* __condition)
- {
- printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line,
- __function, __condition);
- abort();
- }
- } // namespace __debug
-} // namespace std
-
-#define _GLIBCXX_DEBUG_ASSERT(_Condition) \
- do \
- { \
- if (! (_Condition)) \
- std::__debug::__replacement_assert(__FILE__, __LINE__, \
- __PRETTY_FUNCTION__, #_Condition); \
- } while (false)
-
-#ifdef _GLIBCXX_DEBUG_PEDANTIC
-# define _GLIBCXX_DEBUG_PEDASSERT(_Condition) _GLIBCXX_DEBUG_ASSERT(_Condition)
-#else
-# define _GLIBCXX_DEBUG_PEDASSERT(_Condition)
-#endif
-# define _GLIBCXX_DEBUG_ONLY(_Statement) _Statement
-
-# define __glibcxx_requires_cond(_Cond,_Msg) _GLIBCXX_DEBUG_VERIFY(_Cond,_Msg)
-# define __glibcxx_requires_valid_range(_First,_Last) \
- __glibcxx_check_valid_range(_First,_Last)
-# define __glibcxx_requires_sorted(_First,_Last) \
- __glibcxx_check_sorted(_First,_Last)
-# define __glibcxx_requires_sorted_pred(_First,_Last,_Pred) \
- __glibcxx_check_sorted_pred(_First,_Last,_Pred)
-# define __glibcxx_requires_partitioned(_First,_Last,_Value) \
- __glibcxx_check_partitioned(_First,_Last,_Value)
-# define __glibcxx_requires_partitioned_pred(_First,_Last,_Value,_Pred) \
- __glibcxx_check_partitioned_pred(_First,_Last,_Value,_Pred)
-# define __glibcxx_requires_heap(_First,_Last) \
- __glibcxx_check_heap(_First,_Last)
-# define __glibcxx_requires_heap_pred(_First,_Last,_Pred) \
- __glibcxx_check_heap_pred(_First,_Last,_Pred)
-# define __glibcxx_requires_nonempty() __glibcxx_check_nonempty()
-# define __glibcxx_requires_string(_String) __glibcxx_check_string(_String)
-# define __glibcxx_requires_string_len(_String,_Len) \
- __glibcxx_check_string_len(_String,_Len)
-# define __glibcxx_requires_subscript(_N) __glibcxx_check_subscript(_N)
-
-# include <debug/functions.h>
-# include <debug/formatter.h>
-
-#endif
-
-#endif // _GLIBCXX_DEBUG_MACRO_SWITCH_H
diff --git a/contrib/libstdc++/include/debug/deque b/contrib/libstdc++/include/debug/deque
deleted file mode 100644
index 79142d9ef2a4..000000000000
--- a/contrib/libstdc++/include/debug/deque
+++ /dev/null
@@ -1,393 +0,0 @@
-// Debugging deque implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/deque
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_DEQUE
-#define _GLIBCXX_DEBUG_DEQUE 1
-
-#include <deque>
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace std
-{
-namespace __debug
-{
- template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
- class deque
- : public _GLIBCXX_STD::deque<_Tp, _Allocator>,
- public __gnu_debug::_Safe_sequence<deque<_Tp, _Allocator> >
- {
- typedef _GLIBCXX_STD::deque<_Tp, _Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<deque> _Safe_base;
-
- public:
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator,deque>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,deque>
- const_iterator;
-
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
-
- typedef _Tp value_type;
- typedef _Allocator allocator_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // 23.2.1.1 construct/copy/destroy:
- explicit deque(const _Allocator& __a = _Allocator())
- : _Base(__a) { }
-
- explicit deque(size_type __n, const _Tp& __value = _Tp(),
- const _Allocator& __a = _Allocator())
- : _Base(__n, __value, __a) { }
-
- template<class _InputIterator>
- deque(_InputIterator __first, _InputIterator __last,
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__first, __last), __last, __a)
- { }
-
- deque(const deque<_Tp,_Allocator>& __x) : _Base(__x), _Safe_base() { }
-
- deque(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- ~deque() { }
-
- deque<_Tp,_Allocator>&
- operator=(const deque<_Tp,_Allocator>& __x)
- {
- *static_cast<_Base*>(this) = __x;
- this->_M_invalidate_all();
- return *this;
- }
-
- template<class _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::assign(__first, __last);
- this->_M_invalidate_all();
- }
-
- void
- assign(size_type __n, const _Tp& __t)
- {
- _Base::assign(__n, __t);
- this->_M_invalidate_all();
- }
-
- using _Base::get_allocator;
-
- // iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // 23.2.1.2 capacity:
- using _Base::size;
- using _Base::max_size;
-
- void
- resize(size_type __sz, _Tp __c = _Tp())
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_After_nth_from<_Base_const_iterator> _After_nth;
-
- bool __invalidate_all = __sz > this->size();
- if (__sz < this->size())
- this->_M_invalidate_if(_After_nth(__sz, _M_base().begin()));
-
- _Base::resize(__sz, __c);
-
- if (__invalidate_all)
- this->_M_invalidate_all();
- }
-
- using _Base::empty;
-
- // element access:
- reference
- operator[](size_type __n)
- {
- __glibcxx_check_subscript(__n);
- return _M_base()[__n];
- }
-
- const_reference
- operator[](size_type __n) const
- {
- __glibcxx_check_subscript(__n);
- return _M_base()[__n];
- }
-
- using _Base::at;
-
- reference
- front()
- {
- __glibcxx_check_nonempty();
- return _Base::front();
- }
-
- const_reference
- front() const
- {
- __glibcxx_check_nonempty();
- return _Base::front();
- }
-
- reference
- back()
- {
- __glibcxx_check_nonempty();
- return _Base::back();
- }
-
- const_reference
- back() const
- {
- __glibcxx_check_nonempty();
- return _Base::back();
- }
-
- // 23.2.1.3 modifiers:
- void
- push_front(const _Tp& __x)
- {
- _Base::push_front(__x);
- this->_M_invalidate_all();
- }
-
- void
- push_back(const _Tp& __x)
- {
- _Base::push_back(__x);
- this->_M_invalidate_all();
- }
-
- iterator
- insert(iterator __position, const _Tp& __x)
- {
- __glibcxx_check_insert(__position);
- typename _Base::iterator __res = _Base::insert(__position.base(), __x);
- this->_M_invalidate_all();
- return iterator(__res, this);
- }
-
- void
- insert(iterator __position, size_type __n, const _Tp& __x)
- {
- __glibcxx_check_insert(__position);
- _Base::insert(__position.base(), __n, __x);
- this->_M_invalidate_all();
- }
-
- template<class _InputIterator>
- void
- insert(iterator __position,
- _InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_insert_range(__position, __first, __last);
- _Base::insert(__position.base(), __first, __last);
- this->_M_invalidate_all();
- }
-
- void
- pop_front()
- {
- __glibcxx_check_nonempty();
- iterator __victim = begin();
- __victim._M_invalidate();
- _Base::pop_front();
- }
-
- void
- pop_back()
- {
- __glibcxx_check_nonempty();
- iterator __victim = end();
- --__victim;
- __victim._M_invalidate();
- _Base::pop_back();
- }
-
- iterator
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- if (__position == begin() || __position == end()-1)
- {
- __position._M_invalidate();
- return iterator(_Base::erase(__position.base()), this);
- }
- else
- {
- typename _Base::iterator __res = _Base::erase(__position.base());
- this->_M_invalidate_all();
- return iterator(__res, this);
- }
- }
-
- iterator
- erase(iterator __first, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__first, __last);
- if (__first == begin() || __last == end())
- {
- this->_M_detach_singular();
- for (iterator __position = __first; __position != __last; )
- {
- iterator __victim = __position++;
- __victim._M_invalidate();
- }
- try
- {
- return iterator(_Base::erase(__first.base(), __last.base()),
- this);
- }
- catch (...)
- {
- this->_M_revalidate_singular();
- __throw_exception_again;
- }
- }
- else
- {
- typename _Base::iterator __res = _Base::erase(__first.base(),
- __last.base());
- this->_M_invalidate_all();
- return iterator(__res, this);
- }
- }
-
- void
- swap(deque<_Tp,_Allocator>& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
- };
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator==(const deque<_Tp, _Alloc>& __lhs,
- const deque<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator!=(const deque<_Tp, _Alloc>& __lhs,
- const deque<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<(const deque<_Tp, _Alloc>& __lhs, const deque<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<=(const deque<_Tp, _Alloc>& __lhs,
- const deque<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>=(const deque<_Tp, _Alloc>& __lhs,
- const deque<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>(const deque<_Tp, _Alloc>& __lhs, const deque<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline void
- swap(deque<_Tp, _Alloc>& __lhs, deque<_Tp, _Alloc>& __rhs)
- { __lhs.swap(__rhs); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/debug/formatter.h b/contrib/libstdc++/include/debug/formatter.h
deleted file mode 100644
index 8975285b9d71..000000000000
--- a/contrib/libstdc++/include/debug/formatter.h
+++ /dev/null
@@ -1,394 +0,0 @@
-// Debug-mode error formatting implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/formatter.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_FORMATTER_H
-#define _GLIBCXX_DEBUG_FORMATTER_H 1
-
-#include <typeinfo>
-#include <debug/debug.h>
-
-namespace __gnu_debug
-{
- using std::type_info;
-
- /** Determine if the two types are the same. */
- template<typename _Type1, typename _Type2>
- struct __is_same
- {
- static const bool value = false;
- };
-
- template<typename _Type>
- struct __is_same<_Type, _Type>
- {
- static const bool value = true;
- };
-
- template<bool> struct __truth { };
-
- class _Safe_sequence_base;
-
- template<typename _Iterator, typename _Sequence>
- class _Safe_iterator;
-
- template<typename _Sequence>
- class _Safe_sequence;
-
- enum _Debug_msg_id
- {
- // General checks
- __msg_valid_range,
- __msg_insert_singular,
- __msg_insert_different,
- __msg_erase_bad,
- __msg_erase_different,
- __msg_subscript_oob,
- __msg_empty,
- __msg_unpartitioned,
- __msg_unpartitioned_pred,
- __msg_unsorted,
- __msg_unsorted_pred,
- __msg_not_heap,
- __msg_not_heap_pred,
- // std::bitset checks
- __msg_bad_bitset_write,
- __msg_bad_bitset_read,
- __msg_bad_bitset_flip,
- // std::list checks
- __msg_self_splice,
- __msg_splice_alloc,
- __msg_splice_bad,
- __msg_splice_other,
- __msg_splice_overlap,
- // iterator checks
- __msg_init_singular,
- __msg_init_copy_singular,
- __msg_init_const_singular,
- __msg_copy_singular,
- __msg_bad_deref,
- __msg_bad_inc,
- __msg_bad_dec,
- __msg_iter_subscript_oob,
- __msg_advance_oob,
- __msg_retreat_oob,
- __msg_iter_compare_bad,
- __msg_compare_different,
- __msg_iter_order_bad,
- __msg_order_different,
- __msg_distance_bad,
- __msg_distance_different,
- // istream_iterator
- __msg_deref_istream,
- __msg_inc_istream,
- // ostream_iterator
- __msg_output_ostream,
- // istreambuf_iterator
- __msg_deref_istreambuf,
- __msg_inc_istreambuf
- };
-
- class _Error_formatter
- {
- /// Whether an iterator is constant, mutable, or unknown
- enum _Constness
- {
- __unknown_constness,
- __const_iterator,
- __mutable_iterator,
- __last_constness
- };
-
- // The state of the iterator (fine-grained), if we know it.
- enum _Iterator_state
- {
- __unknown_state,
- __singular, // singular, may still be attached to a sequence
- __begin, // dereferenceable, and at the beginning
- __middle, // dereferenceable, not at the beginning
- __end, // past-the-end, may be at beginning if sequence empty
- __last_state
- };
-
- // Tags denoting the type of parameter for construction
- struct _Is_iterator { };
- struct _Is_sequence { };
-
- // A parameter that may be referenced by an error message
- struct _Parameter
- {
- enum
- {
- __unused_param,
- __iterator,
- __sequence,
- __integer,
- __string
- } _M_kind;
-
- union
- {
- // When _M_kind == __iterator
- struct
- {
- const char* _M_name;
- const void* _M_address;
- const type_info* _M_type;
- _Constness _M_constness;
- _Iterator_state _M_state;
- const void* _M_sequence;
- const type_info* _M_seq_type;
- } _M_iterator;
-
- // When _M_kind == __sequence
- struct
- {
- const char* _M_name;
- const void* _M_address;
- const type_info* _M_type;
- } _M_sequence;
-
- // When _M_kind == __integer
- struct
- {
- const char* _M_name;
- long _M_value;
- } _M_integer;
-
- // When _M_kind == __string
- struct
- {
- const char* _M_name;
- const char* _M_value;
- } _M_string;
- } _M_variant;
-
- _Parameter() : _M_kind(__unused_param), _M_variant() { }
-
- _Parameter(long __value, const char* __name)
- : _M_kind(__integer), _M_variant()
- {
- _M_variant._M_integer._M_name = __name;
- _M_variant._M_integer._M_value = __value;
- }
-
- _Parameter(const char* __value, const char* __name)
- : _M_kind(__string), _M_variant()
- {
- _M_variant._M_string._M_name = __name;
- _M_variant._M_string._M_value = __value;
- }
-
- template<typename _Iterator, typename _Sequence>
- _Parameter(const _Safe_iterator<_Iterator, _Sequence>& __it,
- const char* __name, _Is_iterator)
- : _M_kind(__iterator), _M_variant()
- {
- _M_variant._M_iterator._M_name = __name;
- _M_variant._M_iterator._M_address = &__it;
- _M_variant._M_iterator._M_type = &typeid(__it);
- _M_variant._M_iterator._M_constness =
- __is_same<_Safe_iterator<_Iterator, _Sequence>,
- typename _Sequence::iterator>::
- value? __mutable_iterator : __const_iterator;
- _M_variant._M_iterator._M_sequence = __it._M_get_sequence();
- _M_variant._M_iterator._M_seq_type = &typeid(_Sequence);
-
- if (__it._M_singular())
- _M_variant._M_iterator._M_state = __singular;
- else
- {
- bool __is_begin = __it._M_is_begin();
- bool __is_end = __it._M_is_end();
- if (__is_end)
- _M_variant._M_iterator._M_state = __end;
- else if (__is_begin)
- _M_variant._M_iterator._M_state = __begin;
- else
- _M_variant._M_iterator._M_state = __middle;
- }
- }
-
- template<typename _Type>
- _Parameter(const _Type*& __it, const char* __name, _Is_iterator)
- : _M_kind(__iterator), _M_variant()
- {
- _M_variant._M_iterator._M_name = __name;
- _M_variant._M_iterator._M_address = &__it;
- _M_variant._M_iterator._M_type = &typeid(__it);
- _M_variant._M_iterator._M_constness = __mutable_iterator;
- _M_variant._M_iterator._M_state = __it? __unknown_state : __singular;
- _M_variant._M_iterator._M_sequence = 0;
- _M_variant._M_iterator._M_seq_type = 0;
- }
-
- template<typename _Type>
- _Parameter(_Type*& __it, const char* __name, _Is_iterator)
- : _M_kind(__iterator), _M_variant()
- {
- _M_variant._M_iterator._M_name = __name;
- _M_variant._M_iterator._M_address = &__it;
- _M_variant._M_iterator._M_type = &typeid(__it);
- _M_variant._M_iterator._M_constness = __const_iterator;
- _M_variant._M_iterator._M_state = __it? __unknown_state : __singular;
- _M_variant._M_iterator._M_sequence = 0;
- _M_variant._M_iterator._M_seq_type = 0;
- }
-
- template<typename _Iterator>
- _Parameter(const _Iterator& __it, const char* __name, _Is_iterator)
- : _M_kind(__iterator), _M_variant()
- {
- _M_variant._M_iterator._M_name = __name;
- _M_variant._M_iterator._M_address = &__it;
- _M_variant._M_iterator._M_type = &typeid(__it);
- _M_variant._M_iterator._M_constness = __unknown_constness;
- _M_variant._M_iterator._M_state =
- __gnu_debug::__check_singular(__it)? __singular : __unknown_state;
- _M_variant._M_iterator._M_sequence = 0;
- _M_variant._M_iterator._M_seq_type = 0;
- }
-
- template<typename _Sequence>
- _Parameter(const _Safe_sequence<_Sequence>& __seq,
- const char* __name, _Is_sequence)
- : _M_kind(__sequence), _M_variant()
- {
- _M_variant._M_sequence._M_name = __name;
- _M_variant._M_sequence._M_address =
- static_cast<const _Sequence*>(&__seq);
- _M_variant._M_sequence._M_type = &typeid(_Sequence);
- }
-
- template<typename _Sequence>
- _Parameter(const _Sequence& __seq, const char* __name, _Is_sequence)
- : _M_kind(__sequence), _M_variant()
- {
- _M_variant._M_sequence._M_name = __name;
- _M_variant._M_sequence._M_address = &__seq;
- _M_variant._M_sequence._M_type = &typeid(_Sequence);
- }
-
- void
- _M_print_field(const _Error_formatter* __formatter,
- const char* __name) const;
-
- void
- _M_print_description(const _Error_formatter* __formatter) const;
- };
-
- friend struct _Parameter;
-
- public:
- template<typename _Iterator>
- const _Error_formatter&
- _M_iterator(const _Iterator& __it, const char* __name = 0) const
- {
- if (_M_num_parameters < size_t(__max_parameters))
- _M_parameters[_M_num_parameters++] = _Parameter(__it, __name,
- _Is_iterator());
- return *this;
- }
-
- const _Error_formatter&
- _M_integer(long __value, const char* __name = 0) const
- {
- if (_M_num_parameters < size_t(__max_parameters))
- _M_parameters[_M_num_parameters++] = _Parameter(__value, __name);
- return *this;
- }
-
- const _Error_formatter&
- _M_string(const char* __value, const char* __name = 0) const
- {
- if (_M_num_parameters < size_t(__max_parameters))
- _M_parameters[_M_num_parameters++] = _Parameter(__value, __name);
- return *this;
- }
-
- template<typename _Sequence>
- const _Error_formatter&
- _M_sequence(const _Sequence& __seq, const char* __name = 0) const
- {
- if (_M_num_parameters < size_t(__max_parameters))
- _M_parameters[_M_num_parameters++] = _Parameter(__seq, __name,
- _Is_sequence());
- return *this;
- }
-
- const _Error_formatter&
- _M_message(const char* __text) const
- { _M_text = __text; return *this; }
-
- const _Error_formatter&
- _M_message(_Debug_msg_id __id) const;
-
- void
- _M_error() const;
-
- private:
- _Error_formatter(const char* __file, size_t __line)
- : _M_file(__file), _M_line(__line), _M_num_parameters(0), _M_text(0),
- _M_max_length(78), _M_column(1), _M_first_line(true), _M_wordwrap(false)
- { }
-
- template<typename _Tp>
- void
- _M_format_word(char*, int, const char*, _Tp) const;
-
- void
- _M_print_word(const char* __word) const;
-
- void
- _M_print_string(const char* __string) const;
-
- enum { __max_parameters = 9 };
-
- const char* _M_file;
- size_t _M_line;
- mutable _Parameter _M_parameters[__max_parameters];
- mutable size_t _M_num_parameters;
- mutable const char* _M_text;
- mutable size_t _M_max_length;
- enum { _M_indent = 4 } ;
- mutable size_t _M_column;
- mutable bool _M_first_line;
- mutable bool _M_wordwrap;
-
- public:
- static _Error_formatter
- _M_at(const char* __file, size_t __line)
- { return _Error_formatter(__file, __line); }
- };
-} // namespace __gnu_debug
-
-#endif
diff --git a/contrib/libstdc++/include/debug/functions.h b/contrib/libstdc++/include/debug/functions.h
deleted file mode 100644
index a61c0b9f4ee7..000000000000
--- a/contrib/libstdc++/include/debug/functions.h
+++ /dev/null
@@ -1,293 +0,0 @@
-// Debugging support implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/functions.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_FUNCTIONS_H
-#define _GLIBCXX_DEBUG_FUNCTIONS_H 1
-
-#include <bits/c++config.h>
-#include <stddef.h> // for ptrdiff_t
-#include <bits/stl_iterator_base_types.h> // for iterator_traits, categories
-#include <bits/cpp_type_traits.h> // for __is_integer
-
-namespace __gnu_debug
-{
- template<typename _Iterator, typename _Sequence>
- class _Safe_iterator;
-
- // An arbitrary iterator pointer is not singular.
- inline bool
- __check_singular_aux(const void*) { return false; }
-
- // We may have an iterator that derives from _Safe_iterator_base but isn't
- // a _Safe_iterator.
- template<typename _Iterator>
- inline bool
- __check_singular(_Iterator& __x)
- { return __check_singular_aux(&__x); }
-
- /** Non-NULL pointers are nonsingular. */
- template<typename _Tp>
- inline bool
- __check_singular(const _Tp* __ptr)
- { return __ptr == 0; }
-
- /** Safe iterators know if they are singular. */
- template<typename _Iterator, typename _Sequence>
- inline bool
- __check_singular(const _Safe_iterator<_Iterator, _Sequence>& __x)
- { return __x._M_singular(); }
-
- /** Assume that some arbitrary iterator is dereferenceable, because we
- can't prove that it isn't. */
- template<typename _Iterator>
- inline bool
- __check_dereferenceable(_Iterator&)
- { return true; }
-
- /** Non-NULL pointers are dereferenceable. */
- template<typename _Tp>
- inline bool
- __check_dereferenceable(const _Tp* __ptr)
- { return __ptr; }
-
- /** Safe iterators know if they are singular. */
- template<typename _Iterator, typename _Sequence>
- inline bool
- __check_dereferenceable(const _Safe_iterator<_Iterator, _Sequence>& __x)
- { return __x._M_dereferenceable(); }
-
- /** If the distance between two random access iterators is
- * nonnegative, assume the range is valid.
- */
- template<typename _RandomAccessIterator>
- inline bool
- __valid_range_aux2(const _RandomAccessIterator& __first,
- const _RandomAccessIterator& __last,
- std::random_access_iterator_tag)
- { return __last - __first >= 0; }
-
- /** Can't test for a valid range with input iterators, because
- * iteration may be destructive. So we just assume that the range
- * is valid.
- */
- template<typename _InputIterator>
- inline bool
- __valid_range_aux2(const _InputIterator&, const _InputIterator&,
- std::input_iterator_tag)
- { return true; }
-
- /** We say that integral types for a valid range, and defer to other
- * routines to realize what to do with integral types instead of
- * iterators.
- */
- template<typename _Integral>
- inline bool
- __valid_range_aux(const _Integral&, const _Integral&, std::__true_type)
- { return true; }
-
- /** We have iterators, so figure out what kind of iterators that are
- * to see if we can check the range ahead of time.
- */
- template<typename _InputIterator>
- inline bool
- __valid_range_aux(const _InputIterator& __first,
- const _InputIterator& __last, std::__false_type)
- {
- typedef typename std::iterator_traits<_InputIterator>::iterator_category
- _Category;
- return __valid_range_aux2(__first, __last, _Category());
- }
-
- /** Don't know what these iterators are, or if they are even
- * iterators (we may get an integral type for InputIterator), so
- * see if they are integral and pass them on to the next phase
- * otherwise.
- */
- template<typename _InputIterator>
- inline bool
- __valid_range(const _InputIterator& __first, const _InputIterator& __last)
- {
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- return __valid_range_aux(__first, __last, _Integral());
- }
-
- /** Safe iterators know how to check if they form a valid range. */
- template<typename _Iterator, typename _Sequence>
- inline bool
- __valid_range(const _Safe_iterator<_Iterator, _Sequence>& __first,
- const _Safe_iterator<_Iterator, _Sequence>& __last)
- { return __first._M_valid_range(__last); }
-
- /* Checks that [first, last) is a valid range, and then returns
- * __first. This routine is useful when we can't use a separate
- * assertion statement because, e.g., we are in a constructor.
- */
- template<typename _InputIterator>
- inline _InputIterator
- __check_valid_range(const _InputIterator& __first,
- const _InputIterator& __last
- __attribute__((__unused__)))
- {
- _GLIBCXX_DEBUG_ASSERT(__valid_range(__first, __last));
- return __first;
- }
-
- /** Checks that __s is non-NULL or __n == 0, and then returns __s. */
- template<typename _CharT, typename _Integer>
- inline const _CharT*
- __check_string(const _CharT* __s,
- const _Integer& __n __attribute__((__unused__)))
- {
-#ifdef _GLIBCXX_DEBUG_PEDANTIC
- _GLIBCXX_DEBUG_ASSERT(__s != 0 || __n == 0);
-#endif
- return __s;
- }
-
- /** Checks that __s is non-NULL and then returns __s. */
- template<typename _CharT>
- inline const _CharT*
- __check_string(const _CharT* __s)
- {
-#ifdef _GLIBCXX_DEBUG_PEDANTIC
- _GLIBCXX_DEBUG_ASSERT(__s != 0);
-#endif
- return __s;
- }
-
- // Can't check if an input iterator sequence is sorted, because we
- // can't step through the sequence.
- template<typename _InputIterator>
- inline bool
- __check_sorted_aux(const _InputIterator&, const _InputIterator&,
- std::input_iterator_tag)
- { return true; }
-
- // Can verify if a forward iterator sequence is in fact sorted using
- // std::__is_sorted
- template<typename _ForwardIterator>
- inline bool
- __check_sorted_aux(_ForwardIterator __first, _ForwardIterator __last,
- std::forward_iterator_tag)
- {
- if (__first == __last)
- return true;
-
- _ForwardIterator __next = __first;
- for (++__next; __next != __last; __first = __next, ++__next) {
- if (*__next < *__first)
- return false;
- }
-
- return true;
- }
-
- // Can't check if an input iterator sequence is sorted, because we can't step
- // through the sequence.
- template<typename _InputIterator, typename _Predicate>
- inline bool
- __check_sorted_aux(const _InputIterator&, const _InputIterator&,
- _Predicate, std::input_iterator_tag)
- { return true; }
-
- // Can verify if a forward iterator sequence is in fact sorted using
- // std::__is_sorted
- template<typename _ForwardIterator, typename _Predicate>
- inline bool
- __check_sorted_aux(_ForwardIterator __first, _ForwardIterator __last,
- _Predicate __pred, std::forward_iterator_tag)
- {
- if (__first == __last)
- return true;
-
- _ForwardIterator __next = __first;
- for (++__next; __next != __last; __first = __next, ++__next) {
- if (__pred(*__next, *__first))
- return false;
- }
-
- return true;
- }
-
- // Determine if a sequence is sorted.
- template<typename _InputIterator>
- inline bool
- __check_sorted(const _InputIterator& __first, const _InputIterator& __last)
- {
- typedef typename std::iterator_traits<_InputIterator>::iterator_category
- _Category;
- return __check_sorted_aux(__first, __last, _Category());
- }
-
- template<typename _InputIterator, typename _Predicate>
- inline bool
- __check_sorted(const _InputIterator& __first, const _InputIterator& __last,
- _Predicate __pred)
- {
- typedef typename std::iterator_traits<_InputIterator>::iterator_category
- _Category;
- return __check_sorted_aux(__first, __last, __pred,
- _Category());
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 270. Binary search requirements overly strict
- // Determine if a sequence is partitioned w.r.t. this element.
- template<typename _ForwardIterator, typename _Tp>
- inline bool
- __check_partitioned(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __value)
- {
- while (__first != __last && *__first < __value)
- ++__first;
- while (__first != __last && !(*__first < __value))
- ++__first;
- return __first == __last;
- }
-
- // Determine if a sequence is partitioned w.r.t. this element.
- template<typename _ForwardIterator, typename _Tp, typename _Pred>
- inline bool
- __check_partitioned(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __value, _Pred __pred)
- {
- while (__first != __last && __pred(*__first, __value))
- ++__first;
- while (__first != __last && !__pred(*__first, __value))
- ++__first;
- return __first == __last;
- }
-} // namespace __gnu_debug
-
-#endif
diff --git a/contrib/libstdc++/include/debug/hash_map b/contrib/libstdc++/include/debug/hash_map
deleted file mode 100644
index f44586b0ab6c..000000000000
--- a/contrib/libstdc++/include/debug/hash_map
+++ /dev/null
@@ -1,42 +0,0 @@
-// Debugging hash_map/hash_multimap implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/hash_map
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_HASH_MAP
-#define _GLIBCXX_DEBUG_HASH_MAP 1
-
-#include <ext/hash_map>
-#include <debug/hash_map.h>
-#include <debug/hash_multimap.h>
-
-#endif
diff --git a/contrib/libstdc++/include/debug/hash_map.h b/contrib/libstdc++/include/debug/hash_map.h
deleted file mode 100644
index 1eb6acb869c3..000000000000
--- a/contrib/libstdc++/include/debug/hash_map.h
+++ /dev/null
@@ -1,284 +0,0 @@
-// Debugging hash_map implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/hash_map.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_HASH_MAP_H
-#define _GLIBCXX_DEBUG_HASH_MAP_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace __gnu_cxx
-{
-namespace __debug
-{
- template<typename _Value, typename _Tp,
- typename _HashFcn = __gnu_cxx::hash<_Value>,
- typename _EqualKey = std::equal_to<_Value>,
- typename _Alloc = std::allocator<_Value> >
- class hash_map
- : public _GLIBCXX_EXT::hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>,
- public __gnu_debug::_Safe_sequence<hash_map<_Value, _Tp, _HashFcn,
- _EqualKey, _Alloc> >
- {
- typedef _GLIBCXX_EXT::hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>
- _Base;
- typedef __gnu_debug::_Safe_sequence<hash_map> _Safe_base;
-
- public:
- typedef typename _Base::key_type key_type;
- typedef typename _Base::data_type data_type;
- typedef typename _Base::mapped_type mapped_type;
- typedef typename _Base::value_type value_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, hash_map>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,
- hash_map>
- const_iterator;
-
- typedef typename _Base::allocator_type allocator_type;
-
- using _Base::hash_funct;
- using _Base::key_eq;
- using _Base::get_allocator;
-
- hash_map() { }
-
- explicit hash_map(size_type __n) : _Base(__n) { }
-
- hash_map(size_type __n, const hasher& __hf) : _Base(__n, __hf) { }
-
- hash_map(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __eql, __a) { }
-
- template<typename _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l) { }
-
- template<typename _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l, size_type __n)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n) { }
-
- template<typename _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf) { }
-
- template<typename _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf,
- __eql, __a) { }
-
- hash_map(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- using _Base::size;
- using _Base::max_size;
- using _Base::empty;
-
- void
- swap(hash_map& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- iterator
- begin() { return iterator(_Base::begin(), this); }
-
- iterator
- end() { return iterator(_Base::end(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- std::pair<iterator, bool>
- insert(const value_type& __obj)
- {
- std::pair<typename _Base::iterator, bool> __res = _Base::insert(__obj);
- return std::make_pair(iterator(__res.first, this), __res.second);
- }
-
- void
- insert(const value_type* __first, const value_type* __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first, __last);
- }
-
- template<typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first.base(), __last.base());
- }
-
-
- std::pair<iterator, bool>
- insert_noresize(const value_type& __obj)
- {
- std::pair<typename _Base::iterator, bool> __res =
- _Base::insert_noresize(__obj);
- return std::make_pair(iterator(__res.first, this), __res.second);
- }
-
- iterator
- find(const key_type& __key)
- { return iterator(_Base::find(__key), this); }
-
- const_iterator
- find(const key_type& __key) const
- { return const_iterator(_Base::find(__key), this); }
-
- using _Base::operator[];
- using _Base::count;
-
- std::pair<iterator, iterator>
- equal_range(const key_type& __key)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__key);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type& __key) const
- {
- typedef typename _Base::const_iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__key);
- return std::make_pair(const_iterator(__res.first, this),
- const_iterator(__res.second, this));
- }
-
- size_type
- erase(const key_type& __key)
- {
- iterator __victim(_Base::find(__key), this);
- if (__victim != end())
- return this->erase(__victim), 1;
- else
- return 0;
- }
-
- void
- erase(iterator __it)
- {
- __glibcxx_check_erase(__it);
- __it._M_invalidate();
- _Base::erase(__it.base());
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- __glibcxx_check_erase_range(__first, __last);
- for (iterator __tmp = __first; __tmp != __last;)
- {
- iterator __victim = __tmp++;
- __victim._M_invalidate();
- }
- _Base::erase(__first.base(), __last.base());
- }
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- }
-
- using _Base::resize;
- using _Base::bucket_count;
- using _Base::max_bucket_count;
- using _Base::elems_in_bucket;
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Value, typename _Tp, typename _HashFcn,
- typename _EqualKey, typename _Alloc>
- inline bool
- operator==(const hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __x,
- const hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __y)
- { return __x._M_base() == __y._M_base(); }
-
- template<typename _Value, typename _Tp, typename _HashFcn,
- typename _EqualKey, typename _Alloc>
- inline bool
- operator!=(const hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __x,
- const hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __y)
- { return __x._M_base() != __y._M_base(); }
-
- template<typename _Value, typename _Tp, typename _HashFcn,
- typename _EqualKey, typename _Alloc>
- inline void
- swap(hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __x,
- hash_map<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __y)
- { __x.swap(__y); }
-} // namespace __debug
-} // namespace __gnu_cxx
-
-#endif
diff --git a/contrib/libstdc++/include/debug/hash_multimap.h b/contrib/libstdc++/include/debug/hash_multimap.h
deleted file mode 100644
index e3c689ac7cd2..000000000000
--- a/contrib/libstdc++/include/debug/hash_multimap.h
+++ /dev/null
@@ -1,268 +0,0 @@
-// Debugging hash_multimap implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/hash_multimap.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_HASH_MULTIMAP_H
-#define _GLIBCXX_DEBUG_HASH_MULTIMAP_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace __gnu_cxx
-{
-namespace __debug
-{
- template<typename _Value, typename _Tp,
- typename _HashFcn = __gnu_cxx::hash<_Value>,
- typename _EqualKey = std::equal_to<_Value>,
- typename _Alloc = std::allocator<_Value> >
- class hash_multimap
- : public _GLIBCXX_EXT::hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>,
- public __gnu_debug::_Safe_sequence<hash_multimap<_Value, _Tp, _HashFcn,
- _EqualKey, _Alloc> >
- {
- typedef _GLIBCXX_EXT::hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>
- _Base;
- typedef __gnu_debug::_Safe_sequence<hash_multimap> _Safe_base;
-
- public:
- typedef typename _Base::key_type key_type;
- typedef typename _Base::data_type data_type;
- typedef typename _Base::mapped_type mapped_type;
- typedef typename _Base::value_type value_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator,
- hash_multimap> iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,
- hash_multimap> const_iterator;
-
- typedef typename _Base::allocator_type allocator_type;
-
- using _Base::hash_funct;
- using _Base::key_eq;
- using _Base::get_allocator;
-
- hash_multimap() { }
-
- explicit hash_multimap(size_type __n) : _Base(__n) { }
-
- hash_multimap(size_type __n, const hasher& __hf) : _Base(__n, __hf) { }
-
- hash_multimap(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __eql, __a) { }
-
- template<typename _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l) { }
-
- template<typename _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n) { }
-
- template<typename _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf) { }
-
- template<typename _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf,
- __eql, __a) { }
-
- using _Base::size;
- using _Base::max_size;
- using _Base::empty;
-
- void
- swap(hash_multimap& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- iterator
- begin() { return iterator(_Base::begin(), this); }
-
- iterator
- end() { return iterator(_Base::end(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- iterator
- insert(const value_type& __obj)
- { return iterator(_Base::insert(__obj), this); }
-
- template <typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first.base(), __last.base());
- }
-
- iterator
- insert_noresize(const value_type& __obj)
- { return iterator(_Base::insert_noresize(__obj), this); }
-
- iterator
- find(const key_type& __key)
- { return iterator(_Base::find(__key), this); }
-
- const_iterator
- find(const key_type& __key) const
- { return const_iterator(_Base::find(__key), this); }
-
- using _Base::count;
-
- std::pair<iterator, iterator>
- equal_range(const key_type& __key)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__key);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type& __key) const
- {
- typedef typename _Base::const_iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__key);
- return std::make_pair(const_iterator(__res.first, this),
- const_iterator(__res.second, this));
- }
-
- size_type
- erase(const key_type& __key)
- {
- std::pair<iterator, iterator> __victims = this->equal_range(__key);
- std::size_t __num_victims = 0;
- while (__victims.first != __victims.second)
- {
- this->erase(__victims.first++);
- ++__num_victims;
- }
- return __num_victims;
- }
-
- void
- erase(iterator __it)
- {
- __glibcxx_check_erase(__it);
- __it._M_invalidate();
- _Base::erase(__it.base());
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- __glibcxx_check_erase_range(__first, __last);
- for (iterator __tmp = __first; __tmp != __last;)
- {
- iterator __victim = __tmp++;
- __victim._M_invalidate();
- }
- _Base::erase(__first.base(), __last.base());
- }
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- }
-
- using _Base::resize;
- using _Base::bucket_count;
- using _Base::max_bucket_count;
- using _Base::elems_in_bucket;
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Value, typename _Tp, typename _HashFcn,
- typename _EqualKey, typename _Alloc>
- inline bool
- operator==(const hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>& __x,
- const hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>& __y)
- { return __x._M_base() == __y._M_base(); }
-
- template<typename _Value, typename _Tp, typename _HashFcn,
- typename _EqualKey, typename _Alloc>
- inline bool
- operator!=(const hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>& __x,
- const hash_multimap<_Value,_Tp,_HashFcn,_EqualKey,_Alloc>& __y)
- { return __x._M_base() != __y._M_base(); }
-
- template<typename _Value, typename _Tp, typename _HashFcn,
- typename _EqualKey, typename _Alloc>
- inline void
- swap(hash_multimap<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __x,
- hash_multimap<_Value, _Tp, _HashFcn, _EqualKey, _Alloc>& __y)
- { __x.swap(__y); }
-} // namespace __debug
-} // namespace __gnu_cxx
-
-#endif
diff --git a/contrib/libstdc++/include/debug/hash_multiset.h b/contrib/libstdc++/include/debug/hash_multiset.h
deleted file mode 100644
index 934649694871..000000000000
--- a/contrib/libstdc++/include/debug/hash_multiset.h
+++ /dev/null
@@ -1,243 +0,0 @@
-// Debugging hash_multiset implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/hash_multiset.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_HASH_MULTISET_H
-#define _GLIBCXX_DEBUG_HASH_MULTISET_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace __gnu_cxx
-{
-namespace __debug
-{
- template<typename _Value,
- typename _HashFcn = __gnu_cxx::hash<_Value>,
- typename _EqualKey = std::equal_to<_Value>,
- typename _Alloc = std::allocator<_Value> >
- class hash_multiset
- : public _GLIBCXX_EXT::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>,
- public __gnu_debug::_Safe_sequence<hash_multiset<_Value, _HashFcn,
- _EqualKey, _Alloc> >
- {
- typedef _GLIBCXX_EXT:: hash_multiset<_Value,_HashFcn, _EqualKey,_Alloc>
- _Base;
- typedef __gnu_debug::_Safe_sequence<hash_multiset> _Safe_base;
-
- public:
- typedef typename _Base::key_type key_type;
- typedef typename _Base::value_type value_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator,
- hash_multiset> iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,
- hash_multiset> const_iterator;
-
- typedef typename _Base::allocator_type allocator_type;
-
- using _Base::hash_funct;
- using _Base::key_eq;
- using _Base::get_allocator;
-
- hash_multiset() { }
-
- explicit hash_multiset(size_type __n) : _Base(__n) { }
-
- hash_multiset(size_type __n, const hasher& __hf) : _Base(__n, __hf) { }
-
- hash_multiset(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __eql, __a)
- { }
-
- template<typename _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l)
- { }
-
- template<typename _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n)
- { }
-
- template<typename _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf)
- { }
-
- template<typename _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf,
- __eql, __a)
- { }
-
- hash_multiset(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- using _Base::size;
- using _Base::max_size;
- using _Base::empty;
-
- void
- swap(hash_multiset& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- iterator begin() const { return iterator(_Base::begin(), this); }
- iterator end() const { return iterator(_Base::end(), this); }
-
- iterator
- insert(const value_type& __obj)
- { return iterator(_Base::insert(__obj), this); }
-
- template <typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first.base(), __last.base());
- }
-
-
- iterator
- insert_noresize(const value_type& __obj)
- { return iterator(_Base::insert_noresize(__obj), this); }
-
- iterator
- find(const key_type& __key) const
- { return iterator(_Base::find(__key), this); }
-
- using _Base::count;
-
- std::pair<iterator, iterator>
- equal_range(const key_type& __key) const
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__key);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- size_type
- erase(const key_type& __key)
- {
- size_type __count = 0;
- std::pair<iterator, iterator> __victims = this->equal_range(__key);
- while (__victims.first != __victims.second)
- {
- this->erase(__victims++);
- ++__count;
- }
- return __count;
- }
-
- void
- erase(iterator __it)
- {
- __glibcxx_check_erase(__it);
- __it._M_invalidate();
- _Base::erase(__it.base());
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- __glibcxx_check_erase_range(__first, __last);
- for (iterator __tmp = __first; __tmp != __last;)
- {
- iterator __victim = __tmp++;
- __victim._M_invalidate();
- }
- _Base::erase(__first.base(), __last.base());
- }
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- }
-
- using _Base::resize;
- using _Base::bucket_count;
- using _Base::max_bucket_count;
- using _Base::elems_in_bucket;
-
- _Base& _M_base() { return *this; }
- const _Base& _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
-template<typename _Value, typename _HashFcn, typename _EqualKey, typename _Alloc>
- inline bool
- operator==(const hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>& __x,
- const hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>& __y)
- { return __x._M_base() == __y._M_base(); }
-
-template<typename _Value, typename _HashFcn, typename _EqualKey, typename _Alloc>
- inline bool
- operator!=(const hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>& __x,
- const hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>& __y)
- { return __x._M_base() != __y._M_base(); }
-
-template<typename _Value, typename _HashFcn, typename _EqualKey, typename _Alloc>
- inline void
- swap(hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>& __x,
- hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>& __y)
- { __x.swap(__y); }
-} // namespace __debug
-} // namespace __gnu_cxx
-
-#endif
diff --git a/contrib/libstdc++/include/debug/hash_set b/contrib/libstdc++/include/debug/hash_set
deleted file mode 100644
index 4b98fefab1f6..000000000000
--- a/contrib/libstdc++/include/debug/hash_set
+++ /dev/null
@@ -1,42 +0,0 @@
-// Debugging hash_set/hash_multiset implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/hash_set
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_HASH_SET
-#define _GLIBCXX_DEBUG_HASH_SET 1
-
-#include <ext/hash_set>
-#include <debug/hash_set.h>
-#include <debug/hash_multiset.h>
-
-#endif
diff --git a/contrib/libstdc++/include/debug/hash_set.h b/contrib/libstdc++/include/debug/hash_set.h
deleted file mode 100644
index 2d3e0b303fb6..000000000000
--- a/contrib/libstdc++/include/debug/hash_set.h
+++ /dev/null
@@ -1,259 +0,0 @@
-// Debugging hash_set implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/hash_set.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_HASH_SET_H
-#define _GLIBCXX_DEBUG_HASH_SET_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace __gnu_cxx
-{
-namespace __debug
-{
- template<typename _Value,
- typename _HashFcn = __gnu_cxx::hash<_Value>,
- typename _EqualKey = std::equal_to<_Value>,
- typename _Alloc = std::allocator<_Value> >
- class hash_set
- : public _GLIBCXX_EXT::hash_set<_Value, _HashFcn, _EqualKey,_Alloc>,
- public __gnu_debug::_Safe_sequence<hash_set<_Value, _HashFcn, _EqualKey,
- _Alloc> >
- {
- typedef _GLIBCXX_EXT::hash_set<_Value, _HashFcn, _EqualKey,_Alloc> _Base;
- typedef __gnu_debug::_Safe_sequence<hash_set> _Safe_base;
-
- public:
- typedef typename _Base::key_type key_type;
- typedef typename _Base::value_type value_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, hash_set>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,
- hash_set>
- const_iterator;
-
- typedef typename _Base::allocator_type allocator_type;
-
- using _Base::hash_funct;
- using _Base::key_eq;
- using _Base::get_allocator;
-
- hash_set() { }
-
- explicit hash_set(size_type __n) : _Base(__n) { }
-
- hash_set(size_type __n, const hasher& __hf) : _Base(__n, __hf) { }
-
- hash_set(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __eql, __a) { }
-
- template<typename _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l) { }
-
- template<typename _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l, size_type __n)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n) { }
-
- template<typename _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf) { }
-
- template<typename _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _Base(__gnu_debug::__check_valid_range(__f, __l), __l, __n, __hf,
- __eql, __a) { }
-
- hash_set(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- using _Base::size;
- using _Base::max_size;
- using _Base::empty;
-
- void
- swap(hash_set& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- iterator
- begin() const { return iterator(_Base::begin(), this); }
-
- iterator
- end() const { return iterator(_Base::end(), this); }
-
- std::pair<iterator, bool>
- insert(const value_type& __obj)
- {
- std::pair<typename _Base::iterator, bool> __res =
- _Base::insert(__obj);
- return std::make_pair(iterator(__res.first, this), __res.second);
- }
-
- void
- insert(const value_type* __first, const value_type* __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first, __last);
- }
-
- template<typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first.base(), __last.base());
- }
-
-
- std::pair<iterator, bool>
- insert_noresize(const value_type& __obj)
- {
- std::pair<typename _Base::iterator, bool> __res =
- _Base::insert_noresize(__obj);
- return std::make_pair(iterator(__res.first, this), __res.second);
- }
-
- iterator
- find(const key_type& __key) const
- { return iterator(_Base::find(__key), this); }
-
- using _Base::count;
-
- std::pair<iterator, iterator>
- equal_range(const key_type& __key) const
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__key);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- size_type
- erase(const key_type& __key)
- {
- iterator __victim(_Base::find(__key), this);
- if (__victim != end())
- return this->erase(__victim), 1;
- else
- return 0;
- }
-
- void
- erase(iterator __it)
- {
- __glibcxx_check_erase(__it);
- __it._M_invalidate();
- _Base::erase(__it.base());
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- __glibcxx_check_erase_range(__first, __last);
- for (iterator __tmp = __first; __tmp != __last;)
- {
- iterator __victim = __tmp++;
- __victim._M_invalidate();
- }
- _Base::erase(__first.base(), __last.base());
- }
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- }
-
- using _Base::resize;
- using _Base::bucket_count;
- using _Base::max_bucket_count;
- using _Base::elems_in_bucket;
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Value, typename _HashFcn, typename _EqualKey,
- typename _Alloc>
- inline bool
- operator==(const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __x,
- const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __y)
- { return __x._M_base() == __y._M_base(); }
-
- template<typename _Value, typename _HashFcn, typename _EqualKey,
- typename _Alloc>
- inline bool
- operator!=(const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __x,
- const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __y)
- { return __x._M_base() != __y._M_base(); }
-
- template<typename _Value, typename _HashFcn, typename _EqualKey,
- typename _Alloc>
- inline void
- swap(hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __x,
- hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __y)
- { __x.swap(__y); }
-} // namespace __debug
-} // namespace __gnu_cxx
-
-#endif
diff --git a/contrib/libstdc++/include/debug/list b/contrib/libstdc++/include/debug/list
deleted file mode 100644
index 939fe4da48d3..000000000000
--- a/contrib/libstdc++/include/debug/list
+++ /dev/null
@@ -1,540 +0,0 @@
-// Debugging list implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-// 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 debug/list
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_LIST
-#define _GLIBCXX_DEBUG_LIST 1
-
-#include <list>
-#include <bits/stl_algo.h>
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace std
-{
-namespace __debug
-{
- template<typename _Tp, typename _Allocator = std::allocator<_Tp> >
- class list
- : public _GLIBCXX_STD::list<_Tp, _Allocator>,
- public __gnu_debug::_Safe_sequence<list<_Tp, _Allocator> >
- {
- typedef _GLIBCXX_STD::list<_Tp, _Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<list> _Safe_base;
-
- public:
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, list>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator, list>
- const_iterator;
-
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
-
- typedef _Tp value_type;
- typedef _Allocator allocator_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // 23.2.2.1 construct/copy/destroy:
- explicit list(const _Allocator& __a = _Allocator())
- : _Base(__a) { }
-
- explicit list(size_type __n, const _Tp& __value = _Tp(),
- const _Allocator& __a = _Allocator())
- : _Base(__n, __value, __a) { }
-
- template<class _InputIterator>
- list(_InputIterator __first, _InputIterator __last,
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__first, __last), __last, __a)
- { }
-
-
- list(const list& __x) : _Base(__x), _Safe_base() { }
-
- list(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- ~list() { }
-
- list&
- operator=(const list& __x)
- {
- static_cast<_Base&>(*this) = __x;
- this->_M_invalidate_all();
- return *this;
- }
-
- template<class _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::assign(__first, __last);
- this->_M_invalidate_all();
- }
-
- void
- assign(size_type __n, const _Tp& __t)
- {
- _Base::assign(__n, __t);
- this->_M_invalidate_all();
- }
-
- using _Base::get_allocator;
-
- // iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // 23.2.2.2 capacity:
- using _Base::empty;
- using _Base::size;
- using _Base::max_size;
-
- void
- resize(size_type __sz, _Tp __c = _Tp())
- {
- this->_M_detach_singular();
-
- // if __sz < size(), invalidate all iterators in [begin+__sz, end())
- iterator __victim = begin();
- iterator __end = end();
- for (size_type __i = __sz; __victim != __end && __i > 0; --__i)
- ++__victim;
-
- while (__victim != __end)
- {
- iterator __real_victim = __victim++;
- __real_victim._M_invalidate();
- }
-
- try
- {
- _Base::resize(__sz, __c);
- }
- catch(...)
- {
- this->_M_revalidate_singular();
- __throw_exception_again;
- }
- }
-
- // element access:
- reference
- front()
- {
- __glibcxx_check_nonempty();
- return _Base::front();
- }
-
- const_reference
- front() const
- {
- __glibcxx_check_nonempty();
- return _Base::front();
- }
-
- reference
- back()
- {
- __glibcxx_check_nonempty();
- return _Base::back();
- }
-
- const_reference
- back() const
- {
- __glibcxx_check_nonempty();
- return _Base::back();
- }
-
- // 23.2.2.3 modifiers:
- using _Base::push_front;
-
- void
- pop_front()
- {
- __glibcxx_check_nonempty();
- iterator __victim = begin();
- __victim._M_invalidate();
- _Base::pop_front();
- }
-
- using _Base::push_back;
-
- void
- pop_back()
- {
- __glibcxx_check_nonempty();
- iterator __victim = end();
- --__victim;
- __victim._M_invalidate();
- _Base::pop_back();
- }
-
- iterator
- insert(iterator __position, const _Tp& __x)
- {
- __glibcxx_check_insert(__position);
- return iterator(_Base::insert(__position.base(), __x), this);
- }
-
- void
- insert(iterator __position, size_type __n, const _Tp& __x)
- {
- __glibcxx_check_insert(__position);
- _Base::insert(__position.base(), __n, __x);
- }
-
- template<class _InputIterator>
- void
- insert(iterator __position, _InputIterator __first,
- _InputIterator __last)
- {
- __glibcxx_check_insert_range(__position, __first, __last);
- _Base::insert(__position.base(), __first, __last);
- }
-
- iterator
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- __position._M_invalidate();
- return iterator(_Base::erase(__position.base()), this);
- }
-
- iterator
- erase(iterator __position, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__position, __last);
- for (iterator __victim = __position; __victim != __last; )
- {
- iterator __old = __victim;
- ++__victim;
- __old._M_invalidate();
- }
- return iterator(_Base::erase(__position.base(), __last.base()), this);
- }
-
- void
- swap(list& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- }
-
- // 23.2.2.4 list operations:
- void
- splice(iterator __position, list& __x)
- {
- _GLIBCXX_DEBUG_VERIFY(&__x != this,
- _M_message(__gnu_debug::__msg_self_splice)
- ._M_sequence(*this, "this"));
- this->splice(__position, __x, __x.begin(), __x.end());
- }
-
- void
- splice(iterator __position, list& __x, iterator __i)
- {
- __glibcxx_check_insert(__position);
-
- // We used to perform the splice_alloc check: not anymore, redundant
- // after implementing the relevant bits of N1599.
-
- _GLIBCXX_DEBUG_VERIFY(__i._M_dereferenceable(),
- _M_message(__gnu_debug::__msg_splice_bad)
- ._M_iterator(__i, "__i"));
- _GLIBCXX_DEBUG_VERIFY(__i._M_attached_to(&__x),
- _M_message(__gnu_debug::__msg_splice_other)
- ._M_iterator(__i, "__i")._M_sequence(__x, "__x"));
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 250. splicing invalidates iterators
- this->_M_transfer_iter(__i);
- _Base::splice(__position.base(), __x._M_base(), __i.base());
- }
-
- void
- splice(iterator __position, list& __x, iterator __first, iterator __last)
- {
- __glibcxx_check_insert(__position);
- __glibcxx_check_valid_range(__first, __last);
- _GLIBCXX_DEBUG_VERIFY(__first._M_attached_to(&__x),
- _M_message(__gnu_debug::__msg_splice_other)
- ._M_sequence(__x, "x")
- ._M_iterator(__first, "first"));
-
- // We used to perform the splice_alloc check: not anymore, redundant
- // after implementing the relevant bits of N1599.
-
- for (iterator __tmp = __first; __tmp != __last; )
- {
- _GLIBCXX_DEBUG_VERIFY(&__x != this || __tmp != __position,
- _M_message(__gnu_debug::__msg_splice_overlap)
- ._M_iterator(__tmp, "position")
- ._M_iterator(__first, "first")
- ._M_iterator(__last, "last"));
- iterator __victim = __tmp++;
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 250. splicing invalidates iterators
- this->_M_transfer_iter(__victim);
- }
-
- _Base::splice(__position.base(), __x._M_base(), __first.base(),
- __last.base());
- }
-
- void
- remove(const _Tp& __value)
- {
- for (iterator __x = begin(); __x.base() != _Base::end(); )
- {
- if (*__x == __value)
- __x = erase(__x);
- else
- ++__x;
- }
- }
-
- template<class _Predicate>
- void
- remove_if(_Predicate __pred)
- {
- for (iterator __x = begin(); __x.base() != _Base::end(); )
- {
- if (__pred(*__x))
- __x = erase(__x);
- else
- ++__x;
- }
- }
-
- void
- unique()
- {
- iterator __first = begin();
- iterator __last = end();
- if (__first == __last)
- return;
- iterator __next = __first;
- while (++__next != __last)
- {
- if (*__first == *__next)
- erase(__next);
- else
- __first = __next;
- __next = __first;
- }
- }
-
- template<class _BinaryPredicate>
- void
- unique(_BinaryPredicate __binary_pred)
- {
- iterator __first = begin();
- iterator __last = end();
- if (__first == __last)
- return;
- iterator __next = __first;
- while (++__next != __last)
- {
- if (__binary_pred(*__first, *__next))
- erase(__next);
- else
- __first = __next;
- __next = __first;
- }
- }
-
- void
- merge(list& __x)
- {
- __glibcxx_check_sorted(_Base::begin(), _Base::end());
- __glibcxx_check_sorted(__x.begin().base(), __x.end().base());
- for (iterator __tmp = __x.begin(); __tmp != __x.end(); )
- {
- iterator __victim = __tmp++;
- __victim._M_attach(&__x);
- }
- _Base::merge(__x._M_base());
- }
-
- template<class _Compare>
- void
- merge(list& __x, _Compare __comp)
- {
- __glibcxx_check_sorted_pred(_Base::begin(), _Base::end(), __comp);
- __glibcxx_check_sorted_pred(__x.begin().base(), __x.end().base(),
- __comp);
- for (iterator __tmp = __x.begin(); __tmp != __x.end(); )
- {
- iterator __victim = __tmp++;
- __victim._M_attach(&__x);
- }
- _Base::merge(__x._M_base(), __comp);
- }
-
- void
- sort() { _Base::sort(); }
-
- template<typename _StrictWeakOrdering>
- void
- sort(_StrictWeakOrdering __pred) { _Base::sort(__pred); }
-
- using _Base::reverse;
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator==(const list<_Tp, _Alloc>& __lhs, const list<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator!=(const list<_Tp, _Alloc>& __lhs, const list<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<(const list<_Tp, _Alloc>& __lhs, const list<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<=(const list<_Tp, _Alloc>& __lhs, const list<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>=(const list<_Tp, _Alloc>& __lhs, const list<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>(const list<_Tp, _Alloc>& __lhs, const list<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline void
- swap(list<_Tp, _Alloc>& __lhs, list<_Tp, _Alloc>& __rhs)
- { __lhs.swap(__rhs); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/debug/macros.h b/contrib/libstdc++/include/debug/macros.h
deleted file mode 100644
index ce4091924b1b..000000000000
--- a/contrib/libstdc++/include/debug/macros.h
+++ /dev/null
@@ -1,224 +0,0 @@
-// Debugging support implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/macros.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_MACROS_H
-#define _GLIBCXX_DEBUG_MACROS_H 1
-
-/**
- * Macros used by the implementation to verify certain
- * properties. These macros may only be used directly by the debug
- * wrappers. Note that these are macros (instead of the more obviously
- * "correct" choice of making them functions) because we need line and
- * file information at the call site, to minimize the distance between
- * the user error and where the error is reported.
- *
- */
-#define _GLIBCXX_DEBUG_VERIFY(_Condition,_ErrorMessage) \
- do \
- { \
- if (! (_Condition)) \
- __gnu_debug::_Error_formatter::_M_at(__FILE__, __LINE__) \
- ._ErrorMessage._M_error(); \
- } while (false)
-
-// Verify that [_First, _Last) forms a valid iterator range.
-#define __glibcxx_check_valid_range(_First,_Last) \
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__valid_range(_First, _Last), \
- _M_message(__gnu_debug::__msg_valid_range) \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last))
-
-/** Verify that we can insert into *this with the iterator _Position.
- * Insertion into a container at a specific position requires that
- * the iterator be nonsingular (i.e., either dereferenceable or
- * past-the-end) and that it reference the sequence we are inserting
- * into. Note that this macro is only valid when the container is a
- * _Safe_sequence and the iterator is a _Safe_iterator.
-*/
-#define __glibcxx_check_insert(_Position) \
-_GLIBCXX_DEBUG_VERIFY(!_Position._M_singular(), \
- _M_message(__gnu_debug::__msg_insert_singular) \
- ._M_sequence(*this, "this") \
- ._M_iterator(_Position, #_Position)); \
-_GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \
- _M_message(__gnu_debug::__msg_insert_different) \
- ._M_sequence(*this, "this") \
- ._M_iterator(_Position, #_Position))
-
-/** Verify that we can insert the values in the iterator range
- * [_First, _Last) into *this with the iterator _Position. Insertion
- * into a container at a specific position requires that the iterator
- * be nonsingular (i.e., either dereferenceable or past-the-end),
- * that it reference the sequence we are inserting into, and that the
- * iterator range [_First, Last) is a valid (possibly empty)
- * range. Note that this macro is only valid when the container is a
- * _Safe_sequence and the iterator is a _Safe_iterator.
- *
- * @tbd We would like to be able to check for noninterference of
- * _Position and the range [_First, _Last), but that can't (in
- * general) be done.
-*/
-#define __glibcxx_check_insert_range(_Position,_First,_Last) \
-__glibcxx_check_valid_range(_First,_Last); \
-_GLIBCXX_DEBUG_VERIFY(!_Position._M_singular(), \
- _M_message(__gnu_debug::__msg_insert_singular) \
- ._M_sequence(*this, "this") \
- ._M_iterator(_Position, #_Position)); \
-_GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \
- _M_message(__gnu_debug::__msg_insert_different) \
- ._M_sequence(*this, "this") \
- ._M_iterator(_Position, #_Position))
-
-/** Verify that we can erase the element referenced by the iterator
- * _Position. We can erase the element if the _Position iterator is
- * dereferenceable and references this sequence.
-*/
-#define __glibcxx_check_erase(_Position) \
-_GLIBCXX_DEBUG_VERIFY(_Position._M_dereferenceable(), \
- _M_message(__gnu_debug::__msg_erase_bad) \
- ._M_sequence(*this, "this") \
- ._M_iterator(_Position, #_Position)); \
-_GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \
- _M_message(__gnu_debug::__msg_erase_different) \
- ._M_sequence(*this, "this") \
- ._M_iterator(_Position, #_Position))
-
-/** Verify that we can erase the elements in the iterator range
- * [_First, _Last). We can erase the elements if [_First, _Last) is a
- * valid iterator range within this sequence.
-*/
-#define __glibcxx_check_erase_range(_First,_Last) \
-__glibcxx_check_valid_range(_First,_Last); \
-_GLIBCXX_DEBUG_VERIFY(_First._M_attached_to(this), \
- _M_message(__gnu_debug::__msg_erase_different) \
- ._M_sequence(*this, "this") \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last))
-
-// Verify that the subscript _N is less than the container's size.
-#define __glibcxx_check_subscript(_N) \
-_GLIBCXX_DEBUG_VERIFY(_N < this->size(), \
- _M_message(__gnu_debug::__msg_subscript_oob) \
- ._M_sequence(*this, "this") \
- ._M_integer(_N, #_N) \
- ._M_integer(this->size(), "size"))
-
-// Verify that the container is nonempty
-#define __glibcxx_check_nonempty() \
-_GLIBCXX_DEBUG_VERIFY(! this->empty(), \
- _M_message(__gnu_debug::__msg_empty) \
- ._M_sequence(*this, "this"))
-
-// Verify that the < operator for elements in the sequence is a
-// StrictWeakOrdering by checking that it is irreflexive.
-#define __glibcxx_check_strict_weak_ordering(_First,_Last) \
-_GLIBCXX_DEBUG_ASSERT(_First == _Last || !(*_First < *_First))
-
-// Verify that the predicate is StrictWeakOrdering by checking that it
-// is irreflexive.
-#define __glibcxx_check_strict_weak_ordering_pred(_First,_Last,_Pred) \
-_GLIBCXX_DEBUG_ASSERT(_First == _Last || !_Pred(*_First, *_First))
-
-
-// Verify that the iterator range [_First, _Last) is sorted
-#define __glibcxx_check_sorted(_First,_Last) \
-__glibcxx_check_valid_range(_First,_Last); \
-__glibcxx_check_strict_weak_ordering(_First,_Last); \
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_sorted(_First, _Last), \
- _M_message(__gnu_debug::__msg_unsorted) \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last))
-
-/** Verify that the iterator range [_First, _Last) is sorted by the
- predicate _Pred. */
-#define __glibcxx_check_sorted_pred(_First,_Last,_Pred) \
-__glibcxx_check_valid_range(_First,_Last); \
-__glibcxx_check_strict_weak_ordering_pred(_First,_Last,_Pred); \
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_sorted(_First, _Last, _Pred), \
- _M_message(__gnu_debug::__msg_unsorted_pred) \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last) \
- ._M_string(#_Pred))
-
-/** Verify that the iterator range [_First, _Last) is partitioned
- w.r.t. the value _Value. */
-#define __glibcxx_check_partitioned(_First,_Last,_Value) \
-__glibcxx_check_valid_range(_First,_Last); \
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned(_First, _Last, \
- _Value), \
- _M_message(__gnu_debug::__msg_unpartitioned) \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last) \
- ._M_string(#_Value))
-
-/** Verify that the iterator range [_First, _Last) is partitioned
- w.r.t. the value _Value and predicate _Pred. */
-#define __glibcxx_check_partitioned_pred(_First,_Last,_Value,_Pred) \
-__glibcxx_check_valid_range(_First,_Last); \
-_GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned(_First, _Last, \
- _Value, _Pred), \
- _M_message(__gnu_debug::__msg_unpartitioned_pred) \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last) \
- ._M_string(#_Pred) \
- ._M_string(#_Value))
-
-// Verify that the iterator range [_First, _Last) is a heap
-#define __glibcxx_check_heap(_First,_Last) \
-__glibcxx_check_valid_range(_First,_Last); \
-_GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last), \
- _M_message(__gnu_debug::__msg_not_heap) \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last))
-
-/** Verify that the iterator range [_First, _Last) is a heap
- w.r.t. the predicate _Pred. */
-#define __glibcxx_check_heap_pred(_First,_Last,_Pred) \
-__glibcxx_check_valid_range(_First,_Last); \
-_GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last, _Pred), \
- _M_message(__gnu_debug::__msg_not_heap_pred) \
- ._M_iterator(_First, #_First) \
- ._M_iterator(_Last, #_Last) \
- ._M_string(#_Pred))
-
-#ifdef _GLIBCXX_DEBUG_PEDANTIC
-# define __glibcxx_check_string(_String) _GLIBCXX_DEBUG_ASSERT(_String != 0)
-# define __glibcxx_check_string_len(_String,_Len) \
- _GLIBCXX_DEBUG_ASSERT(_String != 0 || _Len == 0)
-#else
-# define __glibcxx_check_string(_String)
-# define __glibcxx_check_string_len(_String,_Len)
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/debug/map b/contrib/libstdc++/include/debug/map
deleted file mode 100644
index 2435154da2ea..000000000000
--- a/contrib/libstdc++/include/debug/map
+++ /dev/null
@@ -1,42 +0,0 @@
-// Debugging map/multimap implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/map
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_MAP
-#define _GLIBCXX_DEBUG_MAP 1
-
-#include <map>
-#include <debug/map.h>
-#include <debug/multimap.h>
-
-#endif
diff --git a/contrib/libstdc++/include/debug/map.h b/contrib/libstdc++/include/debug/map.h
deleted file mode 100644
index 174d3c723d3b..000000000000
--- a/contrib/libstdc++/include/debug/map.h
+++ /dev/null
@@ -1,332 +0,0 @@
-// Debugging map implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/map.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_MAP_H
-#define _GLIBCXX_DEBUG_MAP_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-#include <utility>
-
-namespace std
-{
-namespace __debug
-{
- template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
- typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
- class map
- : public _GLIBCXX_STD::map<_Key, _Tp, _Compare, _Allocator>,
- public __gnu_debug::_Safe_sequence<map<_Key, _Tp, _Compare, _Allocator> >
- {
- typedef _GLIBCXX_STD::map<_Key, _Tp, _Compare, _Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<map> _Safe_base;
-
- public:
- // types:
- typedef _Key key_type;
- typedef _Tp mapped_type;
- typedef std::pair<const _Key, _Tp> value_type;
- typedef _Compare key_compare;
- typedef _Allocator allocator_type;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, map>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator, map>
- const_iterator;
-
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // 23.3.1.1 construct/copy/destroy:
- explicit map(const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__comp, __a) { }
-
- template<typename _InputIterator>
- map(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__first, __last), __last,
- __comp, __a), _Safe_base() { }
-
- map(const map<_Key,_Tp,_Compare,_Allocator>& __x)
- : _Base(__x), _Safe_base() { }
-
- map(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- ~map() { }
-
- map<_Key,_Tp,_Compare,_Allocator>&
- operator=(const map<_Key,_Tp,_Compare,_Allocator>& __x)
- {
- *static_cast<_Base*>(this) = __x;
- this->_M_invalidate_all();
- return *this;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 133. map missing get_allocator()
- using _Base::get_allocator;
-
- // iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // capacity:
- using _Base::empty;
- using _Base::size;
- using _Base::max_size;
-
- // 23.3.1.2 element access:
- using _Base::operator[];
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 464. Suggestion for new member functions in standard containers.
- using _Base::at;
-
- // modifiers:
- std::pair<iterator, bool>
- insert(const value_type& __x)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, bool> __res = _Base::insert(__x);
- return std::pair<iterator, bool>(iterator(__res.first, this),
- __res.second);
- }
-
- iterator
- insert(iterator __position, const value_type& __x)
- {
- __glibcxx_check_insert(__position);
- return iterator(_Base::insert(__position.base(), __x), this);
- }
-
- template<typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first, __last);
- }
-
- void
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- __position._M_invalidate();
- _Base::erase(__position.base());
- }
-
- size_type
- erase(const key_type& __x)
- {
- iterator __victim = find(__x);
- if (__victim == end())
- return 0;
- else
- {
- __victim._M_invalidate();
- _Base::erase(__victim.base());
- return 1;
- }
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__first, __last);
- while (__first != __last)
- this->erase(__first++);
- }
-
- void
- swap(map<_Key,_Tp,_Compare,_Allocator>& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- void
- clear()
- { this->erase(begin(), end()); }
-
- // observers:
- using _Base::key_comp;
- using _Base::value_comp;
-
- // 23.3.1.3 map operations:
- iterator
- find(const key_type& __x)
- { return iterator(_Base::find(__x), this); }
-
- const_iterator
- find(const key_type& __x) const
- { return const_iterator(_Base::find(__x), this); }
-
- using _Base::count;
-
- iterator
- lower_bound(const key_type& __x)
- { return iterator(_Base::lower_bound(__x), this); }
-
- const_iterator
- lower_bound(const key_type& __x) const
- { return const_iterator(_Base::lower_bound(__x), this); }
-
- iterator
- upper_bound(const key_type& __x)
- { return iterator(_Base::upper_bound(__x), this); }
-
- const_iterator
- upper_bound(const key_type& __x) const
- { return const_iterator(_Base::upper_bound(__x), this); }
-
- std::pair<iterator,iterator>
- equal_range(const key_type& __x)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- std::pair<const_iterator,const_iterator>
- equal_range(const key_type& __x) const
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- std::pair<_Base_const_iterator, _Base_const_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(const_iterator(__res.first, this),
- const_iterator(__res.second, this));
- }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator==(const map<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const map<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator!=(const map<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const map<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator<(const map<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const map<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator<=(const map<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const map<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator>=(const map<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const map<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator>(const map<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const map<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline void
- swap(map<_Key,_Tp,_Compare,_Allocator>& __lhs,
- map<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { __lhs.swap(__rhs); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/debug/multimap.h b/contrib/libstdc++/include/debug/multimap.h
deleted file mode 100644
index 7dcbb3def1b6..000000000000
--- a/contrib/libstdc++/include/debug/multimap.h
+++ /dev/null
@@ -1,319 +0,0 @@
-// Debugging multimap implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/multimap.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_MULTIMAP_H
-#define _GLIBCXX_DEBUG_MULTIMAP_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-#include <utility>
-
-namespace std
-{
-namespace __debug
-{
- template<typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
- typename _Allocator = std::allocator<std::pair<const _Key, _Tp> > >
- class multimap
- : public _GLIBCXX_STD::multimap<_Key, _Tp, _Compare, _Allocator>,
- public __gnu_debug::_Safe_sequence<multimap<_Key,_Tp,_Compare,_Allocator> >
- {
- typedef _GLIBCXX_STD::multimap<_Key, _Tp, _Compare, _Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<multimap> _Safe_base;
-
- public:
- // types:
- typedef _Key key_type;
- typedef _Tp mapped_type;
- typedef std::pair<const _Key, _Tp> value_type;
- typedef _Compare key_compare;
- typedef _Allocator allocator_type;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, multimap>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,
- multimap> const_iterator;
-
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // 23.3.1.1 construct/copy/destroy:
- explicit multimap(const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__comp, __a) { }
-
- template<typename _InputIterator>
- multimap(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__first, __last), __last,
- __comp, __a) { }
-
- multimap(const multimap<_Key,_Tp,_Compare,_Allocator>& __x)
- : _Base(__x), _Safe_base() { }
-
- multimap(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- ~multimap() { }
-
- multimap<_Key,_Tp,_Compare,_Allocator>&
- operator=(const multimap<_Key,_Tp,_Compare,_Allocator>& __x)
- {
- *static_cast<_Base*>(this) = __x;
- this->_M_invalidate_all();
- return *this;
- }
-
- using _Base::get_allocator;
-
- // iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // capacity:
- using _Base::empty;
- using _Base::size;
- using _Base::max_size;
-
- // modifiers:
- iterator
- insert(const value_type& __x)
- { return iterator(_Base::insert(__x), this); }
-
- iterator
- insert(iterator __position, const value_type& __x)
- {
- __glibcxx_check_insert(__position);
- return iterator(_Base::insert(__position.base(), __x), this);
- }
-
- template<typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first, __last);
- }
-
- void
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- __position._M_invalidate();
- _Base::erase(__position.base());
- }
-
- size_type
- erase(const key_type& __x)
- {
- std::pair<iterator, iterator> __victims = this->equal_range(__x);
- size_type __count = 0;
- while (__victims.first != __victims.second)
- {
- iterator __victim = __victims.first++;
- __victim._M_invalidate();
- _Base::erase(__victim.base());
- ++__count;
- }
- return __count;
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__first, __last);
- while (__first != __last)
- this->erase(__first++);
- }
-
- void
- swap(multimap<_Key,_Tp,_Compare,_Allocator>& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- void
- clear()
- { this->erase(begin(), end()); }
-
- // observers:
- using _Base::key_comp;
- using _Base::value_comp;
-
- // 23.3.1.3 multimap operations:
- iterator
- find(const key_type& __x)
- { return iterator(_Base::find(__x), this); }
-
- const_iterator
- find(const key_type& __x) const
- { return const_iterator(_Base::find(__x), this); }
-
- using _Base::count;
-
- iterator
- lower_bound(const key_type& __x)
- { return iterator(_Base::lower_bound(__x), this); }
-
- const_iterator
- lower_bound(const key_type& __x) const
- { return const_iterator(_Base::lower_bound(__x), this); }
-
- iterator
- upper_bound(const key_type& __x)
- { return iterator(_Base::upper_bound(__x), this); }
-
- const_iterator
- upper_bound(const key_type& __x) const
- { return const_iterator(_Base::upper_bound(__x), this); }
-
- std::pair<iterator,iterator>
- equal_range(const key_type& __x)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- std::pair<const_iterator,const_iterator>
- equal_range(const key_type& __x) const
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- std::pair<_Base_const_iterator, _Base_const_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(const_iterator(__res.first, this),
- const_iterator(__res.second, this));
- }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator==(const multimap<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const multimap<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator!=(const multimap<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const multimap<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator<(const multimap<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const multimap<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator<=(const multimap<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const multimap<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator>=(const multimap<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const multimap<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline bool
- operator>(const multimap<_Key,_Tp,_Compare,_Allocator>& __lhs,
- const multimap<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _Key,typename _Tp,typename _Compare,typename _Allocator>
- inline void
- swap(multimap<_Key,_Tp,_Compare,_Allocator>& __lhs,
- multimap<_Key,_Tp,_Compare,_Allocator>& __rhs)
- { __lhs.swap(__rhs); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/debug/multiset.h b/contrib/libstdc++/include/debug/multiset.h
deleted file mode 100644
index a37099e1ac80..000000000000
--- a/contrib/libstdc++/include/debug/multiset.h
+++ /dev/null
@@ -1,327 +0,0 @@
-// Debugging multiset implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/multiset.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_MULTISET_H
-#define _GLIBCXX_DEBUG_MULTISET_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-#include <utility>
-
-namespace std
-{
-namespace __debug
-{
- template<typename _Key, typename _Compare = std::less<_Key>,
- typename _Allocator = std::allocator<_Key> >
- class multiset
- : public _GLIBCXX_STD::multiset<_Key, _Compare, _Allocator>,
- public __gnu_debug::_Safe_sequence<multiset<_Key, _Compare, _Allocator> >
- {
- typedef _GLIBCXX_STD::multiset<_Key, _Compare, _Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<multiset> _Safe_base;
-
- public:
- // types:
- typedef _Key key_type;
- typedef _Key value_type;
- typedef _Compare key_compare;
- typedef _Compare value_compare;
- typedef _Allocator allocator_type;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, multiset>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,
- multiset> const_iterator;
-
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // 23.3.3.1 construct/copy/destroy:
- explicit multiset(const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__comp, __a) { }
-
- template<typename _InputIterator>
- multiset(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__first, __last), __last,
- __comp, __a) { }
-
- multiset(const multiset<_Key,_Compare,_Allocator>& __x)
- : _Base(__x), _Safe_base() { }
-
- multiset(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- ~multiset() { }
-
- multiset<_Key,_Compare,_Allocator>&
- operator=(const multiset<_Key,_Compare,_Allocator>& __x)
- {
- *static_cast<_Base*>(this) = __x;
- this->_M_invalidate_all();
- return *this;
- }
-
- using _Base::get_allocator;
-
- // iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // capacity:
- using _Base::empty;
- using _Base::size;
- using _Base::max_size;
-
- // modifiers:
- iterator
- insert(const value_type& __x)
- { return iterator(_Base::insert(__x), this); }
-
- iterator
- insert(iterator __position, const value_type& __x)
- {
- __glibcxx_check_insert(__position);
- return iterator(_Base::insert(__position.base(), __x), this);
- }
-
- template<typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first, __last);
- }
-
- void
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- __position._M_invalidate();
- _Base::erase(__position.base());
- }
-
- size_type
- erase(const key_type& __x)
- {
- std::pair<iterator, iterator> __victims = this->equal_range(__x);
- size_type __count = 0;
- while (__victims.first != __victims.second)
- {
- iterator __victim = __victims.first++;
- __victim._M_invalidate();
- _Base::erase(__victim.base());
- ++__count;
- }
- return __count;
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__first, __last);
- while (__first != __last)
- this->erase(__first++);
- }
-
- void
- swap(multiset<_Key,_Compare,_Allocator>& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- void
- clear()
- { this->erase(begin(), end()); }
-
- // observers:
- using _Base::key_comp;
- using _Base::value_comp;
-
- // multiset operations:
- iterator
- find(const key_type& __x)
- { return iterator(_Base::find(__x), this); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- const_iterator
- find(const key_type& __x) const
- { return const_iterator(_Base::find(__x), this); }
-
- using _Base::count;
-
- iterator
- lower_bound(const key_type& __x)
- { return iterator(_Base::lower_bound(__x), this); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- const_iterator
- lower_bound(const key_type& __x) const
- { return const_iterator(_Base::lower_bound(__x), this); }
-
- iterator
- upper_bound(const key_type& __x)
- { return iterator(_Base::upper_bound(__x), this); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- const_iterator
- upper_bound(const key_type& __x) const
- { return const_iterator(_Base::upper_bound(__x), this); }
-
- std::pair<iterator,iterator>
- equal_range(const key_type& __x)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- std::pair<const_iterator,const_iterator>
- equal_range(const key_type& __x) const
- {
- typedef typename _Base::const_iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(const_iterator(__res.first, this),
- const_iterator(__res.second, this));
- }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator==(const multiset<_Key,_Compare,_Allocator>& __lhs,
- const multiset<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator!=(const multiset<_Key,_Compare,_Allocator>& __lhs,
- const multiset<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator<(const multiset<_Key,_Compare,_Allocator>& __lhs,
- const multiset<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator<=(const multiset<_Key,_Compare,_Allocator>& __lhs,
- const multiset<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator>=(const multiset<_Key,_Compare,_Allocator>& __lhs,
- const multiset<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator>(const multiset<_Key,_Compare,_Allocator>& __lhs,
- const multiset<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- void
- swap(multiset<_Key,_Compare,_Allocator>& __x,
- multiset<_Key,_Compare,_Allocator>& __y)
- { return __x.swap(__y); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/debug/safe_base.h b/contrib/libstdc++/include/debug/safe_base.h
deleted file mode 100644
index 2d26f57a396c..000000000000
--- a/contrib/libstdc++/include/debug/safe_base.h
+++ /dev/null
@@ -1,225 +0,0 @@
-// Safe sequence/iterator base implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/safe_base.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_SAFE_BASE_H
-#define _GLIBCXX_DEBUG_SAFE_BASE_H 1
-
-#include <ext/concurrence.h>
-
-namespace __gnu_debug
-{
- class _Safe_sequence_base;
-
- /** \brief Basic functionality for a "safe" iterator.
- *
- * The %_Safe_iterator_base base class implements the functionality
- * of a safe iterator that is not specific to a particular iterator
- * type. It contains a pointer back to the sequence it references
- * along with iterator version information and pointers to form a
- * doubly-linked list of iterators referenced by the container.
- *
- * This class must not perform any operations that can throw an
- * exception, or the exception guarantees of derived iterators will
- * be broken.
- */
- class _Safe_iterator_base
- {
- public:
- /** The sequence this iterator references; may be NULL to indicate
- a singular iterator. */
- _Safe_sequence_base* _M_sequence;
-
- /** The version number of this iterator. The sentinel value 0 is
- * used to indicate an invalidated iterator (i.e., one that is
- * singular because of an operation on the container). This
- * version number must equal the version number in the sequence
- * referenced by _M_sequence for the iterator to be
- * non-singular.
- */
- unsigned int _M_version;
-
- /** Pointer to the previous iterator in the sequence's list of
- iterators. Only valid when _M_sequence != NULL. */
- _Safe_iterator_base* _M_prior;
-
- /** Pointer to the next iterator in the sequence's list of
- iterators. Only valid when _M_sequence != NULL. */
- _Safe_iterator_base* _M_next;
-
- protected:
- /** Initializes the iterator and makes it singular. */
- _Safe_iterator_base()
- : _M_sequence(0), _M_version(0), _M_prior(0), _M_next(0)
- { }
-
- /** Initialize the iterator to reference the sequence pointed to
- * by @p__seq. @p __constant is true when we are initializing a
- * constant iterator, and false if it is a mutable iterator. Note
- * that @p __seq may be NULL, in which case the iterator will be
- * singular. Otherwise, the iterator will reference @p __seq and
- * be nonsingular.
- */
- _Safe_iterator_base(const _Safe_sequence_base* __seq, bool __constant)
- : _M_sequence(0), _M_version(0), _M_prior(0), _M_next(0)
- { this->_M_attach(const_cast<_Safe_sequence_base*>(__seq), __constant); }
-
- /** Initializes the iterator to reference the same sequence that
- @p __x does. @p __constant is true if this is a constant
- iterator, and false if it is mutable. */
- _Safe_iterator_base(const _Safe_iterator_base& __x, bool __constant)
- : _M_sequence(0), _M_version(0), _M_prior(0), _M_next(0)
- { this->_M_attach(__x._M_sequence, __constant); }
-
- _Safe_iterator_base&
- operator=(const _Safe_iterator_base&);
-
- explicit
- _Safe_iterator_base(const _Safe_iterator_base&);
-
- ~_Safe_iterator_base() { this->_M_detach(); }
-
- /** For use in _Safe_iterator. */
- __gnu_cxx::__mutex& _M_get_mutex();
-
- public:
- /** Attaches this iterator to the given sequence, detaching it
- * from whatever sequence it was attached to originally. If the
- * new sequence is the NULL pointer, the iterator is left
- * unattached.
- */
- void _M_attach(_Safe_sequence_base* __seq, bool __constant);
-
- /** Likewise, but not thread-safe. */
- void _M_attach_single(_Safe_sequence_base* __seq, bool __constant);
-
- /** Detach the iterator for whatever sequence it is attached to,
- * if any.
- */
- void _M_detach();
-
- /** Likewise, but not thread-safe. */
- void _M_detach_single();
-
- /** Determines if we are attached to the given sequence. */
- bool _M_attached_to(const _Safe_sequence_base* __seq) const
- { return _M_sequence == __seq; }
-
- /** Is this iterator singular? */
- bool _M_singular() const;
-
- /** Can we compare this iterator to the given iterator @p __x?
- Returns true if both iterators are nonsingular and reference
- the same sequence. */
- bool _M_can_compare(const _Safe_iterator_base& __x) const;
- };
-
- /**
- * @brief Base class that supports tracking of iterators that
- * reference a sequence.
- *
- * The %_Safe_sequence_base class provides basic support for
- * tracking iterators into a sequence. Sequences that track
- * iterators must derived from %_Safe_sequence_base publicly, so
- * that safe iterators (which inherit _Safe_iterator_base) can
- * attach to them. This class contains two linked lists of
- * iterators, one for constant iterators and one for mutable
- * iterators, and a version number that allows very fast
- * invalidation of all iterators that reference the container.
- *
- * This class must ensure that no operation on it may throw an
- * exception, otherwise "safe" sequences may fail to provide the
- * exception-safety guarantees required by the C++ standard.
- */
- class _Safe_sequence_base
- {
- public:
- /// The list of mutable iterators that reference this container
- _Safe_iterator_base* _M_iterators;
-
- /// The list of constant iterators that reference this container
- _Safe_iterator_base* _M_const_iterators;
-
- /// The container version number. This number may never be 0.
- mutable unsigned int _M_version;
-
- protected:
- // Initialize with a version number of 1 and no iterators
- _Safe_sequence_base()
- : _M_iterators(0), _M_const_iterators(0), _M_version(1)
- { }
-
- /** Notify all iterators that reference this sequence that the
- sequence is being destroyed. */
- ~_Safe_sequence_base()
- { this->_M_detach_all(); }
-
- /** Detach all iterators, leaving them singular. */
- void
- _M_detach_all();
-
- /** Detach all singular iterators.
- * @post for all iterators i attached to this sequence,
- * i->_M_version == _M_version.
- */
- void
- _M_detach_singular();
-
- /** Revalidates all attached singular iterators. This method may
- * be used to validate iterators that were invalidated before
- * (but for some reasion, such as an exception, need to become
- * valid again).
- */
- void
- _M_revalidate_singular();
-
- /** Swap this sequence with the given sequence. This operation
- * also swaps ownership of the iterators, so that when the
- * operation is complete all iterators that originally referenced
- * one container now reference the other container.
- */
- void
- _M_swap(_Safe_sequence_base& __x);
-
- /** For use in _Safe_sequence. */
- __gnu_cxx::__mutex& _M_get_mutex();
-
- public:
- /** Invalidates all iterators. */
- void
- _M_invalidate_all() const
- { if (++_M_version == 0) _M_version = 1; }
- };
-} // namespace __gnu_debug
-
-#endif
diff --git a/contrib/libstdc++/include/debug/safe_iterator.h b/contrib/libstdc++/include/debug/safe_iterator.h
deleted file mode 100644
index 3d8ba59419b1..000000000000
--- a/contrib/libstdc++/include/debug/safe_iterator.h
+++ /dev/null
@@ -1,648 +0,0 @@
-// Safe iterator implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/safe_iterator.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_SAFE_ITERATOR_H
-#define _GLIBCXX_DEBUG_SAFE_ITERATOR_H 1
-
-#include <debug/debug.h>
-#include <debug/macros.h>
-#include <debug/functions.h>
-#include <debug/formatter.h>
-#include <debug/safe_base.h>
-#include <bits/stl_pair.h>
-#include <ext/type_traits.h>
-
-namespace __gnu_debug
-{
- /** Iterators that derive from _Safe_iterator_base but that aren't
- * _Safe_iterators can be determined singular or non-singular via
- * _Safe_iterator_base.
- */
- inline bool
- __check_singular_aux(const _Safe_iterator_base* __x)
- { return __x->_M_singular(); }
-
- /** \brief Safe iterator wrapper.
- *
- * The class template %_Safe_iterator is a wrapper around an
- * iterator that tracks the iterator's movement among sequences and
- * checks that operations performed on the "safe" iterator are
- * legal. In additional to the basic iterator operations (which are
- * validated, and then passed to the underlying iterator),
- * %_Safe_iterator has member functions for iterator invalidation,
- * attaching/detaching the iterator from sequences, and querying
- * the iterator's state.
- */
- template<typename _Iterator, typename _Sequence>
- class _Safe_iterator : public _Safe_iterator_base
- {
- typedef _Safe_iterator _Self;
-
- /** The precision to which we can calculate the distance between
- * two iterators.
- */
- enum _Distance_precision
- {
- __dp_equality, //< Can compare iterator equality, only
- __dp_sign, //< Can determine equality and ordering
- __dp_exact //< Can determine distance precisely
- };
-
- /// The underlying iterator
- _Iterator _M_current;
-
- /// Determine if this is a constant iterator.
- bool
- _M_constant() const
- {
- typedef typename _Sequence::const_iterator const_iterator;
- return __is_same<const_iterator, _Safe_iterator>::value;
- }
-
- typedef std::iterator_traits<_Iterator> _Traits;
-
- public:
- typedef _Iterator _Base_iterator;
- typedef typename _Traits::iterator_category iterator_category;
- typedef typename _Traits::value_type value_type;
- typedef typename _Traits::difference_type difference_type;
- typedef typename _Traits::reference reference;
- typedef typename _Traits::pointer pointer;
-
- /// @post the iterator is singular and unattached
- _Safe_iterator() : _M_current() { }
-
- /**
- * @brief Safe iterator construction from an unsafe iterator and
- * its sequence.
- *
- * @pre @p seq is not NULL
- * @post this is not singular
- */
- _Safe_iterator(const _Iterator& __i, const _Sequence* __seq)
- : _Safe_iterator_base(__seq, _M_constant()), _M_current(__i)
- {
- _GLIBCXX_DEBUG_VERIFY(! this->_M_singular(),
- _M_message(__msg_init_singular)
- ._M_iterator(*this, "this"));
- }
-
- /**
- * @brief Copy construction.
- * @pre @p x is not singular
- */
- _Safe_iterator(const _Safe_iterator& __x)
- : _Safe_iterator_base(__x, _M_constant()), _M_current(__x._M_current)
- {
- _GLIBCXX_DEBUG_VERIFY(!__x._M_singular(),
- _M_message(__msg_init_copy_singular)
- ._M_iterator(*this, "this")
- ._M_iterator(__x, "other"));
- }
-
- /**
- * @brief Converting constructor from a mutable iterator to a
- * constant iterator.
- *
- * @pre @p x is not singular
- */
- template<typename _MutableIterator>
- _Safe_iterator(
- const _Safe_iterator<_MutableIterator,
- typename __gnu_cxx::__enable_if<(std::__are_same<_MutableIterator,
- typename _Sequence::iterator::_Base_iterator>::__value),
- _Sequence>::__type>& __x)
- : _Safe_iterator_base(__x, _M_constant()), _M_current(__x.base())
- {
- _GLIBCXX_DEBUG_VERIFY(!__x._M_singular(),
- _M_message(__msg_init_const_singular)
- ._M_iterator(*this, "this")
- ._M_iterator(__x, "other"));
- }
-
- /**
- * @brief Copy assignment.
- * @pre @p x is not singular
- */
- _Safe_iterator&
- operator=(const _Safe_iterator& __x)
- {
- _GLIBCXX_DEBUG_VERIFY(!__x._M_singular(),
- _M_message(__msg_copy_singular)
- ._M_iterator(*this, "this")
- ._M_iterator(__x, "other"));
- _M_current = __x._M_current;
- this->_M_attach(static_cast<_Sequence*>(__x._M_sequence));
- return *this;
- }
-
- /**
- * @brief Iterator dereference.
- * @pre iterator is dereferenceable
- */
- reference
- operator*() const
- {
-
- _GLIBCXX_DEBUG_VERIFY(this->_M_dereferenceable(),
- _M_message(__msg_bad_deref)
- ._M_iterator(*this, "this"));
- return *_M_current;
- }
-
- /**
- * @brief Iterator dereference.
- * @pre iterator is dereferenceable
- * @todo Make this correct w.r.t. iterators that return proxies
- * @todo Use addressof() instead of & operator
- */
- pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_dereferenceable(),
- _M_message(__msg_bad_deref)
- ._M_iterator(*this, "this"));
- return &*_M_current;
- }
-
- // ------ Input iterator requirements ------
- /**
- * @brief Iterator preincrement
- * @pre iterator is incrementable
- */
- _Safe_iterator&
- operator++()
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_incrementable(),
- _M_message(__msg_bad_inc)
- ._M_iterator(*this, "this"));
- ++_M_current;
- return *this;
- }
-
- /**
- * @brief Iterator postincrement
- * @pre iterator is incrementable
- */
- _Safe_iterator
- operator++(int)
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_incrementable(),
- _M_message(__msg_bad_inc)
- ._M_iterator(*this, "this"));
- _Safe_iterator __tmp(*this);
- ++_M_current;
- return __tmp;
- }
-
- // ------ Bidirectional iterator requirements ------
- /**
- * @brief Iterator predecrement
- * @pre iterator is decrementable
- */
- _Safe_iterator&
- operator--()
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_decrementable(),
- _M_message(__msg_bad_dec)
- ._M_iterator(*this, "this"));
- --_M_current;
- return *this;
- }
-
- /**
- * @brief Iterator postdecrement
- * @pre iterator is decrementable
- */
- _Safe_iterator
- operator--(int)
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_decrementable(),
- _M_message(__msg_bad_dec)
- ._M_iterator(*this, "this"));
- _Safe_iterator __tmp(*this);
- --_M_current;
- return __tmp;
- }
-
- // ------ Random access iterator requirements ------
- reference
- operator[](const difference_type& __n) const
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_can_advance(__n)
- && this->_M_can_advance(__n+1),
- _M_message(__msg_iter_subscript_oob)
- ._M_iterator(*this)._M_integer(__n));
-
- return _M_current[__n];
- }
-
- _Safe_iterator&
- operator+=(const difference_type& __n)
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_can_advance(__n),
- _M_message(__msg_advance_oob)
- ._M_iterator(*this)._M_integer(__n));
- _M_current += __n;
- return *this;
- }
-
- _Safe_iterator
- operator+(const difference_type& __n) const
- {
- _Safe_iterator __tmp(*this);
- __tmp += __n;
- return __tmp;
- }
-
- _Safe_iterator&
- operator-=(const difference_type& __n)
- {
- _GLIBCXX_DEBUG_VERIFY(this->_M_can_advance(-__n),
- _M_message(__msg_retreat_oob)
- ._M_iterator(*this)._M_integer(__n));
- _M_current += -__n;
- return *this;
- }
-
- _Safe_iterator
- operator-(const difference_type& __n) const
- {
- _Safe_iterator __tmp(*this);
- __tmp -= __n;
- return __tmp;
- }
-
- // ------ Utilities ------
- /**
- * @brief Return the underlying iterator
- */
- _Iterator
- base() const { return _M_current; }
-
- /**
- * @brief Conversion to underlying non-debug iterator to allow
- * better interaction with non-debug containers.
- */
- operator _Iterator() const { return _M_current; }
-
- /** Attach iterator to the given sequence. */
- void
- _M_attach(const _Sequence* __seq)
- {
- _Safe_iterator_base::_M_attach(const_cast<_Sequence*>(__seq),
- _M_constant());
- }
-
- /** Likewise, but not thread-safe. */
- void
- _M_attach_single(const _Sequence* __seq)
- {
- _Safe_iterator_base::_M_attach_single(const_cast<_Sequence*>(__seq),
- _M_constant());
- }
-
- /** Invalidate the iterator, making it singular. */
- void
- _M_invalidate();
-
- /** Likewise, but not thread-safe. */
- void
- _M_invalidate_single();
-
- /// Is the iterator dereferenceable?
- bool
- _M_dereferenceable() const
- { return !this->_M_singular() && !_M_is_end(); }
-
- /// Is the iterator incrementable?
- bool
- _M_incrementable() const { return this->_M_dereferenceable(); }
-
- // Is the iterator decrementable?
- bool
- _M_decrementable() const { return !_M_singular() && !_M_is_begin(); }
-
- // Can we advance the iterator @p __n steps (@p __n may be negative)
- bool
- _M_can_advance(const difference_type& __n) const;
-
- // Is the iterator range [*this, __rhs) valid?
- template<typename _Other>
- bool
- _M_valid_range(const _Safe_iterator<_Other, _Sequence>& __rhs) const;
-
- // The sequence this iterator references.
- const _Sequence*
- _M_get_sequence() const
- { return static_cast<const _Sequence*>(_M_sequence); }
-
- /** Determine the distance between two iterators with some known
- * precision.
- */
- template<typename _Iterator1, typename _Iterator2>
- static std::pair<difference_type, _Distance_precision>
- _M_get_distance(const _Iterator1& __lhs, const _Iterator2& __rhs)
- {
- typedef typename std::iterator_traits<_Iterator1>::iterator_category
- _Category;
- return _M_get_distance(__lhs, __rhs, _Category());
- }
-
- template<typename _Iterator1, typename _Iterator2>
- static std::pair<difference_type, _Distance_precision>
- _M_get_distance(const _Iterator1& __lhs, const _Iterator2& __rhs,
- std::random_access_iterator_tag)
- {
- return std::make_pair(__rhs.base() - __lhs.base(), __dp_exact);
- }
-
- template<typename _Iterator1, typename _Iterator2>
- static std::pair<difference_type, _Distance_precision>
- _M_get_distance(const _Iterator1& __lhs, const _Iterator2& __rhs,
- std::forward_iterator_tag)
- {
- return std::make_pair(__lhs.base() == __rhs.base()? 0 : 1,
- __dp_equality);
- }
-
- /// Is this iterator equal to the sequence's begin() iterator?
- bool _M_is_begin() const
- { return *this == static_cast<const _Sequence*>(_M_sequence)->begin(); }
-
- /// Is this iterator equal to the sequence's end() iterator?
- bool _M_is_end() const
- { return *this == static_cast<const _Sequence*>(_M_sequence)->end(); }
- };
-
- template<typename _IteratorL, typename _IteratorR, typename _Sequence>
- inline bool
- operator==(const _Safe_iterator<_IteratorL, _Sequence>& __lhs,
- const _Safe_iterator<_IteratorR, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_compare_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_compare_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() == __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline bool
- operator==(const _Safe_iterator<_Iterator, _Sequence>& __lhs,
- const _Safe_iterator<_Iterator, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_compare_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_compare_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() == __rhs.base();
- }
-
- template<typename _IteratorL, typename _IteratorR, typename _Sequence>
- inline bool
- operator!=(const _Safe_iterator<_IteratorL, _Sequence>& __lhs,
- const _Safe_iterator<_IteratorR, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_compare_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_compare_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() != __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline bool
- operator!=(const _Safe_iterator<_Iterator, _Sequence>& __lhs,
- const _Safe_iterator<_Iterator, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_compare_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_compare_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() != __rhs.base();
- }
-
- template<typename _IteratorL, typename _IteratorR, typename _Sequence>
- inline bool
- operator<(const _Safe_iterator<_IteratorL, _Sequence>& __lhs,
- const _Safe_iterator<_IteratorR, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() < __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline bool
- operator<(const _Safe_iterator<_Iterator, _Sequence>& __lhs,
- const _Safe_iterator<_Iterator, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() < __rhs.base();
- }
-
- template<typename _IteratorL, typename _IteratorR, typename _Sequence>
- inline bool
- operator<=(const _Safe_iterator<_IteratorL, _Sequence>& __lhs,
- const _Safe_iterator<_IteratorR, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() <= __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline bool
- operator<=(const _Safe_iterator<_Iterator, _Sequence>& __lhs,
- const _Safe_iterator<_Iterator, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() <= __rhs.base();
- }
-
- template<typename _IteratorL, typename _IteratorR, typename _Sequence>
- inline bool
- operator>(const _Safe_iterator<_IteratorL, _Sequence>& __lhs,
- const _Safe_iterator<_IteratorR, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() > __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline bool
- operator>(const _Safe_iterator<_Iterator, _Sequence>& __lhs,
- const _Safe_iterator<_Iterator, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() > __rhs.base();
- }
-
- template<typename _IteratorL, typename _IteratorR, typename _Sequence>
- inline bool
- operator>=(const _Safe_iterator<_IteratorL, _Sequence>& __lhs,
- const _Safe_iterator<_IteratorR, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() >= __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline bool
- operator>=(const _Safe_iterator<_Iterator, _Sequence>& __lhs,
- const _Safe_iterator<_Iterator, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_iter_order_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_order_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() >= __rhs.base();
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // According to the resolution of DR179 not only the various comparison
- // operators but also operator- must accept mixed iterator/const_iterator
- // parameters.
- template<typename _IteratorL, typename _IteratorR, typename _Sequence>
- inline typename _Safe_iterator<_IteratorL, _Sequence>::difference_type
- operator-(const _Safe_iterator<_IteratorL, _Sequence>& __lhs,
- const _Safe_iterator<_IteratorR, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_distance_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_distance_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() - __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline typename _Safe_iterator<_Iterator, _Sequence>::difference_type
- operator-(const _Safe_iterator<_Iterator, _Sequence>& __lhs,
- const _Safe_iterator<_Iterator, _Sequence>& __rhs)
- {
- _GLIBCXX_DEBUG_VERIFY(! __lhs._M_singular() && ! __rhs._M_singular(),
- _M_message(__msg_distance_bad)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- _GLIBCXX_DEBUG_VERIFY(__lhs._M_can_compare(__rhs),
- _M_message(__msg_distance_different)
- ._M_iterator(__lhs, "lhs")
- ._M_iterator(__rhs, "rhs"));
- return __lhs.base() - __rhs.base();
- }
-
- template<typename _Iterator, typename _Sequence>
- inline _Safe_iterator<_Iterator, _Sequence>
- operator+(typename _Safe_iterator<_Iterator,_Sequence>::difference_type __n,
- const _Safe_iterator<_Iterator, _Sequence>& __i)
- { return __i + __n; }
-} // namespace __gnu_debug
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <debug/safe_iterator.tcc>
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/debug/safe_iterator.tcc b/contrib/libstdc++/include/debug/safe_iterator.tcc
deleted file mode 100644
index 2293d5d3bf3c..000000000000
--- a/contrib/libstdc++/include/debug/safe_iterator.tcc
+++ /dev/null
@@ -1,148 +0,0 @@
-// Debugging iterator implementation (out of line) -*- C++ -*-
-
-// Copyright (C) 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 debug/safe_iterator.tcc
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_SAFE_ITERATOR_TCC
-#define _GLIBCXX_DEBUG_SAFE_ITERATOR_TCC 1
-
-namespace __gnu_debug
-{
- template<typename _Iterator, typename _Sequence>
- bool
- _Safe_iterator<_Iterator, _Sequence>::
- _M_can_advance(const difference_type& __n) const
- {
- typedef typename _Sequence::const_iterator const_iterator;
-
- if (this->_M_singular())
- return false;
- if (__n == 0)
- return true;
- if (__n < 0)
- {
- const_iterator __begin =
- static_cast<const _Sequence*>(_M_sequence)->begin();
- std::pair<difference_type, _Distance_precision> __dist =
- this->_M_get_distance(__begin, *this);
- bool __ok = ((__dist.second == __dp_exact && __dist.first >= -__n)
- || (__dist.second != __dp_exact && __dist.first > 0));
- return __ok;
- }
- else
- {
- const_iterator __end =
- static_cast<const _Sequence*>(_M_sequence)->end();
- std::pair<difference_type, _Distance_precision> __dist =
- this->_M_get_distance(*this, __end);
- bool __ok = ((__dist.second == __dp_exact && __dist.first >= __n)
- || (__dist.second != __dp_exact && __dist.first > 0));
- return __ok;
- }
- }
-
- template<typename _Iterator, typename _Sequence>
- template<typename _Other>
- bool
- _Safe_iterator<_Iterator, _Sequence>::
- _M_valid_range(const _Safe_iterator<_Other, _Sequence>& __rhs) const
- {
- if (!_M_can_compare(__rhs))
- return false;
-
- /* Determine if we can order the iterators without the help of
- the container */
- std::pair<difference_type, _Distance_precision> __dist =
- this->_M_get_distance(*this, __rhs);
- switch (__dist.second) {
- case __dp_equality:
- if (__dist.first == 0)
- return true;
- break;
-
- case __dp_sign:
- case __dp_exact:
- return __dist.first >= 0;
- }
-
- /* We can only test for equality, but check if one of the
- iterators is at an extreme. */
- if (_M_is_begin() || __rhs._M_is_end())
- return true;
- else if (_M_is_end() || __rhs._M_is_begin())
- return false;
-
- // Assume that this is a valid range; we can't check anything else
- return true;
- }
-
- template<typename _Iterator, typename _Sequence>
- void
- _Safe_iterator<_Iterator, _Sequence>::
- _M_invalidate()
- {
- __gnu_cxx::__scoped_lock sentry(this->_M_get_mutex());
- _M_invalidate_single();
- }
-
- template<typename _Iterator, typename _Sequence>
- void
- _Safe_iterator<_Iterator, _Sequence>::
- _M_invalidate_single()
- {
- typedef typename _Sequence::iterator iterator;
- typedef typename _Sequence::const_iterator const_iterator;
-
- if (!this->_M_singular())
- {
- for (_Safe_iterator_base* __iter = _M_sequence->_M_iterators;
- __iter; __iter = __iter->_M_next)
- {
- iterator* __victim = static_cast<iterator*>(__iter);
- if (this->base() == __victim->base())
- __victim->_M_version = 0;
- }
-
- for (_Safe_iterator_base* __iter2 = _M_sequence->_M_const_iterators;
- __iter2; __iter2 = __iter2->_M_next)
- {
- const_iterator* __victim = static_cast<const_iterator*>(__iter2);
- if (__victim->base() == this->base())
- __victim->_M_version = 0;
- }
- _M_version = 0;
- }
- }
-} // namespace __gnu_debug
-
-#endif
-
diff --git a/contrib/libstdc++/include/debug/safe_sequence.h b/contrib/libstdc++/include/debug/safe_sequence.h
deleted file mode 100644
index b5d6cce320dc..000000000000
--- a/contrib/libstdc++/include/debug/safe_sequence.h
+++ /dev/null
@@ -1,188 +0,0 @@
-// Safe sequence implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/safe_sequence.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_SAFE_SEQUENCE_H
-#define _GLIBCXX_DEBUG_SAFE_SEQUENCE_H 1
-
-#include <debug/debug.h>
-#include <debug/macros.h>
-#include <debug/functions.h>
-#include <debug/safe_base.h>
-
-namespace __gnu_debug
-{
- template<typename _Iterator, typename _Sequence>
- class _Safe_iterator;
-
- /** A simple function object that returns true if the passed-in
- * value is not equal to the stored value. It saves typing over
- * using both bind1st and not_equal.
- */
- template<typename _Type>
- class _Not_equal_to
- {
- _Type __value;
-
- public:
- explicit _Not_equal_to(const _Type& __v) : __value(__v) { }
-
- bool
- operator()(const _Type& __x) const
- { return __value != __x; }
- };
-
- /** A function object that returns true when the given random access
- iterator is at least @c n steps away from the given iterator. */
- template<typename _Iterator>
- class _After_nth_from
- {
- typedef typename std::iterator_traits<_Iterator>::difference_type
- difference_type;
-
- _Iterator _M_base;
- difference_type _M_n;
-
- public:
- _After_nth_from(const difference_type& __n, const _Iterator& __base)
- : _M_base(__base), _M_n(__n) { }
-
- bool
- operator()(const _Iterator& __x) const
- { return __x - _M_base >= _M_n; }
- };
-
- /**
- * @brief Base class for constructing a "safe" sequence type that
- * tracks iterators that reference it.
- *
- * The class template %_Safe_sequence simplifies the construction of
- * "safe" sequences that track the iterators that reference the
- * sequence, so that the iterators are notified of changes in the
- * sequence that may affect their operation, e.g., if the container
- * invalidates its iterators or is destructed. This class template
- * may only be used by deriving from it and passing the name of the
- * derived class as its template parameter via the curiously
- * recurring template pattern. The derived class must have @c
- * iterator and @const_iterator types that are instantiations of
- * class template _Safe_iterator for this sequence. Iterators will
- * then be tracked automatically.
- */
- template<typename _Sequence>
- class _Safe_sequence : public _Safe_sequence_base
- {
- public:
- /** Invalidates all iterators @c x that reference this sequence,
- are not singular, and for which @c pred(x) returns @c
- true. The user of this routine should be careful not to make
- copies of the iterators passed to @p pred, as the copies may
- interfere with the invalidation. */
- template<typename _Predicate>
- void
- _M_invalidate_if(_Predicate __pred);
-
- /** Transfers all iterators that reference this memory location
- to this sequence from whatever sequence they are attached
- to. */
- template<typename _Iterator>
- void
- _M_transfer_iter(const _Safe_iterator<_Iterator, _Sequence>& __x);
- };
-
- template<typename _Sequence>
- template<typename _Predicate>
- void
- _Safe_sequence<_Sequence>::
- _M_invalidate_if(_Predicate __pred)
- {
- typedef typename _Sequence::iterator iterator;
- typedef typename _Sequence::const_iterator const_iterator;
-
- __gnu_cxx::__scoped_lock sentry(this->_M_get_mutex());
- for (_Safe_iterator_base* __iter = _M_iterators; __iter;)
- {
- iterator* __victim = static_cast<iterator*>(__iter);
- __iter = __iter->_M_next;
- if (!__victim->_M_singular())
- {
- if (__pred(__victim->base()))
- __victim->_M_invalidate_single();
- }
- }
-
- for (_Safe_iterator_base* __iter2 = _M_const_iterators; __iter2;)
- {
- const_iterator* __victim = static_cast<const_iterator*>(__iter2);
- __iter2 = __iter2->_M_next;
- if (!__victim->_M_singular())
- {
- if (__pred(__victim->base()))
- __victim->_M_invalidate_single();
- }
- }
- }
-
- template<typename _Sequence>
- template<typename _Iterator>
- void
- _Safe_sequence<_Sequence>::
- _M_transfer_iter(const _Safe_iterator<_Iterator, _Sequence>& __x)
- {
- _Safe_sequence_base* __from = __x._M_sequence;
- if (!__from)
- return;
-
- typedef typename _Sequence::iterator iterator;
- typedef typename _Sequence::const_iterator const_iterator;
-
- __gnu_cxx::__scoped_lock sentry(this->_M_get_mutex());
- for (_Safe_iterator_base* __iter = __from->_M_iterators; __iter;)
- {
- iterator* __victim = static_cast<iterator*>(__iter);
- __iter = __iter->_M_next;
- if (!__victim->_M_singular() && __victim->base() == __x.base())
- __victim->_M_attach_single(static_cast<_Sequence*>(this));
- }
-
- for (_Safe_iterator_base* __iter2 = __from->_M_const_iterators;
- __iter2;)
- {
- const_iterator* __victim = static_cast<const_iterator*>(__iter2);
- __iter2 = __iter2->_M_next;
- if (!__victim->_M_singular() && __victim->base() == __x.base())
- __victim->_M_attach_single(static_cast<_Sequence*>(this));
- }
- }
-} // namespace __gnu_debug
-
-#endif
diff --git a/contrib/libstdc++/include/debug/set b/contrib/libstdc++/include/debug/set
deleted file mode 100644
index e5f4e37afb77..000000000000
--- a/contrib/libstdc++/include/debug/set
+++ /dev/null
@@ -1,42 +0,0 @@
-// Debugging set/multiset implementation -*- C++ -*-
-
-// Copyright (C) 2003
-// 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 debug/set
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_SET
-#define _GLIBCXX_DEBUG_SET 1
-
-#include <set>
-#include <debug/set.h>
-#include <debug/multiset.h>
-
-#endif
diff --git a/contrib/libstdc++/include/debug/set.h b/contrib/libstdc++/include/debug/set.h
deleted file mode 100644
index 6c2ce9fd1fc6..000000000000
--- a/contrib/libstdc++/include/debug/set.h
+++ /dev/null
@@ -1,332 +0,0 @@
-// Debugging set implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/set.h
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_SET_H
-#define _GLIBCXX_DEBUG_SET_H 1
-
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-#include <utility>
-
-namespace std
-{
-namespace __debug
-{
- template<typename _Key, typename _Compare = std::less<_Key>,
- typename _Allocator = std::allocator<_Key> >
- class set
- : public _GLIBCXX_STD::set<_Key,_Compare,_Allocator>,
- public __gnu_debug::_Safe_sequence<set<_Key, _Compare, _Allocator> >
- {
- typedef _GLIBCXX_STD::set<_Key,_Compare,_Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<set> _Safe_base;
-
- public:
- // types:
- typedef _Key key_type;
- typedef _Key value_type;
- typedef _Compare key_compare;
- typedef _Compare value_compare;
- typedef _Allocator allocator_type;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, set>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator, set>
- const_iterator;
-
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // 23.3.3.1 construct/copy/destroy:
- explicit set(const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__comp, __a) { }
-
- template<typename _InputIterator>
- set(_InputIterator __first, _InputIterator __last,
- const _Compare& __comp = _Compare(),
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__first, __last), __last,
- __comp, __a) { }
-
- set(const set<_Key,_Compare,_Allocator>& __x)
- : _Base(__x), _Safe_base() { }
-
- set(const _Base& __x) : _Base(__x), _Safe_base() { }
-
- ~set() { }
-
- set<_Key,_Compare,_Allocator>&
- operator=(const set<_Key,_Compare,_Allocator>& __x)
- {
- *static_cast<_Base*>(this) = __x;
- this->_M_invalidate_all();
- return *this;
- }
-
- using _Base::get_allocator;
-
- // iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // capacity:
- using _Base::empty;
- using _Base::size;
- using _Base::max_size;
-
- // modifiers:
- std::pair<iterator, bool>
- insert(const value_type& __x)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, bool> __res = _Base::insert(__x);
- return std::pair<iterator, bool>(iterator(__res.first, this),
- __res.second);
- }
-
- iterator
- insert(iterator __position, const value_type& __x)
- {
- __glibcxx_check_insert(__position);
- return iterator(_Base::insert(__position.base(), __x), this);
- }
-
- template <typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::insert(__first, __last);
- }
-
- void
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- __position._M_invalidate();
- _Base::erase(__position.base());
- }
-
- size_type
- erase(const key_type& __x)
- {
- iterator __victim = find(__x);
- if (__victim == end())
- return 0;
- else
- {
- __victim._M_invalidate();
- _Base::erase(__victim.base());
- return 1;
- }
- }
-
- void
- erase(iterator __first, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__first, __last);
-
- while (__first != __last)
- this->erase(__first++);
- }
-
- void
- swap(set<_Key,_Compare,_Allocator>& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- }
-
- void
- clear()
- { this->erase(begin(), end()); }
-
- // observers:
- using _Base::key_comp;
- using _Base::value_comp;
-
- // set operations:
- iterator
- find(const key_type& __x)
- { return iterator(_Base::find(__x), this); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- const_iterator
- find(const key_type& __x) const
- { return const_iterator(_Base::find(__x), this); }
-
- using _Base::count;
-
- iterator
- lower_bound(const key_type& __x)
- { return iterator(_Base::lower_bound(__x), this); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- const_iterator
- lower_bound(const key_type& __x) const
- { return const_iterator(_Base::lower_bound(__x), this); }
-
- iterator
- upper_bound(const key_type& __x)
- { return iterator(_Base::upper_bound(__x), this); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- const_iterator
- upper_bound(const key_type& __x) const
- { return const_iterator(_Base::upper_bound(__x), this); }
-
- std::pair<iterator,iterator>
- equal_range(const key_type& __x)
- {
- typedef typename _Base::iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(iterator(__res.first, this),
- iterator(__res.second, this));
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 214. set::find() missing const overload
- std::pair<const_iterator,const_iterator>
- equal_range(const key_type& __x) const
- {
- typedef typename _Base::const_iterator _Base_iterator;
- std::pair<_Base_iterator, _Base_iterator> __res =
- _Base::equal_range(__x);
- return std::make_pair(const_iterator(__res.first, this),
- const_iterator(__res.second, this));
- }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- void
- _M_invalidate_all()
- {
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;
- this->_M_invalidate_if(_Not_equal(_M_base().end()));
- }
- };
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator==(const set<_Key,_Compare,_Allocator>& __lhs,
- const set<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator!=(const set<_Key,_Compare,_Allocator>& __lhs,
- const set<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator<(const set<_Key,_Compare,_Allocator>& __lhs,
- const set<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator<=(const set<_Key,_Compare,_Allocator>& __lhs,
- const set<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator>=(const set<_Key,_Compare,_Allocator>& __lhs,
- const set<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- inline bool
- operator>(const set<_Key,_Compare,_Allocator>& __lhs,
- const set<_Key,_Compare,_Allocator>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _Key, typename _Compare, typename _Allocator>
- void
- swap(set<_Key,_Compare,_Allocator>& __x,
- set<_Key,_Compare,_Allocator>& __y)
- { return __x.swap(__y); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/debug/string b/contrib/libstdc++/include/debug/string
deleted file mode 100644
index 070ca1fe58b7..000000000000
--- a/contrib/libstdc++/include/debug/string
+++ /dev/null
@@ -1,1023 +0,0 @@
-// Debugging string implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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 debug/string
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_STRING
-#define _GLIBCXX_DEBUG_STRING 1
-
-#include <string>
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace __gnu_debug
-{
- template<typename _CharT, typename _Traits = std::char_traits<_CharT>,
- typename _Allocator = std::allocator<_CharT> >
- class basic_string
- : public std::basic_string<_CharT, _Traits, _Allocator>,
- public __gnu_debug::_Safe_sequence<basic_string<_CharT, _Traits,
- _Allocator> >
- {
- typedef std::basic_string<_CharT, _Traits, _Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<basic_string> _Safe_base;
-
- public:
- // types:
- typedef _Traits traits_type;
- typedef typename _Traits::char_type value_type;
- typedef _Allocator allocator_type;
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator, basic_string>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,
- basic_string> const_iterator;
-
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- using _Base::npos;
-
- // 21.3.1 construct/copy/destroy:
- explicit basic_string(const _Allocator& __a = _Allocator())
- : _Base(__a)
- { }
-
- // Provides conversion from a release-mode string to a debug-mode string
- basic_string(const _Base& __base) : _Base(__base), _Safe_base() { }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 42. string ctors specify wrong default allocator
- basic_string(const basic_string& __str)
- : _Base(__str, 0, _Base::npos, __str.get_allocator()), _Safe_base()
- { }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 42. string ctors specify wrong default allocator
- basic_string(const basic_string& __str, size_type __pos,
- size_type __n = _Base::npos,
- const _Allocator& __a = _Allocator())
- : _Base(__str, __pos, __n, __a)
- { }
-
- basic_string(const _CharT* __s, size_type __n,
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_string(__s, __n), __n, __a)
- { }
-
- basic_string(const _CharT* __s, const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_string(__s), __a)
- { this->assign(__s); }
-
- basic_string(size_type __n, _CharT __c,
- const _Allocator& __a = _Allocator())
- : _Base(__n, __c, __a)
- { }
-
- template<typename _InputIterator>
- basic_string(_InputIterator __begin, _InputIterator __end,
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__begin, __end), __end, __a)
- { }
-
- ~basic_string() { }
-
- basic_string&
- operator=(const basic_string& __str)
- {
- *static_cast<_Base*>(this) = __str;
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- operator=(const _CharT* __s)
- {
- __glibcxx_check_string(__s);
- *static_cast<_Base*>(this) = __s;
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- operator=(_CharT __c)
- {
- *static_cast<_Base*>(this) = __c;
- this->_M_invalidate_all();
- return *this;
- }
-
- // 21.3.2 iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // 21.3.3 capacity:
- using _Base::size;
- using _Base::length;
- using _Base::max_size;
-
- void
- resize(size_type __n, _CharT __c)
- {
- _Base::resize(__n, __c);
- this->_M_invalidate_all();
- }
-
- void
- resize(size_type __n)
- { this->resize(__n, _CharT()); }
-
- using _Base::capacity;
- using _Base::reserve;
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- }
-
- using _Base::empty;
-
- // 21.3.4 element access:
- const_reference
- operator[](size_type __pos) const
- {
- _GLIBCXX_DEBUG_VERIFY(__pos <= this->size(),
- _M_message(__gnu_debug::__msg_subscript_oob)
- ._M_sequence(*this, "this")
- ._M_integer(__pos, "__pos")
- ._M_integer(this->size(), "size"));
- return _M_base()[__pos];
- }
-
- reference
- operator[](size_type __pos)
- {
-#ifdef _GLIBCXX_DEBUG_PEDANTIC
- __glibcxx_check_subscript(__pos);
-#else
- // as an extension v3 allows s[s.size()] when s is non-const.
- _GLIBCXX_DEBUG_VERIFY(__pos <= this->size(),
- _M_message(__gnu_debug::__msg_subscript_oob)
- ._M_sequence(*this, "this")
- ._M_integer(__pos, "__pos")
- ._M_integer(this->size(), "size"));
-#endif
- return _M_base()[__pos];
- }
-
- using _Base::at;
-
- // 21.3.5 modifiers:
- basic_string&
- operator+=(const basic_string& __str)
- {
- _M_base() += __str;
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- operator+=(const _CharT* __s)
- {
- __glibcxx_check_string(__s);
- _M_base() += __s;
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- operator+=(_CharT __c)
- {
- _M_base() += __c;
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- append(const basic_string& __str)
- {
- _Base::append(__str);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- append(const basic_string& __str, size_type __pos, size_type __n)
- {
- _Base::append(__str, __pos, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- append(const _CharT* __s, size_type __n)
- {
- __glibcxx_check_string_len(__s, __n);
- _Base::append(__s, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- append(const _CharT* __s)
- {
- __glibcxx_check_string(__s);
- _Base::append(__s);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- append(size_type __n, _CharT __c)
- {
- _Base::append(__n, __c);
- this->_M_invalidate_all();
- return *this;
- }
-
- template<typename _InputIterator>
- basic_string&
- append(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::append(__first, __last);
- this->_M_invalidate_all();
- return *this;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 7. string clause minor problems
- void
- push_back(_CharT __c)
- {
- _Base::push_back(__c);
- this->_M_invalidate_all();
- }
-
- basic_string&
- assign(const basic_string& __x)
- {
- _Base::assign(__x);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- assign(const basic_string& __str, size_type __pos, size_type __n)
- {
- _Base::assign(__str, __pos, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- assign(const _CharT* __s, size_type __n)
- {
- __glibcxx_check_string_len(__s, __n);
- _Base::assign(__s, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- assign(const _CharT* __s)
- {
- __glibcxx_check_string(__s);
- _Base::assign(__s);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- assign(size_type __n, _CharT __c)
- {
- _Base::assign(__n, __c);
- this->_M_invalidate_all();
- return *this;
- }
-
- template<typename _InputIterator>
- basic_string&
- assign(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::assign(__first, __last);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- insert(size_type __pos1, const basic_string& __str)
- {
- _Base::insert(__pos1, __str);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- insert(size_type __pos1, const basic_string& __str,
- size_type __pos2, size_type __n)
- {
- _Base::insert(__pos1, __str, __pos2, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- insert(size_type __pos, const _CharT* __s, size_type __n)
- {
- __glibcxx_check_string(__s);
- _Base::insert(__pos, __s, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- insert(size_type __pos, const _CharT* __s)
- {
- __glibcxx_check_string(__s);
- _Base::insert(__pos, __s);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- insert(size_type __pos, size_type __n, _CharT __c)
- {
- _Base::insert(__pos, __n, __c);
- this->_M_invalidate_all();
- return *this;
- }
-
- iterator
- insert(iterator __p, _CharT __c)
- {
- __glibcxx_check_insert(__p);
- typename _Base::iterator __res = _Base::insert(__p.base(), __c);
- this->_M_invalidate_all();
- return iterator(__res, this);
- }
-
- void
- insert(iterator __p, size_type __n, _CharT __c)
- {
- __glibcxx_check_insert(__p);
- _Base::insert(__p.base(), __n, __c);
- this->_M_invalidate_all();
- }
-
- template<typename _InputIterator>
- void
- insert(iterator __p, _InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_insert_range(__p, __first, __last);
- _Base::insert(__p.base(), __first, __last);
- this->_M_invalidate_all();
- }
-
- basic_string&
- erase(size_type __pos = 0, size_type __n = _Base::npos)
- {
- _Base::erase(__pos, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- iterator
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- typename _Base::iterator __res = _Base::erase(__position.base());
- this->_M_invalidate_all();
- return iterator(__res, this);
- }
-
- iterator
- erase(iterator __first, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__first, __last);
- typename _Base::iterator __res = _Base::erase(__first.base(),
- __last.base());
- this->_M_invalidate_all();
- return iterator(__res, this);
- }
-
- basic_string&
- replace(size_type __pos1, size_type __n1, const basic_string& __str)
- {
- _Base::replace(__pos1, __n1, __str);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(size_type __pos1, size_type __n1, const basic_string& __str,
- size_type __pos2, size_type __n2)
- {
- _Base::replace(__pos1, __n1, __str, __pos2, __n2);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2)
- {
- __glibcxx_check_string_len(__s, __n2);
- _Base::replace(__pos, __n1, __s, __n2);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(size_type __pos, size_type __n1, const _CharT* __s)
- {
- __glibcxx_check_string(__s);
- _Base::replace(__pos, __n1, __s);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
- {
- _Base::replace(__pos, __n1, __n2, __c);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(iterator __i1, iterator __i2, const basic_string& __str)
- {
- __glibcxx_check_erase_range(__i1, __i2);
- _Base::replace(__i1.base(), __i2.base(), __str);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
- {
- __glibcxx_check_erase_range(__i1, __i2);
- __glibcxx_check_string_len(__s, __n);
- _Base::replace(__i1.base(), __i2.base(), __s, __n);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(iterator __i1, iterator __i2, const _CharT* __s)
- {
- __glibcxx_check_erase_range(__i1, __i2);
- __glibcxx_check_string(__s);
- _Base::replace(__i1.base(), __i2.base(), __s);
- this->_M_invalidate_all();
- return *this;
- }
-
- basic_string&
- replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
- {
- __glibcxx_check_erase_range(__i1, __i2);
- _Base::replace(__i1.base(), __i2.base(), __n, __c);
- this->_M_invalidate_all();
- return *this;
- }
-
- template<typename _InputIterator>
- basic_string&
- replace(iterator __i1, iterator __i2,
- _InputIterator __j1, _InputIterator __j2)
- {
- __glibcxx_check_erase_range(__i1, __i2);
- __glibcxx_check_valid_range(__j1, __j2);
- _Base::replace(__i1.base(), __i2.base(), __j1, __j2);
- this->_M_invalidate_all();
- return *this;
- }
-
- size_type
- copy(_CharT* __s, size_type __n, size_type __pos = 0) const
- {
- __glibcxx_check_string_len(__s, __n);
- return _Base::copy(__s, __n, __pos);
- }
-
- void
- swap(basic_string<_CharT,_Traits,_Allocator>& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- this->_M_invalidate_all();
- __x._M_invalidate_all();
- }
-
- // 21.3.6 string operations:
- const _CharT*
- c_str() const
- {
- const _CharT* __res = _Base::c_str();
- this->_M_invalidate_all();
- return __res;
- }
-
- const _CharT*
- data() const
- {
- const _CharT* __res = _Base::data();
- this->_M_invalidate_all();
- return __res;
- }
-
- using _Base::get_allocator;
-
- size_type
- find(const basic_string& __str, size_type __pos = 0) const
- { return _Base::find(__str, __pos); }
-
- size_type
- find(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_check_string(__s);
- return _Base::find(__s, __pos, __n);
- }
-
- size_type
- find(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_check_string(__s);
- return _Base::find(__s, __pos);
- }
-
- size_type
- find(_CharT __c, size_type __pos = 0) const
- { return _Base::find(__c, __pos); }
-
- size_type
- rfind(const basic_string& __str, size_type __pos = _Base::npos) const
- { return _Base::rfind(__str, __pos); }
-
- size_type
- rfind(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_check_string_len(__s, __n);
- return _Base::rfind(__s, __pos, __n);
- }
-
- size_type
- rfind(const _CharT* __s, size_type __pos = _Base::npos) const
- {
- __glibcxx_check_string(__s);
- return _Base::rfind(__s, __pos);
- }
-
- size_type
- rfind(_CharT __c, size_type __pos = _Base::npos) const
- { return _Base::rfind(__c, __pos); }
-
- size_type
- find_first_of(const basic_string& __str, size_type __pos = 0) const
- { return _Base::find_first_of(__str, __pos); }
-
- size_type
- find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_check_string(__s);
- return _Base::find_first_of(__s, __pos, __n);
- }
-
- size_type
- find_first_of(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_check_string(__s);
- return _Base::find_first_of(__s, __pos);
- }
-
- size_type
- find_first_of(_CharT __c, size_type __pos = 0) const
- { return _Base::find_first_of(__c, __pos); }
-
- size_type
- find_last_of(const basic_string& __str,
- size_type __pos = _Base::npos) const
- { return _Base::find_last_of(__str, __pos); }
-
- size_type
- find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_check_string(__s);
- return _Base::find_last_of(__s, __pos, __n);
- }
-
- size_type
- find_last_of(const _CharT* __s, size_type __pos = _Base::npos) const
- {
- __glibcxx_check_string(__s);
- return _Base::find_last_of(__s, __pos);
- }
-
- size_type
- find_last_of(_CharT __c, size_type __pos = _Base::npos) const
- { return _Base::find_last_of(__c, __pos); }
-
- size_type
- find_first_not_of(const basic_string& __str, size_type __pos = 0) const
- { return _Base::find_first_not_of(__str, __pos); }
-
- size_type
- find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_check_string_len(__s, __n);
- return _Base::find_first_not_of(__s, __pos, __n);
- }
-
- size_type
- find_first_not_of(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_check_string(__s);
- return _Base::find_first_not_of(__s, __pos);
- }
-
- size_type
- find_first_not_of(_CharT __c, size_type __pos = 0) const
- { return _Base::find_first_not_of(__c, __pos); }
-
- size_type
- find_last_not_of(const basic_string& __str,
- size_type __pos = _Base::npos) const
- { return _Base::find_last_not_of(__str, __pos); }
-
- size_type
- find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_check_string(__s);
- return _Base::find_last_not_of(__s, __pos, __n);
- }
-
- size_type
- find_last_not_of(const _CharT* __s, size_type __pos = _Base::npos) const
- {
- __glibcxx_check_string(__s);
- return _Base::find_last_not_of(__s, __pos);
- }
-
- size_type
- find_last_not_of(_CharT __c, size_type __pos = _Base::npos) const
- { return _Base::find_last_not_of(__c, __pos); }
-
- basic_string
- substr(size_type __pos = 0, size_type __n = _Base::npos) const
- { return basic_string(_Base::substr(__pos, __n)); }
-
- int
- compare(const basic_string& __str) const
- { return _Base::compare(__str); }
-
- int
- compare(size_type __pos1, size_type __n1,
- const basic_string& __str) const
- { return _Base::compare(__pos1, __n1, __str); }
-
- int
- compare(size_type __pos1, size_type __n1, const basic_string& __str,
- size_type __pos2, size_type __n2) const
- { return _Base::compare(__pos1, __n1, __str, __pos2, __n2); }
-
- int
- compare(const _CharT* __s) const
- {
- __glibcxx_check_string(__s);
- return _Base::compare(__s);
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 5. string::compare specification questionable
- int
- compare(size_type __pos1, size_type __n1, const _CharT* __s) const
- {
- __glibcxx_check_string(__s);
- return _Base::compare(__pos1, __n1, __s);
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 5. string::compare specification questionable
- int
- compare(size_type __pos1, size_type __n1,const _CharT* __s,
- size_type __n2) const
- {
- __glibcxx_check_string_len(__s, __n2);
- return _Base::compare(__pos1, __n1, __s, __n2);
- }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- using _Safe_base::_M_invalidate_all;
- };
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline basic_string<_CharT,_Traits,_Allocator>
- operator+(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return basic_string<_CharT,_Traits,_Allocator>(__lhs) += __rhs; }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline basic_string<_CharT,_Traits,_Allocator>
- operator+(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- {
- __glibcxx_check_string(__lhs);
- return basic_string<_CharT,_Traits,_Allocator>(__lhs) += __rhs;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline basic_string<_CharT,_Traits,_Allocator>
- operator+(_CharT __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return basic_string<_CharT,_Traits,_Allocator>(1, __lhs) += __rhs; }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline basic_string<_CharT,_Traits,_Allocator>
- operator+(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_check_string(__rhs);
- return basic_string<_CharT,_Traits,_Allocator>(__lhs) += __rhs;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline basic_string<_CharT,_Traits,_Allocator>
- operator+(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- _CharT __rhs)
- { return basic_string<_CharT,_Traits,_Allocator>(__lhs) += __rhs; }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator==(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator==(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- {
- __glibcxx_check_string(__lhs);
- return __lhs == __rhs._M_base();
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator==(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_check_string(__rhs);
- return __lhs._M_base() == __rhs;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator!=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator!=(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- {
- __glibcxx_check_string(__lhs);
- return __lhs != __rhs._M_base();
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator!=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_check_string(__rhs);
- return __lhs._M_base() != __rhs;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator<(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator<(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- {
- __glibcxx_check_string(__lhs);
- return __lhs < __rhs._M_base();
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator<(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_check_string(__rhs);
- return __lhs._M_base() < __rhs;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator<=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator<=(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- {
- __glibcxx_check_string(__lhs);
- return __lhs <= __rhs._M_base();
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator<=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_check_string(__rhs);
- return __lhs._M_base() <= __rhs;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator>=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator>=(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- {
- __glibcxx_check_string(__lhs);
- return __lhs >= __rhs._M_base();
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator>=(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_check_string(__rhs);
- return __lhs._M_base() >= __rhs;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator>(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator>(const _CharT* __lhs,
- const basic_string<_CharT,_Traits,_Allocator>& __rhs)
- {
- __glibcxx_check_string(__lhs);
- return __lhs > __rhs._M_base();
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline bool
- operator>(const basic_string<_CharT,_Traits,_Allocator>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_check_string(__rhs);
- return __lhs._M_base() > __rhs;
- }
-
- // 21.3.7.8:
- template<typename _CharT, typename _Traits, typename _Allocator>
- inline void
- swap(basic_string<_CharT,_Traits,_Allocator>& __lhs,
- basic_string<_CharT,_Traits,_Allocator>& __rhs)
- { __lhs.swap(__rhs); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const basic_string<_CharT, _Traits, _Allocator>& __str)
- { return __os << __str._M_base(); }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- std::basic_istream<_CharT,_Traits>&
- operator>>(std::basic_istream<_CharT,_Traits>& __is,
- basic_string<_CharT,_Traits,_Allocator>& __str)
- {
- std::basic_istream<_CharT,_Traits>& __res = __is >> __str._M_base();
- __str._M_invalidate_all();
- return __res;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- std::basic_istream<_CharT,_Traits>&
- getline(std::basic_istream<_CharT,_Traits>& __is,
- basic_string<_CharT,_Traits,_Allocator>& __str, _CharT __delim)
- {
- std::basic_istream<_CharT,_Traits>& __res = getline(__is,
- __str._M_base(),
- __delim);
- __str._M_invalidate_all();
- return __res;
- }
-
- template<typename _CharT, typename _Traits, typename _Allocator>
- std::basic_istream<_CharT,_Traits>&
- getline(std::basic_istream<_CharT,_Traits>& __is,
- basic_string<_CharT,_Traits,_Allocator>& __str)
- {
- std::basic_istream<_CharT,_Traits>& __res = getline(__is,
- __str._M_base());
- __str._M_invalidate_all();
- return __res;
- }
-
- typedef basic_string<char> string;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- typedef basic_string<wchar_t> wstring;
-#endif
-
-} // namespace __gnu_debug
-
-#endif
diff --git a/contrib/libstdc++/include/debug/vector b/contrib/libstdc++/include/debug/vector
deleted file mode 100644
index 33b8b638a779..000000000000
--- a/contrib/libstdc++/include/debug/vector
+++ /dev/null
@@ -1,423 +0,0 @@
-// Debugging vector implementation -*- C++ -*-
-
-// Copyright (C) 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 debug/vector
- * This file is a GNU debug extension to the Standard C++ Library.
- */
-
-#ifndef _GLIBCXX_DEBUG_VECTOR
-#define _GLIBCXX_DEBUG_VECTOR 1
-
-#include <vector>
-#include <utility>
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-
-namespace std
-{
-namespace __debug
-{
- template<typename _Tp,
- typename _Allocator = std::allocator<_Tp> >
- class vector
- : public _GLIBCXX_STD::vector<_Tp, _Allocator>,
- public __gnu_debug::_Safe_sequence<vector<_Tp, _Allocator> >
- {
- typedef _GLIBCXX_STD::vector<_Tp, _Allocator> _Base;
- typedef __gnu_debug::_Safe_sequence<vector> _Safe_base;
-
- typedef typename _Base::const_iterator _Base_const_iterator;
- typedef __gnu_debug::_After_nth_from<_Base_const_iterator> _After_nth;
-
- public:
- typedef typename _Base::reference reference;
- typedef typename _Base::const_reference const_reference;
-
- typedef __gnu_debug::_Safe_iterator<typename _Base::iterator,vector>
- iterator;
- typedef __gnu_debug::_Safe_iterator<typename _Base::const_iterator,vector>
- const_iterator;
-
- typedef typename _Base::size_type size_type;
- typedef typename _Base::difference_type difference_type;
-
- typedef _Tp value_type;
- typedef _Allocator allocator_type;
- typedef typename _Base::pointer pointer;
- typedef typename _Base::const_pointer const_pointer;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // 23.2.4.1 construct/copy/destroy:
- explicit vector(const _Allocator& __a = _Allocator())
- : _Base(__a), _M_guaranteed_capacity(0) { }
-
- explicit vector(size_type __n, const _Tp& __value = _Tp(),
- const _Allocator& __a = _Allocator())
- : _Base(__n, __value, __a), _M_guaranteed_capacity(__n) { }
-
- template<class _InputIterator>
- vector(_InputIterator __first, _InputIterator __last,
- const _Allocator& __a = _Allocator())
- : _Base(__gnu_debug::__check_valid_range(__first, __last),
- __last, __a),
- _M_guaranteed_capacity(0)
- { _M_update_guaranteed_capacity(); }
-
- vector(const vector<_Tp,_Allocator>& __x)
- : _Base(__x), _Safe_base(), _M_guaranteed_capacity(__x.size()) { }
-
- /// Construction from a release-mode vector
- vector(const _Base& __x)
- : _Base(__x), _Safe_base(), _M_guaranteed_capacity(__x.size()) { }
-
- ~vector() { }
-
- vector<_Tp,_Allocator>&
- operator=(const vector<_Tp,_Allocator>& __x)
- {
- static_cast<_Base&>(*this) = __x;
- this->_M_invalidate_all();
- _M_update_guaranteed_capacity();
- return *this;
- }
-
- template<typename _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_valid_range(__first, __last);
- _Base::assign(__first, __last);
- this->_M_invalidate_all();
- _M_update_guaranteed_capacity();
- }
-
- void
- assign(size_type __n, const _Tp& __u)
- {
- _Base::assign(__n, __u);
- this->_M_invalidate_all();
- _M_update_guaranteed_capacity();
- }
-
- using _Base::get_allocator;
-
- // iterators:
- iterator
- begin()
- { return iterator(_Base::begin(), this); }
-
- const_iterator
- begin() const
- { return const_iterator(_Base::begin(), this); }
-
- iterator
- end()
- { return iterator(_Base::end(), this); }
-
- const_iterator
- end() const
- { return const_iterator(_Base::end(), this); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // 23.2.4.2 capacity:
- using _Base::size;
- using _Base::max_size;
-
- void
- resize(size_type __sz, _Tp __c = _Tp())
- {
- bool __realloc = _M_requires_reallocation(__sz);
- if (__sz < this->size())
- this->_M_invalidate_if(_After_nth(__sz, _M_base().begin()));
- _Base::resize(__sz, __c);
- if (__realloc)
- this->_M_invalidate_all();
- }
-
- using _Base::capacity;
- using _Base::empty;
-
- void
- reserve(size_type __n)
- {
- bool __realloc = _M_requires_reallocation(__n);
- _Base::reserve(__n);
- if (__n > _M_guaranteed_capacity)
- _M_guaranteed_capacity = __n;
- if (__realloc)
- this->_M_invalidate_all();
- }
-
- // element access:
- reference
- operator[](size_type __n)
- {
- __glibcxx_check_subscript(__n);
- return _M_base()[__n];
- }
-
- const_reference
- operator[](size_type __n) const
- {
- __glibcxx_check_subscript(__n);
- return _M_base()[__n];
- }
-
- using _Base::at;
-
- reference
- front()
- {
- __glibcxx_check_nonempty();
- return _Base::front();
- }
-
- const_reference
- front() const
- {
- __glibcxx_check_nonempty();
- return _Base::front();
- }
-
- reference
- back()
- {
- __glibcxx_check_nonempty();
- return _Base::back();
- }
-
- const_reference
- back() const
- {
- __glibcxx_check_nonempty();
- return _Base::back();
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 464. Suggestion for new member functions in standard containers.
- using _Base::data;
-
- // 23.2.4.3 modifiers:
- void
- push_back(const _Tp& __x)
- {
- bool __realloc = _M_requires_reallocation(this->size() + 1);
- _Base::push_back(__x);
- if (__realloc)
- this->_M_invalidate_all();
- _M_update_guaranteed_capacity();
- }
-
- void
- pop_back()
- {
- __glibcxx_check_nonempty();
- iterator __victim = end() - 1;
- __victim._M_invalidate();
- _Base::pop_back();
- }
-
- iterator
- insert(iterator __position, const _Tp& __x)
- {
- __glibcxx_check_insert(__position);
- bool __realloc = _M_requires_reallocation(this->size() + 1);
- difference_type __offset = __position - begin();
- typename _Base::iterator __res = _Base::insert(__position.base(),__x);
- if (__realloc)
- this->_M_invalidate_all();
- else
- this->_M_invalidate_if(_After_nth(__offset, _M_base().begin()));
- _M_update_guaranteed_capacity();
- return iterator(__res, this);
- }
-
- void
- insert(iterator __position, size_type __n, const _Tp& __x)
- {
- __glibcxx_check_insert(__position);
- bool __realloc = _M_requires_reallocation(this->size() + __n);
- difference_type __offset = __position - begin();
- _Base::insert(__position.base(), __n, __x);
- if (__realloc)
- this->_M_invalidate_all();
- else
- this->_M_invalidate_if(_After_nth(__offset, _M_base().begin()));
- _M_update_guaranteed_capacity();
- }
-
- template<class _InputIterator>
- void
- insert(iterator __position,
- _InputIterator __first, _InputIterator __last)
- {
- __glibcxx_check_insert_range(__position, __first, __last);
-
- /* Hard to guess if invalidation will occur, because __last
- - __first can't be calculated in all cases, so we just
- punt here by checking if it did occur. */
- typename _Base::iterator __old_begin = _M_base().begin();
- difference_type __offset = __position - begin();
- _Base::insert(__position.base(), __first, __last);
-
- if (_M_base().begin() != __old_begin)
- this->_M_invalidate_all();
- else
- this->_M_invalidate_if(_After_nth(__offset, _M_base().begin()));
- _M_update_guaranteed_capacity();
- }
-
- iterator
- erase(iterator __position)
- {
- __glibcxx_check_erase(__position);
- difference_type __offset = __position - begin();
- typename _Base::iterator __res = _Base::erase(__position.base());
- this->_M_invalidate_if(_After_nth(__offset, _M_base().begin()));
- return iterator(__res, this);
- }
-
- iterator
- erase(iterator __first, iterator __last)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 151. can't currently clear() empty container
- __glibcxx_check_erase_range(__first, __last);
-
- difference_type __offset = __first - begin();
- typename _Base::iterator __res = _Base::erase(__first.base(),
- __last.base());
- this->_M_invalidate_if(_After_nth(__offset, _M_base().begin()));
- return iterator(__res, this);
- }
-
- void
- swap(vector<_Tp,_Allocator>& __x)
- {
- _Base::swap(__x);
- this->_M_swap(__x);
- std::swap(_M_guaranteed_capacity, __x._M_guaranteed_capacity);
- }
-
- void
- clear()
- {
- _Base::clear();
- this->_M_invalidate_all();
- _M_guaranteed_capacity = 0;
- }
-
- _Base&
- _M_base() { return *this; }
-
- const _Base&
- _M_base() const { return *this; }
-
- private:
- size_type _M_guaranteed_capacity;
-
- bool
- _M_requires_reallocation(size_type __elements)
- {
-#ifdef _GLIBCXX_DEBUG_PEDANTIC
- return __elements > this->capacity();
-#else
- return __elements > _M_guaranteed_capacity;
-#endif
- }
-
- void
- _M_update_guaranteed_capacity()
- {
- if (this->size() > _M_guaranteed_capacity)
- _M_guaranteed_capacity = this->size();
- }
- };
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator==(const vector<_Tp, _Alloc>& __lhs,
- const vector<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() == __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator!=(const vector<_Tp, _Alloc>& __lhs,
- const vector<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() != __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<(const vector<_Tp, _Alloc>& __lhs,
- const vector<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() < __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator<=(const vector<_Tp, _Alloc>& __lhs,
- const vector<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() <= __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>=(const vector<_Tp, _Alloc>& __lhs,
- const vector<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() >= __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline bool
- operator>(const vector<_Tp, _Alloc>& __lhs,
- const vector<_Tp, _Alloc>& __rhs)
- { return __lhs._M_base() > __rhs._M_base(); }
-
- template<typename _Tp, typename _Alloc>
- inline void
- swap(vector<_Tp, _Alloc>& __lhs, vector<_Tp, _Alloc>& __rhs)
- { __lhs.swap(__rhs); }
-} // namespace __debug
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/ext/algorithm b/contrib/libstdc++/include/ext/algorithm
deleted file mode 100644
index 712a4edc7fdf..000000000000
--- a/contrib/libstdc++/include/ext/algorithm
+++ /dev/null
@@ -1,527 +0,0 @@
-// Algorithm extensions -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/algorithm
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _EXT_ALGORITHM
-#define _EXT_ALGORITHM 1
-
-#pragma GCC system_header
-
-#include <algorithm>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::ptrdiff_t;
- using std::min;
- using std::pair;
- using std::input_iterator_tag;
- using std::random_access_iterator_tag;
- using std::iterator_traits;
-
- //--------------------------------------------------
- // copy_n (not part of the C++ standard)
-
- template<typename _InputIterator, typename _Size, typename _OutputIterator>
- pair<_InputIterator, _OutputIterator>
- __copy_n(_InputIterator __first, _Size __count,
- _OutputIterator __result,
- input_iterator_tag)
- {
- for ( ; __count > 0; --__count)
- {
- *__result = *__first;
- ++__first;
- ++__result;
- }
- return pair<_InputIterator, _OutputIterator>(__first, __result);
- }
-
- template<typename _RAIterator, typename _Size, typename _OutputIterator>
- inline pair<_RAIterator, _OutputIterator>
- __copy_n(_RAIterator __first, _Size __count,
- _OutputIterator __result,
- random_access_iterator_tag)
- {
- _RAIterator __last = __first + __count;
- return pair<_RAIterator, _OutputIterator>(__last, std::copy(__first,
- __last,
- __result));
- }
-
- /**
- * @brief Copies the range [first,first+count) into [result,result+count).
- * @param first An input iterator.
- * @param count The number of elements to copy.
- * @param result An output iterator.
- * @return A std::pair composed of first+count and result+count.
- *
- * This is an SGI extension.
- * This inline function will boil down to a call to @c memmove whenever
- * possible. Failing that, if random access iterators are passed, then the
- * loop count will be known (and therefore a candidate for compiler
- * optimizations such as unrolling).
- * @ingroup SGIextensions
- */
- template<typename _InputIterator, typename _Size, typename _OutputIterator>
- inline pair<_InputIterator, _OutputIterator>
- copy_n(_InputIterator __first, _Size __count, _OutputIterator __result)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_InputIterator>::value_type>)
-
- return __copy_n(__first, __count, __result,
- std::__iterator_category(__first));
- }
-
- template<typename _InputIterator1, typename _InputIterator2>
- int
- __lexicographical_compare_3way(_InputIterator1 __first1,
- _InputIterator1 __last1,
- _InputIterator2 __first2,
- _InputIterator2 __last2)
- {
- while (__first1 != __last1 && __first2 != __last2)
- {
- if (*__first1 < *__first2)
- return -1;
- if (*__first2 < *__first1)
- return 1;
- ++__first1;
- ++__first2;
- }
- if (__first2 == __last2)
- return !(__first1 == __last1);
- else
- return -1;
- }
-
- inline int
- __lexicographical_compare_3way(const unsigned char* __first1,
- const unsigned char* __last1,
- const unsigned char* __first2,
- const unsigned char* __last2)
- {
- const ptrdiff_t __len1 = __last1 - __first1;
- const ptrdiff_t __len2 = __last2 - __first2;
- const int __result = std::memcmp(__first1, __first2, min(__len1, __len2));
- return __result != 0 ? __result
- : (__len1 == __len2 ? 0 : (__len1 < __len2 ? -1 : 1));
- }
-
- inline int
- __lexicographical_compare_3way(const char* __first1, const char* __last1,
- const char* __first2, const char* __last2)
- {
-#if CHAR_MAX == SCHAR_MAX
- return __lexicographical_compare_3way((const signed char*) __first1,
- (const signed char*) __last1,
- (const signed char*) __first2,
- (const signed char*) __last2);
-#else
- return __lexicographical_compare_3way((const unsigned char*) __first1,
- (const unsigned char*) __last1,
- (const unsigned char*) __first2,
- (const unsigned char*) __last2);
-#endif
- }
-
- /**
- * @brief @c memcmp on steroids.
- * @param first1 An input iterator.
- * @param last1 An input iterator.
- * @param first2 An input iterator.
- * @param last2 An input iterator.
- * @return An int, as with @c memcmp.
- *
- * The return value will be less than zero if the first range is
- * "lexigraphically less than" the second, greater than zero if the second
- * range is "lexigraphically less than" the first, and zero otherwise.
- * This is an SGI extension.
- * @ingroup SGIextensions
- */
- template<typename _InputIterator1, typename _InputIterator2>
- int
- lexicographical_compare_3way(_InputIterator1 __first1,
- _InputIterator1 __last1,
- _InputIterator2 __first2,
- _InputIterator2 __last2)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator1>)
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator2>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_InputIterator1>::value_type>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_InputIterator2>::value_type>)
- __glibcxx_requires_valid_range(__first1, __last1);
- __glibcxx_requires_valid_range(__first2, __last2);
-
- return __lexicographical_compare_3way(__first1, __last1, __first2,
- __last2);
- }
-
- // count and count_if: this version, whose return type is void, was present
- // in the HP STL, and is retained as an extension for backward compatibility.
- template<typename _InputIterator, typename _Tp, typename _Size>
- void
- count(_InputIterator __first, _InputIterator __last,
- const _Tp& __value,
- _Size& __n)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_EqualityComparableConcept<
- typename iterator_traits<_InputIterator>::value_type >)
- __glibcxx_function_requires(_EqualityComparableConcept<_Tp>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first)
- if (*__first == __value)
- ++__n;
- }
-
- template<typename _InputIterator, typename _Predicate, typename _Size>
- void
- count_if(_InputIterator __first, _InputIterator __last,
- _Predicate __pred,
- _Size& __n)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_UnaryPredicateConcept<_Predicate,
- typename iterator_traits<_InputIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- for ( ; __first != __last; ++__first)
- if (__pred(*__first))
- ++__n;
- }
-
- // random_sample and random_sample_n (extensions, not part of the standard).
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _ForwardIterator, typename _OutputIterator,
- typename _Distance>
- _OutputIterator
- random_sample_n(_ForwardIterator __first, _ForwardIterator __last,
- _OutputIterator __out, const _Distance __n)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- _Distance __remaining = std::distance(__first, __last);
- _Distance __m = min(__n, __remaining);
-
- while (__m > 0)
- {
- if ((std::rand() % __remaining) < __m)
- {
- *__out = *__first;
- ++__out;
- --__m;
- }
- --__remaining;
- ++__first;
- }
- return __out;
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _ForwardIterator, typename _OutputIterator,
- typename _Distance, typename _RandomNumberGenerator>
- _OutputIterator
- random_sample_n(_ForwardIterator __first, _ForwardIterator __last,
- _OutputIterator __out, const _Distance __n,
- _RandomNumberGenerator& __rand)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_OutputIteratorConcept<_OutputIterator,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_function_requires(_UnaryFunctionConcept<
- _RandomNumberGenerator, _Distance, _Distance>)
- __glibcxx_requires_valid_range(__first, __last);
-
- _Distance __remaining = std::distance(__first, __last);
- _Distance __m = min(__n, __remaining);
-
- while (__m > 0)
- {
- if (__rand(__remaining) < __m)
- {
- *__out = *__first;
- ++__out;
- --__m;
- }
- --__remaining;
- ++__first;
- }
- return __out;
- }
-
- template<typename _InputIterator, typename _RandomAccessIterator,
- typename _Distance>
- _RandomAccessIterator
- __random_sample(_InputIterator __first, _InputIterator __last,
- _RandomAccessIterator __out,
- const _Distance __n)
- {
- _Distance __m = 0;
- _Distance __t = __n;
- for ( ; __first != __last && __m < __n; ++__m, ++__first)
- __out[__m] = *__first;
-
- while (__first != __last)
- {
- ++__t;
- _Distance __M = std::rand() % (__t);
- if (__M < __n)
- __out[__M] = *__first;
- ++__first;
- }
- return __out + __m;
- }
-
- template<typename _InputIterator, typename _RandomAccessIterator,
- typename _RandomNumberGenerator, typename _Distance>
- _RandomAccessIterator
- __random_sample(_InputIterator __first, _InputIterator __last,
- _RandomAccessIterator __out,
- _RandomNumberGenerator& __rand,
- const _Distance __n)
- {
- // concept requirements
- __glibcxx_function_requires(_UnaryFunctionConcept<
- _RandomNumberGenerator, _Distance, _Distance>)
-
- _Distance __m = 0;
- _Distance __t = __n;
- for ( ; __first != __last && __m < __n; ++__m, ++__first)
- __out[__m] = *__first;
-
- while (__first != __last)
- {
- ++__t;
- _Distance __M = __rand(__t);
- if (__M < __n)
- __out[__M] = *__first;
- ++__first;
- }
- return __out + __m;
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _InputIterator, typename _RandomAccessIterator>
- inline _RandomAccessIterator
- random_sample(_InputIterator __first, _InputIterator __last,
- _RandomAccessIterator __out_first,
- _RandomAccessIterator __out_last)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_valid_range(__out_first, __out_last);
-
- return __random_sample(__first, __last,
- __out_first, __out_last - __out_first);
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _InputIterator, typename _RandomAccessIterator,
- typename _RandomNumberGenerator>
- inline _RandomAccessIterator
- random_sample(_InputIterator __first, _InputIterator __last,
- _RandomAccessIterator __out_first,
- _RandomAccessIterator __out_last,
- _RandomNumberGenerator& __rand)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- __glibcxx_function_requires(_Mutable_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_requires_valid_range(__first, __last);
- __glibcxx_requires_valid_range(__out_first, __out_last);
-
- return __random_sample(__first, __last,
- __out_first, __rand,
- __out_last - __out_first);
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _RandomAccessIterator>
- inline bool
- is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_RandomAccessIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- return std::__is_heap(__first, __last - __first);
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _RandomAccessIterator, typename _StrictWeakOrdering>
- inline bool
- is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _StrictWeakOrdering __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_StrictWeakOrdering,
- typename iterator_traits<_RandomAccessIterator>::value_type,
- typename iterator_traits<_RandomAccessIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- return std::__is_heap(__first, __comp, __last - __first);
- }
-
- // is_sorted, a predicated testing whether a range is sorted in
- // nondescending order. This is an extension, not part of the C++
- // standard.
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _ForwardIterator>
- bool
- is_sorted(_ForwardIterator __first, _ForwardIterator __last)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_LessThanComparableConcept<
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return true;
-
- _ForwardIterator __next = __first;
- for (++__next; __next != __last; __first = __next, ++__next)
- if (*__next < *__first)
- return false;
- return true;
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _ForwardIterator, typename _StrictWeakOrdering>
- bool
- is_sorted(_ForwardIterator __first, _ForwardIterator __last,
- _StrictWeakOrdering __comp)
- {
- // concept requirements
- __glibcxx_function_requires(_ForwardIteratorConcept<_ForwardIterator>)
- __glibcxx_function_requires(_BinaryPredicateConcept<_StrictWeakOrdering,
- typename iterator_traits<_ForwardIterator>::value_type,
- typename iterator_traits<_ForwardIterator>::value_type>)
- __glibcxx_requires_valid_range(__first, __last);
-
- if (__first == __last)
- return true;
-
- _ForwardIterator __next = __first;
- for (++__next; __next != __last; __first = __next, ++__next)
- if (__comp(*__next, *__first))
- return false;
- return true;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _EXT_ALGORITHM */
diff --git a/contrib/libstdc++/include/ext/array_allocator.h b/contrib/libstdc++/include/ext/array_allocator.h
deleted file mode 100644
index 0bbd97a2d094..000000000000
--- a/contrib/libstdc++/include/ext/array_allocator.h
+++ /dev/null
@@ -1,149 +0,0 @@
-// array allocator -*- C++ -*-
-
-// Copyright (C) 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 ext/array_allocator.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _ARRAY_ALLOCATOR_H
-#define _ARRAY_ALLOCATOR_H 1
-
-#include <cstddef>
-#include <new>
-#include <bits/functexcept.h>
-#include <tr1/array>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
-
- /// @brief Base class.
- template<typename _Tp>
- class array_allocator_base
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
-
- pointer
- address(reference __x) const { return &__x; }
-
- const_pointer
- address(const_reference __x) const { return &__x; }
-
- void
- deallocate(pointer, size_type)
- {
- // Does nothing.
- }
-
- size_type
- max_size() const throw()
- { return size_t(-1) / sizeof(_Tp); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 402. wrong new expression in [some_] allocator::construct
- void
- construct(pointer __p, const _Tp& __val)
- { ::new(__p) value_type(__val); }
-
- void
- destroy(pointer __p) { __p->~_Tp(); }
- };
-
- /**
- * @brief An allocator that uses previously allocated memory.
- * This memory can be externally, globally, or otherwise allocated.
- */
- template<typename _Tp, typename _Array = std::tr1::array<_Tp, 1> >
- class array_allocator : public array_allocator_base<_Tp>
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
- typedef _Array array_type;
-
- private:
- array_type* _M_array;
- size_type _M_used;
-
- public:
- template<typename _Tp1, typename _Array1 = _Array>
- struct rebind
- { typedef array_allocator<_Tp1, _Array1> other; };
-
- array_allocator(array_type* __array = NULL) throw()
- : _M_array(__array), _M_used(size_type()) { }
-
- array_allocator(const array_allocator& __o) throw()
- : _M_array(__o._M_array), _M_used(__o._M_used) { }
-
- template<typename _Tp1, typename _Array1>
- array_allocator(const array_allocator<_Tp1, _Array1>&) throw()
- : _M_array(NULL), _M_used(size_type()) { }
-
- ~array_allocator() throw() { }
-
- pointer
- allocate(size_type __n, const void* = 0)
- {
- if (_M_array == 0 || _M_used + __n > _M_array->size())
- std::__throw_bad_alloc();
- pointer __ret = _M_array->begin() + _M_used;
- _M_used += __n;
- return __ret;
- }
- };
-
- template<typename _Tp, typename _Array>
- inline bool
- operator==(const array_allocator<_Tp, _Array>&,
- const array_allocator<_Tp, _Array>&)
- { return true; }
-
- template<typename _Tp, typename _Array>
- inline bool
- operator!=(const array_allocator<_Tp, _Array>&,
- const array_allocator<_Tp, _Array>&)
- { return false; }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/atomicity.h b/contrib/libstdc++/include/ext/atomicity.h
deleted file mode 100644
index 05bac1f46d40..000000000000
--- a/contrib/libstdc++/include/ext/atomicity.h
+++ /dev/null
@@ -1,118 +0,0 @@
-// Support for atomic operations -*- C++ -*-
-
-// Copyright (C) 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 atomicity.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_ATOMICITY_H
-#define _GLIBCXX_ATOMICITY_H 1
-
-#include <bits/c++config.h>
-#include <bits/gthr.h>
-#include <bits/atomic_word.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // Functions for portable atomic access.
- // To abstract locking primitives across all thread policies, use:
- // __exchange_and_add_dispatch
- // __atomic_add_dispatch
-#ifdef _GLIBCXX_ATOMIC_BUILTINS
- static inline _Atomic_word
- __exchange_and_add(volatile _Atomic_word* __mem, int __val)
- { return __sync_fetch_and_add(__mem, __val); }
-
- static inline void
- __atomic_add(volatile _Atomic_word* __mem, int __val)
- { __sync_fetch_and_add(__mem, __val); }
-#else
- _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add(volatile _Atomic_word*, int);
-
- void
- __attribute__ ((__unused__))
- __atomic_add(volatile _Atomic_word*, int);
-#endif
-
- static inline _Atomic_word
- __exchange_and_add_single(_Atomic_word* __mem, int __val)
- {
- _Atomic_word __result = *__mem;
- *__mem += __val;
- return __result;
- }
-
- static inline void
- __atomic_add_single(_Atomic_word* __mem, int __val)
- { *__mem += __val; }
-
- static inline _Atomic_word
- __attribute__ ((__unused__))
- __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
- {
-#ifdef __GTHREADS
- if (__gthread_active_p())
- return __exchange_and_add(__mem, __val);
- else
- return __exchange_and_add_single(__mem, __val);
-#else
- return __exchange_and_add_single(__mem, __val);
-#endif
- }
-
- static inline void
- __attribute__ ((__unused__))
- __atomic_add_dispatch(_Atomic_word* __mem, int __val)
- {
-#ifdef __GTHREADS
- if (__gthread_active_p())
- __atomic_add(__mem, __val);
- else
- __atomic_add_single(__mem, __val);
-#else
- __atomic_add_single(__mem, __val);
-#endif
- }
-
-_GLIBCXX_END_NAMESPACE
-
-// Even if the CPU doesn't need a memory barrier, we need to ensure
-// that the compiler doesn't reorder memory accesses across the
-// barriers.
-#ifndef _GLIBCXX_READ_MEM_BARRIER
-#define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory")
-#endif
-#ifndef _GLIBCXX_WRITE_MEM_BARRIER
-#define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory")
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/ext/bitmap_allocator.h b/contrib/libstdc++/include/ext/bitmap_allocator.h
deleted file mode 100644
index ef253faead8c..000000000000
--- a/contrib/libstdc++/include/ext/bitmap_allocator.h
+++ /dev/null
@@ -1,1140 +0,0 @@
-// Bitmap Allocator. -*- C++ -*-
-
-// Copyright (C) 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 ext/bitmap_allocator.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _BITMAP_ALLOCATOR_H
-#define _BITMAP_ALLOCATOR_H 1
-
-#include <cstddef> // For std::size_t, and ptrdiff_t.
-#include <bits/functexcept.h> // For __throw_bad_alloc().
-#include <utility> // For std::pair.
-#include <functional> // For greater_equal, and less_equal.
-#include <new> // For operator new.
-#include <debug/debug.h> // _GLIBCXX_DEBUG_ASSERT
-#include <ext/concurrence.h>
-
-
-/** @brief The constant in the expression below is the alignment
- * required in bytes.
- */
-#define _BALLOC_ALIGN_BYTES 8
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
-
- namespace __detail
- {
- /** @class __mini_vector bitmap_allocator.h bitmap_allocator.h
- *
- * @brief __mini_vector<> is a stripped down version of the
- * full-fledged std::vector<>.
- *
- * It is to be used only for built-in types or PODs. Notable
- * differences are:
- *
- * @detail
- * 1. Not all accessor functions are present.
- * 2. Used ONLY for PODs.
- * 3. No Allocator template argument. Uses ::operator new() to get
- * memory, and ::operator delete() to free it.
- * Caveat: The dtor does NOT free the memory allocated, so this a
- * memory-leaking vector!
- */
- template<typename _Tp>
- class __mini_vector
- {
- __mini_vector(const __mini_vector&);
- __mini_vector& operator=(const __mini_vector&);
-
- public:
- typedef _Tp value_type;
- typedef _Tp* pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef pointer iterator;
-
- private:
- pointer _M_start;
- pointer _M_finish;
- pointer _M_end_of_storage;
-
- size_type
- _M_space_left() const throw()
- { return _M_end_of_storage - _M_finish; }
-
- pointer
- allocate(size_type __n)
- { return static_cast<pointer>(::operator new(__n * sizeof(_Tp))); }
-
- void
- deallocate(pointer __p, size_type)
- { ::operator delete(__p); }
-
- public:
- // Members used: size(), push_back(), pop_back(),
- // insert(iterator, const_reference), erase(iterator),
- // begin(), end(), back(), operator[].
-
- __mini_vector() : _M_start(0), _M_finish(0),
- _M_end_of_storage(0)
- { }
-
-#if 0
- ~__mini_vector()
- {
- if (this->_M_start)
- {
- this->deallocate(this->_M_start, this->_M_end_of_storage
- - this->_M_start);
- }
- }
-#endif
-
- size_type
- size() const throw()
- { return _M_finish - _M_start; }
-
- iterator
- begin() const throw()
- { return this->_M_start; }
-
- iterator
- end() const throw()
- { return this->_M_finish; }
-
- reference
- back() const throw()
- { return *(this->end() - 1); }
-
- reference
- operator[](const size_type __pos) const throw()
- { return this->_M_start[__pos]; }
-
- void
- insert(iterator __pos, const_reference __x);
-
- void
- push_back(const_reference __x)
- {
- if (this->_M_space_left())
- {
- *this->end() = __x;
- ++this->_M_finish;
- }
- else
- this->insert(this->end(), __x);
- }
-
- void
- pop_back() throw()
- { --this->_M_finish; }
-
- void
- erase(iterator __pos) throw();
-
- void
- clear() throw()
- { this->_M_finish = this->_M_start; }
- };
-
- // Out of line function definitions.
- template<typename _Tp>
- void __mini_vector<_Tp>::
- insert(iterator __pos, const_reference __x)
- {
- if (this->_M_space_left())
- {
- size_type __to_move = this->_M_finish - __pos;
- iterator __dest = this->end();
- iterator __src = this->end() - 1;
-
- ++this->_M_finish;
- while (__to_move)
- {
- *__dest = *__src;
- --__dest; --__src; --__to_move;
- }
- *__pos = __x;
- }
- else
- {
- size_type __new_size = this->size() ? this->size() * 2 : 1;
- iterator __new_start = this->allocate(__new_size);
- iterator __first = this->begin();
- iterator __start = __new_start;
- while (__first != __pos)
- {
- *__start = *__first;
- ++__start; ++__first;
- }
- *__start = __x;
- ++__start;
- while (__first != this->end())
- {
- *__start = *__first;
- ++__start; ++__first;
- }
- if (this->_M_start)
- this->deallocate(this->_M_start, this->size());
-
- this->_M_start = __new_start;
- this->_M_finish = __start;
- this->_M_end_of_storage = this->_M_start + __new_size;
- }
- }
-
- template<typename _Tp>
- void __mini_vector<_Tp>::
- erase(iterator __pos) throw()
- {
- while (__pos + 1 != this->end())
- {
- *__pos = __pos[1];
- ++__pos;
- }
- --this->_M_finish;
- }
-
-
- template<typename _Tp>
- struct __mv_iter_traits
- {
- typedef typename _Tp::value_type value_type;
- typedef typename _Tp::difference_type difference_type;
- };
-
- template<typename _Tp>
- struct __mv_iter_traits<_Tp*>
- {
- typedef _Tp value_type;
- typedef ptrdiff_t difference_type;
- };
-
- enum
- {
- bits_per_byte = 8,
- bits_per_block = sizeof(size_t) * size_t(bits_per_byte)
- };
-
- template<typename _ForwardIterator, typename _Tp, typename _Compare>
- _ForwardIterator
- __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
- const _Tp& __val, _Compare __comp)
- {
- typedef typename __mv_iter_traits<_ForwardIterator>::value_type
- _ValueType;
- typedef typename __mv_iter_traits<_ForwardIterator>::difference_type
- _DistanceType;
-
- _DistanceType __len = __last - __first;
- _DistanceType __half;
- _ForwardIterator __middle;
-
- while (__len > 0)
- {
- __half = __len >> 1;
- __middle = __first;
- __middle += __half;
- if (__comp(*__middle, __val))
- {
- __first = __middle;
- ++__first;
- __len = __len - __half - 1;
- }
- else
- __len = __half;
- }
- return __first;
- }
-
- template<typename _InputIterator, typename _Predicate>
- inline _InputIterator
- __find_if(_InputIterator __first, _InputIterator __last, _Predicate __p)
- {
- while (__first != __last && !__p(*__first))
- ++__first;
- return __first;
- }
-
- /** @brief The number of Blocks pointed to by the address pair
- * passed to the function.
- */
- template<typename _AddrPair>
- inline size_t
- __num_blocks(_AddrPair __ap)
- { return (__ap.second - __ap.first) + 1; }
-
- /** @brief The number of Bit-maps pointed to by the address pair
- * passed to the function.
- */
- template<typename _AddrPair>
- inline size_t
- __num_bitmaps(_AddrPair __ap)
- { return __num_blocks(__ap) / size_t(bits_per_block); }
-
- // _Tp should be a pointer type.
- template<typename _Tp>
- class _Inclusive_between
- : public std::unary_function<typename std::pair<_Tp, _Tp>, bool>
- {
- typedef _Tp pointer;
- pointer _M_ptr_value;
- typedef typename std::pair<_Tp, _Tp> _Block_pair;
-
- public:
- _Inclusive_between(pointer __ptr) : _M_ptr_value(__ptr)
- { }
-
- bool
- operator()(_Block_pair __bp) const throw()
- {
- if (std::less_equal<pointer>()(_M_ptr_value, __bp.second)
- && std::greater_equal<pointer>()(_M_ptr_value, __bp.first))
- return true;
- else
- return false;
- }
- };
-
- // Used to pass a Functor to functions by reference.
- template<typename _Functor>
- class _Functor_Ref
- : public std::unary_function<typename _Functor::argument_type,
- typename _Functor::result_type>
- {
- _Functor& _M_fref;
-
- public:
- typedef typename _Functor::argument_type argument_type;
- typedef typename _Functor::result_type result_type;
-
- _Functor_Ref(_Functor& __fref) : _M_fref(__fref)
- { }
-
- result_type
- operator()(argument_type __arg)
- { return _M_fref(__arg); }
- };
-
- /** @class _Ffit_finder bitmap_allocator.h bitmap_allocator.h
- *
- * @brief The class which acts as a predicate for applying the
- * first-fit memory allocation policy for the bitmap allocator.
- */
- // _Tp should be a pointer type, and _Alloc is the Allocator for
- // the vector.
- template<typename _Tp>
- class _Ffit_finder
- : public std::unary_function<typename std::pair<_Tp, _Tp>, bool>
- {
- typedef typename std::pair<_Tp, _Tp> _Block_pair;
- typedef typename __detail::__mini_vector<_Block_pair> _BPVector;
- typedef typename _BPVector::difference_type _Counter_type;
-
- size_t* _M_pbitmap;
- _Counter_type _M_data_offset;
-
- public:
- _Ffit_finder() : _M_pbitmap(0), _M_data_offset(0)
- { }
-
- bool
- operator()(_Block_pair __bp) throw()
- {
- // Set the _rover to the last physical location bitmap,
- // which is the bitmap which belongs to the first free
- // block. Thus, the bitmaps are in exact reverse order of
- // the actual memory layout. So, we count down the bimaps,
- // which is the same as moving up the memory.
-
- // If the used count stored at the start of the Bit Map headers
- // is equal to the number of Objects that the current Block can
- // store, then there is definitely no space for another single
- // object, so just return false.
- _Counter_type __diff =
- __gnu_cxx::__detail::__num_bitmaps(__bp);
-
- if (*(reinterpret_cast<size_t*>
- (__bp.first) - (__diff + 1))
- == __gnu_cxx::__detail::__num_blocks(__bp))
- return false;
-
- size_t* __rover = reinterpret_cast<size_t*>(__bp.first) - 1;
-
- for (_Counter_type __i = 0; __i < __diff; ++__i)
- {
- _M_data_offset = __i;
- if (*__rover)
- {
- _M_pbitmap = __rover;
- return true;
- }
- --__rover;
- }
- return false;
- }
-
-
- size_t*
- _M_get() const throw()
- { return _M_pbitmap; }
-
- _Counter_type
- _M_offset() const throw()
- { return _M_data_offset * size_t(bits_per_block); }
- };
-
-
- /** @class _Bitmap_counter bitmap_allocator.h bitmap_allocator.h
- *
- * @brief The bitmap counter which acts as the bitmap
- * manipulator, and manages the bit-manipulation functions and
- * the searching and identification functions on the bit-map.
- */
- // _Tp should be a pointer type.
- template<typename _Tp>
- class _Bitmap_counter
- {
- typedef typename __detail::__mini_vector<typename std::pair<_Tp, _Tp> >
- _BPVector;
- typedef typename _BPVector::size_type _Index_type;
- typedef _Tp pointer;
-
- _BPVector& _M_vbp;
- size_t* _M_curr_bmap;
- size_t* _M_last_bmap_in_block;
- _Index_type _M_curr_index;
-
- public:
- // Use the 2nd parameter with care. Make sure that such an
- // entry exists in the vector before passing that particular
- // index to this ctor.
- _Bitmap_counter(_BPVector& Rvbp, long __index = -1) : _M_vbp(Rvbp)
- { this->_M_reset(__index); }
-
- void
- _M_reset(long __index = -1) throw()
- {
- if (__index == -1)
- {
- _M_curr_bmap = 0;
- _M_curr_index = static_cast<_Index_type>(-1);
- return;
- }
-
- _M_curr_index = __index;
- _M_curr_bmap = reinterpret_cast<size_t*>
- (_M_vbp[_M_curr_index].first) - 1;
-
- _GLIBCXX_DEBUG_ASSERT(__index <= (long)_M_vbp.size() - 1);
-
- _M_last_bmap_in_block = _M_curr_bmap
- - ((_M_vbp[_M_curr_index].second
- - _M_vbp[_M_curr_index].first + 1)
- / size_t(bits_per_block) - 1);
- }
-
- // Dangerous Function! Use with extreme care. Pass to this
- // function ONLY those values that are known to be correct,
- // otherwise this will mess up big time.
- void
- _M_set_internal_bitmap(size_t* __new_internal_marker) throw()
- { _M_curr_bmap = __new_internal_marker; }
-
- bool
- _M_finished() const throw()
- { return(_M_curr_bmap == 0); }
-
- _Bitmap_counter&
- operator++() throw()
- {
- if (_M_curr_bmap == _M_last_bmap_in_block)
- {
- if (++_M_curr_index == _M_vbp.size())
- _M_curr_bmap = 0;
- else
- this->_M_reset(_M_curr_index);
- }
- else
- --_M_curr_bmap;
- return *this;
- }
-
- size_t*
- _M_get() const throw()
- { return _M_curr_bmap; }
-
- pointer
- _M_base() const throw()
- { return _M_vbp[_M_curr_index].first; }
-
- _Index_type
- _M_offset() const throw()
- {
- return size_t(bits_per_block)
- * ((reinterpret_cast<size_t*>(this->_M_base())
- - _M_curr_bmap) - 1);
- }
-
- _Index_type
- _M_where() const throw()
- { return _M_curr_index; }
- };
-
- /** @brief Mark a memory address as allocated by re-setting the
- * corresponding bit in the bit-map.
- */
- inline void
- __bit_allocate(size_t* __pbmap, size_t __pos) throw()
- {
- size_t __mask = 1 << __pos;
- __mask = ~__mask;
- *__pbmap &= __mask;
- }
-
- /** @brief Mark a memory address as free by setting the
- * corresponding bit in the bit-map.
- */
- inline void
- __bit_free(size_t* __pbmap, size_t __pos) throw()
- {
- size_t __mask = 1 << __pos;
- *__pbmap |= __mask;
- }
- } // namespace __detail
-
- /** @brief Generic Version of the bsf instruction.
- */
- inline size_t
- _Bit_scan_forward(size_t __num)
- { return static_cast<size_t>(__builtin_ctzl(__num)); }
-
- /** @class free_list bitmap_allocator.h bitmap_allocator.h
- *
- * @brief The free list class for managing chunks of memory to be
- * given to and returned by the bitmap_allocator.
- */
- class free_list
- {
- public:
- typedef size_t* value_type;
- typedef __detail::__mini_vector<value_type> vector_type;
- typedef vector_type::iterator iterator;
- typedef __mutex __mutex_type;
-
- private:
- struct _LT_pointer_compare
- {
- bool
- operator()(const size_t* __pui,
- const size_t __cui) const throw()
- { return *__pui < __cui; }
- };
-
-#if defined __GTHREADS
- __mutex_type&
- _M_get_mutex()
- {
- static __mutex_type _S_mutex;
- return _S_mutex;
- }
-#endif
-
- vector_type&
- _M_get_free_list()
- {
- static vector_type _S_free_list;
- return _S_free_list;
- }
-
- /** @brief Performs validation of memory based on their size.
- *
- * @param __addr The pointer to the memory block to be
- * validated.
- *
- * @detail Validates the memory block passed to this function and
- * appropriately performs the action of managing the free list of
- * blocks by adding this block to the free list or deleting this
- * or larger blocks from the free list.
- */
- void
- _M_validate(size_t* __addr) throw()
- {
- vector_type& __free_list = _M_get_free_list();
- const vector_type::size_type __max_size = 64;
- if (__free_list.size() >= __max_size)
- {
- // Ok, the threshold value has been reached. We determine
- // which block to remove from the list of free blocks.
- if (*__addr >= *__free_list.back())
- {
- // Ok, the new block is greater than or equal to the
- // last block in the list of free blocks. We just free
- // the new block.
- ::operator delete(static_cast<void*>(__addr));
- return;
- }
- else
- {
- // Deallocate the last block in the list of free lists,
- // and insert the new one in it's correct position.
- ::operator delete(static_cast<void*>(__free_list.back()));
- __free_list.pop_back();
- }
- }
-
- // Just add the block to the list of free lists unconditionally.
- iterator __temp = __gnu_cxx::__detail::__lower_bound
- (__free_list.begin(), __free_list.end(),
- *__addr, _LT_pointer_compare());
-
- // We may insert the new free list before _temp;
- __free_list.insert(__temp, __addr);
- }
-
- /** @brief Decides whether the wastage of memory is acceptable for
- * the current memory request and returns accordingly.
- *
- * @param __block_size The size of the block available in the free
- * list.
- *
- * @param __required_size The required size of the memory block.
- *
- * @return true if the wastage incurred is acceptable, else returns
- * false.
- */
- bool
- _M_should_i_give(size_t __block_size,
- size_t __required_size) throw()
- {
- const size_t __max_wastage_percentage = 36;
- if (__block_size >= __required_size &&
- (((__block_size - __required_size) * 100 / __block_size)
- < __max_wastage_percentage))
- return true;
- else
- return false;
- }
-
- public:
- /** @brief This function returns the block of memory to the
- * internal free list.
- *
- * @param __addr The pointer to the memory block that was given
- * by a call to the _M_get function.
- */
- inline void
- _M_insert(size_t* __addr) throw()
- {
-#if defined __GTHREADS
- __gnu_cxx::__scoped_lock __bfl_lock(_M_get_mutex());
-#endif
- // Call _M_validate to decide what should be done with
- // this particular free list.
- this->_M_validate(reinterpret_cast<size_t*>(__addr) - 1);
- // See discussion as to why this is 1!
- }
-
- /** @brief This function gets a block of memory of the specified
- * size from the free list.
- *
- * @param __sz The size in bytes of the memory required.
- *
- * @return A pointer to the new memory block of size at least
- * equal to that requested.
- */
- size_t*
- _M_get(size_t __sz) throw(std::bad_alloc);
-
- /** @brief This function just clears the internal Free List, and
- * gives back all the memory to the OS.
- */
- void
- _M_clear();
- };
-
-
- // Forward declare the class.
- template<typename _Tp>
- class bitmap_allocator;
-
- // Specialize for void:
- template<>
- class bitmap_allocator<void>
- {
- public:
- typedef void* pointer;
- typedef const void* const_pointer;
-
- // Reference-to-void members are impossible.
- typedef void value_type;
- template<typename _Tp1>
- struct rebind
- {
- typedef bitmap_allocator<_Tp1> other;
- };
- };
-
- template<typename _Tp>
- class bitmap_allocator : private free_list
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
- typedef free_list::__mutex_type __mutex_type;
-
- template<typename _Tp1>
- struct rebind
- {
- typedef bitmap_allocator<_Tp1> other;
- };
-
- private:
- template<size_t _BSize, size_t _AlignSize>
- struct aligned_size
- {
- enum
- {
- modulus = _BSize % _AlignSize,
- value = _BSize + (modulus ? _AlignSize - (modulus) : 0)
- };
- };
-
- struct _Alloc_block
- {
- char __M_unused[aligned_size<sizeof(value_type),
- _BALLOC_ALIGN_BYTES>::value];
- };
-
-
- typedef typename std::pair<_Alloc_block*, _Alloc_block*> _Block_pair;
-
- typedef typename
- __detail::__mini_vector<_Block_pair> _BPVector;
-
-#if defined _GLIBCXX_DEBUG
- // Complexity: O(lg(N)). Where, N is the number of block of size
- // sizeof(value_type).
- void
- _S_check_for_free_blocks() throw()
- {
- typedef typename
- __gnu_cxx::__detail::_Ffit_finder<_Alloc_block*> _FFF;
- _FFF __fff;
- typedef typename _BPVector::iterator _BPiter;
- _BPiter __bpi =
- __gnu_cxx::__detail::__find_if
- (_S_mem_blocks.begin(), _S_mem_blocks.end(),
- __gnu_cxx::__detail::_Functor_Ref<_FFF>(__fff));
-
- _GLIBCXX_DEBUG_ASSERT(__bpi == _S_mem_blocks.end());
- }
-#endif
-
- /** @brief Responsible for exponentially growing the internal
- * memory pool.
- *
- * @throw std::bad_alloc. If memory can not be allocated.
- *
- * @detail Complexity: O(1), but internally depends upon the
- * complexity of the function free_list::_M_get. The part where
- * the bitmap headers are written has complexity: O(X),where X
- * is the number of blocks of size sizeof(value_type) within
- * the newly acquired block. Having a tight bound.
- */
- void
- _S_refill_pool() throw(std::bad_alloc)
- {
-#if defined _GLIBCXX_DEBUG
- _S_check_for_free_blocks();
-#endif
-
- const size_t __num_bitmaps = (_S_block_size
- / size_t(__detail::bits_per_block));
- const size_t __size_to_allocate = sizeof(size_t)
- + _S_block_size * sizeof(_Alloc_block)
- + __num_bitmaps * sizeof(size_t);
-
- size_t* __temp =
- reinterpret_cast<size_t*>
- (this->_M_get(__size_to_allocate));
- *__temp = 0;
- ++__temp;
-
- // The Header information goes at the Beginning of the Block.
- _Block_pair __bp =
- std::make_pair(reinterpret_cast<_Alloc_block*>
- (__temp + __num_bitmaps),
- reinterpret_cast<_Alloc_block*>
- (__temp + __num_bitmaps)
- + _S_block_size - 1);
-
- // Fill the Vector with this information.
- _S_mem_blocks.push_back(__bp);
-
- size_t __bit_mask = 0; // 0 Indicates all Allocated.
- __bit_mask = ~__bit_mask; // 1 Indicates all Free.
-
- for (size_t __i = 0; __i < __num_bitmaps; ++__i)
- __temp[__i] = __bit_mask;
-
- _S_block_size *= 2;
- }
-
-
- static _BPVector _S_mem_blocks;
- static size_t _S_block_size;
- static __gnu_cxx::__detail::
- _Bitmap_counter<_Alloc_block*> _S_last_request;
- static typename _BPVector::size_type _S_last_dealloc_index;
-#if defined __GTHREADS
- static __mutex_type _S_mut;
-#endif
-
- public:
-
- /** @brief Allocates memory for a single object of size
- * sizeof(_Tp).
- *
- * @throw std::bad_alloc. If memory can not be allocated.
- *
- * @detail Complexity: Worst case complexity is O(N), but that
- * is hardly ever hit. If and when this particular case is
- * encountered, the next few cases are guaranteed to have a
- * worst case complexity of O(1)! That's why this function
- * performs very well on average. You can consider this
- * function to have a complexity referred to commonly as:
- * Amortized Constant time.
- */
- pointer
- _M_allocate_single_object() throw(std::bad_alloc)
- {
-#if defined __GTHREADS
- __gnu_cxx::__scoped_lock __bit_lock(_S_mut);
-#endif
-
- // The algorithm is something like this: The last_request
- // variable points to the last accessed Bit Map. When such a
- // condition occurs, we try to find a free block in the
- // current bitmap, or succeeding bitmaps until the last bitmap
- // is reached. If no free block turns up, we resort to First
- // Fit method.
-
- // WARNING: Do not re-order the condition in the while
- // statement below, because it relies on C++'s short-circuit
- // evaluation. The return from _S_last_request->_M_get() will
- // NOT be dereference able if _S_last_request->_M_finished()
- // returns true. This would inevitably lead to a NULL pointer
- // dereference if tinkered with.
- while (_S_last_request._M_finished() == false
- && (*(_S_last_request._M_get()) == 0))
- {
- _S_last_request.operator++();
- }
-
- if (__builtin_expect(_S_last_request._M_finished() == true, false))
- {
- // Fall Back to First Fit algorithm.
- typedef typename
- __gnu_cxx::__detail::_Ffit_finder<_Alloc_block*> _FFF;
- _FFF __fff;
- typedef typename _BPVector::iterator _BPiter;
- _BPiter __bpi =
- __gnu_cxx::__detail::__find_if
- (_S_mem_blocks.begin(), _S_mem_blocks.end(),
- __gnu_cxx::__detail::_Functor_Ref<_FFF>(__fff));
-
- if (__bpi != _S_mem_blocks.end())
- {
- // Search was successful. Ok, now mark the first bit from
- // the right as 0, meaning Allocated. This bit is obtained
- // by calling _M_get() on __fff.
- size_t __nz_bit = _Bit_scan_forward(*__fff._M_get());
- __detail::__bit_allocate(__fff._M_get(), __nz_bit);
-
- _S_last_request._M_reset(__bpi - _S_mem_blocks.begin());
-
- // Now, get the address of the bit we marked as allocated.
- pointer __ret = reinterpret_cast<pointer>
- (__bpi->first + __fff._M_offset() + __nz_bit);
- size_t* __puse_count =
- reinterpret_cast<size_t*>
- (__bpi->first)
- - (__gnu_cxx::__detail::__num_bitmaps(*__bpi) + 1);
-
- ++(*__puse_count);
- return __ret;
- }
- else
- {
- // Search was unsuccessful. We Add more memory to the
- // pool by calling _S_refill_pool().
- _S_refill_pool();
-
- // _M_Reset the _S_last_request structure to the first
- // free block's bit map.
- _S_last_request._M_reset(_S_mem_blocks.size() - 1);
-
- // Now, mark that bit as allocated.
- }
- }
-
- // _S_last_request holds a pointer to a valid bit map, that
- // points to a free block in memory.
- size_t __nz_bit = _Bit_scan_forward(*_S_last_request._M_get());
- __detail::__bit_allocate(_S_last_request._M_get(), __nz_bit);
-
- pointer __ret = reinterpret_cast<pointer>
- (_S_last_request._M_base() + _S_last_request._M_offset() + __nz_bit);
-
- size_t* __puse_count = reinterpret_cast<size_t*>
- (_S_mem_blocks[_S_last_request._M_where()].first)
- - (__gnu_cxx::__detail::
- __num_bitmaps(_S_mem_blocks[_S_last_request._M_where()]) + 1);
-
- ++(*__puse_count);
- return __ret;
- }
-
- /** @brief Deallocates memory that belongs to a single object of
- * size sizeof(_Tp).
- *
- * @detail Complexity: O(lg(N)), but the worst case is not hit
- * often! This is because containers usually deallocate memory
- * close to each other and this case is handled in O(1) time by
- * the deallocate function.
- */
- void
- _M_deallocate_single_object(pointer __p) throw()
- {
-#if defined __GTHREADS
- __gnu_cxx::__scoped_lock __bit_lock(_S_mut);
-#endif
- _Alloc_block* __real_p = reinterpret_cast<_Alloc_block*>(__p);
-
- typedef typename _BPVector::iterator _Iterator;
- typedef typename _BPVector::difference_type _Difference_type;
-
- _Difference_type __diff;
- long __displacement;
-
- _GLIBCXX_DEBUG_ASSERT(_S_last_dealloc_index >= 0);
-
-
- if (__gnu_cxx::__detail::_Inclusive_between<_Alloc_block*>
- (__real_p) (_S_mem_blocks[_S_last_dealloc_index]))
- {
- _GLIBCXX_DEBUG_ASSERT(_S_last_dealloc_index
- <= _S_mem_blocks.size() - 1);
-
- // Initial Assumption was correct!
- __diff = _S_last_dealloc_index;
- __displacement = __real_p - _S_mem_blocks[__diff].first;
- }
- else
- {
- _Iterator _iter = __gnu_cxx::__detail::
- __find_if(_S_mem_blocks.begin(),
- _S_mem_blocks.end(),
- __gnu_cxx::__detail::
- _Inclusive_between<_Alloc_block*>(__real_p));
-
- _GLIBCXX_DEBUG_ASSERT(_iter != _S_mem_blocks.end());
-
- __diff = _iter - _S_mem_blocks.begin();
- __displacement = __real_p - _S_mem_blocks[__diff].first;
- _S_last_dealloc_index = __diff;
- }
-
- // Get the position of the iterator that has been found.
- const size_t __rotate = (__displacement
- % size_t(__detail::bits_per_block));
- size_t* __bitmapC =
- reinterpret_cast<size_t*>
- (_S_mem_blocks[__diff].first) - 1;
- __bitmapC -= (__displacement / size_t(__detail::bits_per_block));
-
- __detail::__bit_free(__bitmapC, __rotate);
- size_t* __puse_count = reinterpret_cast<size_t*>
- (_S_mem_blocks[__diff].first)
- - (__gnu_cxx::__detail::__num_bitmaps(_S_mem_blocks[__diff]) + 1);
-
- _GLIBCXX_DEBUG_ASSERT(*__puse_count != 0);
-
- --(*__puse_count);
-
- if (__builtin_expect(*__puse_count == 0, false))
- {
- _S_block_size /= 2;
-
- // We can safely remove this block.
- // _Block_pair __bp = _S_mem_blocks[__diff];
- this->_M_insert(__puse_count);
- _S_mem_blocks.erase(_S_mem_blocks.begin() + __diff);
-
- // Reset the _S_last_request variable to reflect the
- // erased block. We do this to protect future requests
- // after the last block has been removed from a particular
- // memory Chunk, which in turn has been returned to the
- // free list, and hence had been erased from the vector,
- // so the size of the vector gets reduced by 1.
- if ((_Difference_type)_S_last_request._M_where() >= __diff--)
- _S_last_request._M_reset(__diff);
-
- // If the Index into the vector of the region of memory
- // that might hold the next address that will be passed to
- // deallocated may have been invalidated due to the above
- // erase procedure being called on the vector, hence we
- // try to restore this invariant too.
- if (_S_last_dealloc_index >= _S_mem_blocks.size())
- {
- _S_last_dealloc_index =(__diff != -1 ? __diff : 0);
- _GLIBCXX_DEBUG_ASSERT(_S_last_dealloc_index >= 0);
- }
- }
- }
-
- public:
- bitmap_allocator() throw()
- { }
-
- bitmap_allocator(const bitmap_allocator&)
- { }
-
- template<typename _Tp1>
- bitmap_allocator(const bitmap_allocator<_Tp1>&) throw()
- { }
-
- ~bitmap_allocator() throw()
- { }
-
- pointer
- allocate(size_type __n)
- {
- if (__builtin_expect(__n > this->max_size(), false))
- std::__throw_bad_alloc();
-
- if (__builtin_expect(__n == 1, true))
- return this->_M_allocate_single_object();
- else
- {
- const size_type __b = __n * sizeof(value_type);
- return reinterpret_cast<pointer>(::operator new(__b));
- }
- }
-
- pointer
- allocate(size_type __n, typename bitmap_allocator<void>::const_pointer)
- { return allocate(__n); }
-
- void
- deallocate(pointer __p, size_type __n) throw()
- {
- if (__builtin_expect(__p != 0, true))
- {
- if (__builtin_expect(__n == 1, true))
- this->_M_deallocate_single_object(__p);
- else
- ::operator delete(__p);
- }
- }
-
- pointer
- address(reference __r) const
- { return &__r; }
-
- const_pointer
- address(const_reference __r) const
- { return &__r; }
-
- size_type
- max_size() const throw()
- { return size_type(-1) / sizeof(value_type); }
-
- void
- construct(pointer __p, const_reference __data)
- { ::new(__p) value_type(__data); }
-
- void
- destroy(pointer __p)
- { __p->~value_type(); }
- };
-
- template<typename _Tp1, typename _Tp2>
- bool
- operator==(const bitmap_allocator<_Tp1>&,
- const bitmap_allocator<_Tp2>&) throw()
- { return true; }
-
- template<typename _Tp1, typename _Tp2>
- bool
- operator!=(const bitmap_allocator<_Tp1>&,
- const bitmap_allocator<_Tp2>&) throw()
- { return false; }
-
- // Static member definitions.
- template<typename _Tp>
- typename bitmap_allocator<_Tp>::_BPVector
- bitmap_allocator<_Tp>::_S_mem_blocks;
-
- template<typename _Tp>
- size_t bitmap_allocator<_Tp>::_S_block_size =
- 2 * size_t(__detail::bits_per_block);
-
- template<typename _Tp>
- typename __gnu_cxx::bitmap_allocator<_Tp>::_BPVector::size_type
- bitmap_allocator<_Tp>::_S_last_dealloc_index = 0;
-
- template<typename _Tp>
- __gnu_cxx::__detail::_Bitmap_counter
- <typename bitmap_allocator<_Tp>::_Alloc_block*>
- bitmap_allocator<_Tp>::_S_last_request(_S_mem_blocks);
-
-#if defined __GTHREADS
- template<typename _Tp>
- typename bitmap_allocator<_Tp>::__mutex_type
- bitmap_allocator<_Tp>::_S_mut;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/codecvt_specializations.h b/contrib/libstdc++/include/ext/codecvt_specializations.h
deleted file mode 100644
index 3973d3256d83..000000000000
--- a/contrib/libstdc++/include/ext/codecvt_specializations.h
+++ /dev/null
@@ -1,521 +0,0 @@
-// Locale support (codecvt) -*- C++ -*-
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882: 22.2.1.5 Template class codecvt
-//
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-/** @file ext/codecvt_specializations.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _EXT_CODECVT_SPECIALIZATIONS_H
-#define _EXT_CODECVT_SPECIALIZATIONS_H 1
-
-#include <bits/c++config.h>
-
-#ifdef _GLIBCXX_USE_ICONV
-
-#include <locale>
-#include <iconv.h>
-
- // XXX
- // Define this here so codecvt.cc can have _S_max_size definition.
-#define _GLIBCXX_USE_ENCODING_STATE 1
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- /// @brief Extension to use icov for dealing with character encodings.
- // This includes conversions and comparisons between various character
- // sets. This object encapsulates data that may need to be shared between
- // char_traits, codecvt and ctype.
- class encoding_state
- {
- public:
- // Types:
- // NB: A conversion descriptor subsumes and enhances the
- // functionality of a simple state type such as mbstate_t.
- typedef iconv_t descriptor_type;
-
- protected:
- // Name of internal character set encoding.
- std::string _M_int_enc;
-
- // Name of external character set encoding.
- std::string _M_ext_enc;
-
- // Conversion descriptor between external encoding to internal encoding.
- descriptor_type _M_in_desc;
-
- // Conversion descriptor between internal encoding to external encoding.
- descriptor_type _M_out_desc;
-
- // The byte-order marker for the external encoding, if necessary.
- int _M_ext_bom;
-
- // The byte-order marker for the internal encoding, if necessary.
- int _M_int_bom;
-
- // Number of external bytes needed to construct one complete
- // character in the internal encoding.
- // NB: -1 indicates variable, or stateful, encodings.
- int _M_bytes;
-
- public:
- explicit
- encoding_state()
- : _M_in_desc(0), _M_out_desc(0), _M_ext_bom(0), _M_int_bom(0), _M_bytes(0)
- { }
-
- explicit
- encoding_state(const char* __int, const char* __ext,
- int __ibom = 0, int __ebom = 0, int __bytes = 1)
- : _M_int_enc(__int), _M_ext_enc(__ext), _M_in_desc(0), _M_out_desc(0),
- _M_ext_bom(__ebom), _M_int_bom(__ibom), _M_bytes(__bytes)
- { init(); }
-
- // 21.1.2 traits typedefs
- // p4
- // typedef STATE_T state_type
- // requires: state_type shall meet the requirements of
- // CopyConstructible types (20.1.3)
- // NB: This does not preseve the actual state of the conversion
- // descriptor member, but it does duplicate the encoding
- // information.
- encoding_state(const encoding_state& __obj) : _M_in_desc(0), _M_out_desc(0)
- { construct(__obj); }
-
- // Need assignment operator as well.
- encoding_state&
- operator=(const encoding_state& __obj)
- {
- construct(__obj);
- return *this;
- }
-
- ~encoding_state()
- { destroy(); }
-
- bool
- good() const throw()
- {
- const descriptor_type __err = (iconv_t)(-1);
- bool __test = _M_in_desc && _M_in_desc != __err;
- __test &= _M_out_desc && _M_out_desc != __err;
- return __test;
- }
-
- int
- character_ratio() const
- { return _M_bytes; }
-
- const std::string
- internal_encoding() const
- { return _M_int_enc; }
-
- int
- internal_bom() const
- { return _M_int_bom; }
-
- const std::string
- external_encoding() const
- { return _M_ext_enc; }
-
- int
- external_bom() const
- { return _M_ext_bom; }
-
- const descriptor_type&
- in_descriptor() const
- { return _M_in_desc; }
-
- const descriptor_type&
- out_descriptor() const
- { return _M_out_desc; }
-
- protected:
- void
- init()
- {
- const descriptor_type __err = (iconv_t)(-1);
- const bool __have_encodings = _M_int_enc.size() && _M_ext_enc.size();
- if (!_M_in_desc && __have_encodings)
- {
- _M_in_desc = iconv_open(_M_int_enc.c_str(), _M_ext_enc.c_str());
- if (_M_in_desc == __err)
- std::__throw_runtime_error(__N("encoding_state::_M_init "
- "creating iconv input descriptor failed"));
- }
- if (!_M_out_desc && __have_encodings)
- {
- _M_out_desc = iconv_open(_M_ext_enc.c_str(), _M_int_enc.c_str());
- if (_M_out_desc == __err)
- std::__throw_runtime_error(__N("encoding_state::_M_init "
- "creating iconv output descriptor failed"));
- }
- }
-
- void
- construct(const encoding_state& __obj)
- {
- destroy();
- _M_int_enc = __obj._M_int_enc;
- _M_ext_enc = __obj._M_ext_enc;
- _M_ext_bom = __obj._M_ext_bom;
- _M_int_bom = __obj._M_int_bom;
- _M_bytes = __obj._M_bytes;
- init();
- }
-
- void
- destroy() throw()
- {
- const descriptor_type __err = (iconv_t)(-1);
- if (_M_in_desc && _M_in_desc != __err)
- {
- iconv_close(_M_in_desc);
- _M_in_desc = 0;
- }
- if (_M_out_desc && _M_out_desc != __err)
- {
- iconv_close(_M_out_desc);
- _M_out_desc = 0;
- }
- }
- };
-
- /// @brief encoding_char_traits.
- // Custom traits type with encoding_state for the state type, and the
- // associated fpos<encoding_state> for the position type, all other
- // bits equivalent to the required char_traits instantiations.
- template<typename _CharT>
- struct encoding_char_traits : public std::char_traits<_CharT>
- {
- typedef encoding_state state_type;
- typedef typename std::fpos<state_type> pos_type;
- };
-
-_GLIBCXX_END_NAMESPACE
-
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- using __gnu_cxx::encoding_state;
-
- /// @brief codecvt<InternT, _ExternT, encoding_state> specialization.
- // This partial specialization takes advantage of iconv to provide
- // code conversions between a large number of character encodings.
- template<typename _InternT, typename _ExternT>
- class codecvt<_InternT, _ExternT, encoding_state>
- : public __codecvt_abstract_base<_InternT, _ExternT, encoding_state>
- {
- public:
- // Types:
- typedef codecvt_base::result result;
- typedef _InternT intern_type;
- typedef _ExternT extern_type;
- typedef __gnu_cxx::encoding_state state_type;
- typedef state_type::descriptor_type descriptor_type;
-
- // Data Members:
- static locale::id id;
-
- explicit
- codecvt(size_t __refs = 0)
- : __codecvt_abstract_base<intern_type, extern_type, state_type>(__refs)
- { }
-
- explicit
- codecvt(state_type& __enc, size_t __refs = 0)
- : __codecvt_abstract_base<intern_type, extern_type, state_type>(__refs)
- { }
-
- protected:
- virtual
- ~codecvt() { }
-
- virtual result
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const;
-
- virtual result
- do_unshift(state_type& __state, extern_type* __to,
- extern_type* __to_end, extern_type*& __to_next) const;
-
- virtual result
- do_in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const;
-
- virtual int
- do_encoding() const throw();
-
- virtual bool
- do_always_noconv() const throw();
-
- virtual int
- do_length(state_type&, const extern_type* __from,
- const extern_type* __end, size_t __max) const;
-
- virtual int
- do_max_length() const throw();
- };
-
- template<typename _InternT, typename _ExternT>
- locale::id
- codecvt<_InternT, _ExternT, encoding_state>::id;
-
- // This adaptor works around the signature problems of the second
- // argument to iconv(): SUSv2 and others use 'const char**', but glibc 2.2
- // uses 'char**', which matches the POSIX 1003.1-2001 standard.
- // Using this adaptor, g++ will do the work for us.
- template<typename _Tp>
- inline size_t
- __iconv_adaptor(size_t(*__func)(iconv_t, _Tp, size_t*, char**, size_t*),
- iconv_t __cd, char** __inbuf, size_t* __inbytes,
- char** __outbuf, size_t* __outbytes)
- { return __func(__cd, (_Tp)__inbuf, __inbytes, __outbuf, __outbytes); }
-
- template<typename _InternT, typename _ExternT>
- codecvt_base::result
- codecvt<_InternT, _ExternT, encoding_state>::
- do_out(state_type& __state, const intern_type* __from,
- const intern_type* __from_end, const intern_type*& __from_next,
- extern_type* __to, extern_type* __to_end,
- extern_type*& __to_next) const
- {
- result __ret = codecvt_base::error;
- if (__state.good())
- {
- const descriptor_type& __desc = __state.out_descriptor();
- const size_t __fmultiple = sizeof(intern_type);
- size_t __fbytes = __fmultiple * (__from_end - __from);
- const size_t __tmultiple = sizeof(extern_type);
- size_t __tbytes = __tmultiple * (__to_end - __to);
-
- // Argument list for iconv specifies a byte sequence. Thus,
- // all to/from arrays must be brutally casted to char*.
- char* __cto = reinterpret_cast<char*>(__to);
- char* __cfrom;
- size_t __conv;
-
- // Some encodings need a byte order marker as the first item
- // in the byte stream, to designate endian-ness. The default
- // value for the byte order marker is NULL, so if this is
- // the case, it's not necessary and we can just go on our
- // merry way.
- int __int_bom = __state.internal_bom();
- if (__int_bom)
- {
- size_t __size = __from_end - __from;
- intern_type* __cfixed = static_cast<intern_type*>
- (__builtin_alloca(sizeof(intern_type) * (__size + 1)));
- __cfixed[0] = static_cast<intern_type>(__int_bom);
- char_traits<intern_type>::copy(__cfixed + 1, __from, __size);
- __cfrom = reinterpret_cast<char*>(__cfixed);
- __conv = __iconv_adaptor(iconv, __desc, &__cfrom,
- &__fbytes, &__cto, &__tbytes);
- }
- else
- {
- intern_type* __cfixed = const_cast<intern_type*>(__from);
- __cfrom = reinterpret_cast<char*>(__cfixed);
- __conv = __iconv_adaptor(iconv, __desc, &__cfrom, &__fbytes,
- &__cto, &__tbytes);
- }
-
- if (__conv != size_t(-1))
- {
- __from_next = reinterpret_cast<const intern_type*>(__cfrom);
- __to_next = reinterpret_cast<extern_type*>(__cto);
- __ret = codecvt_base::ok;
- }
- else
- {
- if (__fbytes < __fmultiple * (__from_end - __from))
- {
- __from_next = reinterpret_cast<const intern_type*>(__cfrom);
- __to_next = reinterpret_cast<extern_type*>(__cto);
- __ret = codecvt_base::partial;
- }
- else
- __ret = codecvt_base::error;
- }
- }
- return __ret;
- }
-
- template<typename _InternT, typename _ExternT>
- codecvt_base::result
- codecvt<_InternT, _ExternT, encoding_state>::
- do_unshift(state_type& __state, extern_type* __to,
- extern_type* __to_end, extern_type*& __to_next) const
- {
- result __ret = codecvt_base::error;
- if (__state.good())
- {
- const descriptor_type& __desc = __state.in_descriptor();
- const size_t __tmultiple = sizeof(intern_type);
- size_t __tlen = __tmultiple * (__to_end - __to);
-
- // Argument list for iconv specifies a byte sequence. Thus,
- // all to/from arrays must be brutally casted to char*.
- char* __cto = reinterpret_cast<char*>(__to);
- size_t __conv = __iconv_adaptor(iconv,__desc, NULL, NULL,
- &__cto, &__tlen);
-
- if (__conv != size_t(-1))
- {
- __to_next = reinterpret_cast<extern_type*>(__cto);
- if (__tlen == __tmultiple * (__to_end - __to))
- __ret = codecvt_base::noconv;
- else if (__tlen == 0)
- __ret = codecvt_base::ok;
- else
- __ret = codecvt_base::partial;
- }
- else
- __ret = codecvt_base::error;
- }
- return __ret;
- }
-
- template<typename _InternT, typename _ExternT>
- codecvt_base::result
- codecvt<_InternT, _ExternT, encoding_state>::
- do_in(state_type& __state, const extern_type* __from,
- const extern_type* __from_end, const extern_type*& __from_next,
- intern_type* __to, intern_type* __to_end,
- intern_type*& __to_next) const
- {
- result __ret = codecvt_base::error;
- if (__state.good())
- {
- const descriptor_type& __desc = __state.in_descriptor();
- const size_t __fmultiple = sizeof(extern_type);
- size_t __flen = __fmultiple * (__from_end - __from);
- const size_t __tmultiple = sizeof(intern_type);
- size_t __tlen = __tmultiple * (__to_end - __to);
-
- // Argument list for iconv specifies a byte sequence. Thus,
- // all to/from arrays must be brutally casted to char*.
- char* __cto = reinterpret_cast<char*>(__to);
- char* __cfrom;
- size_t __conv;
-
- // Some encodings need a byte order marker as the first item
- // in the byte stream, to designate endian-ness. The default
- // value for the byte order marker is NULL, so if this is
- // the case, it's not necessary and we can just go on our
- // merry way.
- int __ext_bom = __state.external_bom();
- if (__ext_bom)
- {
- size_t __size = __from_end - __from;
- extern_type* __cfixed = static_cast<extern_type*>
- (__builtin_alloca(sizeof(extern_type) * (__size + 1)));
- __cfixed[0] = static_cast<extern_type>(__ext_bom);
- char_traits<extern_type>::copy(__cfixed + 1, __from, __size);
- __cfrom = reinterpret_cast<char*>(__cfixed);
- __conv = __iconv_adaptor(iconv, __desc, &__cfrom,
- &__flen, &__cto, &__tlen);
- }
- else
- {
- extern_type* __cfixed = const_cast<extern_type*>(__from);
- __cfrom = reinterpret_cast<char*>(__cfixed);
- __conv = __iconv_adaptor(iconv, __desc, &__cfrom,
- &__flen, &__cto, &__tlen);
- }
-
-
- if (__conv != size_t(-1))
- {
- __from_next = reinterpret_cast<const extern_type*>(__cfrom);
- __to_next = reinterpret_cast<intern_type*>(__cto);
- __ret = codecvt_base::ok;
- }
- else
- {
- if (__flen < static_cast<size_t>(__from_end - __from))
- {
- __from_next = reinterpret_cast<const extern_type*>(__cfrom);
- __to_next = reinterpret_cast<intern_type*>(__cto);
- __ret = codecvt_base::partial;
- }
- else
- __ret = codecvt_base::error;
- }
- }
- return __ret;
- }
-
- template<typename _InternT, typename _ExternT>
- int
- codecvt<_InternT, _ExternT, encoding_state>::
- do_encoding() const throw()
- {
- int __ret = 0;
- if (sizeof(_ExternT) <= sizeof(_InternT))
- __ret = sizeof(_InternT) / sizeof(_ExternT);
- return __ret;
- }
-
- template<typename _InternT, typename _ExternT>
- bool
- codecvt<_InternT, _ExternT, encoding_state>::
- do_always_noconv() const throw()
- { return false; }
-
- template<typename _InternT, typename _ExternT>
- int
- codecvt<_InternT, _ExternT, encoding_state>::
- do_length(state_type&, const extern_type* __from,
- const extern_type* __end, size_t __max) const
- { return std::min(__max, static_cast<size_t>(__end - __from)); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 74. Garbled text for codecvt::do_max_length
- template<typename _InternT, typename _ExternT>
- int
- codecvt<_InternT, _ExternT, encoding_state>::
- do_max_length() const throw()
- { return 1; }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/ext/concurrence.h b/contrib/libstdc++/include/ext/concurrence.h
deleted file mode 100644
index 31c3ce681351..000000000000
--- a/contrib/libstdc++/include/ext/concurrence.h
+++ /dev/null
@@ -1,225 +0,0 @@
-// Support for concurrent programing -*- C++ -*-
-
-// Copyright (C) 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 concurrence.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _CONCURRENCE_H
-#define _CONCURRENCE_H 1
-
-#include <cstdlib>
-#include <exception>
-#include <bits/gthr.h>
-#include <bits/functexcept.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // Available locking policies:
- // _S_single single-threaded code that doesn't need to be locked.
- // _S_mutex multi-threaded code that requires additional support
- // from gthr.h or abstraction layers in concurrence.h.
- // _S_atomic multi-threaded code using atomic operations.
- enum _Lock_policy { _S_single, _S_mutex, _S_atomic };
-
- // Compile time constant that indicates prefered locking policy in
- // the current configuration.
- static const _Lock_policy __default_lock_policy =
-#ifdef __GTHREADS
- // NB: This macro doesn't actually exist yet in the compiler, but is
- // set somewhat haphazardly at configure time.
-#ifdef _GLIBCXX_ATOMIC_BUILTINS
- _S_atomic;
-#else
- _S_mutex;
-#endif
-#else
- _S_single;
-#endif
-
- // NB: As this is used in libsupc++, need to only depend on
- // exception. No stdexception classes, no use of std::string.
- class __concurrence_lock_error : public std::exception
- {
- public:
- virtual char const*
- what() const throw()
- { return "__gnu_cxx::__concurrence_lock_error"; }
- };
-
- class __concurrence_unlock_error : public std::exception
- {
- public:
- virtual char const*
- what() const throw()
- { return "__gnu_cxx::__concurrence_unlock_error"; }
- };
-
- // Substitute for concurrence_error object in the case of -fno-exceptions.
- inline void
- __throw_concurrence_lock_error()
- {
-#if __EXCEPTIONS
- throw __concurrence_lock_error();
-#else
- std::abort();
-#endif
- }
-
- inline void
- __throw_concurrence_unlock_error()
- {
-#if __EXCEPTIONS
- throw __concurrence_unlock_error();
-#else
- std::abort();
-#endif
- }
-
- class __mutex
- {
- private:
- __gthread_mutex_t _M_mutex;
-
- __mutex(const __mutex&);
- __mutex& operator=(const __mutex&);
-
- public:
- __mutex()
- {
-#if __GTHREADS
- if (__gthread_active_p())
- {
-#if defined __GTHREAD_MUTEX_INIT
- __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
- _M_mutex = __tmp;
-#else
- __GTHREAD_MUTEX_INIT_FUNCTION(&_M_mutex);
-#endif
- }
-#endif
- }
-
- void lock()
- {
-#if __GTHREADS
- if (__gthread_active_p())
- {
- if (__gthread_mutex_lock(&_M_mutex) != 0)
- __throw_concurrence_lock_error();
- }
-#endif
- }
-
- void unlock()
- {
-#if __GTHREADS
- if (__gthread_active_p())
- {
- if (__gthread_mutex_unlock(&_M_mutex) != 0)
- __throw_concurrence_unlock_error();
- }
-#endif
- }
- };
-
- class __recursive_mutex
- {
- private:
- __gthread_recursive_mutex_t _M_mutex;
-
- __recursive_mutex(const __recursive_mutex&);
- __recursive_mutex& operator=(const __recursive_mutex&);
-
- public:
- __recursive_mutex()
- {
-#if __GTHREADS
- if (__gthread_active_p())
- {
-#if defined __GTHREAD_RECURSIVE_MUTEX_INIT
- __gthread_recursive_mutex_t __tmp = __GTHREAD_RECURSIVE_MUTEX_INIT;
- _M_mutex = __tmp;
-#else
- __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION(&_M_mutex);
-#endif
- }
-#endif
- }
-
- void lock()
- {
-#if __GTHREADS
- if (__gthread_active_p())
- {
- if (__gthread_recursive_mutex_lock(&_M_mutex) != 0)
- __throw_concurrence_lock_error();
- }
-#endif
- }
-
- void unlock()
- {
-#if __GTHREADS
- if (__gthread_active_p())
- {
- if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0)
- __throw_concurrence_unlock_error();
- }
-#endif
- }
- };
-
- /// @brief Scoped lock idiom.
- // Acquire the mutex here with a constructor call, then release with
- // the destructor call in accordance with RAII style.
- class __scoped_lock
- {
- public:
- typedef __mutex __mutex_type;
-
- private:
- __mutex_type& _M_device;
-
- __scoped_lock(const __scoped_lock&);
- __scoped_lock& operator=(const __scoped_lock&);
-
- public:
- explicit __scoped_lock(__mutex_type& __name) : _M_device(__name)
- { _M_device.lock(); }
-
- ~__scoped_lock() throw()
- { _M_device.unlock(); }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/debug_allocator.h b/contrib/libstdc++/include/ext/debug_allocator.h
deleted file mode 100644
index 43a9a8719988..000000000000
--- a/contrib/libstdc++/include/ext/debug_allocator.h
+++ /dev/null
@@ -1,128 +0,0 @@
-// Allocators -*- C++ -*-
-
-// 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.
-
-/*
- * Copyright (c) 1996-1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/debug_allocator.h
- * This file is a GNU extension to the Standard C++ Library.
- * You should only include this header if you are using GCC 3 or later.
- */
-
-#ifndef _DEBUG_ALLOCATOR_H
-#define _DEBUG_ALLOCATOR_H 1
-
-#include <stdexcept>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
-
- /**
- * @brief A meta-allocator with debugging bits, as per [20.4].
- *
- * This is precisely the allocator defined in the C++ Standard.
- * - all allocation calls operator new
- * - all deallocation calls operator delete
- */
- template<typename _Alloc>
- class debug_allocator
- {
- public:
- typedef typename _Alloc::size_type size_type;
- typedef typename _Alloc::difference_type difference_type;
- typedef typename _Alloc::pointer pointer;
- typedef typename _Alloc::const_pointer const_pointer;
- typedef typename _Alloc::reference reference;
- typedef typename _Alloc::const_reference const_reference;
- typedef typename _Alloc::value_type value_type;
-
- private:
- // _M_extra is the number of objects that correspond to the
- // extra space where debug information is stored.
- size_type _M_extra;
-
- _Alloc _M_allocator;
-
- public:
- debug_allocator()
- {
- const size_t __obj_size = sizeof(value_type);
- _M_extra = (sizeof(size_type) + __obj_size - 1) / __obj_size;
- }
-
- pointer
- allocate(size_type __n)
- {
- pointer __res = _M_allocator.allocate(__n + _M_extra);
- size_type* __ps = reinterpret_cast<size_type*>(__res);
- *__ps = __n;
- return __res + _M_extra;
- }
-
- pointer
- allocate(size_type __n, const void* __hint)
- {
- pointer __res = _M_allocator.allocate(__n + _M_extra, __hint);
- size_type* __ps = reinterpret_cast<size_type*>(__res);
- *__ps = __n;
- return __res + _M_extra;
- }
-
- void
- deallocate(pointer __p, size_type __n)
- {
- if (__p)
- {
- pointer __real_p = __p - _M_extra;
- if (*reinterpret_cast<size_type*>(__real_p) != __n)
- {
- throw std::runtime_error("debug_allocator::deallocate"
- " wrong size");
- }
- _M_allocator.deallocate(__real_p, __n + _M_extra);
- }
- else
- throw std::runtime_error("debug_allocator::deallocate null pointer");
- }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/functional b/contrib/libstdc++/include/ext/functional
deleted file mode 100644
index f159e11d6399..000000000000
--- a/contrib/libstdc++/include/ext/functional
+++ /dev/null
@@ -1,428 +0,0 @@
-// Functional extensions -*- C++ -*-
-
-// Copyright (C) 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/functional
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _EXT_FUNCTIONAL
-#define _EXT_FUNCTIONAL 1
-
-#pragma GCC system_header
-
-#include <functional>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::unary_function;
- using std::binary_function;
- using std::mem_fun1_t;
- using std::const_mem_fun1_t;
- using std::mem_fun1_ref_t;
- using std::const_mem_fun1_ref_t;
-
- /** The @c identity_element functions are not part of the C++
- * standard; SGI provided them as an extension. Its argument is an
- * operation, and its return value is the identity element for that
- * operation. It is overloaded for addition and multiplication,
- * and you can overload it for your own nefarious operations.
- *
- * @addtogroup SGIextensions
- * @{
- */
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Tp>
- inline _Tp
- identity_element(std::plus<_Tp>)
- { return _Tp(0); }
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Tp>
- inline _Tp
- identity_element(std::multiplies<_Tp>)
- { return _Tp(1); }
- /** @} */
-
- /** As an extension to the binders, SGI provided composition functors and
- * wrapper functions to aid in their creation. The @c unary_compose
- * functor is constructed from two functions/functors, @c f and @c g.
- * Calling @c operator() with a single argument @c x returns @c f(g(x)).
- * The function @c compose1 takes the two functions and constructs a
- * @c unary_compose variable for you.
- *
- * @c binary_compose is constructed from three functors, @c f, @c g1,
- * and @c g2. Its @c operator() returns @c f(g1(x),g2(x)). The function
- * @compose2 takes f, g1, and g2, and constructs the @c binary_compose
- * instance for you. For example, if @c f returns an int, then
- * \code
- * int answer = (compose2(f,g1,g2))(x);
- * \endcode
- * is equivalent to
- * \code
- * int temp1 = g1(x);
- * int temp2 = g2(x);
- * int answer = f(temp1,temp2);
- * \endcode
- * But the first form is more compact, and can be passed around as a
- * functor to other algorithms.
- *
- * @addtogroup SGIextensions
- * @{
- */
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Operation1, class _Operation2>
- class unary_compose
- : public unary_function<typename _Operation2::argument_type,
- typename _Operation1::result_type>
- {
- protected:
- _Operation1 _M_fn1;
- _Operation2 _M_fn2;
-
- public:
- unary_compose(const _Operation1& __x, const _Operation2& __y)
- : _M_fn1(__x), _M_fn2(__y) {}
-
- typename _Operation1::result_type
- operator()(const typename _Operation2::argument_type& __x) const
- { return _M_fn1(_M_fn2(__x)); }
- };
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Operation1, class _Operation2>
- inline unary_compose<_Operation1, _Operation2>
- compose1(const _Operation1& __fn1, const _Operation2& __fn2)
- { return unary_compose<_Operation1,_Operation2>(__fn1, __fn2); }
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Operation1, class _Operation2, class _Operation3>
- class binary_compose
- : public unary_function<typename _Operation2::argument_type,
- typename _Operation1::result_type>
- {
- protected:
- _Operation1 _M_fn1;
- _Operation2 _M_fn2;
- _Operation3 _M_fn3;
-
- public:
- binary_compose(const _Operation1& __x, const _Operation2& __y,
- const _Operation3& __z)
- : _M_fn1(__x), _M_fn2(__y), _M_fn3(__z) { }
-
- typename _Operation1::result_type
- operator()(const typename _Operation2::argument_type& __x) const
- { return _M_fn1(_M_fn2(__x), _M_fn3(__x)); }
- };
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Operation1, class _Operation2, class _Operation3>
- inline binary_compose<_Operation1, _Operation2, _Operation3>
- compose2(const _Operation1& __fn1, const _Operation2& __fn2,
- const _Operation3& __fn3)
- { return binary_compose<_Operation1, _Operation2, _Operation3>
- (__fn1, __fn2, __fn3); }
- /** @} */
-
- /** As an extension, SGI provided a functor called @c identity. When a
- * functor is required but no operations are desired, this can be used as a
- * pass-through. Its @c operator() returns its argument unchanged.
- *
- * @addtogroup SGIextensions
- */
- template <class _Tp>
- struct identity : public std::_Identity<_Tp> {};
-
- /** @c select1st and @c select2nd are extensions provided by SGI. Their
- * @c operator()s
- * take a @c std::pair as an argument, and return either the first member
- * or the second member, respectively. They can be used (especially with
- * the composition functors) to "strip" data from a sequence before
- * performing the remainder of an algorithm.
- *
- * @addtogroup SGIextensions
- * @{
- */
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Pair>
- struct select1st : public std::_Select1st<_Pair> {};
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Pair>
- struct select2nd : public std::_Select2nd<_Pair> {};
- /** @} */
-
- // extension documented next
- template <class _Arg1, class _Arg2>
- struct _Project1st : public binary_function<_Arg1, _Arg2, _Arg1>
- {
- _Arg1
- operator()(const _Arg1& __x, const _Arg2&) const
- { return __x; }
- };
-
- template <class _Arg1, class _Arg2>
- struct _Project2nd : public binary_function<_Arg1, _Arg2, _Arg2>
- {
- _Arg2
- operator()(const _Arg1&, const _Arg2& __y) const
- { return __y; }
- };
-
- /** The @c operator() of the @c project1st functor takes two arbitrary
- * arguments and returns the first one, while @c project2nd returns the
- * second one. They are extensions provided by SGI.
- *
- * @addtogroup SGIextensions
- * @{
- */
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Arg1, class _Arg2>
- struct project1st : public _Project1st<_Arg1, _Arg2> {};
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Arg1, class _Arg2>
- struct project2nd : public _Project2nd<_Arg1, _Arg2> {};
- /** @} */
-
- // extension documented next
- template <class _Result>
- struct _Constant_void_fun
- {
- typedef _Result result_type;
- result_type _M_val;
-
- _Constant_void_fun(const result_type& __v) : _M_val(__v) {}
-
- const result_type&
- operator()() const
- { return _M_val; }
- };
-
- template <class _Result, class _Argument>
- struct _Constant_unary_fun
- {
- typedef _Argument argument_type;
- typedef _Result result_type;
- result_type _M_val;
-
- _Constant_unary_fun(const result_type& __v) : _M_val(__v) {}
-
- const result_type&
- operator()(const _Argument&) const
- { return _M_val; }
- };
-
- template <class _Result, class _Arg1, class _Arg2>
- struct _Constant_binary_fun
- {
- typedef _Arg1 first_argument_type;
- typedef _Arg2 second_argument_type;
- typedef _Result result_type;
- _Result _M_val;
-
- _Constant_binary_fun(const _Result& __v) : _M_val(__v) {}
-
- const result_type&
- operator()(const _Arg1&, const _Arg2&) const
- { return _M_val; }
- };
-
- /** These three functors are each constructed from a single arbitrary
- * variable/value. Later, their @c operator()s completely ignore any
- * arguments passed, and return the stored value.
- * - @c constant_void_fun's @c operator() takes no arguments
- * - @c constant_unary_fun's @c operator() takes one argument (ignored)
- * - @c constant_binary_fun's @c operator() takes two arguments (ignored)
- *
- * The helper creator functions @c constant0, @c constant1, and
- * @c constant2 each take a "result" argument and construct variables of
- * the appropriate functor type.
- *
- * @addtogroup SGIextensions
- * @{
- */
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Result>
- struct constant_void_fun
- : public _Constant_void_fun<_Result>
- {
- constant_void_fun(const _Result& __v)
- : _Constant_void_fun<_Result>(__v) {}
- };
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Result, class _Argument = _Result>
- struct constant_unary_fun : public _Constant_unary_fun<_Result, _Argument>
- {
- constant_unary_fun(const _Result& __v)
- : _Constant_unary_fun<_Result, _Argument>(__v) {}
- };
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Result, class _Arg1 = _Result, class _Arg2 = _Arg1>
- struct constant_binary_fun
- : public _Constant_binary_fun<_Result, _Arg1, _Arg2>
- {
- constant_binary_fun(const _Result& __v)
- : _Constant_binary_fun<_Result, _Arg1, _Arg2>(__v) {}
- };
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Result>
- inline constant_void_fun<_Result>
- constant0(const _Result& __val)
- { return constant_void_fun<_Result>(__val); }
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Result>
- inline constant_unary_fun<_Result, _Result>
- constant1(const _Result& __val)
- { return constant_unary_fun<_Result, _Result>(__val); }
-
- /// An \link SGIextensions SGI extension \endlink.
- template <class _Result>
- inline constant_binary_fun<_Result,_Result,_Result>
- constant2(const _Result& __val)
- { return constant_binary_fun<_Result, _Result, _Result>(__val); }
- /** @} */
-
- /** The @c subtractive_rng class is documented on
- * <a href="http://www.sgi.com/tech/stl/">SGI's site</a>.
- * Note that this code assumes that @c int is 32 bits.
- *
- * @ingroup SGIextensions
- */
- class subtractive_rng
- : public unary_function<unsigned int, unsigned int>
- {
- private:
- unsigned int _M_table[55];
- size_t _M_index1;
- size_t _M_index2;
-
- public:
- /// Returns a number less than the argument.
- unsigned int
- operator()(unsigned int __limit)
- {
- _M_index1 = (_M_index1 + 1) % 55;
- _M_index2 = (_M_index2 + 1) % 55;
- _M_table[_M_index1] = _M_table[_M_index1] - _M_table[_M_index2];
- return _M_table[_M_index1] % __limit;
- }
-
- void
- _M_initialize(unsigned int __seed)
- {
- unsigned int __k = 1;
- _M_table[54] = __seed;
- size_t __i;
- for (__i = 0; __i < 54; __i++)
- {
- size_t __ii = (21 * (__i + 1) % 55) - 1;
- _M_table[__ii] = __k;
- __k = __seed - __k;
- __seed = _M_table[__ii];
- }
- for (int __loop = 0; __loop < 4; __loop++)
- {
- for (__i = 0; __i < 55; __i++)
- _M_table[__i] = _M_table[__i] - _M_table[(1 + __i + 30) % 55];
- }
- _M_index1 = 0;
- _M_index2 = 31;
- }
-
- /// Ctor allowing you to initialize the seed.
- subtractive_rng(unsigned int __seed)
- { _M_initialize(__seed); }
-
- /// Default ctor; initializes its state with some number you don't see.
- subtractive_rng()
- { _M_initialize(161803398u); }
- };
-
- // Mem_fun adaptor helper functions mem_fun1 and mem_fun1_ref,
- // provided for backward compatibility, they are no longer part of
- // the C++ standard.
-
- template <class _Ret, class _Tp, class _Arg>
- inline mem_fun1_t<_Ret, _Tp, _Arg>
- mem_fun1(_Ret (_Tp::*__f)(_Arg))
- { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
-
- template <class _Ret, class _Tp, class _Arg>
- inline const_mem_fun1_t<_Ret, _Tp, _Arg>
- mem_fun1(_Ret (_Tp::*__f)(_Arg) const)
- { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
-
- template <class _Ret, class _Tp, class _Arg>
- inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
- mem_fun1_ref(_Ret (_Tp::*__f)(_Arg))
- { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-
- template <class _Ret, class _Tp, class _Arg>
- inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
- mem_fun1_ref(_Ret (_Tp::*__f)(_Arg) const)
- { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/hash_fun.h b/contrib/libstdc++/include/ext/hash_fun.h
deleted file mode 100644
index 16c045807547..000000000000
--- a/contrib/libstdc++/include/ext/hash_fun.h
+++ /dev/null
@@ -1,172 +0,0 @@
-// 'struct hash' from SGI -*- C++ -*-
-
-// 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.
-
-/*
- * Copyright (c) 1996-1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file ext/hash_fun.h
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _HASH_FUN_H
-#define _HASH_FUN_H 1
-
-#include <cstddef>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
-
- template<class _Key>
- struct hash { };
-
- inline size_t
- __stl_hash_string(const char* __s)
- {
- unsigned long __h = 0;
- for ( ; *__s; ++__s)
- __h = 5 * __h + *__s;
- return size_t(__h);
- }
-
- template<>
- struct hash<char*>
- {
- size_t
- operator()(const char* __s) const
- { return __stl_hash_string(__s); }
- };
-
- template<>
- struct hash<const char*>
- {
- size_t
- operator()(const char* __s) const
- { return __stl_hash_string(__s); }
- };
-
- template<>
- struct hash<char>
- {
- size_t
- operator()(char __x) const
- { return __x; }
- };
-
- template<>
- struct hash<unsigned char>
- {
- size_t
- operator()(unsigned char __x) const
- { return __x; }
- };
-
- template<>
- struct hash<signed char>
- {
- size_t
- operator()(unsigned char __x) const
- { return __x; }
- };
-
- template<>
- struct hash<short>
- {
- size_t
- operator()(short __x) const
- { return __x; }
- };
-
- template<>
- struct hash<unsigned short>
- {
- size_t
- operator()(unsigned short __x) const
- { return __x; }
- };
-
- template<>
- struct hash<int>
- {
- size_t
- operator()(int __x) const
- { return __x; }
- };
-
- template<>
- struct hash<unsigned int>
- {
- size_t
- operator()(unsigned int __x) const
- { return __x; }
- };
-
- template<>
- struct hash<long>
- {
- size_t
- operator()(long __x) const
- { return __x; }
- };
-
- template<>
- struct hash<unsigned long>
- {
- size_t
- operator()(unsigned long __x) const
- { return __x; }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/hash_map b/contrib/libstdc++/include/ext/hash_map
deleted file mode 100644
index b6855ebb3beb..000000000000
--- a/contrib/libstdc++/include/ext/hash_map
+++ /dev/null
@@ -1,605 +0,0 @@
-// Hashing map implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file ext/hash_map
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _HASH_MAP
-#define _HASH_MAP 1
-
-#include <bits/c++config.h>
-#include <ext/hashtable.h>
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT)
-
- using std::equal_to;
- using std::allocator;
- using std::pair;
- using std::_Select1st;
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<class _Key, class _Tp, class _HashFn = hash<_Key>,
- class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp> >
- class hash_map
- {
- private:
- typedef hashtable<pair<const _Key, _Tp>,_Key, _HashFn,
- _Select1st<pair<const _Key, _Tp> >,
- _EqualKey, _Alloc> _Ht;
-
- _Ht _M_ht;
-
- public:
- typedef typename _Ht::key_type key_type;
- typedef _Tp data_type;
- typedef _Tp mapped_type;
- typedef typename _Ht::value_type value_type;
- typedef typename _Ht::hasher hasher;
- typedef typename _Ht::key_equal key_equal;
-
- typedef typename _Ht::size_type size_type;
- typedef typename _Ht::difference_type difference_type;
- typedef typename _Ht::pointer pointer;
- typedef typename _Ht::const_pointer const_pointer;
- typedef typename _Ht::reference reference;
- typedef typename _Ht::const_reference const_reference;
-
- typedef typename _Ht::iterator iterator;
- typedef typename _Ht::const_iterator const_iterator;
-
- typedef typename _Ht::allocator_type allocator_type;
-
- hasher
- hash_funct() const
- { return _M_ht.hash_funct(); }
-
- key_equal
- key_eq() const
- { return _M_ht.key_eq(); }
-
- allocator_type
- get_allocator() const
- { return _M_ht.get_allocator(); }
-
- public:
- hash_map()
- : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
-
- explicit
- hash_map(size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type()) {}
-
- hash_map(size_type __n, const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type()) {}
-
- hash_map(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a) {}
-
- template<class _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l)
- : _M_ht(100, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_unique(__f, __l); }
-
- template<class _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l, size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_unique(__f, __l); }
-
- template<class _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type())
- { _M_ht.insert_unique(__f, __l); }
-
- template<class _InputIterator>
- hash_map(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a)
- { _M_ht.insert_unique(__f, __l); }
-
- public:
- size_type
- size() const
- { return _M_ht.size(); }
-
- size_type
- max_size() const
- { return _M_ht.max_size(); }
-
- bool
- empty() const
- { return _M_ht.empty(); }
-
- void
- swap(hash_map& __hs)
- { _M_ht.swap(__hs._M_ht); }
-
- template<class _K1, class _T1, class _HF, class _EqK, class _Al>
- friend bool
- operator== (const hash_map<_K1, _T1, _HF, _EqK, _Al>&,
- const hash_map<_K1, _T1, _HF, _EqK, _Al>&);
-
- iterator
- begin()
- { return _M_ht.begin(); }
-
- iterator
- end()
- { return _M_ht.end(); }
-
- const_iterator
- begin() const
- { return _M_ht.begin(); }
-
- const_iterator
- end() const
- { return _M_ht.end(); }
-
- public:
- pair<iterator, bool>
- insert(const value_type& __obj)
- { return _M_ht.insert_unique(__obj); }
-
- template<class _InputIterator>
- void
- insert(_InputIterator __f, _InputIterator __l)
- { _M_ht.insert_unique(__f, __l); }
-
- pair<iterator, bool>
- insert_noresize(const value_type& __obj)
- { return _M_ht.insert_unique_noresize(__obj); }
-
- iterator
- find(const key_type& __key)
- { return _M_ht.find(__key); }
-
- const_iterator
- find(const key_type& __key) const
- { return _M_ht.find(__key); }
-
- _Tp&
- operator[](const key_type& __key)
- { return _M_ht.find_or_insert(value_type(__key, _Tp())).second; }
-
- size_type
- count(const key_type& __key) const
- { return _M_ht.count(__key); }
-
- pair<iterator, iterator>
- equal_range(const key_type& __key)
- { return _M_ht.equal_range(__key); }
-
- pair<const_iterator, const_iterator>
- equal_range(const key_type& __key) const
- { return _M_ht.equal_range(__key); }
-
- size_type
- erase(const key_type& __key)
- {return _M_ht.erase(__key); }
-
- void
- erase(iterator __it)
- { _M_ht.erase(__it); }
-
- void
- erase(iterator __f, iterator __l)
- { _M_ht.erase(__f, __l); }
-
- void
- clear()
- { _M_ht.clear(); }
-
- void
- resize(size_type __hint)
- { _M_ht.resize(__hint); }
-
- size_type
- bucket_count() const
- { return _M_ht.bucket_count(); }
-
- size_type
- max_bucket_count() const
- { return _M_ht.max_bucket_count(); }
-
- size_type
- elems_in_bucket(size_type __n) const
- { return _M_ht.elems_in_bucket(__n); }
- };
-
- template<class _Key, class _Tp, class _HashFn, class _EqlKey, class _Alloc>
- inline bool
- operator==(const hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm1,
- const hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm2)
- { return __hm1._M_ht == __hm2._M_ht; }
-
- template<class _Key, class _Tp, class _HashFn, class _EqlKey, class _Alloc>
- inline bool
- operator!=(const hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm1,
- const hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm2)
- { return !(__hm1 == __hm2); }
-
- template<class _Key, class _Tp, class _HashFn, class _EqlKey, class _Alloc>
- inline void
- swap(hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm1,
- hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm2)
- { __hm1.swap(__hm2); }
-
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<class _Key, class _Tp,
- class _HashFn = hash<_Key>,
- class _EqualKey = equal_to<_Key>,
- class _Alloc = allocator<_Tp> >
- class hash_multimap
- {
- // concept requirements
- __glibcxx_class_requires(_Key, _SGIAssignableConcept)
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
- __glibcxx_class_requires3(_HashFn, size_t, _Key, _UnaryFunctionConcept)
- __glibcxx_class_requires3(_EqualKey, _Key, _Key, _BinaryPredicateConcept)
-
- private:
- typedef hashtable<pair<const _Key, _Tp>, _Key, _HashFn,
- _Select1st<pair<const _Key, _Tp> >, _EqualKey, _Alloc>
- _Ht;
-
- _Ht _M_ht;
-
- public:
- typedef typename _Ht::key_type key_type;
- typedef _Tp data_type;
- typedef _Tp mapped_type;
- typedef typename _Ht::value_type value_type;
- typedef typename _Ht::hasher hasher;
- typedef typename _Ht::key_equal key_equal;
-
- typedef typename _Ht::size_type size_type;
- typedef typename _Ht::difference_type difference_type;
- typedef typename _Ht::pointer pointer;
- typedef typename _Ht::const_pointer const_pointer;
- typedef typename _Ht::reference reference;
- typedef typename _Ht::const_reference const_reference;
-
- typedef typename _Ht::iterator iterator;
- typedef typename _Ht::const_iterator const_iterator;
-
- typedef typename _Ht::allocator_type allocator_type;
-
- hasher
- hash_funct() const
- { return _M_ht.hash_funct(); }
-
- key_equal
- key_eq() const
- { return _M_ht.key_eq(); }
-
- allocator_type
- get_allocator() const
- { return _M_ht.get_allocator(); }
-
- public:
- hash_multimap()
- : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
-
- explicit
- hash_multimap(size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type()) {}
-
- hash_multimap(size_type __n, const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type()) {}
-
- hash_multimap(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a) {}
-
- template<class _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l)
- : _M_ht(100, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_equal(__f, __l); }
-
- template<class _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_equal(__f, __l); }
-
- template<class _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type())
- { _M_ht.insert_equal(__f, __l); }
-
- template<class _InputIterator>
- hash_multimap(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a)
- { _M_ht.insert_equal(__f, __l); }
-
- public:
- size_type
- size() const
- { return _M_ht.size(); }
-
- size_type
- max_size() const
- { return _M_ht.max_size(); }
-
- bool
- empty() const
- { return _M_ht.empty(); }
-
- void
- swap(hash_multimap& __hs)
- { _M_ht.swap(__hs._M_ht); }
-
- template<class _K1, class _T1, class _HF, class _EqK, class _Al>
- friend bool
- operator==(const hash_multimap<_K1, _T1, _HF, _EqK, _Al>&,
- const hash_multimap<_K1, _T1, _HF, _EqK, _Al>&);
-
- iterator
- begin()
- { return _M_ht.begin(); }
-
- iterator
- end()
- { return _M_ht.end(); }
-
- const_iterator
- begin() const
- { return _M_ht.begin(); }
-
- const_iterator
- end() const
- { return _M_ht.end(); }
-
- public:
- iterator
- insert(const value_type& __obj)
- { return _M_ht.insert_equal(__obj); }
-
- template<class _InputIterator>
- void
- insert(_InputIterator __f, _InputIterator __l)
- { _M_ht.insert_equal(__f,__l); }
-
- iterator
- insert_noresize(const value_type& __obj)
- { return _M_ht.insert_equal_noresize(__obj); }
-
- iterator
- find(const key_type& __key)
- { return _M_ht.find(__key); }
-
- const_iterator
- find(const key_type& __key) const
- { return _M_ht.find(__key); }
-
- size_type
- count(const key_type& __key) const
- { return _M_ht.count(__key); }
-
- pair<iterator, iterator>
- equal_range(const key_type& __key)
- { return _M_ht.equal_range(__key); }
-
- pair<const_iterator, const_iterator>
- equal_range(const key_type& __key) const
- { return _M_ht.equal_range(__key); }
-
- size_type
- erase(const key_type& __key)
- { return _M_ht.erase(__key); }
-
- void
- erase(iterator __it)
- { _M_ht.erase(__it); }
-
- void
- erase(iterator __f, iterator __l)
- { _M_ht.erase(__f, __l); }
-
- void
- clear()
- { _M_ht.clear(); }
-
- public:
- void
- resize(size_type __hint)
- { _M_ht.resize(__hint); }
-
- size_type
- bucket_count() const
- { return _M_ht.bucket_count(); }
-
- size_type
- max_bucket_count() const
- { return _M_ht.max_bucket_count(); }
-
- size_type
- elems_in_bucket(size_type __n) const
- { return _M_ht.elems_in_bucket(__n); }
- };
-
- template<class _Key, class _Tp, class _HF, class _EqKey, class _Alloc>
- inline bool
- operator==(const hash_multimap<_Key, _Tp, _HF, _EqKey, _Alloc>& __hm1,
- const hash_multimap<_Key, _Tp, _HF, _EqKey, _Alloc>& __hm2)
- { return __hm1._M_ht == __hm2._M_ht; }
-
- template<class _Key, class _Tp, class _HF, class _EqKey, class _Alloc>
- inline bool
- operator!=(const hash_multimap<_Key, _Tp, _HF, _EqKey, _Alloc>& __hm1,
- const hash_multimap<_Key, _Tp, _HF, _EqKey, _Alloc>& __hm2)
- { return !(__hm1 == __hm2); }
-
- template<class _Key, class _Tp, class _HashFn, class _EqlKey, class _Alloc>
- inline void
- swap(hash_multimap<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm1,
- hash_multimap<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm2)
- { __hm1.swap(__hm2); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/hash_map>
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specialization of insert_iterator so that it will work for hash_map
- // and hash_multimap.
- template<class _Key, class _Tp, class _HashFn, class _EqKey, class _Alloc>
- class insert_iterator<__gnu_cxx::hash_map<_Key, _Tp, _HashFn,
- _EqKey, _Alloc> >
- {
- protected:
- typedef __gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc>
- _Container;
- _Container* container;
-
- public:
- typedef _Container container_type;
- typedef output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
-
- insert_iterator(_Container& __x)
- : container(&__x) {}
-
- insert_iterator(_Container& __x, typename _Container::iterator)
- : container(&__x) {}
-
- insert_iterator<_Container>&
- operator=(const typename _Container::value_type& __value)
- {
- container->insert(__value);
- return *this;
- }
-
- insert_iterator<_Container>&
- operator*()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++() { return *this; }
-
- insert_iterator<_Container>&
- operator++(int)
- { return *this; }
- };
-
- template<class _Key, class _Tp, class _HashFn, class _EqKey, class _Alloc>
- class insert_iterator<__gnu_cxx::hash_multimap<_Key, _Tp, _HashFn,
- _EqKey, _Alloc> >
- {
- protected:
- typedef __gnu_cxx::hash_multimap<_Key, _Tp, _HashFn, _EqKey, _Alloc>
- _Container;
- _Container* container;
- typename _Container::iterator iter;
-
- public:
- typedef _Container container_type;
- typedef output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
-
- insert_iterator(_Container& __x)
- : container(&__x) {}
-
- insert_iterator(_Container& __x, typename _Container::iterator)
- : container(&__x) {}
-
- insert_iterator<_Container>&
- operator=(const typename _Container::value_type& __value)
- {
- container->insert(__value);
- return *this;
- }
-
- insert_iterator<_Container>&
- operator*()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++(int)
- { return *this; }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/hash_set b/contrib/libstdc++/include/ext/hash_set
deleted file mode 100644
index 668fe13bd2a4..000000000000
--- a/contrib/libstdc++/include/ext/hash_set
+++ /dev/null
@@ -1,574 +0,0 @@
-// Hashing set implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file ext/hash_set
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _HASH_SET
-#define _HASH_SET 1
-
-#include <bits/c++config.h>
-#include <ext/hashtable.h>
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT)
-
- using std::equal_to;
- using std::allocator;
- using std::pair;
- using std::_Identity;
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<class _Value, class _HashFcn = hash<_Value>,
- class _EqualKey = equal_to<_Value>,
- class _Alloc = allocator<_Value> >
- class hash_set
- {
- // concept requirements
- __glibcxx_class_requires(_Value, _SGIAssignableConcept)
- __glibcxx_class_requires3(_HashFcn, size_t, _Value, _UnaryFunctionConcept)
- __glibcxx_class_requires3(_EqualKey, _Value, _Value, _BinaryPredicateConcept)
-
- private:
- typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>,
- _EqualKey, _Alloc> _Ht;
- _Ht _M_ht;
-
- public:
- typedef typename _Ht::key_type key_type;
- typedef typename _Ht::value_type value_type;
- typedef typename _Ht::hasher hasher;
- typedef typename _Ht::key_equal key_equal;
-
- typedef typename _Ht::size_type size_type;
- typedef typename _Ht::difference_type difference_type;
- typedef typename _Alloc::pointer pointer;
- typedef typename _Alloc::const_pointer const_pointer;
- typedef typename _Alloc::reference reference;
- typedef typename _Alloc::const_reference const_reference;
-
- typedef typename _Ht::const_iterator iterator;
- typedef typename _Ht::const_iterator const_iterator;
-
- typedef typename _Ht::allocator_type allocator_type;
-
- hasher
- hash_funct() const
- { return _M_ht.hash_funct(); }
-
- key_equal
- key_eq() const
- { return _M_ht.key_eq(); }
-
- allocator_type
- get_allocator() const
- { return _M_ht.get_allocator(); }
-
- public:
- hash_set()
- : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
-
- explicit
- hash_set(size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type()) {}
-
- hash_set(size_type __n, const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type()) {}
-
- hash_set(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a) {}
-
- template<class _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l)
- : _M_ht(100, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_unique(__f, __l); }
-
- template<class _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l, size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_unique(__f, __l); }
-
- template<class _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type())
- { _M_ht.insert_unique(__f, __l); }
-
- template<class _InputIterator>
- hash_set(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a)
- { _M_ht.insert_unique(__f, __l); }
-
- public:
- size_type
- size() const
- { return _M_ht.size(); }
-
- size_type
- max_size() const
- { return _M_ht.max_size(); }
-
- bool
- empty() const
- { return _M_ht.empty(); }
-
- void
- swap(hash_set& __hs)
- { _M_ht.swap(__hs._M_ht); }
-
- template<class _Val, class _HF, class _EqK, class _Al>
- friend bool
- operator==(const hash_set<_Val, _HF, _EqK, _Al>&,
- const hash_set<_Val, _HF, _EqK, _Al>&);
-
- iterator
- begin() const
- { return _M_ht.begin(); }
-
- iterator
- end() const
- { return _M_ht.end(); }
-
- public:
- pair<iterator, bool>
- insert(const value_type& __obj)
- {
- pair<typename _Ht::iterator, bool> __p = _M_ht.insert_unique(__obj);
- return pair<iterator,bool>(__p.first, __p.second);
- }
-
- template<class _InputIterator>
- void
- insert(_InputIterator __f, _InputIterator __l)
- { _M_ht.insert_unique(__f, __l); }
-
- pair<iterator, bool>
- insert_noresize(const value_type& __obj)
- {
- pair<typename _Ht::iterator, bool> __p
- = _M_ht.insert_unique_noresize(__obj);
- return pair<iterator, bool>(__p.first, __p.second);
- }
-
- iterator
- find(const key_type& __key) const
- { return _M_ht.find(__key); }
-
- size_type
- count(const key_type& __key) const
- { return _M_ht.count(__key); }
-
- pair<iterator, iterator>
- equal_range(const key_type& __key) const
- { return _M_ht.equal_range(__key); }
-
- size_type
- erase(const key_type& __key)
- {return _M_ht.erase(__key); }
-
- void
- erase(iterator __it)
- { _M_ht.erase(__it); }
-
- void
- erase(iterator __f, iterator __l)
- { _M_ht.erase(__f, __l); }
-
- void
- clear()
- { _M_ht.clear(); }
-
- public:
- void
- resize(size_type __hint)
- { _M_ht.resize(__hint); }
-
- size_type
- bucket_count() const
- { return _M_ht.bucket_count(); }
-
- size_type
- max_bucket_count() const
- { return _M_ht.max_bucket_count(); }
-
- size_type
- elems_in_bucket(size_type __n) const
- { return _M_ht.elems_in_bucket(__n); }
- };
-
- template<class _Value, class _HashFcn, class _EqualKey, class _Alloc>
- inline bool
- operator==(const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __hs1,
- const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __hs2)
- { return __hs1._M_ht == __hs2._M_ht; }
-
- template<class _Value, class _HashFcn, class _EqualKey, class _Alloc>
- inline bool
- operator!=(const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __hs1,
- const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __hs2)
- { return !(__hs1 == __hs2); }
-
- template<class _Val, class _HashFcn, class _EqualKey, class _Alloc>
- inline void
- swap(hash_set<_Val, _HashFcn, _EqualKey, _Alloc>& __hs1,
- hash_set<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2)
- { __hs1.swap(__hs2); }
-
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<class _Value,
- class _HashFcn = hash<_Value>,
- class _EqualKey = equal_to<_Value>,
- class _Alloc = allocator<_Value> >
- class hash_multiset
- {
- // concept requirements
- __glibcxx_class_requires(_Value, _SGIAssignableConcept)
- __glibcxx_class_requires3(_HashFcn, size_t, _Value, _UnaryFunctionConcept)
- __glibcxx_class_requires3(_EqualKey, _Value, _Value, _BinaryPredicateConcept)
-
- private:
- typedef hashtable<_Value, _Value, _HashFcn, _Identity<_Value>,
- _EqualKey, _Alloc> _Ht;
- _Ht _M_ht;
-
- public:
- typedef typename _Ht::key_type key_type;
- typedef typename _Ht::value_type value_type;
- typedef typename _Ht::hasher hasher;
- typedef typename _Ht::key_equal key_equal;
-
- typedef typename _Ht::size_type size_type;
- typedef typename _Ht::difference_type difference_type;
- typedef typename _Alloc::pointer pointer;
- typedef typename _Alloc::const_pointer const_pointer;
- typedef typename _Alloc::reference reference;
- typedef typename _Alloc::const_reference const_reference;
-
- typedef typename _Ht::const_iterator iterator;
- typedef typename _Ht::const_iterator const_iterator;
-
- typedef typename _Ht::allocator_type allocator_type;
-
- hasher
- hash_funct() const
- { return _M_ht.hash_funct(); }
-
- key_equal
- key_eq() const
- { return _M_ht.key_eq(); }
-
- allocator_type
- get_allocator() const
- { return _M_ht.get_allocator(); }
-
- public:
- hash_multiset()
- : _M_ht(100, hasher(), key_equal(), allocator_type()) {}
-
- explicit
- hash_multiset(size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type()) {}
-
- hash_multiset(size_type __n, const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type()) {}
-
- hash_multiset(size_type __n, const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a) {}
-
- template<class _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l)
- : _M_ht(100, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_equal(__f, __l); }
-
- template<class _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n)
- : _M_ht(__n, hasher(), key_equal(), allocator_type())
- { _M_ht.insert_equal(__f, __l); }
-
- template<class _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf)
- : _M_ht(__n, __hf, key_equal(), allocator_type())
- { _M_ht.insert_equal(__f, __l); }
-
- template<class _InputIterator>
- hash_multiset(_InputIterator __f, _InputIterator __l, size_type __n,
- const hasher& __hf, const key_equal& __eql,
- const allocator_type& __a = allocator_type())
- : _M_ht(__n, __hf, __eql, __a)
- { _M_ht.insert_equal(__f, __l); }
-
- public:
- size_type
- size() const
- { return _M_ht.size(); }
-
- size_type
- max_size() const
- { return _M_ht.max_size(); }
-
- bool
- empty() const
- { return _M_ht.empty(); }
-
- void
- swap(hash_multiset& hs)
- { _M_ht.swap(hs._M_ht); }
-
- template<class _Val, class _HF, class _EqK, class _Al>
- friend bool
- operator==(const hash_multiset<_Val, _HF, _EqK, _Al>&,
- const hash_multiset<_Val, _HF, _EqK, _Al>&);
-
- iterator
- begin() const
- { return _M_ht.begin(); }
-
- iterator
- end() const
- { return _M_ht.end(); }
-
- public:
- iterator
- insert(const value_type& __obj)
- { return _M_ht.insert_equal(__obj); }
-
- template<class _InputIterator>
- void
- insert(_InputIterator __f, _InputIterator __l)
- { _M_ht.insert_equal(__f,__l); }
-
- iterator
- insert_noresize(const value_type& __obj)
- { return _M_ht.insert_equal_noresize(__obj); }
-
- iterator
- find(const key_type& __key) const
- { return _M_ht.find(__key); }
-
- size_type
- count(const key_type& __key) const
- { return _M_ht.count(__key); }
-
- pair<iterator, iterator>
- equal_range(const key_type& __key) const
- { return _M_ht.equal_range(__key); }
-
- size_type
- erase(const key_type& __key)
- { return _M_ht.erase(__key); }
-
- void
- erase(iterator __it)
- { _M_ht.erase(__it); }
-
- void
- erase(iterator __f, iterator __l)
- { _M_ht.erase(__f, __l); }
-
- void
- clear()
- { _M_ht.clear(); }
-
- public:
- void
- resize(size_type __hint)
- { _M_ht.resize(__hint); }
-
- size_type
- bucket_count() const
- { return _M_ht.bucket_count(); }
-
- size_type
- max_bucket_count() const
- { return _M_ht.max_bucket_count(); }
-
- size_type
- elems_in_bucket(size_type __n) const
- { return _M_ht.elems_in_bucket(__n); }
- };
-
- template<class _Val, class _HashFcn, class _EqualKey, class _Alloc>
- inline bool
- operator==(const hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs1,
- const hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2)
- { return __hs1._M_ht == __hs2._M_ht; }
-
- template<class _Val, class _HashFcn, class _EqualKey, class _Alloc>
- inline bool
- operator!=(const hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs1,
- const hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2)
- { return !(__hs1 == __hs2); }
-
- template<class _Val, class _HashFcn, class _EqualKey, class _Alloc>
- inline void
- swap(hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs1,
- hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2)
- { __hs1.swap(__hs2); }
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/hash_set>
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specialization of insert_iterator so that it will work for hash_set
- // and hash_multiset.
- template<class _Value, class _HashFcn, class _EqualKey, class _Alloc>
- class insert_iterator<__gnu_cxx::hash_set<_Value, _HashFcn,
- _EqualKey, _Alloc> >
- {
- protected:
- typedef __gnu_cxx::hash_set<_Value, _HashFcn, _EqualKey, _Alloc>
- _Container;
- _Container* container;
-
- public:
- typedef _Container container_type;
- typedef output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
-
- insert_iterator(_Container& __x)
- : container(&__x) {}
-
- insert_iterator(_Container& __x, typename _Container::iterator)
- : container(&__x) {}
-
- insert_iterator<_Container>&
- operator=(const typename _Container::value_type& __value)
- {
- container->insert(__value);
- return *this;
- }
-
- insert_iterator<_Container>&
- operator*()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++(int)
- { return *this; }
- };
-
- template<class _Value, class _HashFcn, class _EqualKey, class _Alloc>
- class insert_iterator<__gnu_cxx::hash_multiset<_Value, _HashFcn,
- _EqualKey, _Alloc> >
- {
- protected:
- typedef __gnu_cxx::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc>
- _Container;
- _Container* container;
- typename _Container::iterator iter;
-
- public:
- typedef _Container container_type;
- typedef output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
-
- insert_iterator(_Container& __x)
- : container(&__x) {}
-
- insert_iterator(_Container& __x, typename _Container::iterator)
- : container(&__x) {}
-
- insert_iterator<_Container>&
- operator=(const typename _Container::value_type& __value)
- {
- container->insert(__value);
- return *this;
- }
-
- insert_iterator<_Container>&
- operator*()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++(int) { return *this; }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/hashtable.h b/contrib/libstdc++/include/ext/hashtable.h
deleted file mode 100644
index b3f98df2e77b..000000000000
--- a/contrib/libstdc++/include/ext/hashtable.h
+++ /dev/null
@@ -1,1135 +0,0 @@
-// Hashtable implementation used by containers -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file ext/hashtable.h
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _HASHTABLE_H
-#define _HASHTABLE_H 1
-
-// Hashtable class, used to implement the hashed associative containers
-// hash_set, hash_map, hash_multiset, and hash_multimap.
-
-#include <vector>
-#include <iterator>
-#include <bits/stl_algo.h>
-#include <bits/stl_function.h>
-#include <ext/hash_fun.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
- using std::forward_iterator_tag;
- using std::input_iterator_tag;
- using std::_Construct;
- using std::_Destroy;
- using std::distance;
- using std::vector;
- using std::pair;
- using std::__iterator_category;
-
- template<class _Val>
- struct _Hashtable_node
- {
- _Hashtable_node* _M_next;
- _Val _M_val;
- };
-
- template<class _Val, class _Key, class _HashFcn, class _ExtractKey,
- class _EqualKey, class _Alloc = std::allocator<_Val> >
- class hashtable;
-
- template<class _Val, class _Key, class _HashFcn,
- class _ExtractKey, class _EqualKey, class _Alloc>
- struct _Hashtable_iterator;
-
- template<class _Val, class _Key, class _HashFcn,
- class _ExtractKey, class _EqualKey, class _Alloc>
- struct _Hashtable_const_iterator;
-
- template<class _Val, class _Key, class _HashFcn,
- class _ExtractKey, class _EqualKey, class _Alloc>
- struct _Hashtable_iterator
- {
- typedef hashtable<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc>
- _Hashtable;
- typedef _Hashtable_iterator<_Val, _Key, _HashFcn,
- _ExtractKey, _EqualKey, _Alloc>
- iterator;
- typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn,
- _ExtractKey, _EqualKey, _Alloc>
- const_iterator;
- typedef _Hashtable_node<_Val> _Node;
- typedef forward_iterator_tag iterator_category;
- typedef _Val value_type;
- typedef ptrdiff_t difference_type;
- typedef size_t size_type;
- typedef _Val& reference;
- typedef _Val* pointer;
-
- _Node* _M_cur;
- _Hashtable* _M_ht;
-
- _Hashtable_iterator(_Node* __n, _Hashtable* __tab)
- : _M_cur(__n), _M_ht(__tab) { }
-
- _Hashtable_iterator() { }
-
- reference
- operator*() const
- { return _M_cur->_M_val; }
-
- pointer
- operator->() const
- { return &(operator*()); }
-
- iterator&
- operator++();
-
- iterator
- operator++(int);
-
- bool
- operator==(const iterator& __it) const
- { return _M_cur == __it._M_cur; }
-
- bool
- operator!=(const iterator& __it) const
- { return _M_cur != __it._M_cur; }
- };
-
- template<class _Val, class _Key, class _HashFcn,
- class _ExtractKey, class _EqualKey, class _Alloc>
- struct _Hashtable_const_iterator
- {
- typedef hashtable<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc>
- _Hashtable;
- typedef _Hashtable_iterator<_Val,_Key,_HashFcn,
- _ExtractKey,_EqualKey,_Alloc>
- iterator;
- typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn,
- _ExtractKey, _EqualKey, _Alloc>
- const_iterator;
- typedef _Hashtable_node<_Val> _Node;
-
- typedef forward_iterator_tag iterator_category;
- typedef _Val value_type;
- typedef ptrdiff_t difference_type;
- typedef size_t size_type;
- typedef const _Val& reference;
- typedef const _Val* pointer;
-
- const _Node* _M_cur;
- const _Hashtable* _M_ht;
-
- _Hashtable_const_iterator(const _Node* __n, const _Hashtable* __tab)
- : _M_cur(__n), _M_ht(__tab) { }
-
- _Hashtable_const_iterator() { }
-
- _Hashtable_const_iterator(const iterator& __it)
- : _M_cur(__it._M_cur), _M_ht(__it._M_ht) { }
-
- reference
- operator*() const
- { return _M_cur->_M_val; }
-
- pointer
- operator->() const
- { return &(operator*()); }
-
- const_iterator&
- operator++();
-
- const_iterator
- operator++(int);
-
- bool
- operator==(const const_iterator& __it) const
- { return _M_cur == __it._M_cur; }
-
- bool
- operator!=(const const_iterator& __it) const
- { return _M_cur != __it._M_cur; }
- };
-
- // Note: assumes long is at least 32 bits.
- enum { _S_num_primes = 29 };
-
- static const unsigned long __stl_prime_list[_S_num_primes] =
- {
- 5ul, // 5ul mini size is a Google addition
- 53ul, 97ul, 193ul, 389ul, 769ul,
- 1543ul, 3079ul, 6151ul, 12289ul, 24593ul,
- 49157ul, 98317ul, 196613ul, 393241ul, 786433ul,
- 1572869ul, 3145739ul, 6291469ul, 12582917ul, 25165843ul,
- 50331653ul, 100663319ul, 201326611ul, 402653189ul, 805306457ul,
- 1610612741ul, 3221225473ul, 4294967291ul
- };
-
- inline unsigned long
- __stl_next_prime(unsigned long __n)
- {
- const unsigned long* __first = __stl_prime_list;
- const unsigned long* __last = __stl_prime_list + (int)_S_num_primes;
- const unsigned long* pos = std::lower_bound(__first, __last, __n);
- return pos == __last ? *(__last - 1) : *pos;
- }
-
- // Forward declaration of operator==.
- template<class _Val, class _Key, class _HF, class _Ex,
- class _Eq, class _All>
- class hashtable;
-
- template<class _Val, class _Key, class _HF, class _Ex,
- class _Eq, class _All>
- bool
- operator==(const hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>& __ht1,
- const hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>& __ht2);
-
- // Hashtables handle allocators a bit differently than other
- // containers do. If we're using standard-conforming allocators, then
- // a hashtable unconditionally has a member variable to hold its
- // allocator, even if it so happens that all instances of the
- // allocator type are identical. This is because, for hashtables,
- // this extra storage is negligible. Additionally, a base class
- // wouldn't serve any other purposes; it wouldn't, for example,
- // simplify the exception-handling code.
- template<class _Val, class _Key, class _HashFcn,
- class _ExtractKey, class _EqualKey, class _Alloc>
- class hashtable
- {
- public:
- typedef _Key key_type;
- typedef _Val value_type;
- typedef _HashFcn hasher;
- typedef _EqualKey key_equal;
-
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef value_type* pointer;
- typedef const value_type* const_pointer;
- typedef value_type& reference;
- typedef const value_type& const_reference;
-
- hasher
- hash_funct() const
- { return _M_hash; }
-
- key_equal
- key_eq() const
- { return _M_equals; }
-
- private:
- typedef _Hashtable_node<_Val> _Node;
-
- public:
- typedef typename _Alloc::template rebind<value_type>::other allocator_type;
- allocator_type
- get_allocator() const
- { return _M_node_allocator; }
-
- private:
- typedef typename _Alloc::template rebind<_Node>::other _Node_Alloc;
- typedef typename _Alloc::template rebind<_Node*>::other _Nodeptr_Alloc;
- typedef vector<_Node*, _Nodeptr_Alloc> _Vector_type;
-
- _Node_Alloc _M_node_allocator;
-
- _Node*
- _M_get_node()
- { return _M_node_allocator.allocate(1); }
-
- void
- _M_put_node(_Node* __p)
- { _M_node_allocator.deallocate(__p, 1); }
-
- private:
- hasher _M_hash;
- key_equal _M_equals;
- _ExtractKey _M_get_key;
- _Vector_type _M_buckets;
- size_type _M_num_elements;
-
- public:
- typedef _Hashtable_iterator<_Val, _Key, _HashFcn, _ExtractKey,
- _EqualKey, _Alloc>
- iterator;
- typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn, _ExtractKey,
- _EqualKey, _Alloc>
- const_iterator;
-
- friend struct
- _Hashtable_iterator<_Val, _Key, _HashFcn, _ExtractKey, _EqualKey, _Alloc>;
-
- friend struct
- _Hashtable_const_iterator<_Val, _Key, _HashFcn, _ExtractKey,
- _EqualKey, _Alloc>;
-
- public:
- hashtable(size_type __n, const _HashFcn& __hf,
- const _EqualKey& __eql, const _ExtractKey& __ext,
- const allocator_type& __a = allocator_type())
- : _M_node_allocator(__a), _M_hash(__hf), _M_equals(__eql),
- _M_get_key(__ext), _M_buckets(__a), _M_num_elements(0)
- { _M_initialize_buckets(__n); }
-
- hashtable(size_type __n, const _HashFcn& __hf,
- const _EqualKey& __eql,
- const allocator_type& __a = allocator_type())
- : _M_node_allocator(__a), _M_hash(__hf), _M_equals(__eql),
- _M_get_key(_ExtractKey()), _M_buckets(__a), _M_num_elements(0)
- { _M_initialize_buckets(__n); }
-
- hashtable(const hashtable& __ht)
- : _M_node_allocator(__ht.get_allocator()), _M_hash(__ht._M_hash),
- _M_equals(__ht._M_equals), _M_get_key(__ht._M_get_key),
- _M_buckets(__ht.get_allocator()), _M_num_elements(0)
- { _M_copy_from(__ht); }
-
- hashtable&
- operator= (const hashtable& __ht)
- {
- if (&__ht != this)
- {
- clear();
- _M_hash = __ht._M_hash;
- _M_equals = __ht._M_equals;
- _M_get_key = __ht._M_get_key;
- _M_copy_from(__ht);
- }
- return *this;
- }
-
- ~hashtable()
- { clear(); }
-
- size_type
- size() const
- { return _M_num_elements; }
-
- size_type
- max_size() const
- { return size_type(-1); }
-
- bool
- empty() const
- { return size() == 0; }
-
- void
- swap(hashtable& __ht)
- {
- std::swap(_M_hash, __ht._M_hash);
- std::swap(_M_equals, __ht._M_equals);
- std::swap(_M_get_key, __ht._M_get_key);
- _M_buckets.swap(__ht._M_buckets);
- std::swap(_M_num_elements, __ht._M_num_elements);
- }
-
- iterator
- begin()
- {
- for (size_type __n = 0; __n < _M_buckets.size(); ++__n)
- if (_M_buckets[__n])
- return iterator(_M_buckets[__n], this);
- return end();
- }
-
- iterator
- end()
- { return iterator(0, this); }
-
- const_iterator
- begin() const
- {
- for (size_type __n = 0; __n < _M_buckets.size(); ++__n)
- if (_M_buckets[__n])
- return const_iterator(_M_buckets[__n], this);
- return end();
- }
-
- const_iterator
- end() const
- { return const_iterator(0, this); }
-
- template<class _Vl, class _Ky, class _HF, class _Ex, class _Eq,
- class _Al>
- friend bool
- operator==(const hashtable<_Vl, _Ky, _HF, _Ex, _Eq, _Al>&,
- const hashtable<_Vl, _Ky, _HF, _Ex, _Eq, _Al>&);
-
- public:
- size_type
- bucket_count() const
- { return _M_buckets.size(); }
-
- size_type
- max_bucket_count() const
- { return __stl_prime_list[(int)_S_num_primes - 1]; }
-
- size_type
- elems_in_bucket(size_type __bucket) const
- {
- size_type __result = 0;
- for (_Node* __n = _M_buckets[__bucket]; __n; __n = __n->_M_next)
- __result += 1;
- return __result;
- }
-
- pair<iterator, bool>
- insert_unique(const value_type& __obj)
- {
- resize(_M_num_elements + 1);
- return insert_unique_noresize(__obj);
- }
-
- iterator
- insert_equal(const value_type& __obj)
- {
- resize(_M_num_elements + 1);
- return insert_equal_noresize(__obj);
- }
-
- pair<iterator, bool>
- insert_unique_noresize(const value_type& __obj);
-
- iterator
- insert_equal_noresize(const value_type& __obj);
-
- template<class _InputIterator>
- void
- insert_unique(_InputIterator __f, _InputIterator __l)
- { insert_unique(__f, __l, __iterator_category(__f)); }
-
- template<class _InputIterator>
- void
- insert_equal(_InputIterator __f, _InputIterator __l)
- { insert_equal(__f, __l, __iterator_category(__f)); }
-
- template<class _InputIterator>
- void
- insert_unique(_InputIterator __f, _InputIterator __l,
- input_iterator_tag)
- {
- for ( ; __f != __l; ++__f)
- insert_unique(*__f);
- }
-
- template<class _InputIterator>
- void
- insert_equal(_InputIterator __f, _InputIterator __l,
- input_iterator_tag)
- {
- for ( ; __f != __l; ++__f)
- insert_equal(*__f);
- }
-
- template<class _ForwardIterator>
- void
- insert_unique(_ForwardIterator __f, _ForwardIterator __l,
- forward_iterator_tag)
- {
- size_type __n = distance(__f, __l);
- resize(_M_num_elements + __n);
- for ( ; __n > 0; --__n, ++__f)
- insert_unique_noresize(*__f);
- }
-
- template<class _ForwardIterator>
- void
- insert_equal(_ForwardIterator __f, _ForwardIterator __l,
- forward_iterator_tag)
- {
- size_type __n = distance(__f, __l);
- resize(_M_num_elements + __n);
- for ( ; __n > 0; --__n, ++__f)
- insert_equal_noresize(*__f);
- }
-
- reference
- find_or_insert(const value_type& __obj);
-
- iterator
- find(const key_type& __key)
- {
- size_type __n = _M_bkt_num_key(__key);
- _Node* __first;
- for (__first = _M_buckets[__n];
- __first && !_M_equals(_M_get_key(__first->_M_val), __key);
- __first = __first->_M_next)
- { }
- return iterator(__first, this);
- }
-
- const_iterator
- find(const key_type& __key) const
- {
- size_type __n = _M_bkt_num_key(__key);
- const _Node* __first;
- for (__first = _M_buckets[__n];
- __first && !_M_equals(_M_get_key(__first->_M_val), __key);
- __first = __first->_M_next)
- { }
- return const_iterator(__first, this);
- }
-
- size_type
- count(const key_type& __key) const
- {
- const size_type __n = _M_bkt_num_key(__key);
- size_type __result = 0;
-
- for (const _Node* __cur = _M_buckets[__n]; __cur;
- __cur = __cur->_M_next)
- if (_M_equals(_M_get_key(__cur->_M_val), __key))
- ++__result;
- return __result;
- }
-
- pair<iterator, iterator>
- equal_range(const key_type& __key);
-
- pair<const_iterator, const_iterator>
- equal_range(const key_type& __key) const;
-
- size_type
- erase(const key_type& __key);
-
- void
- erase(const iterator& __it);
-
- void
- erase(iterator __first, iterator __last);
-
- void
- erase(const const_iterator& __it);
-
- void
- erase(const_iterator __first, const_iterator __last);
-
- void
- resize(size_type __num_elements_hint);
-
- void
- clear();
-
- private:
- size_type
- _M_next_size(size_type __n) const
- { return __stl_next_prime(__n); }
-
- void
- _M_initialize_buckets(size_type __n)
- {
- const size_type __n_buckets = _M_next_size(__n);
- _M_buckets.reserve(__n_buckets);
- _M_buckets.insert(_M_buckets.end(), __n_buckets, (_Node*) 0);
- _M_num_elements = 0;
- }
-
- size_type
- _M_bkt_num_key(const key_type& __key) const
- { return _M_bkt_num_key(__key, _M_buckets.size()); }
-
- size_type
- _M_bkt_num(const value_type& __obj) const
- { return _M_bkt_num_key(_M_get_key(__obj)); }
-
- size_type
- _M_bkt_num_key(const key_type& __key, size_t __n) const
- { return _M_hash(__key) % __n; }
-
- size_type
- _M_bkt_num(const value_type& __obj, size_t __n) const
- { return _M_bkt_num_key(_M_get_key(__obj), __n); }
-
- _Node*
- _M_new_node(const value_type& __obj)
- {
- _Node* __n = _M_get_node();
- __n->_M_next = 0;
- try
- {
- this->get_allocator().construct(&__n->_M_val, __obj);
- return __n;
- }
- catch(...)
- {
- _M_put_node(__n);
- __throw_exception_again;
- }
- }
-
- void
- _M_delete_node(_Node* __n)
- {
- this->get_allocator().destroy(&__n->_M_val);
- _M_put_node(__n);
- }
-
- void
- _M_erase_bucket(const size_type __n, _Node* __first, _Node* __last);
-
- void
- _M_erase_bucket(const size_type __n, _Node* __last);
-
- void
- _M_copy_from(const hashtable& __ht);
- };
-
- template<class _Val, class _Key, class _HF, class _ExK, class _EqK,
- class _All>
- _Hashtable_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>&
- _Hashtable_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>::
- operator++()
- {
- const _Node* __old = _M_cur;
- _M_cur = _M_cur->_M_next;
- if (!_M_cur)
- {
- size_type __bucket = _M_ht->_M_bkt_num(__old->_M_val);
- while (!_M_cur && ++__bucket < _M_ht->_M_buckets.size())
- _M_cur = _M_ht->_M_buckets[__bucket];
- }
- return *this;
- }
-
- template<class _Val, class _Key, class _HF, class _ExK, class _EqK,
- class _All>
- inline _Hashtable_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>
- _Hashtable_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>::
- operator++(int)
- {
- iterator __tmp = *this;
- ++*this;
- return __tmp;
- }
-
- template<class _Val, class _Key, class _HF, class _ExK, class _EqK,
- class _All>
- _Hashtable_const_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>&
- _Hashtable_const_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>::
- operator++()
- {
- const _Node* __old = _M_cur;
- _M_cur = _M_cur->_M_next;
- if (!_M_cur)
- {
- size_type __bucket = _M_ht->_M_bkt_num(__old->_M_val);
- while (!_M_cur && ++__bucket < _M_ht->_M_buckets.size())
- _M_cur = _M_ht->_M_buckets[__bucket];
- }
- return *this;
- }
-
- template<class _Val, class _Key, class _HF, class _ExK, class _EqK,
- class _All>
- inline _Hashtable_const_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>
- _Hashtable_const_iterator<_Val, _Key, _HF, _ExK, _EqK, _All>::
- operator++(int)
- {
- const_iterator __tmp = *this;
- ++*this;
- return __tmp;
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- bool
- operator==(const hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>& __ht1,
- const hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>& __ht2)
- {
- typedef typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::_Node _Node;
-
- if (__ht1._M_buckets.size() != __ht2._M_buckets.size())
- return false;
-
- for (size_t __n = 0; __n < __ht1._M_buckets.size(); ++__n)
- {
- _Node* __cur1 = __ht1._M_buckets[__n];
- _Node* __cur2 = __ht2._M_buckets[__n];
- // Check same length of lists
- for (; __cur1 && __cur2;
- __cur1 = __cur1->_M_next, __cur2 = __cur2->_M_next)
- { }
- if (__cur1 || __cur2)
- return false;
- // Now check one's elements are in the other
- for (__cur1 = __ht1._M_buckets[__n] ; __cur1;
- __cur1 = __cur1->_M_next)
- {
- bool _found__cur1 = false;
- for (__cur2 = __ht2._M_buckets[__n];
- __cur2; __cur2 = __cur2->_M_next)
- {
- if (__cur1->_M_val == __cur2->_M_val)
- {
- _found__cur1 = true;
- break;
- }
- }
- if (!_found__cur1)
- return false;
- }
- }
- return true;
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- inline bool
- operator!=(const hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>& __ht1,
- const hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>& __ht2)
- { return !(__ht1 == __ht2); }
-
- template<class _Val, class _Key, class _HF, class _Extract, class _EqKey,
- class _All>
- inline void
- swap(hashtable<_Val, _Key, _HF, _Extract, _EqKey, _All>& __ht1,
- hashtable<_Val, _Key, _HF, _Extract, _EqKey, _All>& __ht2)
- { __ht1.swap(__ht2); }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- pair<typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::iterator, bool>
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- insert_unique_noresize(const value_type& __obj)
- {
- const size_type __n = _M_bkt_num(__obj);
- _Node* __first = _M_buckets[__n];
-
- for (_Node* __cur = __first; __cur; __cur = __cur->_M_next)
- if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj)))
- return pair<iterator, bool>(iterator(__cur, this), false);
-
- _Node* __tmp = _M_new_node(__obj);
- __tmp->_M_next = __first;
- _M_buckets[__n] = __tmp;
- ++_M_num_elements;
- return pair<iterator, bool>(iterator(__tmp, this), true);
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::iterator
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- insert_equal_noresize(const value_type& __obj)
- {
- const size_type __n = _M_bkt_num(__obj);
- _Node* __first = _M_buckets[__n];
-
- for (_Node* __cur = __first; __cur; __cur = __cur->_M_next)
- if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj)))
- {
- _Node* __tmp = _M_new_node(__obj);
- __tmp->_M_next = __cur->_M_next;
- __cur->_M_next = __tmp;
- ++_M_num_elements;
- return iterator(__tmp, this);
- }
-
- _Node* __tmp = _M_new_node(__obj);
- __tmp->_M_next = __first;
- _M_buckets[__n] = __tmp;
- ++_M_num_elements;
- return iterator(__tmp, this);
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::reference
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- find_or_insert(const value_type& __obj)
- {
- resize(_M_num_elements + 1);
-
- size_type __n = _M_bkt_num(__obj);
- _Node* __first = _M_buckets[__n];
-
- for (_Node* __cur = __first; __cur; __cur = __cur->_M_next)
- if (_M_equals(_M_get_key(__cur->_M_val), _M_get_key(__obj)))
- return __cur->_M_val;
-
- _Node* __tmp = _M_new_node(__obj);
- __tmp->_M_next = __first;
- _M_buckets[__n] = __tmp;
- ++_M_num_elements;
- return __tmp->_M_val;
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- pair<typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::iterator,
- typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::iterator>
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- equal_range(const key_type& __key)
- {
- typedef pair<iterator, iterator> _Pii;
- const size_type __n = _M_bkt_num_key(__key);
-
- for (_Node* __first = _M_buckets[__n]; __first;
- __first = __first->_M_next)
- if (_M_equals(_M_get_key(__first->_M_val), __key))
- {
- for (_Node* __cur = __first->_M_next; __cur;
- __cur = __cur->_M_next)
- if (!_M_equals(_M_get_key(__cur->_M_val), __key))
- return _Pii(iterator(__first, this), iterator(__cur, this));
- for (size_type __m = __n + 1; __m < _M_buckets.size(); ++__m)
- if (_M_buckets[__m])
- return _Pii(iterator(__first, this),
- iterator(_M_buckets[__m], this));
- return _Pii(iterator(__first, this), end());
- }
- return _Pii(end(), end());
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- pair<typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::const_iterator,
- typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::const_iterator>
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- equal_range(const key_type& __key) const
- {
- typedef pair<const_iterator, const_iterator> _Pii;
- const size_type __n = _M_bkt_num_key(__key);
-
- for (const _Node* __first = _M_buckets[__n]; __first;
- __first = __first->_M_next)
- {
- if (_M_equals(_M_get_key(__first->_M_val), __key))
- {
- for (const _Node* __cur = __first->_M_next; __cur;
- __cur = __cur->_M_next)
- if (!_M_equals(_M_get_key(__cur->_M_val), __key))
- return _Pii(const_iterator(__first, this),
- const_iterator(__cur, this));
- for (size_type __m = __n + 1; __m < _M_buckets.size(); ++__m)
- if (_M_buckets[__m])
- return _Pii(const_iterator(__first, this),
- const_iterator(_M_buckets[__m], this));
- return _Pii(const_iterator(__first, this), end());
- }
- }
- return _Pii(end(), end());
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::size_type
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- erase(const key_type& __key)
- {
- const size_type __n = _M_bkt_num_key(__key);
- _Node* __first = _M_buckets[__n];
- size_type __erased = 0;
-
- if (__first)
- {
- _Node* __cur = __first;
- _Node* __next = __cur->_M_next;
- while (__next)
- {
- if (_M_equals(_M_get_key(__next->_M_val), __key))
- {
- __cur->_M_next = __next->_M_next;
- _M_delete_node(__next);
- __next = __cur->_M_next;
- ++__erased;
- --_M_num_elements;
- }
- else
- {
- __cur = __next;
- __next = __cur->_M_next;
- }
- }
- if (_M_equals(_M_get_key(__first->_M_val), __key))
- {
- _M_buckets[__n] = __first->_M_next;
- _M_delete_node(__first);
- ++__erased;
- --_M_num_elements;
- }
- }
- return __erased;
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- void hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- erase(const iterator& __it)
- {
- _Node* __p = __it._M_cur;
- if (__p)
- {
- const size_type __n = _M_bkt_num(__p->_M_val);
- _Node* __cur = _M_buckets[__n];
-
- if (__cur == __p)
- {
- _M_buckets[__n] = __cur->_M_next;
- _M_delete_node(__cur);
- --_M_num_elements;
- }
- else
- {
- _Node* __next = __cur->_M_next;
- while (__next)
- {
- if (__next == __p)
- {
- __cur->_M_next = __next->_M_next;
- _M_delete_node(__next);
- --_M_num_elements;
- break;
- }
- else
- {
- __cur = __next;
- __next = __cur->_M_next;
- }
- }
- }
- }
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- erase(iterator __first, iterator __last)
- {
- size_type __f_bucket = __first._M_cur ? _M_bkt_num(__first._M_cur->_M_val)
- : _M_buckets.size();
-
- size_type __l_bucket = __last._M_cur ? _M_bkt_num(__last._M_cur->_M_val)
- : _M_buckets.size();
-
- if (__first._M_cur == __last._M_cur)
- return;
- else if (__f_bucket == __l_bucket)
- _M_erase_bucket(__f_bucket, __first._M_cur, __last._M_cur);
- else
- {
- _M_erase_bucket(__f_bucket, __first._M_cur, 0);
- for (size_type __n = __f_bucket + 1; __n < __l_bucket; ++__n)
- _M_erase_bucket(__n, 0);
- if (__l_bucket != _M_buckets.size())
- _M_erase_bucket(__l_bucket, __last._M_cur);
- }
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- inline void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- erase(const_iterator __first, const_iterator __last)
- {
- erase(iterator(const_cast<_Node*>(__first._M_cur),
- const_cast<hashtable*>(__first._M_ht)),
- iterator(const_cast<_Node*>(__last._M_cur),
- const_cast<hashtable*>(__last._M_ht)));
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- inline void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- erase(const const_iterator& __it)
- { erase(iterator(const_cast<_Node*>(__it._M_cur),
- const_cast<hashtable*>(__it._M_ht))); }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- resize(size_type __num_elements_hint)
- {
- const size_type __old_n = _M_buckets.size();
- if (__num_elements_hint > __old_n)
- {
- const size_type __n = _M_next_size(__num_elements_hint);
- if (__n > __old_n)
- {
- _Vector_type __tmp(__n, (_Node*)(0), _M_buckets.get_allocator());
- try
- {
- for (size_type __bucket = 0; __bucket < __old_n; ++__bucket)
- {
- _Node* __first = _M_buckets[__bucket];
- while (__first)
- {
- size_type __new_bucket = _M_bkt_num(__first->_M_val,
- __n);
- _M_buckets[__bucket] = __first->_M_next;
- __first->_M_next = __tmp[__new_bucket];
- __tmp[__new_bucket] = __first;
- __first = _M_buckets[__bucket];
- }
- }
- _M_buckets.swap(__tmp);
- }
- catch(...)
- {
- for (size_type __bucket = 0; __bucket < __tmp.size();
- ++__bucket)
- {
- while (__tmp[__bucket])
- {
- _Node* __next = __tmp[__bucket]->_M_next;
- _M_delete_node(__tmp[__bucket]);
- __tmp[__bucket] = __next;
- }
- }
- __throw_exception_again;
- }
- }
- }
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- _M_erase_bucket(const size_type __n, _Node* __first, _Node* __last)
- {
- _Node* __cur = _M_buckets[__n];
- if (__cur == __first)
- _M_erase_bucket(__n, __last);
- else
- {
- _Node* __next;
- for (__next = __cur->_M_next;
- __next != __first;
- __cur = __next, __next = __cur->_M_next)
- ;
- while (__next != __last)
- {
- __cur->_M_next = __next->_M_next;
- _M_delete_node(__next);
- __next = __cur->_M_next;
- --_M_num_elements;
- }
- }
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- _M_erase_bucket(const size_type __n, _Node* __last)
- {
- _Node* __cur = _M_buckets[__n];
- while (__cur != __last)
- {
- _Node* __next = __cur->_M_next;
- _M_delete_node(__cur);
- __cur = __next;
- _M_buckets[__n] = __cur;
- --_M_num_elements;
- }
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- clear()
- {
- // Google addition: do not iterate over buckets when empty
- if (_M_num_elements == 0)
- return;
-
- for (size_type __i = 0; __i < _M_buckets.size(); ++__i)
- {
- _Node* __cur = _M_buckets[__i];
- while (__cur != 0)
- {
- _Node* __next = __cur->_M_next;
- _M_delete_node(__cur);
- __cur = __next;
- }
- _M_buckets[__i] = 0;
- }
- _M_num_elements = 0;
- }
-
- template<class _Val, class _Key, class _HF, class _Ex, class _Eq, class _All>
- void
- hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::
- _M_copy_from(const hashtable& __ht)
- {
- _M_buckets.clear();
- _M_buckets.reserve(__ht._M_buckets.size());
- _M_buckets.insert(_M_buckets.end(), __ht._M_buckets.size(), (_Node*) 0);
- try
- {
- for (size_type __i = 0; __i < __ht._M_buckets.size(); ++__i) {
- const _Node* __cur = __ht._M_buckets[__i];
- if (__cur)
- {
- _Node* __local_copy = _M_new_node(__cur->_M_val);
- _M_buckets[__i] = __local_copy;
-
- for (_Node* __next = __cur->_M_next;
- __next;
- __cur = __next, __next = __cur->_M_next)
- {
- __local_copy->_M_next = _M_new_node(__next->_M_val);
- __local_copy = __local_copy->_M_next;
- }
- }
- }
- _M_num_elements = __ht._M_num_elements;
- }
- catch(...)
- {
- clear();
- __throw_exception_again;
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/iterator b/contrib/libstdc++/include/ext/iterator
deleted file mode 100644
index b59e5ca34490..000000000000
--- a/contrib/libstdc++/include/ext/iterator
+++ /dev/null
@@ -1,118 +0,0 @@
-// HP/SGI iterator extensions -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996-1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/iterator
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _EXT_ITERATOR
-#define _EXT_ITERATOR 1
-
-#pragma GCC system_header
-
-#include <bits/concept_check.h>
-#include <iterator>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // There are two signatures for distance. In addition to the one
- // taking two iterators and returning a result, there is another
- // taking two iterators and a reference-to-result variable, and
- // returning nothing. The latter seems to be an SGI extension.
- // -- pedwards
- template<typename _InputIterator, typename _Distance>
- inline void
- __distance(_InputIterator __first, _InputIterator __last,
- _Distance& __n, std::input_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
- while (__first != __last)
- {
- ++__first;
- ++__n;
- }
- }
-
- template<typename _RandomAccessIterator, typename _Distance>
- inline void
- __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
- _Distance& __n, std::random_access_iterator_tag)
- {
- // concept requirements
- __glibcxx_function_requires(_RandomAccessIteratorConcept<
- _RandomAccessIterator>)
- __n += __last - __first;
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _InputIterator, typename _Distance>
- inline void
- distance(_InputIterator __first, _InputIterator __last,
- _Distance& __n)
- {
- // concept requirements -- taken care of in __distance
- __distance(__first, __last, __n, std::__iterator_category(__first));
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/malloc_allocator.h b/contrib/libstdc++/include/ext/malloc_allocator.h
deleted file mode 100644
index 0f23e06c8e8a..000000000000
--- a/contrib/libstdc++/include/ext/malloc_allocator.h
+++ /dev/null
@@ -1,129 +0,0 @@
-// Allocator that wraps "C" malloc -*- C++ -*-
-
-// 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 ext/malloc_allocator.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _MALLOC_ALLOCATOR_H
-#define _MALLOC_ALLOCATOR_H 1
-
-#include <cstdlib>
-#include <new>
-#include <bits/functexcept.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
-
- /**
- * @brief An allocator that uses malloc.
- *
- * This is precisely the allocator defined in the C++ Standard.
- * - all allocation calls malloc
- * - all deallocation calls free
- */
- template<typename _Tp>
- class malloc_allocator
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
-
- template<typename _Tp1>
- struct rebind
- { typedef malloc_allocator<_Tp1> other; };
-
- malloc_allocator() throw() { }
-
- malloc_allocator(const malloc_allocator&) throw() { }
-
- template<typename _Tp1>
- malloc_allocator(const malloc_allocator<_Tp1>&) throw() { }
-
- ~malloc_allocator() throw() { }
-
- pointer
- address(reference __x) const { return &__x; }
-
- const_pointer
- address(const_reference __x) const { return &__x; }
-
- // NB: __n is permitted to be 0. The C++ standard says nothing
- // about what the return value is when __n == 0.
- pointer
- allocate(size_type __n, const void* = 0)
- {
- if (__builtin_expect(__n > this->max_size(), false))
- std::__throw_bad_alloc();
-
- pointer __ret = static_cast<_Tp*>(malloc(__n * sizeof(_Tp)));
- if (!__ret)
- std::__throw_bad_alloc();
- return __ret;
- }
-
- // __p is not permitted to be a null pointer.
- void
- deallocate(pointer __p, size_type)
- { free(static_cast<void*>(__p)); }
-
- size_type
- max_size() const throw()
- { return size_t(-1) / sizeof(_Tp); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 402. wrong new expression in [some_] allocator::construct
- void
- construct(pointer __p, const _Tp& __val)
- { ::new(__p) value_type(__val); }
-
- void
- destroy(pointer __p) { __p->~_Tp(); }
- };
-
- template<typename _Tp>
- inline bool
- operator==(const malloc_allocator<_Tp>&, const malloc_allocator<_Tp>&)
- { return true; }
-
- template<typename _Tp>
- inline bool
- operator!=(const malloc_allocator<_Tp>&, const malloc_allocator<_Tp>&)
- { return false; }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/memory b/contrib/libstdc++/include/ext/memory
deleted file mode 100644
index 0755d897507f..000000000000
--- a/contrib/libstdc++/include/ext/memory
+++ /dev/null
@@ -1,199 +0,0 @@
-// Memory extensions -*- C++ -*-
-
-// Copyright (C) 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/memory
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _EXT_MEMORY
-#define _EXT_MEMORY 1
-
-#pragma GCC system_header
-
-#include <memory>
-#include <bits/stl_tempbuf.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::ptrdiff_t;
- using std::pair;
- using std::__iterator_category;
- using std::_Temporary_buffer;
-
- template<typename _InputIter, typename _Size, typename _ForwardIter>
- pair<_InputIter, _ForwardIter>
- __uninitialized_copy_n(_InputIter __first, _Size __count,
- _ForwardIter __result, std::input_iterator_tag)
- {
- _ForwardIter __cur = __result;
- try
- {
- for (; __count > 0 ; --__count, ++__first, ++__cur)
- std::_Construct(&*__cur, *__first);
- return pair<_InputIter, _ForwardIter>(__first, __cur);
- }
- catch(...)
- {
- std::_Destroy(__result, __cur);
- __throw_exception_again;
- }
- }
-
- template<typename _RandomAccessIter, typename _Size, typename _ForwardIter>
- inline pair<_RandomAccessIter, _ForwardIter>
- __uninitialized_copy_n(_RandomAccessIter __first, _Size __count,
- _ForwardIter __result,
- std::random_access_iterator_tag)
- {
- _RandomAccessIter __last = __first + __count;
- return (pair<_RandomAccessIter, _ForwardIter>
- (__last, std::uninitialized_copy(__first, __last, __result)));
- }
-
- template<typename _InputIter, typename _Size, typename _ForwardIter>
- inline pair<_InputIter, _ForwardIter>
- __uninitialized_copy_n(_InputIter __first, _Size __count,
- _ForwardIter __result)
- { return __uninitialized_copy_n(__first, __count, __result,
- __iterator_category(__first)); }
-
- /**
- * @brief Copies the range [first,last) into result.
- * @param first An input iterator.
- * @param last An input iterator.
- * @param result An output iterator.
- * @return result + (first - last)
- * @ingroup SGIextensions
- *
- * Like copy(), but does not require an initialized output range.
- */
- template<typename _InputIter, typename _Size, typename _ForwardIter>
- inline pair<_InputIter, _ForwardIter>
- uninitialized_copy_n(_InputIter __first, _Size __count,
- _ForwardIter __result)
- { return __uninitialized_copy_n(__first, __count, __result,
- __iterator_category(__first)); }
-
-
- // An alternative version of uninitialized_copy_n that constructs
- // and destroys objects with a user-provided allocator.
- template<typename _InputIter, typename _Size, typename _ForwardIter,
- typename _Allocator>
- pair<_InputIter, _ForwardIter>
- __uninitialized_copy_n_a(_InputIter __first, _Size __count,
- _ForwardIter __result,
- _Allocator __alloc)
- {
- _ForwardIter __cur = __result;
- try
- {
- for (; __count > 0 ; --__count, ++__first, ++__cur)
- __alloc.construct(&*__cur, *__first);
- return pair<_InputIter, _ForwardIter>(__first, __cur);
- }
- catch(...)
- {
- std::_Destroy(__result, __cur, __alloc);
- __throw_exception_again;
- }
- }
-
- template<typename _InputIter, typename _Size, typename _ForwardIter,
- typename _Tp>
- inline pair<_InputIter, _ForwardIter>
- __uninitialized_copy_n_a(_InputIter __first, _Size __count,
- _ForwardIter __result,
- std::allocator<_Tp>)
- {
- return uninitialized_copy_n(__first, __count, __result);
- }
-
- /**
- * This class provides similar behavior and semantics of the standard
- * functions get_temporary_buffer() and return_temporary_buffer(), but
- * encapsulated in a type vaguely resembling a standard container.
- *
- * By default, a temporary_buffer<Iter> stores space for objects of
- * whatever type the Iter iterator points to. It is constructed from a
- * typical [first,last) range, and provides the begin(), end(), size()
- * functions, as well as requested_size(). For non-trivial types, copies
- * of *first will be used to initialize the storage.
- *
- * @c malloc is used to obtain underlying storage.
- *
- * Like get_temporary_buffer(), not all the requested memory may be
- * available. Ideally, the created buffer will be large enough to hold a
- * copy of [first,last), but if size() is less than requested_size(),
- * then this didn't happen.
- *
- * @ingroup SGIextensions
- */
- template <class _ForwardIterator, class _Tp
- = typename std::iterator_traits<_ForwardIterator>::value_type >
- struct temporary_buffer : public _Temporary_buffer<_ForwardIterator, _Tp>
- {
- /// Requests storage large enough to hold a copy of [first,last).
- temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
- : _Temporary_buffer<_ForwardIterator, _Tp>(__first, __last) { }
-
- /// Destroys objects and frees storage.
- ~temporary_buffer() { }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/mt_allocator.h b/contrib/libstdc++/include/ext/mt_allocator.h
deleted file mode 100644
index bfd9197e0dd9..000000000000
--- a/contrib/libstdc++/include/ext/mt_allocator.h
+++ /dev/null
@@ -1,746 +0,0 @@
-// MT-optimized allocator -*- C++ -*-
-
-// Copyright (C) 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 ext/mt_allocator.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _MT_ALLOCATOR_H
-#define _MT_ALLOCATOR_H 1
-
-#include <new>
-#include <cstdlib>
-#include <bits/functexcept.h>
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
-
- typedef void (*__destroy_handler)(void*);
-
- /// @brief Base class for pool object.
- struct __pool_base
- {
- // Using short int as type for the binmap implies we are never
- // caching blocks larger than 32768 with this allocator.
- typedef unsigned short int _Binmap_type;
-
- // Variables used to configure the behavior of the allocator,
- // assigned and explained in detail below.
- struct _Tune
- {
- // Compile time constants for the default _Tune values.
- enum { _S_align = 8 };
- enum { _S_max_bytes = 128 };
- enum { _S_min_bin = 8 };
- enum { _S_chunk_size = 4096 - 4 * sizeof(void*) };
- enum { _S_max_threads = 4096 };
- enum { _S_freelist_headroom = 10 };
-
- // Alignment needed.
- // NB: In any case must be >= sizeof(_Block_record), that
- // is 4 on 32 bit machines and 8 on 64 bit machines.
- size_t _M_align;
-
- // Allocation requests (after round-up to power of 2) below
- // this value will be handled by the allocator. A raw new/
- // call will be used for requests larger than this value.
- // NB: Must be much smaller than _M_chunk_size and in any
- // case <= 32768.
- size_t _M_max_bytes;
-
- // Size in bytes of the smallest bin.
- // NB: Must be a power of 2 and >= _M_align (and of course
- // much smaller than _M_max_bytes).
- size_t _M_min_bin;
-
- // In order to avoid fragmenting and minimize the number of
- // new() calls we always request new memory using this
- // value. Based on previous discussions on the libstdc++
- // mailing list we have choosen the value below.
- // See http://gcc.gnu.org/ml/libstdc++/2001-07/msg00077.html
- // NB: At least one order of magnitude > _M_max_bytes.
- size_t _M_chunk_size;
-
- // The maximum number of supported threads. For
- // single-threaded operation, use one. Maximum values will
- // vary depending on details of the underlying system. (For
- // instance, Linux 2.4.18 reports 4070 in
- // /proc/sys/kernel/threads-max, while Linux 2.6.6 reports
- // 65534)
- size_t _M_max_threads;
-
- // Each time a deallocation occurs in a threaded application
- // we make sure that there are no more than
- // _M_freelist_headroom % of used memory on the freelist. If
- // the number of additional records is more than
- // _M_freelist_headroom % of the freelist, we move these
- // records back to the global pool.
- size_t _M_freelist_headroom;
-
- // Set to true forces all allocations to use new().
- bool _M_force_new;
-
- explicit
- _Tune()
- : _M_align(_S_align), _M_max_bytes(_S_max_bytes), _M_min_bin(_S_min_bin),
- _M_chunk_size(_S_chunk_size), _M_max_threads(_S_max_threads),
- _M_freelist_headroom(_S_freelist_headroom),
- _M_force_new(std::getenv("GLIBCXX_FORCE_NEW") ? true : false)
- { }
-
- explicit
- _Tune(size_t __align, size_t __maxb, size_t __minbin, size_t __chunk,
- size_t __maxthreads, size_t __headroom, bool __force)
- : _M_align(__align), _M_max_bytes(__maxb), _M_min_bin(__minbin),
- _M_chunk_size(__chunk), _M_max_threads(__maxthreads),
- _M_freelist_headroom(__headroom), _M_force_new(__force)
- { }
- };
-
- struct _Block_address
- {
- void* _M_initial;
- _Block_address* _M_next;
- };
-
- const _Tune&
- _M_get_options() const
- { return _M_options; }
-
- void
- _M_set_options(_Tune __t)
- {
- if (!_M_init)
- _M_options = __t;
- }
-
- bool
- _M_check_threshold(size_t __bytes)
- { return __bytes > _M_options._M_max_bytes || _M_options._M_force_new; }
-
- size_t
- _M_get_binmap(size_t __bytes)
- { return _M_binmap[__bytes]; }
-
- const size_t
- _M_get_align()
- { return _M_options._M_align; }
-
- explicit
- __pool_base()
- : _M_options(_Tune()), _M_binmap(NULL), _M_init(false) { }
-
- explicit
- __pool_base(const _Tune& __options)
- : _M_options(__options), _M_binmap(NULL), _M_init(false) { }
-
- private:
- explicit
- __pool_base(const __pool_base&);
-
- __pool_base&
- operator=(const __pool_base&);
-
- protected:
- // Configuration options.
- _Tune _M_options;
-
- _Binmap_type* _M_binmap;
-
- // Configuration of the pool object via _M_options can happen
- // after construction but before initialization. After
- // initialization is complete, this variable is set to true.
- bool _M_init;
- };
-
-
- /**
- * @brief Data describing the underlying memory pool, parameterized on
- * threading support.
- */
- template<bool _Thread>
- class __pool;
-
- /// Specialization for single thread.
- template<>
- class __pool<false> : public __pool_base
- {
- public:
- union _Block_record
- {
- // Points to the block_record of the next free block.
- _Block_record* _M_next;
- };
-
- struct _Bin_record
- {
- // An "array" of pointers to the first free block.
- _Block_record** _M_first;
-
- // A list of the initial addresses of all allocated blocks.
- _Block_address* _M_address;
- };
-
- void
- _M_initialize_once()
- {
- if (__builtin_expect(_M_init == false, false))
- _M_initialize();
- }
-
- void
- _M_destroy() throw();
-
- char*
- _M_reserve_block(size_t __bytes, const size_t __thread_id);
-
- void
- _M_reclaim_block(char* __p, size_t __bytes);
-
- size_t
- _M_get_thread_id() { return 0; }
-
- const _Bin_record&
- _M_get_bin(size_t __which)
- { return _M_bin[__which]; }
-
- void
- _M_adjust_freelist(const _Bin_record&, _Block_record*, size_t)
- { }
-
- explicit __pool()
- : _M_bin(NULL), _M_bin_size(1) { }
-
- explicit __pool(const __pool_base::_Tune& __tune)
- : __pool_base(__tune), _M_bin(NULL), _M_bin_size(1) { }
-
- private:
- // An "array" of bin_records each of which represents a specific
- // power of 2 size. Memory to this "array" is allocated in
- // _M_initialize().
- _Bin_record* _M_bin;
-
- // Actual value calculated in _M_initialize().
- size_t _M_bin_size;
-
- void
- _M_initialize();
- };
-
-#ifdef __GTHREADS
- /// Specialization for thread enabled, via gthreads.h.
- template<>
- class __pool<true> : public __pool_base
- {
- public:
- // Each requesting thread is assigned an id ranging from 1 to
- // _S_max_threads. Thread id 0 is used as a global memory pool.
- // In order to get constant performance on the thread assignment
- // routine, we keep a list of free ids. When a thread first
- // requests memory we remove the first record in this list and
- // stores the address in a __gthread_key. When initializing the
- // __gthread_key we specify a destructor. When this destructor
- // (i.e. the thread dies) is called, we return the thread id to
- // the front of this list.
- struct _Thread_record
- {
- // Points to next free thread id record. NULL if last record in list.
- _Thread_record* _M_next;
-
- // Thread id ranging from 1 to _S_max_threads.
- size_t _M_id;
- };
-
- union _Block_record
- {
- // Points to the block_record of the next free block.
- _Block_record* _M_next;
-
- // The thread id of the thread which has requested this block.
- size_t _M_thread_id;
- };
-
- struct _Bin_record
- {
- // An "array" of pointers to the first free block for each
- // thread id. Memory to this "array" is allocated in
- // _S_initialize() for _S_max_threads + global pool 0.
- _Block_record** _M_first;
-
- // A list of the initial addresses of all allocated blocks.
- _Block_address* _M_address;
-
- // An "array" of counters used to keep track of the amount of
- // blocks that are on the freelist/used for each thread id.
- // - Note that the second part of the allocated _M_used "array"
- // actually hosts (atomic) counters of reclaimed blocks: in
- // _M_reserve_block and in _M_reclaim_block those numbers are
- // subtracted from the first ones to obtain the actual size
- // of the "working set" of the given thread.
- // - Memory to these "arrays" is allocated in _S_initialize()
- // for _S_max_threads + global pool 0.
- size_t* _M_free;
- size_t* _M_used;
-
- // Each bin has its own mutex which is used to ensure data
- // integrity while changing "ownership" on a block. The mutex
- // is initialized in _S_initialize().
- __gthread_mutex_t* _M_mutex;
- };
-
- // XXX GLIBCXX_ABI Deprecated
- void
- _M_initialize(__destroy_handler);
-
- void
- _M_initialize_once()
- {
- if (__builtin_expect(_M_init == false, false))
- _M_initialize();
- }
-
- void
- _M_destroy() throw();
-
- char*
- _M_reserve_block(size_t __bytes, const size_t __thread_id);
-
- void
- _M_reclaim_block(char* __p, size_t __bytes);
-
- const _Bin_record&
- _M_get_bin(size_t __which)
- { return _M_bin[__which]; }
-
- void
- _M_adjust_freelist(const _Bin_record& __bin, _Block_record* __block_record,
- size_t __thread_id)
- {
- if (__gthread_active_p())
- {
- __block_record->_M_thread_id = __thread_id;
- --__bin._M_free[__thread_id];
- ++__bin._M_used[__thread_id];
- }
- }
-
- // XXX GLIBCXX_ABI Deprecated
- void
- _M_destroy_thread_key(void*);
-
- size_t
- _M_get_thread_id();
-
- explicit __pool()
- : _M_bin(NULL), _M_bin_size(1), _M_thread_freelist(NULL)
- { }
-
- explicit __pool(const __pool_base::_Tune& __tune)
- : __pool_base(__tune), _M_bin(NULL), _M_bin_size(1),
- _M_thread_freelist(NULL)
- { }
-
- private:
- // An "array" of bin_records each of which represents a specific
- // power of 2 size. Memory to this "array" is allocated in
- // _M_initialize().
- _Bin_record* _M_bin;
-
- // Actual value calculated in _M_initialize().
- size_t _M_bin_size;
-
- _Thread_record* _M_thread_freelist;
- void* _M_thread_freelist_initial;
-
- void
- _M_initialize();
- };
-#endif
-
- template<template <bool> class _PoolTp, bool _Thread>
- struct __common_pool
- {
- typedef _PoolTp<_Thread> pool_type;
-
- static pool_type&
- _S_get_pool()
- {
- static pool_type _S_pool;
- return _S_pool;
- }
- };
-
- template<template <bool> class _PoolTp, bool _Thread>
- struct __common_pool_base;
-
- template<template <bool> class _PoolTp>
- struct __common_pool_base<_PoolTp, false>
- : public __common_pool<_PoolTp, false>
- {
- using __common_pool<_PoolTp, false>::_S_get_pool;
-
- static void
- _S_initialize_once()
- {
- static bool __init;
- if (__builtin_expect(__init == false, false))
- {
- _S_get_pool()._M_initialize_once();
- __init = true;
- }
- }
- };
-
-#ifdef __GTHREADS
- template<template <bool> class _PoolTp>
- struct __common_pool_base<_PoolTp, true>
- : public __common_pool<_PoolTp, true>
- {
- using __common_pool<_PoolTp, true>::_S_get_pool;
-
- static void
- _S_initialize()
- { _S_get_pool()._M_initialize_once(); }
-
- static void
- _S_initialize_once()
- {
- static bool __init;
- if (__builtin_expect(__init == false, false))
- {
- if (__gthread_active_p())
- {
- // On some platforms, __gthread_once_t is an aggregate.
- static __gthread_once_t __once = __GTHREAD_ONCE_INIT;
- __gthread_once(&__once, _S_initialize);
- }
-
- // Double check initialization. May be necessary on some
- // systems for proper construction when not compiling with
- // thread flags.
- _S_get_pool()._M_initialize_once();
- __init = true;
- }
- }
- };
-#endif
-
- /// @brief Policy for shared __pool objects.
- template<template <bool> class _PoolTp, bool _Thread>
- struct __common_pool_policy : public __common_pool_base<_PoolTp, _Thread>
- {
- template<typename _Tp1, template <bool> class _PoolTp1 = _PoolTp,
- bool _Thread1 = _Thread>
- struct _M_rebind
- { typedef __common_pool_policy<_PoolTp1, _Thread1> other; };
-
- using __common_pool_base<_PoolTp, _Thread>::_S_get_pool;
- using __common_pool_base<_PoolTp, _Thread>::_S_initialize_once;
- };
-
-
- template<typename _Tp, template <bool> class _PoolTp, bool _Thread>
- struct __per_type_pool
- {
- typedef _Tp value_type;
- typedef _PoolTp<_Thread> pool_type;
-
- static pool_type&
- _S_get_pool()
- {
- // Sane defaults for the _PoolTp.
- typedef typename pool_type::_Block_record _Block_record;
- const static size_t __a = (__alignof__(_Tp) >= sizeof(_Block_record)
- ? __alignof__(_Tp) : sizeof(_Block_record));
-
- typedef typename __pool_base::_Tune _Tune;
- static _Tune _S_tune(__a, sizeof(_Tp) * 64,
- sizeof(_Tp) * 2 >= __a ? sizeof(_Tp) * 2 : __a,
- sizeof(_Tp) * size_t(_Tune::_S_chunk_size),
- _Tune::_S_max_threads,
- _Tune::_S_freelist_headroom,
- std::getenv("GLIBCXX_FORCE_NEW") ? true : false);
- static pool_type _S_pool(_S_tune);
- return _S_pool;
- }
- };
-
- template<typename _Tp, template <bool> class _PoolTp, bool _Thread>
- struct __per_type_pool_base;
-
- template<typename _Tp, template <bool> class _PoolTp>
- struct __per_type_pool_base<_Tp, _PoolTp, false>
- : public __per_type_pool<_Tp, _PoolTp, false>
- {
- using __per_type_pool<_Tp, _PoolTp, false>::_S_get_pool;
-
- static void
- _S_initialize_once()
- {
- static bool __init;
- if (__builtin_expect(__init == false, false))
- {
- _S_get_pool()._M_initialize_once();
- __init = true;
- }
- }
- };
-
- #ifdef __GTHREADS
- template<typename _Tp, template <bool> class _PoolTp>
- struct __per_type_pool_base<_Tp, _PoolTp, true>
- : public __per_type_pool<_Tp, _PoolTp, true>
- {
- using __per_type_pool<_Tp, _PoolTp, true>::_S_get_pool;
-
- static void
- _S_initialize()
- { _S_get_pool()._M_initialize_once(); }
-
- static void
- _S_initialize_once()
- {
- static bool __init;
- if (__builtin_expect(__init == false, false))
- {
- if (__gthread_active_p())
- {
- // On some platforms, __gthread_once_t is an aggregate.
- static __gthread_once_t __once = __GTHREAD_ONCE_INIT;
- __gthread_once(&__once, _S_initialize);
- }
-
- // Double check initialization. May be necessary on some
- // systems for proper construction when not compiling with
- // thread flags.
- _S_get_pool()._M_initialize_once();
- __init = true;
- }
- }
- };
-#endif
-
- /// @brief Policy for individual __pool objects.
- template<typename _Tp, template <bool> class _PoolTp, bool _Thread>
- struct __per_type_pool_policy
- : public __per_type_pool_base<_Tp, _PoolTp, _Thread>
- {
- template<typename _Tp1, template <bool> class _PoolTp1 = _PoolTp,
- bool _Thread1 = _Thread>
- struct _M_rebind
- { typedef __per_type_pool_policy<_Tp1, _PoolTp1, _Thread1> other; };
-
- using __per_type_pool_base<_Tp, _PoolTp, _Thread>::_S_get_pool;
- using __per_type_pool_base<_Tp, _PoolTp, _Thread>::_S_initialize_once;
- };
-
-
- /// @brief Base class for _Tp dependent member functions.
- template<typename _Tp>
- class __mt_alloc_base
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
-
- pointer
- address(reference __x) const
- { return &__x; }
-
- const_pointer
- address(const_reference __x) const
- { return &__x; }
-
- size_type
- max_size() const throw()
- { return size_t(-1) / sizeof(_Tp); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 402. wrong new expression in [some_] allocator::construct
- void
- construct(pointer __p, const _Tp& __val)
- { ::new(__p) _Tp(__val); }
-
- void
- destroy(pointer __p) { __p->~_Tp(); }
- };
-
-#ifdef __GTHREADS
-#define __thread_default true
-#else
-#define __thread_default false
-#endif
-
- /**
- * @brief This is a fixed size (power of 2) allocator which - when
- * compiled with thread support - will maintain one freelist per
- * size per thread plus a "global" one. Steps are taken to limit
- * the per thread freelist sizes (by returning excess back to
- * the "global" list).
- *
- * Further details:
- * http://gcc.gnu.org/onlinedocs/libstdc++/ext/mt_allocator.html
- */
- template<typename _Tp,
- typename _Poolp = __common_pool_policy<__pool, __thread_default> >
- class __mt_alloc : public __mt_alloc_base<_Tp>
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
- typedef _Poolp __policy_type;
- typedef typename _Poolp::pool_type __pool_type;
-
- template<typename _Tp1, typename _Poolp1 = _Poolp>
- struct rebind
- {
- typedef typename _Poolp1::template _M_rebind<_Tp1>::other pol_type;
- typedef __mt_alloc<_Tp1, pol_type> other;
- };
-
- __mt_alloc() throw() { }
-
- __mt_alloc(const __mt_alloc&) throw() { }
-
- template<typename _Tp1, typename _Poolp1>
- __mt_alloc(const __mt_alloc<_Tp1, _Poolp1>&) throw() { }
-
- ~__mt_alloc() throw() { }
-
- pointer
- allocate(size_type __n, const void* = 0);
-
- void
- deallocate(pointer __p, size_type __n);
-
- const __pool_base::_Tune
- _M_get_options()
- {
- // Return a copy, not a reference, for external consumption.
- return __policy_type::_S_get_pool()._M_get_options();
- }
-
- void
- _M_set_options(__pool_base::_Tune __t)
- { __policy_type::_S_get_pool()._M_set_options(__t); }
- };
-
- template<typename _Tp, typename _Poolp>
- typename __mt_alloc<_Tp, _Poolp>::pointer
- __mt_alloc<_Tp, _Poolp>::
- allocate(size_type __n, const void*)
- {
- if (__builtin_expect(__n > this->max_size(), false))
- std::__throw_bad_alloc();
-
- __policy_type::_S_initialize_once();
-
- // Requests larger than _M_max_bytes are handled by operator
- // new/delete directly.
- __pool_type& __pool = __policy_type::_S_get_pool();
- const size_t __bytes = __n * sizeof(_Tp);
- if (__pool._M_check_threshold(__bytes))
- {
- void* __ret = ::operator new(__bytes);
- return static_cast<_Tp*>(__ret);
- }
-
- // Round up to power of 2 and figure out which bin to use.
- const size_t __which = __pool._M_get_binmap(__bytes);
- const size_t __thread_id = __pool._M_get_thread_id();
-
- // Find out if we have blocks on our freelist. If so, go ahead
- // and use them directly without having to lock anything.
- char* __c;
- typedef typename __pool_type::_Bin_record _Bin_record;
- const _Bin_record& __bin = __pool._M_get_bin(__which);
- if (__bin._M_first[__thread_id])
- {
- // Already reserved.
- typedef typename __pool_type::_Block_record _Block_record;
- _Block_record* __block_record = __bin._M_first[__thread_id];
- __bin._M_first[__thread_id] = __block_record->_M_next;
-
- __pool._M_adjust_freelist(__bin, __block_record, __thread_id);
- __c = reinterpret_cast<char*>(__block_record) + __pool._M_get_align();
- }
- else
- {
- // Null, reserve.
- __c = __pool._M_reserve_block(__bytes, __thread_id);
- }
- return static_cast<_Tp*>(static_cast<void*>(__c));
- }
-
- template<typename _Tp, typename _Poolp>
- void
- __mt_alloc<_Tp, _Poolp>::
- deallocate(pointer __p, size_type __n)
- {
- if (__builtin_expect(__p != 0, true))
- {
- // Requests larger than _M_max_bytes are handled by
- // operators new/delete directly.
- __pool_type& __pool = __policy_type::_S_get_pool();
- const size_t __bytes = __n * sizeof(_Tp);
- if (__pool._M_check_threshold(__bytes))
- ::operator delete(__p);
- else
- __pool._M_reclaim_block(reinterpret_cast<char*>(__p), __bytes);
- }
- }
-
- template<typename _Tp, typename _Poolp>
- inline bool
- operator==(const __mt_alloc<_Tp, _Poolp>&, const __mt_alloc<_Tp, _Poolp>&)
- { return true; }
-
- template<typename _Tp, typename _Poolp>
- inline bool
- operator!=(const __mt_alloc<_Tp, _Poolp>&, const __mt_alloc<_Tp, _Poolp>&)
- { return false; }
-
-#undef __thread_default
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/new_allocator.h b/contrib/libstdc++/include/ext/new_allocator.h
deleted file mode 100644
index 938783c4b1e4..000000000000
--- a/contrib/libstdc++/include/ext/new_allocator.h
+++ /dev/null
@@ -1,125 +0,0 @@
-// Allocator that wraps operator new -*- C++ -*-
-
-// 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 ext/new_allocator.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _NEW_ALLOCATOR_H
-#define _NEW_ALLOCATOR_H 1
-
-#include <new>
-#include <bits/functexcept.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
-
- /**
- * @brief An allocator that uses global new, as per [20.4].
- *
- * This is precisely the allocator defined in the C++ Standard.
- * - all allocation calls operator new
- * - all deallocation calls operator delete
- */
- template<typename _Tp>
- class new_allocator
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
-
- template<typename _Tp1>
- struct rebind
- { typedef new_allocator<_Tp1> other; };
-
- new_allocator() throw() { }
-
- new_allocator(const new_allocator&) throw() { }
-
- template<typename _Tp1>
- new_allocator(const new_allocator<_Tp1>&) throw() { }
-
- ~new_allocator() throw() { }
-
- pointer
- address(reference __x) const { return &__x; }
-
- const_pointer
- address(const_reference __x) const { return &__x; }
-
- // NB: __n is permitted to be 0. The C++ standard says nothing
- // about what the return value is when __n == 0.
- pointer
- allocate(size_type __n, const void* = 0)
- {
- if (__builtin_expect(__n > this->max_size(), false))
- std::__throw_bad_alloc();
-
- return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
- }
-
- // __p is not permitted to be a null pointer.
- void
- deallocate(pointer __p, size_type)
- { ::operator delete(__p); }
-
- size_type
- max_size() const throw()
- { return size_t(-1) / sizeof(_Tp); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 402. wrong new expression in [some_] allocator::construct
- void
- construct(pointer __p, const _Tp& __val)
- { ::new(__p) _Tp(__val); }
-
- void
- destroy(pointer __p) { __p->~_Tp(); }
- };
-
- template<typename _Tp>
- inline bool
- operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
- { return true; }
-
- template<typename _Tp>
- inline bool
- operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
- { return false; }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/numeric b/contrib/libstdc++/include/ext/numeric
deleted file mode 100644
index 290d032836a7..000000000000
--- a/contrib/libstdc++/include/ext/numeric
+++ /dev/null
@@ -1,151 +0,0 @@
-// Numeric extensions -*- C++ -*-
-
-// Copyright (C) 2002, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/numeric
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _EXT_NUMERIC
-#define _EXT_NUMERIC 1
-
-#pragma GCC system_header
-
-#include <bits/concept_check.h>
-#include <numeric>
-
-#include <ext/functional> // For identity_element
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // Returns __x ** __n, where __n >= 0. _Note that "multiplication"
- // is required to be associative, but not necessarily commutative.
- template<typename _Tp, typename _Integer, typename _MonoidOperation>
- _Tp
- __power(_Tp __x, _Integer __n, _MonoidOperation __monoid_op)
- {
- if (__n == 0)
- return identity_element(__monoid_op);
- else
- {
- while ((__n & 1) == 0)
- {
- __n >>= 1;
- __x = __monoid_op(__x, __x);
- }
-
- _Tp __result = __x;
- __n >>= 1;
- while (__n != 0)
- {
- __x = __monoid_op(__x, __x);
- if ((__n & 1) != 0)
- __result = __monoid_op(__result, __x);
- __n >>= 1;
- }
- return __result;
- }
- }
-
- template<typename _Tp, typename _Integer>
- inline _Tp
- __power(_Tp __x, _Integer __n)
- { return __power(__x, __n, std::multiplies<_Tp>()); }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- // Alias for the internal name __power. Note that power is an extension,
- // not part of the C++ standard.
- template<typename _Tp, typename _Integer, typename _MonoidOperation>
- inline _Tp
- power(_Tp __x, _Integer __n, _MonoidOperation __monoid_op)
- { return __power(__x, __n, __monoid_op); }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template<typename _Tp, typename _Integer>
- inline _Tp
- power(_Tp __x, _Integer __n)
- { return __power(__x, __n); }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- // iota is not part of the C++ standard. It is an extension.
- template<typename _ForwardIter, typename _Tp>
- void
- iota(_ForwardIter __first, _ForwardIter __last, _Tp __value)
- {
- // concept requirements
- __glibcxx_function_requires(_Mutable_ForwardIteratorConcept<_ForwardIter>)
- __glibcxx_function_requires(_ConvertibleConcept<_Tp,
- typename std::iterator_traits<_ForwardIter>::value_type>)
-
- while (__first != __last)
- *__first++ = __value++;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/numeric_traits.h b/contrib/libstdc++/include/ext/numeric_traits.h
deleted file mode 100644
index cff5b7066d6f..000000000000
--- a/contrib/libstdc++/include/ext/numeric_traits.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// -*- 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 ext/numeric_traits.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _EXT_NUMERIC_TRAITS
-#define _EXT_NUMERIC_TRAITS 1
-
-#pragma GCC system_header
-
-#include <limits>
-#include <bits/cpp_type_traits.h>
-#include <ext/type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // Compile time constants for builtin types.
- // Sadly std::numeric_limits member functions cannot be used for this.
-#define __glibcxx_signed(_Tp) ((_Tp)(-1) < 0)
-#define __glibcxx_digits(_Tp) \
- (sizeof(_Tp) * __CHAR_BIT__ - __glibcxx_signed(_Tp))
-
-#define __glibcxx_min(_Tp) \
- (__glibcxx_signed(_Tp) ? (_Tp)1 << __glibcxx_digits(_Tp) : (_Tp)0)
-
-#define __glibcxx_max(_Tp) \
- (__glibcxx_signed(_Tp) ? \
- (((((_Tp)1 << (__glibcxx_digits(_Tp) - 1)) - 1) << 1) + 1) : ~(_Tp)0)
-
- template<typename _Value>
- struct __numeric_traits_integer
- {
- // Only integers for initialization of member constant.
- static const _Value __min = __glibcxx_min(_Value);
- static const _Value __max = __glibcxx_max(_Value);
- };
-
- template<typename _Value>
- const _Value __numeric_traits_integer<_Value>::__min;
-
- template<typename _Value>
- const _Value __numeric_traits_integer<_Value>::__max;
-
- template<typename _Value>
- struct __numeric_traits_floating
- {
- // Only floating point types. See N1822.
- static const int __max_digits10 =
- 2 + std::numeric_limits<_Value>::digits * 3010/10000;
- };
-
- template<typename _Value>
- const int __numeric_traits_floating<_Value>::__max_digits10;
-
- template<typename _Value>
- struct __numeric_traits
- : public __conditional_type<std::__is_integer<_Value>::__value,
- __numeric_traits_integer<_Value>,
- __numeric_traits_floating<_Value> >::__type
- { };
-
-_GLIBCXX_END_NAMESPACE
-
-#undef __glibcxx_signed
-#undef __glibcxx_min
-#undef __glibcxx_max
-#undef __glibcxx_digits
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/assoc_container.hpp b/contrib/libstdc++/include/ext/pb_ds/assoc_container.hpp
deleted file mode 100644
index 271cc7600f14..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/assoc_container.hpp
+++ /dev/null
@@ -1,689 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file assoc_container.hpp
- * Contains associative containers.
- */
-
-#ifndef PB_DS_ASSOC_CNTNR_HPP
-#define PB_DS_ASSOC_CNTNR_HPP
-
-#include <ext/typelist.h>
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/standard_policies.hpp>
-#include <ext/pb_ds/detail/container_base_dispatch.hpp>
-#include <ext/pb_ds/detail/basic_tree_policy/traits.hpp>
-
-namespace pb_ds
-{
-#define PB_DS_BASE_C_DEC \
- detail::container_base_dispatch<Key, Mapped, Tag, Policy_Tl, Allocator>::type
-
- // An abstract basic associative container.
- template<typename Key,
- typename Mapped,
- typename Tag,
- typename Policy_Tl,
- typename Allocator>
- class container_base : public PB_DS_BASE_C_DEC
- {
- private:
- typedef typename PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef Tag container_category;
- typedef Allocator allocator;
- typedef typename allocator::size_type size_type;
- typedef typename allocator::difference_type difference_type;
-
- // key_type
- typedef typename allocator::template rebind<Key>::other::value_type key_type;
- typedef typename allocator::template rebind<key_type>::other key_rebind;
- typedef typename key_rebind::reference key_reference;
- typedef typename key_rebind::const_reference const_key_reference;
- typedef typename key_rebind::pointer key_pointer;
- typedef typename key_rebind::const_pointer const_key_pointer;
-
- // mapped_type
- typedef Mapped mapped_type;
- typedef typename allocator::template rebind<mapped_type>::other mapped_rebind;
- typedef typename mapped_rebind::reference mapped_reference;
- typedef typename mapped_rebind::const_reference const_mapped_reference;
- typedef typename mapped_rebind::pointer mapped_pointer;
- typedef typename mapped_rebind::const_pointer const_mapped_pointer;
-
- // value_type
- typedef typename base_type::value_type value_type;
- typedef typename allocator::template rebind<value_type>::other value_rebind;
- typedef typename value_rebind::reference reference;
- typedef typename value_rebind::const_reference const_reference;
- typedef typename value_rebind::pointer pointer;
- typedef typename value_rebind::const_pointer const_pointer;
-
- // iterators
- typedef typename base_type::iterator iterator;
- typedef typename base_type::const_iterator const_iterator;
- typedef typename base_type::point_iterator point_iterator;
- typedef typename base_type::const_point_iterator const_point_iterator;
-
- virtual
- ~container_base() { }
-
- protected:
-#define PB_DS_CLASS_NAME container_base
-#include <ext/pb_ds/detail/constructors_destructor_fn_imps.hpp>
-#undef PB_DS_CLASS_NAME
- };
-
-#undef PB_DS_BASE_C_DEC
-
-
-#define PB_DS_BASE_C_DEC \
- container_base<Key, Mapped, Tag, typename __gnu_cxx::typelist::append< \
- typename __gnu_cxx::typelist::create4<Hash_Fn, Eq_Fn, Resize_Policy, detail::integral_constant<int, Store_Hash> >::type, Policy_TL>::type, Allocator>
-
- // An abstract basic hash-based associative container.
- template<typename Key,
- typename Mapped,
- typename Hash_Fn,
- typename Eq_Fn,
- typename Resize_Policy,
- bool Store_Hash,
- typename Tag,
- typename Policy_TL,
- typename Allocator>
- class basic_hash_table : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- virtual
- ~basic_hash_table() { }
-
- protected:
-#define PB_DS_CLASS_NAME basic_hash_table
-#include <ext/pb_ds/detail/constructors_destructor_fn_imps.hpp>
-#undef PB_DS_CLASS_NAME
-
- private:
- basic_hash_table&
- operator=(const base_type&);
- };
-
-#undef PB_DS_BASE_C_DEC
-
-
-#define PB_DS_BASE_C_DEC \
- basic_hash_table<Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, \
- cc_hash_tag, \
- typename __gnu_cxx::typelist::create1<Comb_Hash_Fn>::type, Allocator>
-
- // A concrete collision-chaining hash-based associative container.
- template<typename Key,
- typename Mapped,
- typename Hash_Fn = typename detail::default_hash_fn<Key>::type,
- typename Eq_Fn = typename detail::default_eq_fn<Key>::type,
- typename Comb_Hash_Fn = detail::default_comb_hash_fn::type,
- typename Resize_Policy = typename detail::default_resize_policy<Comb_Hash_Fn>::type,
- bool Store_Hash = detail::default_store_hash,
- typename Allocator = std::allocator<char> >
- class cc_hash_table : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef Hash_Fn hash_fn;
- typedef Eq_Fn eq_fn;
- typedef Resize_Policy resize_policy;
- typedef Comb_Hash_Fn comb_hash_fn;
-
- // Default constructor.
- cc_hash_table() { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the Hash_Fn object of the container object.
- cc_hash_table(const hash_fn& h)
- : base_type(h) { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object, and
- // r_eq_fn will be copied by the eq_fn object of the container
- // object.
- cc_hash_table(const hash_fn& h, const eq_fn& e)
- : base_type(h, e) { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object, r_eq_fn
- // will be copied by the eq_fn object of the container object, and
- // r_comb_hash_fn will be copied by the comb_hash_fn object of the
- // container object.
- cc_hash_table(const hash_fn& h, const eq_fn& e, const comb_hash_fn& ch)
- : base_type(h, e, ch) { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object, r_eq_fn
- // will be copied by the eq_fn object of the container object,
- // r_comb_hash_fn will be copied by the comb_hash_fn object of the
- // container object, and r_resize_policy will be copied by the
- // resize_policy object of the container object.
- cc_hash_table(const hash_fn& h, const eq_fn& e, const comb_hash_fn& ch,
- const resize_policy& rp)
- : base_type(h, e, ch, rp) { }
-
- // Constructor taking __iterators to a range of value_types. The
- // value_types between first_it and last_it will be inserted into
- // the container object.
- template<typename It>
- cc_hash_table(It first, It last)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects. The value_types between first_it and
- // last_it will be inserted into the container object.
- template<typename It>
- cc_hash_table(It first, It last, const hash_fn& h)
- : base_type(h)
- { copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object,
- // and r_eq_fn will be copied by the eq_fn object of the container
- // object.
- template<typename It>
- cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e)
- : base_type(h, e)
- { copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object,
- // r_eq_fn will be copied by the eq_fn object of the container
- // object, and r_comb_hash_fn will be copied by the comb_hash_fn
- // object of the container object.
- template<typename It>
- cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
- const comb_hash_fn& ch)
- : base_type(h, e, ch)
- { copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object,
- // r_eq_fn will be copied by the eq_fn object of the container
- // object, r_comb_hash_fn will be copied by the comb_hash_fn
- // object of the container object, and r_resize_policy will be
- // copied by the resize_policy object of the container object.
- template<typename It>
- cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
- const comb_hash_fn& ch, const resize_policy& rp)
- : base_type(h, e, ch, rp)
- { copy_from_range(first, last); }
-
- cc_hash_table(const cc_hash_table& other)
- : base_type((const base_type&)other)
- { }
-
- virtual
- ~cc_hash_table() { }
-
- cc_hash_table&
- operator=(const cc_hash_table& other)
- {
- if (this != &other)
- {
- cc_hash_table tmp(other);
- swap(tmp);
- }
- return *this;
- }
-
- void
- swap(cc_hash_table& other)
- { base_type::swap(other); }
- };
-
-#undef PB_DS_BASE_C_DEC
-
-
-#define PB_DS_BASE_C_DEC \
- basic_hash_table<Key, Mapped, Hash_Fn, Eq_Fn, Resize_Policy, Store_Hash, \
- gp_hash_tag, \
- typename __gnu_cxx::typelist::create2<Comb_Probe_Fn, Probe_Fn>::type, Allocator>
-
- // A concrete general-probing hash-based associative container.
- template<typename Key,
- typename Mapped,
- typename Hash_Fn = typename detail::default_hash_fn<Key>::type,
- typename Eq_Fn = typename detail::default_eq_fn<Key>::type,
- typename Comb_Probe_Fn = detail::default_comb_hash_fn::type,
- typename Probe_Fn = typename detail::default_probe_fn<Comb_Probe_Fn>::type,
- typename Resize_Policy = typename detail::default_resize_policy<Comb_Probe_Fn>::type,
- bool Store_Hash = detail::default_store_hash,
- typename Allocator = std::allocator<char> >
- class gp_hash_table : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef Hash_Fn hash_fn;
- typedef Eq_Fn eq_fn;
- typedef Comb_Probe_Fn comb_probe_fn;
- typedef Probe_Fn probe_fn;
- typedef Resize_Policy resize_policy;
-
- // Default constructor.
- gp_hash_table() { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object.
- gp_hash_table(const hash_fn& h)
- : base_type(h) { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object, and
- // r_eq_fn will be copied by the eq_fn object of the container
- // object.
- gp_hash_table(const hash_fn& h, const eq_fn& e)
- : base_type(h, e) { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object, r_eq_fn
- // will be copied by the eq_fn object of the container object, and
- // r_comb_probe_fn will be copied by the comb_probe_fn object of
- // the container object.
- gp_hash_table(const hash_fn& h, const eq_fn& e, const comb_probe_fn& cp)
- : base_type(h, e, cp) { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object, r_eq_fn
- // will be copied by the eq_fn object of the container object,
- // r_comb_probe_fn will be copied by the comb_probe_fn object of
- // the container object, and r_probe_fn will be copied by the
- // probe_fn object of the container object.
- gp_hash_table(const hash_fn& h, const eq_fn& e, const comb_probe_fn& cp,
- const probe_fn& p)
- : base_type(h, e, cp, p) { }
-
- // Constructor taking some policy objects. r_hash_fn will be
- // copied by the hash_fn object of the container object, r_eq_fn
- // will be copied by the eq_fn object of the container object,
- // r_comb_probe_fn will be copied by the comb_probe_fn object of
- // the container object, r_probe_fn will be copied by the probe_fn
- // object of the container object, and r_resize_policy will be
- // copied by the Resize_Policy object of the container object.
- gp_hash_table(const hash_fn& h, const eq_fn& e, const comb_probe_fn& cp,
- const probe_fn& p, const resize_policy& rp)
- : base_type(h, e, cp, p, rp) { }
-
- // Constructor taking __iterators to a range of value_types. The
- // value_types between first_it and last_it will be inserted into
- // the container object.
- template<typename It>
- gp_hash_table(It first, It last)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects. The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object.
- template<typename It>
- gp_hash_table(It first, It last, const hash_fn& h)
- : base_type(h)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects. The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object,
- // and r_eq_fn will be copied by the eq_fn object of the container
- // object.
- template<typename It>
- gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e)
- : base_type(h, e)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects. The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object,
- // r_eq_fn will be copied by the eq_fn object of the container
- // object, and r_comb_probe_fn will be copied by the comb_probe_fn
- // object of the container object.
- template<typename It>
- gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
- const comb_probe_fn& cp)
- : base_type(h, e, cp)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects. The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object,
- // r_eq_fn will be copied by the eq_fn object of the container
- // object, r_comb_probe_fn will be copied by the comb_probe_fn
- // object of the container object, and r_probe_fn will be copied
- // by the probe_fn object of the container object.
- template<typename It>
- gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
- const comb_probe_fn& cp, const probe_fn& p)
- : base_type(h, e, cp, p)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects. The value_types between first_it and
- // last_it will be inserted into the container object. r_hash_fn
- // will be copied by the hash_fn object of the container object,
- // r_eq_fn will be copied by the eq_fn object of the container
- // object, r_comb_probe_fn will be copied by the comb_probe_fn
- // object of the container object, r_probe_fn will be copied by
- // the probe_fn object of the container object, and
- // r_resize_policy will be copied by the resize_policy object of
- // the container object.
- template<typename It>
- gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
- const comb_probe_fn& cp, const probe_fn& p,
- const resize_policy& rp)
- : base_type(h, e, cp, p, rp)
- { base_type::copy_from_range(first, last); }
-
- gp_hash_table(const gp_hash_table& other)
- : base_type((const base_type&)other)
- { }
-
- virtual
- ~gp_hash_table() { }
-
- gp_hash_table&
- operator=(const gp_hash_table& other)
- {
- if (this != &other)
- {
- gp_hash_table tmp(other);
- swap(tmp);
- }
- return *this;
- }
-
- void
- swap(gp_hash_table& other)
- { base_type::swap(other); }
- };
-
-#undef PB_DS_BASE_C_DEC
-
-
-#define PB_DS_BASE_C_DEC \
- container_base<Key, Mapped, Tag, Policy_Tl, Allocator>
-
- // An abstract basic tree-like (tree, trie) associative container.
- template<typename Key, typename Mapped, typename Tag,
- typename Node_Update, typename Policy_Tl, typename Allocator>
- class basic_tree : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef Node_Update node_update;
-
- virtual
- ~basic_tree() { }
-
- protected:
-#define PB_DS_CLASS_NAME basic_tree
-#include <ext/pb_ds/detail/constructors_destructor_fn_imps.hpp>
-#undef PB_DS_CLASS_NAME
- };
-
-#undef PB_DS_BASE_C_DEC
-
-
-#define PB_DS_TREE_NODE_AND_IT_TRAITS_C_DEC \
- detail::tree_traits<Key, Mapped,Cmp_Fn,Node_Update,Tag, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- basic_tree<Key,Mapped,Tag,typename PB_DS_TREE_NODE_AND_IT_TRAITS_C_DEC::node_update, \
- typename __gnu_cxx::typelist::create2<Cmp_Fn, PB_DS_TREE_NODE_AND_IT_TRAITS_C_DEC >::type, Allocator>
-
- // A concrete basic tree-based associative container.
- template<typename Key, typename Mapped, typename Cmp_Fn = std::less<Key>,
- typename Tag = rb_tree_tag,
- template<typename Const_Node_Iterator, typename Node_Iterator, typename Cmp_Fn_, typename Allocator_>
- class Node_Update = pb_ds::null_tree_node_update,
- typename Allocator = std::allocator<char> >
- class tree : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- // Comparison functor type.
- typedef Cmp_Fn cmp_fn;
-
- tree() { }
-
- // Constructor taking some policy objects. r_cmp_fn will be copied
- // by the Cmp_Fn object of the container object.
- tree(const cmp_fn& c)
- : base_type(c) { }
-
- // Constructor taking __iterators to a range of value_types. The
- // value_types between first_it and last_it will be inserted into
- // the container object.
- template<typename It>
- tree(It first, It last)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects The value_types between first_it and
- // last_it will be inserted into the container object. r_cmp_fn
- // will be copied by the cmp_fn object of the container object.
- template<typename It>
- tree(It first, It last, const cmp_fn& c)
- : base_type(c)
- { base_type::copy_from_range(first, last); }
-
- tree(const tree& other)
- : base_type((const base_type&)other) { }
-
- virtual
- ~tree() { }
-
- tree&
- operator=(const tree& other)
- {
- if (this != &other)
- {
- tree tmp(other);
- swap(tmp);
- }
- return *this;
- }
-
- void
- swap(tree& other)
- { base_type::swap(other); }
- };
-
-#undef PB_DS_BASE_C_DEC
-#undef PB_DS_TREE_NODE_AND_IT_TRAITS_C_DEC
-
-
-#define PB_DS_TRIE_NODE_AND_ITS_TRAITS \
- detail::trie_traits<Key,Mapped,E_Access_Traits,Node_Update,Tag,Allocator>
-
-#define PB_DS_BASE_C_DEC \
- basic_tree<Key,Mapped,Tag, typename PB_DS_TRIE_NODE_AND_ITS_TRAITS::node_update, \
- typename __gnu_cxx::typelist::create2<E_Access_Traits, PB_DS_TRIE_NODE_AND_ITS_TRAITS >::type, Allocator>
-
- // A concrete basic trie-based associative container.
- template<typename Key,
- typename Mapped,
- typename E_Access_Traits = typename detail::default_trie_e_access_traits<Key>::type,
- typename Tag = pat_trie_tag,
- template<typename Const_Node_Iterator,
- typename Node_Iterator,
- typename E_Access_Traits_,
- typename Allocator_>
- class Node_Update = null_trie_node_update,
- typename Allocator = std::allocator<char> >
- class trie : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- // Element access traits type.
- typedef E_Access_Traits e_access_traits;
-
- trie() { }
-
- // Constructor taking some policy objects. r_e_access_traits will
- // be copied by the E_Access_Traits object of the container
- // object.
- trie(const e_access_traits& t)
- : base_type(t) { }
-
- // Constructor taking __iterators to a range of value_types. The
- // value_types between first_it and last_it will be inserted into
- // the container object.
- template<typename It>
- trie(It first, It last)
- { base_type::copy_from_range(first, last); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects. The value_types between first_it and
- // last_it will be inserted into the container object.
- template<typename It>
- trie(It first, It last, const e_access_traits& t)
- : base_type(t)
- { base_type::copy_from_range(first, last); }
-
- trie(const trie& other)
- : base_type((const base_type&)other) { }
-
- virtual
- ~trie() { }
-
- trie&
- operator=(const trie& other)
- {
- if (this != &other)
- {
- trie tmp(other);
- swap(tmp);
- }
- return *this;
- }
-
- void
- swap(trie& other)
- { base_type::swap(other); }
- };
-
-#undef PB_DS_BASE_C_DEC
-#undef PB_DS_TRIE_NODE_AND_ITS_TRAITS
-
-
-#define PB_DS_BASE_C_DEC \
- container_base<Key, Mapped, list_update_tag, \
- typename __gnu_cxx::typelist::create2<Eq_Fn, Update_Policy>::type, Allocator>
-
- // A list-update based associative container.
- template<typename Key,
- typename Mapped,
- class Eq_Fn = typename detail::default_eq_fn<Key>::type,
- class Update_Policy = detail::default_update_policy::type,
- class Allocator = std::allocator<char> >
- class list_update : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef Eq_Fn eq_fn;
- typedef Update_Policy update_policy;
- typedef Allocator allocator;
-
- list_update() { }
-
- // Constructor taking __iterators to a range of value_types. The
- // value_types between first_it and last_it will be inserted into
- // the container object.
- template<typename It>
- list_update(It first, It last)
- { base_type::copy_from_range(first, last); }
-
- list_update(const list_update& other)
- : base_type((const base_type&)other) { }
-
- virtual
- ~list_update() { }
-
- list_update&
- operator=(const list_update& other)
- {
- if (this !=& other)
- {
- list_update tmp(other);
- swap(tmp);
- }
- return *this;
- }
-
- void
- swap(list_update& other)
- { base_type::swap(other); }
- };
-
-#undef PB_DS_BASE_C_DEC
-
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp
deleted file mode 100644
index d396d7d5da50..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp
+++ /dev/null
@@ -1,179 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file basic_tree_policy_base.hpp
- * Contains a base class for tree_like policies.
- */
-
-#ifndef PB_DS_TREE_LIKE_POLICY_BASE_HPP
-#define PB_DS_TREE_LIKE_POLICY_BASE_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_C_DEC \
- basic_tree_policy_base< \
- Const_Node_Iterator, \
- Node_Iterator, \
- Allocator>
-
- template<typename Const_Node_Iterator,
- typename Node_Iterator,
- typename Allocator>
- struct basic_tree_policy_base
- {
- protected:
- typedef typename Node_Iterator::value_type it_type;
-
- typedef typename std::iterator_traits< it_type>::value_type value_type;
-
- typedef typename value_type::first_type key_type;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- key_type>::type>::other::const_reference
- const_key_reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- value_type>::type>::other::const_reference
- const_reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- value_type>::type>::other::reference
- reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- value_type>::type>::other::const_pointer
- const_pointer;
-
- static inline const_key_reference
- extract_key(const_reference r_val)
- {
- return (r_val.first);
- }
-
- virtual it_type
- end() = 0;
-
- it_type
- end_iterator() const
- {
- return (const_cast<PB_DS_CLASS_C_DEC* >(this)->end());
- }
-
- virtual
- ~basic_tree_policy_base()
- { }
- };
-
- template<typename Const_Node_Iterator, typename Allocator>
- struct basic_tree_policy_base<
- Const_Node_Iterator,
- Const_Node_Iterator,
- Allocator>
- {
- protected:
- typedef typename Const_Node_Iterator::value_type it_type;
-
- typedef typename std::iterator_traits< it_type>::value_type value_type;
-
- typedef value_type key_type;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- key_type>::type>::other::const_reference
- const_key_reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- value_type>::type>::other::const_reference
- const_reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- value_type>::type>::other::reference
- reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- value_type>::type>::other::const_pointer
- const_pointer;
-
- static inline const_key_reference
- extract_key(const_reference r_val)
- {
- return (r_val);
- }
-
- virtual it_type
- end() const = 0;
-
- it_type
- end_iterator() const
- {
- return (end());
- }
-
- virtual
- ~basic_tree_policy_base()
- { }
- };
-
-#undef PB_DS_CLASS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_TREE_LIKE_POLICY_BASE_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp
deleted file mode 100644
index 23991987097a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file null_node_metadata.hpp
- * Contains an implementation class for tree-like classes.
- */
-
-#ifndef PB_DS_NULL_NODE_METADATA_HPP
-#define PB_DS_NULL_NODE_METADATA_HPP
-
-#include <ext/pb_ds/detail/types_traits.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key, class Data, class Allocator>
- struct dumconst_node_iterator
- {
- private:
- typedef typename types_traits<Key, Data, Allocator, false>::pointer const_iterator;
-
- public:
- typedef const_iterator value_type;
- typedef const_iterator const_reference;
- typedef const_reference reference;
- };
-
- struct null_node_metadata
- { };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/traits.hpp
deleted file mode 100644
index c574bc09aa42..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/basic_tree_policy/traits.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file traits.hpp
- * Contains an implementation class for tree-like classes.
- */
-
-#ifndef PB_DS_NODE_AND_IT_TRAITS_HPP
-#define PB_DS_NODE_AND_IT_TRAITS_HPP
-
-#include <ext/pb_ds/detail/types_traits.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/traits.hpp>
-#include <ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp>
-#include <ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key,
- typename Data,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator>
- class Node_Update,
- class Tag,
- class Allocator>
- struct tree_traits;
-
- template<typename Key,
- typename Data,
- class E_Access_Traits,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class E_Access_Traits_,
- class Allocator>
- class Node_Update,
- class Tag,
- class Allocator>
- struct trie_traits;
-
- } // namespace detail
-} // namespace pb_ds
-
-#include <ext/pb_ds/detail/rb_tree_map_/traits.hpp>
-#include <ext/pb_ds/detail/splay_tree_/traits.hpp>
-#include <ext/pb_ds/detail/ov_tree_map_/traits.hpp>
-#include <ext/pb_ds/detail/pat_trie_/traits.hpp>
-
-#endif // #ifndef PB_DS_NODE_AND_IT_TRAITS_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/basic_types.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/basic_types.hpp
deleted file mode 100644
index 69288ce5ec50..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/basic_types.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file basic_types.hpp
- * Contains basic types used by containers.
- */
-
-#ifndef PB_DS_BASIC_TYPES_HPP
-#define PB_DS_BASIC_TYPES_HPP
-
-#include <algorithm>
-#include <utility>
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key, typename Mapped, typename Allocator, bool Store_Hash>
- struct value_type_base;
-
- /**
- * Specialization of value_type_base for the case where the hash value
- * is not stored alongside each value.
- **/
- template<typename Key, typename Mapped, typename Allocator>
- struct value_type_base<Key, Mapped, Allocator, false>
- {
- typedef typename Allocator::template rebind<Mapped>::other mapped_type_allocator;
- typedef typename mapped_type_allocator::value_type mapped_type;
- typedef typename mapped_type_allocator::pointer mapped_pointer;
- typedef typename mapped_type_allocator::const_pointer const_mapped_pointer;
- typedef typename mapped_type_allocator::reference mapped_reference;
- typedef typename mapped_type_allocator::const_reference const_mapped_reference;
-
- typedef typename Allocator::template rebind<std::pair<const Key, Mapped> >::other value_type_allocator;
- typedef typename value_type_allocator::value_type value_type;
- typedef typename value_type_allocator::pointer pointer;
- typedef typename value_type_allocator::const_pointer const_pointer;
- typedef typename value_type_allocator::reference reference;
- typedef typename value_type_allocator::const_reference const_reference;
-
- struct stored_value_type
- {
- value_type m_value;
- };
- };
-
- /**
- * Specialization of value_type_base for the case where the hash value
- * is stored alongside each value.
- **/
- template<typename Key, typename Mapped, typename Allocator>
- struct value_type_base<Key, Mapped, Allocator, true>
- {
- typedef typename Allocator::template rebind<Mapped>::other mapped_type_allocator;
- typedef typename mapped_type_allocator::value_type mapped_type;
- typedef typename mapped_type_allocator::pointer mapped_pointer;
- typedef typename mapped_type_allocator::const_pointer const_mapped_pointer;
- typedef typename mapped_type_allocator::reference mapped_reference;
- typedef typename mapped_type_allocator::const_reference const_mapped_reference;
-
- typedef typename Allocator::template rebind<std::pair<const Key, Mapped> >::other value_type_allocator;
- typedef typename value_type_allocator::value_type value_type;
- typedef typename value_type_allocator::pointer pointer;
- typedef typename value_type_allocator::const_pointer const_pointer;
- typedef typename value_type_allocator::reference reference;
- typedef typename value_type_allocator::const_reference const_reference;
-
- struct stored_value_type
- {
- value_type m_value;
- typename Allocator::size_type m_hash;
- };
- };
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- value_type_base<Key, null_mapped_type, Allocator, false>
-
- /**
- * Specialization of value_type_base for the case where the hash value
- * is not stored alongside each value.
- **/
- template<typename Key, typename Allocator>
- struct value_type_base<Key, null_mapped_type, Allocator, false>
- {
- typedef typename Allocator::template rebind<null_mapped_type>::other mapped_type_allocator;
- typedef typename mapped_type_allocator::value_type mapped_type;
- typedef typename mapped_type_allocator::pointer mapped_pointer;
- typedef typename mapped_type_allocator::const_pointer const_mapped_pointer;
- typedef typename mapped_type_allocator::reference mapped_reference;
- typedef typename mapped_type_allocator::const_reference const_mapped_reference;
-
- typedef Key value_type;
-
- typedef typename Allocator::template rebind<value_type>::other value_type_allocator;
- typedef typename value_type_allocator::pointer pointer;
- typedef typename value_type_allocator::const_pointer const_pointer;
- typedef typename value_type_allocator::reference reference;
- typedef typename value_type_allocator::const_reference const_reference;
-
- struct stored_value_type
- {
- value_type m_value;
- };
-
- static null_mapped_type s_null_mapped;
- };
-
- PB_DS_CLASS_T_DEC
- null_mapped_type PB_DS_CLASS_C_DEC::s_null_mapped;
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- value_type_base<Key, null_mapped_type, Allocator, true>
-
- /**
- * Specialization of value_type_base for the case where the hash value
- * is stored alongside each value.
- **/
- template<typename Key, typename Allocator>
- struct value_type_base<Key, null_mapped_type, Allocator, true>
- {
- typedef typename Allocator::template rebind<null_mapped_type>::other mapped_type_allocator;
- typedef typename mapped_type_allocator::value_type mapped_type;
- typedef typename mapped_type_allocator::pointer mapped_pointer;
- typedef typename mapped_type_allocator::const_pointer const_mapped_pointer;
- typedef typename mapped_type_allocator::reference mapped_reference;
- typedef typename mapped_type_allocator::const_reference const_mapped_reference;
-
- typedef Key value_type;
-
- typedef typename Allocator::template rebind<value_type>::other value_type_allocator;
- typedef typename value_type_allocator::pointer pointer;
- typedef typename value_type_allocator::const_pointer const_pointer;
- typedef typename value_type_allocator::reference reference;
- typedef typename value_type_allocator::const_reference const_reference;
-
- struct stored_value_type
- {
- value_type m_value;
- typename Allocator::size_type m_hash;
- };
-
- static null_mapped_type s_null_mapped;
- };
-
- PB_DS_CLASS_T_DEC
- null_mapped_type PB_DS_CLASS_C_DEC::s_null_mapped;
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- template<typename Key, typename Mapped>
- struct no_throw_copies
- {
- typedef integral_constant<int, is_simple<Key>::value && is_simple<Mapped>::value> indicator;
- };
-
- template<typename Key>
- struct no_throw_copies<Key, null_mapped_type>
- {
- typedef integral_constant<int, is_simple<Key>::value> indicator;
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
deleted file mode 100644
index fa0ff416b42a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
+++ /dev/null
@@ -1,503 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file bin_search_tree_.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-/*
- * This implementation uses an idea from the SGI STL (using a "header" node
- * which is needed for efficient iteration).
- */
-
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/detail/eq_fn/eq_by_less.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-#include <ext/pb_ds/detail/map_debug_base.hpp>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/tree_trace_base.hpp>
-#include <utility>
-#include <functional>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, class Cmp_Fn, \
- class Node_And_It_Traits, class Allocator>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CLASS_NAME \
- bin_search_tree_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_CLASS_NAME \
- bin_search_tree_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_CLASS_NAME< \
- Key, \
- Mapped, \
- Cmp_Fn, \
- Node_And_It_Traits, \
- Allocator>
-
-#define PB_DS_TYPES_TRAITS_C_DEC \
- types_traits< \
- Key, \
- Mapped, \
- Allocator, \
- false>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_MAP_DEBUG_BASE_C_DEC \
- map_debug_base<Key, eq_by_less<Key, Cmp_Fn>, \
- typename Allocator::template rebind<Key>::other::const_reference>
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#define PB_DS_EP2VP(X)& ((X)->m_value)
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped_Data()
-#define PB_DS_EP2VP(X)& ((X)->m_value.first)
-#endif
-
-#ifdef PB_DS_TREE_TRACE
-#define PB_DS_TREE_TRACE_BASE_C_DEC \
- tree_trace_base< \
- typename Node_And_It_Traits::const_node_iterator, \
- typename Node_And_It_Traits::node_iterator, \
- Cmp_Fn, \
- true, \
- Allocator>
-#endif
-
- /**
- * class description = "8i|\|4ree $34rc|-| 7r33 74813.">
- **/
- template<typename Key,
- typename Mapped,
- class Cmp_Fn,
- class Node_And_It_Traits,
- class Allocator>
- class PB_DS_CLASS_NAME :
-#ifdef _GLIBCXX_DEBUG
- public PB_DS_MAP_DEBUG_BASE_C_DEC,
-#endif
-#ifdef PB_DS_TREE_TRACE
- public PB_DS_TREE_TRACE_BASE_C_DEC,
-#endif
- public Cmp_Fn,
- public PB_DS_TYPES_TRAITS_C_DEC,
- public Node_And_It_Traits::node_update
- {
-
- protected:
- typedef
- typename Allocator::template rebind<
- typename Node_And_It_Traits::node>::other
- node_allocator;
-
- typedef typename node_allocator::value_type node;
-
- typedef typename node_allocator::pointer node_pointer;
-
- typedef PB_DS_TYPES_TRAITS_C_DEC traits_base;
-
- typedef
- typename Node_And_It_Traits::null_node_update_pointer
- null_node_update_pointer;
-
- private:
- typedef cond_dealtor< node, Allocator> cond_dealtor_t;
-
-#ifdef _GLIBCXX_DEBUG
- typedef PB_DS_MAP_DEBUG_BASE_C_DEC map_debug_base;
-#endif
-
- public:
-
- typedef typename Allocator::size_type size_type;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::key_type key_type;
-
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::key_pointer key_pointer;
-
- typedef
- typename PB_DS_TYPES_TRAITS_C_DEC::const_key_pointer
- const_key_pointer;
-
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::key_reference key_reference;
-
- typedef
- typename PB_DS_TYPES_TRAITS_C_DEC::const_key_reference
- const_key_reference;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::mapped_type mapped_type;
-
- typedef
- typename PB_DS_TYPES_TRAITS_C_DEC::mapped_pointer
- mapped_pointer;
-
- typedef
- typename PB_DS_TYPES_TRAITS_C_DEC::const_mapped_pointer
- const_mapped_pointer;
-
- typedef
- typename PB_DS_TYPES_TRAITS_C_DEC::mapped_reference
- mapped_reference;
-
- typedef
- typename PB_DS_TYPES_TRAITS_C_DEC::const_mapped_reference
- const_mapped_reference;
-#endif
-
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::value_type value_type;
-
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::pointer pointer;
-
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::const_pointer const_pointer;
-
- typedef typename PB_DS_TYPES_TRAITS_C_DEC::reference reference;
-
- typedef
- typename PB_DS_TYPES_TRAITS_C_DEC::const_reference
- const_reference;
-
- typedef
- typename Node_And_It_Traits::const_point_iterator
- const_point_iterator;
-
- typedef const_point_iterator const_iterator;
-
- typedef typename Node_And_It_Traits::point_iterator point_iterator;
-
- typedef point_iterator iterator;
-
- typedef
- typename Node_And_It_Traits::const_reverse_iterator
- const_reverse_iterator;
-
- typedef typename Node_And_It_Traits::reverse_iterator reverse_iterator;
-
- typedef
- typename Node_And_It_Traits::const_node_iterator
- const_node_iterator;
-
- typedef typename Node_And_It_Traits::node_iterator node_iterator;
-
- typedef Cmp_Fn cmp_fn;
-
- typedef Allocator allocator;
-
- typedef typename Node_And_It_Traits::node_update node_update;
-
- public:
-
- PB_DS_CLASS_NAME();
-
- PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn);
-
- PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn, const node_update& r_update);
-
- PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- ~PB_DS_CLASS_NAME();
-
- inline bool
- empty() const;
-
- inline size_type
- size() const;
-
- inline size_type
- max_size() const;
-
- Cmp_Fn&
- get_cmp_fn();
-
- const Cmp_Fn&
- get_cmp_fn() const;
-
- inline point_iterator
- lower_bound(const_key_reference r_key);
-
- inline const_point_iterator
- lower_bound(const_key_reference r_key) const;
-
- inline point_iterator
- upper_bound(const_key_reference r_key);
-
- inline const_point_iterator
- upper_bound(const_key_reference r_key) const;
-
- inline point_iterator
- find(const_key_reference r_key);
-
- inline const_point_iterator
- find(const_key_reference r_key) const;
-
- inline iterator
- begin();
-
- inline const_iterator
- begin() const;
-
- inline iterator
- end();
-
- inline const_iterator
- end() const;
-
- inline reverse_iterator
- rbegin();
-
- inline const_reverse_iterator
- rbegin() const;
-
- inline reverse_iterator
- rend();
-
- inline const_reverse_iterator
- rend() const;
-
- inline const_node_iterator
- node_begin() const;
-
- inline node_iterator
- node_begin();
-
- inline const_node_iterator
- node_end() const;
-
- inline node_iterator
- node_end();
-
- void
- clear();
-
- protected:
-
- void
- value_swap(PB_DS_CLASS_C_DEC& other);
-
- void
- initialize_min_max();
-
- inline iterator
- insert_imp_empty(const_reference r_value);
-
- inline iterator
- insert_leaf_new(const_reference r_value, node_pointer p_nd, bool left_nd);
-
- inline node_pointer
- get_new_node_for_leaf_insert(const_reference r_val, false_type);
-
- inline node_pointer
- get_new_node_for_leaf_insert(const_reference r_val, true_type);
-
- inline void
- actual_erase_node(node_pointer p_nd);
-
- inline std::pair<node_pointer, bool>
- erase(node_pointer p_nd);
-
- inline void
- update_min_max_for_erased_node(node_pointer p_nd);
-
- static void
- clear_imp(node_pointer p_nd);
-
- inline std::pair<
- point_iterator,
- bool>
- insert_leaf(const_reference r_value);
-
- inline void
- rotate_left(node_pointer p_x);
-
- inline void
- rotate_right(node_pointer p_y);
-
- inline void
- rotate_parent(node_pointer p_nd);
-
- inline void
- apply_update(node_pointer p_nd, null_node_update_pointer);
-
- template<typename Node_Update_>
- inline void
- apply_update(node_pointer p_nd, Node_Update_* p_update);
-
- inline void
- update_to_top(node_pointer p_nd, null_node_update_pointer);
-
- template<typename Node_Update_>
- inline void
- update_to_top(node_pointer p_nd, Node_Update_* p_update);
-
- bool
- join_prep(PB_DS_CLASS_C_DEC& other);
-
- void
- join_finish(PB_DS_CLASS_C_DEC& other);
-
- bool
- split_prep(const_key_reference r_key, PB_DS_CLASS_C_DEC& other);
-
- void
- split_finish(PB_DS_CLASS_C_DEC& other);
-
- size_type
- recursive_count(node_pointer p_nd) const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-
- void
- structure_only_assert_valid() const;
-
- void
- assert_node_consistent(const node_pointer p_nd) const;
-#endif
-
- private:
-#ifdef _GLIBCXX_DEBUG
- void
- assert_iterators() const;
-
- void
- assert_consistent_with_debug_base() const;
-
- void
- assert_node_consistent_with_left(const node_pointer p_nd) const;
-
- void
- assert_node_consistent_with_right(const node_pointer p_nd) const;
-
- void
- assert_consistent_with_debug_base(const node_pointer p_nd) const;
-
- void
- assert_min() const;
-
- void
- assert_min_imp(const node_pointer p_nd) const;
-
- void
- assert_max() const;
-
- void
- assert_max_imp(const node_pointer p_nd) const;
-
- void
- assert_size() const;
-
- typedef std::pair< const_pointer, const_pointer> node_consistent_t;
-
- node_consistent_t
- assert_node_consistent_(const node_pointer p_nd) const;
-#endif
-
- void
- initialize();
-
- node_pointer
- recursive_copy_node(const node_pointer p_nd);
-
- protected:
- node_pointer m_p_head;
-
- size_type m_size;
-
- static node_allocator s_node_allocator;
- };
-
-#include <ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_CLASS_NAME
-
-#undef PB_DS_TYPES_TRAITS_C_DEC
-
-#undef PB_DS_MAP_DEBUG_BASE_C_DEC
-
-#ifdef PB_DS_TREE_TRACE
-#undef PB_DS_TREE_TRACE_BASE_C_DEC
-#endif
-
-#undef PB_DS_V2F
-#undef PB_DS_EP2VP
-#undef PB_DS_V2S
-
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
deleted file mode 100644
index d14d7bfaaa4b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cond_dtor_entry_dealtor.hpp
- * Contains a binary tree container conditional deallocator
- */
-
-class bin_search_tree_cond_dtor_entry_dealtor_
-{
-public:
- inline
- bin_search_tree_cond_dtor_entry_dealtor_(node_pointer p_nd) : m_p_nd(p_nd),
- m_no_action_dtor(false)
- { }
-
- inline void
- set_no_action_dtor()
- {
- m_no_action_dtor = true;
- }
-
- inline
- ~bin_search_tree_cond_dtor_entry_dealtor_()
- {
- if (m_no_action_dtor)
- return;
-
- typename Allocator::template rebind<Node>::other().
- deallocate(m_p_nd, 1);
- }
-
-protected:
- node_pointer m_p_nd;
-
- bool m_no_action_dtor;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
deleted file mode 100644
index 5373e548d3bd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cond_key_dtor_entry_dealtor.hpp
- * Contains a binary tree container conditional deallocator
- */
-
-class bin_seach_tree_cond_key_dtor_entry_dealtor_
-{
-public:
- inline
- bin_seach_tree_cond_key_dtor_entry_dealtor_(node_pointer p_nd) : m_p_nd(p_nd),
- m_no_action_dtor(false),
- m_key_destruct(false)
- { }
-
- inline void
- set_no_action_dtor()
- {
- m_no_action_dtor = true;
- }
-
- inline void
- set_key_destruct()
- {
- m_key_destruct = true;
- }
-
- inline
- ~bin_seach_tree_cond_key_dtor_entry_dealtor_()
- {
- if (m_no_action_dtor)
- return;
-
- if (m_key_destruct)
- m_p_nd->m_value.first.~Key();
-
- bin_tree_base::s_alloc.deallocate(m_p_nd, 1);
- }
-
-protected:
- node_pointer m_p_nd;
-
- bool m_no_action_dtor;
-
- bool m_key_destruct;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index a6ee92001279..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,224 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_allocator
-PB_DS_CLASS_C_DEC::s_node_allocator;
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME() : m_p_head(s_node_allocator.allocate(1)), m_size(0)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn) :
- Cmp_Fn(r_cmp_fn), m_p_head(s_node_allocator.allocate(1)), m_size(0)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn, const node_update& r_node_update) :
- Cmp_Fn(r_cmp_fn),
- node_update(r_node_update),
- m_p_head(s_node_allocator.allocate(1)),
- m_size(0)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
-#ifdef _GLIBCXX_DEBUG
- map_debug_base(other),
-#endif
-#ifdef PB_DS_TREE_TRACE
- PB_DS_TREE_TRACE_BASE_C_DEC(other),
-#endif
- Cmp_Fn(other),
- node_update(other),
- m_p_head(s_node_allocator.allocate(1)),
- m_size(0)
-{
- initialize();
- m_size = other.m_size;
- _GLIBCXX_DEBUG_ONLY(other.structure_only_assert_valid();)
-
- try
- {
- m_p_head->m_p_parent = recursive_copy_node(other.m_p_head->m_p_parent);
- if (m_p_head->m_p_parent != NULL)
- m_p_head->m_p_parent->m_p_parent = m_p_head;
- m_size = other.m_size;
- initialize_min_max();
- }
- catch(...)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::clear();)
- s_node_allocator.deallocate(m_p_head, 1);
- __throw_exception_again;
- }
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.structure_only_assert_valid();)
- value_swap(other);
- std::swap((Cmp_Fn& )(*this), (Cmp_Fn& )other);
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.structure_only_assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-value_swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(map_debug_base::swap(other);)
- std::swap(m_p_head, other.m_p_head);
- std::swap(m_size, other.m_size);
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~PB_DS_CLASS_NAME()
-{
- clear();
- s_node_allocator.deallocate(m_p_head, 1);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize()
-{
- m_p_head->m_p_parent = NULL;
- m_p_head->m_p_left = m_p_head;
- m_p_head->m_p_right = m_p_head;
- m_size = 0;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-recursive_copy_node(const node_pointer p_nd)
-{
- if (p_nd == NULL)
- return (NULL);
-
- node_pointer p_ret = s_node_allocator.allocate(1);
- try
- {
- new (p_ret) node(*p_nd);
- }
- catch(...)
- {
- s_node_allocator.deallocate(p_ret, 1);
- __throw_exception_again;
- }
-
- p_ret->m_p_left = p_ret->m_p_right = NULL;
-
- try
- {
- p_ret->m_p_left = recursive_copy_node(p_nd->m_p_left);
- p_ret->m_p_right = recursive_copy_node(p_nd->m_p_right);
- }
- catch(...)
- {
- clear_imp(p_ret);
- __throw_exception_again;
- }
-
- if (p_ret->m_p_left != NULL)
- p_ret->m_p_left->m_p_parent = p_ret;
-
- if (p_ret->m_p_right != NULL)
- p_ret->m_p_right->m_p_parent = p_ret;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_ret);)
- return p_ret;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize_min_max()
-{
- if (m_p_head->m_p_parent == NULL)
- {
- m_p_head->m_p_left = m_p_head->m_p_right = m_p_head;
- return;
- }
-
- {
- node_pointer p_min = m_p_head->m_p_parent;
- while (p_min->m_p_left != NULL)
- p_min = p_min->m_p_left;
- m_p_head->m_p_left = p_min;
- }
-
- {
- node_pointer p_max = m_p_head->m_p_parent;
- while (p_max->m_p_right != NULL)
- p_max = p_max->m_p_right;
- m_p_head->m_p_right = p_max;
- }
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
deleted file mode 100644
index eff970a36954..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,278 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- structure_only_assert_valid();
- assert_consistent_with_debug_base();
- assert_size();
- assert_iterators();
- if (m_p_head->m_p_parent == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(m_size == 0);
- }
- else
- {
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-structure_only_assert_valid() const
-{
- _GLIBCXX_DEBUG_ASSERT(m_p_head != NULL);
- if (m_p_head->m_p_parent == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_left == m_p_head);
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_right == m_p_head);
- }
- else
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_parent->m_p_parent == m_p_head);
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_left != m_p_head);
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_right != m_p_head);
- }
-
- if (m_p_head->m_p_parent != NULL)
- assert_node_consistent(m_p_head->m_p_parent);
- assert_min();
- assert_max();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_node_consistent(const node_pointer p_nd) const
-{
- assert_node_consistent_(p_nd);
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_consistent_t
-PB_DS_CLASS_C_DEC::
-assert_node_consistent_(const node_pointer p_nd) const
-{
- if (p_nd == NULL)
- return (std::make_pair((const_pointer)NULL,(const_pointer)NULL));
-
- assert_node_consistent_with_left(p_nd);
- assert_node_consistent_with_right(p_nd);
-
- const std::pair<const_pointer, const_pointer>
- l_range = assert_node_consistent_(p_nd->m_p_left);
-
- if (l_range.second != NULL)
- _GLIBCXX_DEBUG_ASSERT(Cmp_Fn::operator()(PB_DS_V2F(*l_range.second),
- PB_DS_V2F(p_nd->m_value)));
-
- const std::pair<const_pointer, const_pointer>
- r_range = assert_node_consistent_(p_nd->m_p_right);
-
- if (r_range.first != NULL)
- _GLIBCXX_DEBUG_ASSERT(Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value),
- PB_DS_V2F(*r_range.first)));
-
- return (std::make_pair((l_range.first != NULL)? l_range.first :& p_nd->m_value,(r_range.second != NULL)? r_range.second :& p_nd->m_value));
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_node_consistent_with_left(const node_pointer p_nd) const
-{
- if (p_nd->m_p_left == NULL)
- return;
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_left->m_p_parent == p_nd);
- _GLIBCXX_DEBUG_ASSERT(!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value),
- PB_DS_V2F(p_nd->m_p_left->m_value)));
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_node_consistent_with_right(const node_pointer p_nd) const
-{
- if (p_nd->m_p_right == NULL)
- return;
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_right->m_p_parent == p_nd);
- _GLIBCXX_DEBUG_ASSERT(!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_p_right->m_value),
- PB_DS_V2F(p_nd->m_value)));
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_min() const
-{
- assert_min_imp(m_p_head->m_p_parent);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_min_imp(const node_pointer p_nd) const
-{
- if (p_nd == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_left == m_p_head);
- return;
- }
-
- if (p_nd->m_p_left == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd == m_p_head->m_p_left);
- return;
- }
- assert_min_imp(p_nd->m_p_left);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_max() const
-{
- assert_max_imp(m_p_head->m_p_parent);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_max_imp(const node_pointer p_nd) const
-{
- if (p_nd == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_right == m_p_head);
- return;
- }
-
- if (p_nd->m_p_right == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd == m_p_head->m_p_right);
- return;
- }
-
- assert_max_imp(p_nd->m_p_right);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_iterators() const
-{
- size_type iterated_num = 0;
- const_iterator prev_it = end();
- for (const_iterator it = begin(); it != end(); ++it)
- {
- ++iterated_num;
- _GLIBCXX_DEBUG_ASSERT(lower_bound(PB_DS_V2F(*it)).m_p_nd == it.m_p_nd);
- const_iterator upper_bound_it = upper_bound(PB_DS_V2F(*it));
- --upper_bound_it;
- _GLIBCXX_DEBUG_ASSERT(upper_bound_it.m_p_nd == it.m_p_nd);
-
- if (prev_it != end())
- _GLIBCXX_DEBUG_ASSERT(Cmp_Fn::operator()(PB_DS_V2F(*prev_it),
- PB_DS_V2F(*it)));
- prev_it = it;
- }
-
- _GLIBCXX_DEBUG_ASSERT(iterated_num == m_size);
- size_type reverse_iterated_num = 0;
- const_reverse_iterator reverse_prev_it = rend();
- for (const_reverse_iterator reverse_it = rbegin(); reverse_it != rend();
- ++reverse_it)
- {
- ++reverse_iterated_num;
- _GLIBCXX_DEBUG_ASSERT(lower_bound(
- PB_DS_V2F(*reverse_it)).m_p_nd == reverse_it.m_p_nd);
-
- const_iterator upper_bound_it = upper_bound(PB_DS_V2F(*reverse_it));
- --upper_bound_it;
- _GLIBCXX_DEBUG_ASSERT(upper_bound_it.m_p_nd == reverse_it.m_p_nd);
- if (reverse_prev_it != rend())
- _GLIBCXX_DEBUG_ASSERT(!Cmp_Fn::operator()(PB_DS_V2F(*reverse_prev_it),
- PB_DS_V2F(*reverse_it)));
- reverse_prev_it = reverse_it;
- }
- _GLIBCXX_DEBUG_ASSERT(reverse_iterated_num == m_size);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_consistent_with_debug_base() const
-{
- map_debug_base::check_size(m_size);
- assert_consistent_with_debug_base(m_p_head->m_p_parent);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_consistent_with_debug_base(const node_pointer p_nd) const
-{
- if (p_nd == NULL)
- return;
- map_debug_base::check_key_exists(PB_DS_V2F(p_nd->m_value));
- assert_consistent_with_debug_base(p_nd->m_p_left);
- assert_consistent_with_debug_base(p_nd->m_p_right);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_size() const
-{
- _GLIBCXX_DEBUG_ASSERT(recursive_count(m_p_head->m_p_parent) == m_size);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
deleted file mode 100644
index 2006a82b6806..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-actual_erase_node(node_pointer p_z)
-{
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- --m_size;
-
- _GLIBCXX_DEBUG_ONLY(erase_existing(PB_DS_V2F(p_z->m_value)));
-
- p_z->~node();
-
- s_node_allocator.deallocate(p_z, 1);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-update_min_max_for_erased_node(node_pointer p_z)
-{
- if (m_size == 1)
- {
- m_p_head->m_p_left = m_p_head->m_p_right = m_p_head;
-
- return;
- }
-
- if (m_p_head->m_p_left == p_z)
- {
- iterator it(p_z);
-
- ++it;
-
- m_p_head->m_p_left = it.m_p_nd;
- }
- else if (m_p_head->m_p_right == p_z)
- {
- iterator it(p_z);
-
- --it;
-
- m_p_head->m_p_right = it.m_p_nd;
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-
- clear_imp(m_p_head->m_p_parent);
-
- m_size = 0;
-
- initialize();
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::clear();)
-
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear_imp(node_pointer p_nd)
-{
- if (p_nd == NULL)
- return;
-
- clear_imp(p_nd->m_p_left);
-
- clear_imp(p_nd->m_p_right);
-
- p_nd->~node();
-
- s_node_allocator.deallocate(p_nd, 1);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
deleted file mode 100644
index 5f534d1c753c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
+++ /dev/null
@@ -1,188 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-lower_bound(const_key_reference r_key) const
-{
- node_pointer p_pot = m_p_head;
- node_pointer p_nd = m_p_head->m_p_parent;
-
- while (p_nd != NULL)
- if (Cmp_Fn::operator()(
- PB_DS_V2F(p_nd->m_value),
- r_key))
- p_nd = p_nd->m_p_right;
- else
- {
- p_pot = p_nd;
-
- p_nd = p_nd->m_p_left;
- }
-
- return (iterator(p_pot));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-lower_bound(const_key_reference r_key)
-{
- node_pointer p_pot = m_p_head;
- node_pointer p_nd = m_p_head->m_p_parent;
-
- while (p_nd != NULL)
- if (Cmp_Fn::operator()(
- PB_DS_V2F(p_nd->m_value),
- r_key))
- p_nd = p_nd->m_p_right;
- else
- {
- p_pot = p_nd;
-
- p_nd = p_nd->m_p_left;
- }
-
- return (iterator(p_pot));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-upper_bound(const_key_reference r_key) const
-{
- node_pointer p_pot = m_p_head;
- node_pointer p_nd = m_p_head->m_p_parent;
-
- while (p_nd != NULL)
- if (Cmp_Fn::operator()(r_key,
- PB_DS_V2F(p_nd->m_value)))
- {
- p_pot = p_nd,
-
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
-
- return (const_iterator(p_pot));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-upper_bound(const_key_reference r_key)
-{
- node_pointer p_pot = m_p_head;
- node_pointer p_nd = m_p_head->m_p_parent;
-
- while (p_nd != NULL)
- if (Cmp_Fn::operator()(r_key,
- PB_DS_V2F(p_nd->m_value)))
- {
- p_pot = p_nd,
-
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
-
- return (point_iterator(p_pot));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key)
-{
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-
- node_pointer p_pot = m_p_head;
- node_pointer p_nd = m_p_head->m_p_parent;
-
- while (p_nd != NULL)
- if (!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
- {
- p_pot = p_nd;
-
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
-
- return point_iterator((p_pot != m_p_head&& Cmp_Fn::operator()(
- r_key,
- PB_DS_V2F(p_pot->m_value)))?
- m_p_head : p_pot);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key) const
-{
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-
- node_pointer p_pot = m_p_head;
- node_pointer p_nd = m_p_head->m_p_parent;
-
- while (p_nd != NULL)
- if (!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
- {
- p_pot = p_nd;
-
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
-
- return const_point_iterator((p_pot != m_p_head&& Cmp_Fn::operator()(
- r_key,
- PB_DS_V2F(p_pot->m_value)))?
- m_p_head : p_pot);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
deleted file mode 100644
index 4381efe3dc5d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{
- return (m_size == 0);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{
- return (m_size);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{
- return (s_node_allocator.max_size());
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
deleted file mode 100644
index 91fe41ab9d26..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,217 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert_leaf(const_reference r_value)
-{
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-
- if (m_size == 0)
- return (std::make_pair(
- insert_imp_empty(r_value),
- true));
-
- node_pointer p_nd = m_p_head->m_p_parent;
- node_pointer p_pot = m_p_head;
-
- while (p_nd != NULL)
- if (!Cmp_Fn::operator()(
- PB_DS_V2F(p_nd->m_value),
- PB_DS_V2F(r_value)))
- {
- p_pot = p_nd;
-
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
-
- if (p_pot == m_p_head)
- return (std::make_pair(
- insert_leaf_new(r_value, m_p_head->m_p_right, false),
- true));
-
- if (!Cmp_Fn::operator()(
- PB_DS_V2F(r_value),
- PB_DS_V2F(p_pot->m_value)))
- {
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(
- PB_DS_V2F(r_value)));
-
- return (std::make_pair(p_pot, false));
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(
- PB_DS_V2F(r_value)));
-
- p_nd = p_pot->m_p_left;
- if (p_nd == NULL)
- return (std::make_pair(
- insert_leaf_new(r_value, p_pot, true),
- true));
-
- while (p_nd->m_p_right != NULL)
- p_nd = p_nd->m_p_right;
-
- return (std::make_pair(
- insert_leaf_new(r_value, p_nd, false),
- true));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-insert_leaf_new(const_reference r_value, node_pointer p_nd, bool left_nd)
-{
- node_pointer p_new_nd =
- get_new_node_for_leaf_insert( r_value, traits_base::m_no_throw_copies_indicator);
-
- if (left_nd)
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_left == NULL);
- _GLIBCXX_DEBUG_ASSERT(Cmp_Fn::operator()(
- PB_DS_V2F(r_value),
- PB_DS_V2F(p_nd->m_value)));
-
- p_nd->m_p_left = p_new_nd;
-
- if (m_p_head->m_p_left == p_nd)
- m_p_head->m_p_left = p_new_nd;
- }
- else
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_right == NULL);
- _GLIBCXX_DEBUG_ASSERT(Cmp_Fn::operator()(
- PB_DS_V2F(p_nd->m_value),
- PB_DS_V2F(r_value)));
-
- p_nd->m_p_right = p_new_nd;
-
- if (m_p_head->m_p_right == p_nd)
- m_p_head->m_p_right = p_new_nd;
- }
-
- p_new_nd->m_p_parent = p_nd;
-
- p_new_nd->m_p_left = p_new_nd->m_p_right = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_nd));
-
- update_to_top(p_new_nd, (node_update* )this);
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(
- PB_DS_V2F(r_value)));
-
- return (iterator(p_new_nd));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-insert_imp_empty(const_reference r_value)
-{
- node_pointer p_new_node =
- get_new_node_for_leaf_insert( r_value, traits_base::m_no_throw_copies_indicator);
-
- m_p_head->m_p_left = m_p_head->m_p_right =
- m_p_head->m_p_parent = p_new_node;
-
- p_new_node->m_p_parent = m_p_head;
-
- p_new_node->m_p_left = p_new_node->m_p_right = NULL;
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(
- PB_DS_V2F(r_value)));
-
- update_to_top(m_p_head->m_p_parent, (node_update* )this);
-
- return (iterator(p_new_node));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-get_new_node_for_leaf_insert(const_reference r_val, false_type)
-{
- node_pointer p_new_nd = s_node_allocator.allocate(1);
-
- cond_dealtor_t cond(p_new_nd);
-
- new (const_cast<void* >(
- static_cast<const void* >(&p_new_nd->m_value)))
- typename node::value_type(r_val);
-
- cond.set_no_action();
-
- p_new_nd->m_p_left = p_new_nd->m_p_right = NULL;
-
- ++m_size;
-
- return (p_new_nd);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-get_new_node_for_leaf_insert(const_reference r_val, true_type)
-{
- node_pointer p_new_nd = s_node_allocator.allocate(1);
-
- new (const_cast<void* >(
- static_cast<const void* >(&p_new_nd->m_value)))
- typename node::value_type(r_val);
-
- p_new_nd->m_p_left = p_new_nd->m_p_right = NULL;
-
- ++m_size;
-
- return (p_new_nd);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
deleted file mode 100644
index 3132a4237214..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+++ /dev/null
@@ -1,142 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterators_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-begin()
-{
- return (iterator(m_p_head->m_p_left));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin() const
-{
- return (const_iterator(m_p_head->m_p_left));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-end()
-{
- return (iterator(m_p_head));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end() const
-{
- return (const_iterator(m_p_head));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reverse_iterator
-PB_DS_CLASS_C_DEC::
-rbegin() const
-{
- return (const_reverse_iterator(m_p_head->m_p_right));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::reverse_iterator
-PB_DS_CLASS_C_DEC::
-rbegin()
-{
- return (reverse_iterator(m_p_head->m_p_right));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::reverse_iterator
-PB_DS_CLASS_C_DEC::
-rend()
-{
- return (reverse_iterator(m_p_head));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reverse_iterator
-PB_DS_CLASS_C_DEC::
-rend() const
-{
- return (const_reverse_iterator(m_p_head));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-node_begin() const
-{
- return (const_node_iterator(m_p_head->m_p_parent));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-node_begin()
-{
- return (node_iterator(m_p_head->m_p_parent));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-node_end() const
-{
- return (const_node_iterator(NULL));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-node_end()
-{
- return (node_iterator(NULL));
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
deleted file mode 100644
index ce1cd22b0116..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
+++ /dev/null
@@ -1,243 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node_iterators.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-#ifndef PB_DS_BIN_SEARCH_TREE_NODE_ITERATORS_HPP
-#define PB_DS_BIN_SEARCH_TREE_NODE_ITERATORS_HPP
-
-#include <ext/pb_ds/tag_and_trait.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC \
- bin_search_tree_const_node_it_< \
- Node, \
- Const_Iterator, \
- Iterator, \
- Allocator>
-
- // Const node iterator.
- template<typename Node,
- class Const_Iterator,
- class Iterator,
- class Allocator>
- class bin_search_tree_const_node_it_
- {
- private:
-
- private:
- typedef
- typename Allocator::template rebind<
- Node>::other::pointer
- node_pointer;
-
- public:
-
- // Category.
- typedef trivial_iterator_tag iterator_category;
-
- // Difference type.
- typedef trivial_iterator_difference_type difference_type;
-
- // __Iterator's value type.
- typedef Const_Iterator value_type;
-
- // __Iterator's reference type.
- typedef Const_Iterator reference;
-
- // __Iterator's __const reference type.
- typedef Const_Iterator const_reference;
-
- // Metadata type.
- typedef typename Node::metadata_type metadata_type;
-
- // Const metadata reference type.
- typedef
- typename Allocator::template rebind<
- metadata_type>::other::const_reference
- const_metadata_reference;
-
- public:
-
- // Default constructor.
- /*
- inline
- bin_search_tree_const_node_it_()
- */
-
- inline
- bin_search_tree_const_node_it_(const node_pointer p_nd = NULL) : m_p_nd(const_cast<node_pointer>(p_nd))
- { }
-
- // Access.
- inline const_reference
- operator*() const
- {
- return (Const_Iterator(m_p_nd));
- }
-
- // Metadata access.
- inline const_metadata_reference
- get_metadata() const
- {
- return (m_p_nd->get_metadata());
- }
-
- // Returns the __const node iterator associated with the left node.
- inline PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC
- get_l_child() const
- {
- return (PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC(m_p_nd->m_p_left));
- }
-
- // Returns the __const node iterator associated with the right node.
- inline PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC
- get_r_child() const
- {
- return (PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC(m_p_nd->m_p_right));
- }
-
- // Compares to a different iterator object.
- inline bool
- operator==(const PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC& other) const
- {
- return (m_p_nd == other.m_p_nd);
- }
-
- // Compares (negatively) to a different iterator object.
- inline bool
- operator!=(const PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC& other) const
- {
- return (m_p_nd != other.m_p_nd);
- }
-
- public:
- node_pointer m_p_nd;
- };
-
-#define PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC \
- bin_search_tree_node_it_< \
- Node, \
- Const_Iterator, \
- Iterator, \
- Allocator>
-
- // Node iterator.
- template<typename Node,
- class Const_Iterator,
- class Iterator,
- class Allocator>
- class bin_search_tree_node_it_ :
- public PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC
-
- {
-
- private:
- typedef
- typename Allocator::template rebind<
- Node>::other::pointer
- node_pointer;
-
- public:
-
- // __Iterator's value type.
- typedef Iterator value_type;
-
- // __Iterator's reference type.
- typedef Iterator reference;
-
- // __Iterator's __const reference type.
- typedef Iterator const_reference;
-
- public:
-
- // Default constructor.
- /*
- inline
- bin_search_tree_node_it_();
- */
-
- inline
- bin_search_tree_node_it_(const node_pointer p_nd = NULL) : PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC(
- const_cast<node_pointer>(p_nd))
- { }
-
- // Access.
- inline Iterator
- operator*() const
- {
- return (Iterator(PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC::m_p_nd));
- }
-
- // Returns the node iterator associated with the left node.
- inline PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC
- get_l_child() const
- {
- return (PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC(
- PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC::m_p_nd->m_p_left));
- }
-
- // Returns the node iterator associated with the right node.
- inline PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC
- get_r_child() const
- {
- return (PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC(
- PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC::m_p_nd->m_p_right));
- }
-
- };
-
-#undef PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC
-
-#undef PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_BIN_SEARCH_TREE_NODE_ITERATORS_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
deleted file mode 100644
index 275177e10e09..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
+++ /dev/null
@@ -1,387 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file point_iterators.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-#ifndef PB_DS_BIN_SEARCH_TREE_FIND_ITERATORS_HPP
-#define PB_DS_BIN_SEARCH_TREE_FIND_ITERATORS_HPP
-
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_TREE_CONST_IT_C_DEC \
- bin_search_tree_const_it_< \
- Node_Pointer, \
- Value_Type, \
- Pointer, \
- Const_Pointer, \
- Reference, \
- Const_Reference, \
- Is_Forward_Iterator, \
- Allocator>
-
-#define PB_DS_TREE_CONST_ODIR_IT_C_DEC \
- bin_search_tree_const_it_< \
- Node_Pointer, \
- Value_Type, \
- Pointer, \
- Const_Pointer, \
- Reference, \
- Const_Reference, \
- !Is_Forward_Iterator, \
- Allocator>
-
-#define PB_DS_TREE_IT_C_DEC \
- bin_search_tree_it_< \
- Node_Pointer, \
- Value_Type, \
- Pointer, \
- Const_Pointer, \
- Reference, \
- Const_Reference, \
- Is_Forward_Iterator, \
- Allocator>
-
-#define PB_DS_TREE_ODIR_IT_C_DEC \
- bin_search_tree_it_< \
- Node_Pointer, \
- Value_Type, \
- Pointer, \
- Const_Pointer, \
- Reference, \
- Const_Reference, \
- !Is_Forward_Iterator, \
- Allocator>
-
- // Const iterator.
- template<typename Node_Pointer,
- typename Value_Type,
- typename Pointer,
- typename Const_Pointer,
- typename Reference,
- typename Const_Reference,
- bool Is_Forward_Iterator,
- class Allocator>
- class bin_search_tree_const_it_
- {
-
- public:
-
- typedef std::bidirectional_iterator_tag iterator_category;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef Value_Type value_type;
-
- typedef Pointer pointer;
-
- typedef Const_Pointer const_pointer;
-
- typedef Reference reference;
-
- typedef Const_Reference const_reference;
-
- public:
-
- inline
- bin_search_tree_const_it_(const Node_Pointer p_nd = NULL)
- : m_p_nd(const_cast<Node_Pointer>(p_nd))
- { }
-
- inline
- bin_search_tree_const_it_(const PB_DS_TREE_CONST_ODIR_IT_C_DEC& other)
- : m_p_nd(other.m_p_nd)
- { }
-
- inline
- PB_DS_TREE_CONST_IT_C_DEC&
- operator=(const PB_DS_TREE_CONST_IT_C_DEC& other)
- {
- m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline
- PB_DS_TREE_CONST_IT_C_DEC&
- operator=(const PB_DS_TREE_CONST_ODIR_IT_C_DEC& other)
- {
- m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline const_pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd != NULL);
- return &m_p_nd->m_value;
- }
-
- inline const_reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd != NULL);
- return m_p_nd->m_value;
- }
-
- inline bool
- operator==(const PB_DS_TREE_CONST_IT_C_DEC & other) const
- { return m_p_nd == other.m_p_nd; }
-
- inline bool
- operator==(const PB_DS_TREE_CONST_ODIR_IT_C_DEC & other) const
- { return m_p_nd == other.m_p_nd; }
-
- inline bool
- operator!=(const PB_DS_TREE_CONST_IT_C_DEC& other) const
- { return m_p_nd != other.m_p_nd; }
-
- inline bool
- operator!=(const PB_DS_TREE_CONST_ODIR_IT_C_DEC& other) const
- { return m_p_nd != other.m_p_nd; }
-
- inline PB_DS_TREE_CONST_IT_C_DEC&
- operator++()
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd != NULL);
- inc(integral_constant<int,Is_Forward_Iterator>());
- return *this;
- }
-
- inline PB_DS_TREE_CONST_IT_C_DEC
- operator++(int)
- {
- PB_DS_TREE_CONST_IT_C_DEC ret_it(m_p_nd);
- operator++();
- return ret_it;
- }
-
- inline PB_DS_TREE_CONST_IT_C_DEC&
- operator--()
- {
- dec(integral_constant<int,Is_Forward_Iterator>());
- return *this;
- }
-
- inline PB_DS_TREE_CONST_IT_C_DEC
- operator--(int)
- {
- PB_DS_TREE_CONST_IT_C_DEC ret_it(m_p_nd);
- operator--();
- return ret_it;
- }
-
- protected:
- inline void
- inc(false_type)
- { dec(true_type()); }
-
- void
- inc(true_type)
- {
- if (m_p_nd->special()&&
- m_p_nd->m_p_parent->m_p_parent == m_p_nd)
- {
- m_p_nd = m_p_nd->m_p_left;
- return;
- }
-
- if (m_p_nd->m_p_right != NULL)
- {
- m_p_nd = m_p_nd->m_p_right;
- while (m_p_nd->m_p_left != NULL)
- m_p_nd = m_p_nd->m_p_left;
- return;
- }
-
- Node_Pointer p_y = m_p_nd->m_p_parent;
- while (m_p_nd == p_y->m_p_right)
- {
- m_p_nd = p_y;
- p_y = p_y->m_p_parent;
- }
-
- if (m_p_nd->m_p_right != p_y)
- m_p_nd = p_y;
- }
-
- inline void
- dec(false_type)
- { inc(true_type()); }
-
- void
- dec(true_type)
- {
- if (m_p_nd->special() && m_p_nd->m_p_parent->m_p_parent == m_p_nd)
- {
- m_p_nd = m_p_nd->m_p_right;
- return;
- }
-
- if (m_p_nd->m_p_left != NULL)
- {
- Node_Pointer p_y = m_p_nd->m_p_left;
- while (p_y->m_p_right != NULL)
- p_y = p_y->m_p_right;
- m_p_nd = p_y;
- return;
- }
-
- Node_Pointer p_y = m_p_nd->m_p_parent;
- while (m_p_nd == p_y->m_p_left)
- {
- m_p_nd = p_y;
- p_y = p_y->m_p_parent;
- }
- if (m_p_nd->m_p_left != p_y)
- m_p_nd = p_y;
- }
-
- public:
- Node_Pointer m_p_nd;
- };
-
- // Iterator.
- template<typename Node_Pointer,
- typename Value_Type,
- typename Pointer,
- typename Const_Pointer,
- typename Reference,
- typename Const_Reference,
- bool Is_Forward_Iterator,
- class Allocator>
- class bin_search_tree_it_ :
- public PB_DS_TREE_CONST_IT_C_DEC
-
- {
-
- public:
-
- inline
- bin_search_tree_it_(const Node_Pointer p_nd = NULL)
- : PB_DS_TREE_CONST_IT_C_DEC((Node_Pointer)p_nd)
- { }
-
- inline
- bin_search_tree_it_(const PB_DS_TREE_ODIR_IT_C_DEC& other)
- : PB_DS_TREE_CONST_IT_C_DEC(other.m_p_nd)
- { }
-
- inline
- PB_DS_TREE_IT_C_DEC&
- operator=(const PB_DS_TREE_IT_C_DEC& other)
- {
- base_it_type::m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline
- PB_DS_TREE_IT_C_DEC&
- operator=(const PB_DS_TREE_ODIR_IT_C_DEC& other)
- {
- base_it_type::m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline typename PB_DS_TREE_CONST_IT_C_DEC::pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(base_it_type::m_p_nd != NULL);
- return &base_it_type::m_p_nd->m_value;
- }
-
- inline typename PB_DS_TREE_CONST_IT_C_DEC::reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(base_it_type::m_p_nd != NULL);
- return base_it_type::m_p_nd->m_value;
- }
-
- inline PB_DS_TREE_IT_C_DEC&
- operator++()
- {
- PB_DS_TREE_CONST_IT_C_DEC:: operator++();
- return *this;
- }
-
- inline PB_DS_TREE_IT_C_DEC
- operator++(int)
- {
- PB_DS_TREE_IT_C_DEC ret_it(base_it_type::m_p_nd);
- operator++();
- return ret_it;
- }
-
- inline PB_DS_TREE_IT_C_DEC&
- operator--()
- {
- PB_DS_TREE_CONST_IT_C_DEC:: operator--();
- return *this;
- }
-
- inline PB_DS_TREE_IT_C_DEC
- operator--(int)
- {
- PB_DS_TREE_IT_C_DEC ret_it(base_it_type::m_p_nd);
- operator--();
- return ret_it;
- }
-
- protected:
- typedef PB_DS_TREE_CONST_IT_C_DEC base_it_type;
- };
-
-#undef PB_DS_TREE_CONST_IT_C_DEC
-#undef PB_DS_TREE_CONST_ODIR_IT_C_DEC
-#undef PB_DS_TREE_IT_C_DEC
-#undef PB_DS_TREE_ODIR_IT_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
deleted file mode 100644
index eadb47824777..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file policy_access_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn()
-{
- return (*this);
-}
-
-PB_DS_CLASS_T_DEC
-const Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn() const
-{
- return (*this);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
deleted file mode 100644
index 2bad9795b2bd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file r_erase_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-actual_erase_node(node_pointer p_z)
-{
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- --m_size;
-
- _GLIBCXX_DEBUG_ONLY(erase_existing(PB_DS_V2F(p_z->m_value)));
-
- p_z->~node();
-
- s_node_allocator.deallocate(p_z, 1);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-update_min_max_for_erased_node(node_pointer p_z)
-{
- if (m_size == 1)
- {
- m_p_head->m_p_left = m_p_head->m_p_right = m_p_head;
-
- return;
- }
-
- if (m_p_head->m_p_left == p_z)
- {
- iterator it(p_z);
-
- ++it;
-
- m_p_head->m_p_left = it.m_p_nd;
- }
- else if (m_p_head->m_p_right == p_z)
- {
- iterator it(p_z);
-
- --it;
-
- m_p_head->m_p_right = it.m_p_nd;
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
-
- clear_imp(m_p_head->m_p_parent);
-
- m_size = 0;
-
- initialize();
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::clear();)
-
- _GLIBCXX_DEBUG_ONLY(structure_only_assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear_imp(node_pointer p_nd)
-{
- if (p_nd == NULL)
- return;
-
- clear_imp(p_nd->m_p_left);
-
- clear_imp(p_nd->m_p_right);
-
- p_nd->~Node();
-
- s_node_allocator.deallocate(p_nd, 1);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
deleted file mode 100644
index 4e32aae637f3..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+++ /dev/null
@@ -1,162 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file rotate_fn_imps.hpp
- * Contains imps for rotating nodes.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-rotate_left(node_pointer p_x)
-{
- node_pointer p_y = p_x->m_p_right;
-
- p_x->m_p_right = p_y->m_p_left;
-
- if (p_y->m_p_left != NULL)
- p_y->m_p_left->m_p_parent = p_x;
-
- p_y->m_p_parent = p_x->m_p_parent;
-
- if (p_x == m_p_head->m_p_parent)
- m_p_head->m_p_parent = p_y;
- else if (p_x == p_x->m_p_parent->m_p_left)
- p_x->m_p_parent->m_p_left = p_y;
- else
- p_x->m_p_parent->m_p_right = p_y;
-
- p_y->m_p_left = p_x;
- p_x->m_p_parent = p_y;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_x);)
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y);)
-
- apply_update(p_x, (node_update* )this);
- apply_update(p_x->m_p_parent, (node_update* )this);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-rotate_right(node_pointer p_x)
-{
- node_pointer p_y = p_x->m_p_left;
-
- p_x->m_p_left = p_y->m_p_right;
-
- if (p_y->m_p_right != NULL)
- p_y->m_p_right->m_p_parent = p_x;
-
- p_y->m_p_parent = p_x->m_p_parent;
-
- if (p_x == m_p_head->m_p_parent)
- m_p_head->m_p_parent = p_y;
- else if (p_x == p_x->m_p_parent->m_p_right)
- p_x->m_p_parent->m_p_right = p_y;
- else
- p_x->m_p_parent->m_p_left = p_y;
-
- p_y->m_p_right = p_x;
- p_x->m_p_parent = p_y;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_x);)
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y);)
-
- apply_update(p_x, (node_update* )this);
- apply_update(p_x->m_p_parent, (node_update* )this);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-rotate_parent(node_pointer p_nd)
-{
- node_pointer p_parent = p_nd->m_p_parent;
-
- if (p_nd == p_parent->m_p_left)
- rotate_right(p_parent);
- else
- rotate_left(p_parent);
-
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_parent = p_nd);
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_left == p_parent ||
- p_nd->m_p_right == p_parent);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-apply_update(node_pointer /*p_nd*/, null_node_update_pointer /*p_update*/)
-{ }
-
-PB_DS_CLASS_T_DEC
-template<typename Node_Update_>
-inline void
-PB_DS_CLASS_C_DEC::
-apply_update(node_pointer p_nd, Node_Update_* /*p_update*/)
-{
- node_update::operator()(
- node_iterator(p_nd),
- const_node_iterator(static_cast<node_pointer>(NULL)));
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Node_Update_>
-inline void
-PB_DS_CLASS_C_DEC::
-update_to_top(node_pointer p_nd, Node_Update_* p_update)
-{
- while (p_nd != m_p_head)
- {
- apply_update(p_nd, p_update);
-
- p_nd = p_nd->m_p_parent;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-update_to_top(node_pointer /*p_nd*/, null_node_update_pointer /*p_update*/)
-{ }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
deleted file mode 100644
index 2c8e77dedf52..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,152 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-bool
-PB_DS_CLASS_C_DEC::
-join_prep(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- if (other.m_size == 0)
- return false;
-
- if (m_size == 0)
- {
- value_swap(other);
- return false;
- }
-
- const bool greater = Cmp_Fn::operator()(PB_DS_V2F(m_p_head->m_p_right->m_value), PB_DS_V2F(other.m_p_head->m_p_left->m_value));
-
- const bool lesser = Cmp_Fn::operator()(PB_DS_V2F(other.m_p_head->m_p_right->m_value), PB_DS_V2F(m_p_head->m_p_left->m_value));
-
- if (!greater && !lesser)
- __throw_join_error();
-
- if (lesser)
- value_swap(other);
-
- m_size += other.m_size;
- _GLIBCXX_DEBUG_ONLY(map_debug_base::join(other);)
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-join_finish(PB_DS_CLASS_C_DEC& other)
-{
- initialize_min_max();
- other.initialize();
-}
-
-PB_DS_CLASS_T_DEC
-bool
-PB_DS_CLASS_C_DEC::
-split_prep(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- other.clear();
-
- if (m_size == 0)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return false;
- }
-
- if (Cmp_Fn::operator()(r_key, PB_DS_V2F(m_p_head->m_p_left->m_value)))
- {
- value_swap(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return false;
- }
-
- if (!Cmp_Fn::operator()(r_key, PB_DS_V2F(m_p_head->m_p_right->m_value)))
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return false;
- }
-
- if (m_size == 1)
- {
- value_swap(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return false;
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::split(r_key,(Cmp_Fn& )(*this), other);)
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-split_finish(PB_DS_CLASS_C_DEC& other)
-{
- other.initialize_min_max();
- other.m_size = std::distance(other.begin(), other.end());
- m_size -= other.m_size;
- initialize_min_max();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-recursive_count(node_pointer p) const
-{
- if (p == NULL)
- return 0;
- return 1 + recursive_count(p->m_p_left) + recursive_count(p->m_p_right);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
deleted file mode 100644
index 4c57608cc56f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
+++ /dev/null
@@ -1,256 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file traits.hpp
- * Contains an implementation for bin_search_tree_.
- */
-
-#ifndef PB_DS_BIN_SEARCH_TREE_NODE_AND_IT_TRAITS_HPP
-#define PB_DS_BIN_SEARCH_TREE_NODE_AND_IT_TRAITS_HPP
-
-#include <ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Key,
- typename Mapped,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn,
- class Allocator>
- class Node_Update,
- class Node,
- class Allocator>
- struct bin_search_tree_traits
- {
- private:
- typedef
- types_traits<
- Key,
- Mapped,
- Allocator,
- false>
- type_traits;
-
- public:
- typedef Node node;
-
- typedef
- bin_search_tree_const_it_<
- typename Allocator::template rebind<
- node>::other::pointer,
- typename type_traits::value_type,
- typename type_traits::pointer,
- typename type_traits::const_pointer,
- typename type_traits::reference,
- typename type_traits::const_reference,
- true,
- Allocator>
- const_point_iterator;
-
- typedef
- bin_search_tree_it_<
- typename Allocator::template rebind<
- node>::other::pointer,
- typename type_traits::value_type,
- typename type_traits::pointer,
- typename type_traits::const_pointer,
- typename type_traits::reference,
- typename type_traits::const_reference,
- true,
- Allocator>
- point_iterator;
-
- typedef
- bin_search_tree_const_it_<
- typename Allocator::template rebind<
- node>::other::pointer,
- typename type_traits::value_type,
- typename type_traits::pointer,
- typename type_traits::const_pointer,
- typename type_traits::reference,
- typename type_traits::const_reference,
- false,
- Allocator>
- const_reverse_iterator;
-
- typedef
- bin_search_tree_it_<
- typename Allocator::template rebind<
- node>::other::pointer,
- typename type_traits::value_type,
- typename type_traits::pointer,
- typename type_traits::const_pointer,
- typename type_traits::reference,
- typename type_traits::const_reference,
- false,
- Allocator>
- reverse_iterator;
-
- typedef
- bin_search_tree_const_node_it_<
- Node,
- const_point_iterator,
- point_iterator,
- Allocator>
- const_node_iterator;
-
- typedef
- bin_search_tree_node_it_<
- Node,
- const_point_iterator,
- point_iterator,
- Allocator>
- node_iterator;
-
- typedef
- Node_Update<
- const_node_iterator,
- node_iterator,
- Cmp_Fn,
- Allocator>
- node_update;
-
- typedef
- pb_ds::null_tree_node_update<
- const_node_iterator,
- node_iterator,
- Cmp_Fn,
- Allocator>*
- null_node_update_pointer;
- };
-
- template<typename Key,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn,
- class Allocator>
- class Node_Update,
- class Node,
- class Allocator>
- struct bin_search_tree_traits<
- Key,
- null_mapped_type,
- Cmp_Fn,
- Node_Update,
- Node,
- Allocator>
- {
- private:
- typedef
- types_traits<
- Key,
- null_mapped_type,
- Allocator,
- false>
- type_traits;
-
- public:
- typedef Node node;
-
- typedef
- bin_search_tree_const_it_<
- typename Allocator::template rebind<
- node>::other::pointer,
- typename type_traits::value_type,
- typename type_traits::pointer,
- typename type_traits::const_pointer,
- typename type_traits::reference,
- typename type_traits::const_reference,
- true,
- Allocator>
- const_point_iterator;
-
- typedef const_point_iterator point_iterator;
-
- typedef
- bin_search_tree_const_it_<
- typename Allocator::template rebind<
- node>::other::pointer,
- typename type_traits::value_type,
- typename type_traits::pointer,
- typename type_traits::const_pointer,
- typename type_traits::reference,
- typename type_traits::const_reference,
- false,
- Allocator>
- const_reverse_iterator;
-
- typedef const_reverse_iterator reverse_iterator;
-
- typedef
- bin_search_tree_const_node_it_<
- Node,
- const_point_iterator,
- point_iterator,
- Allocator>
- const_node_iterator;
-
- typedef const_node_iterator node_iterator;
-
- typedef
- Node_Update<
- const_node_iterator,
- node_iterator,
- Cmp_Fn,
- Allocator>
- node_update;
-
- typedef
- pb_ds::null_tree_node_update<
- const_node_iterator,
- node_iterator,
- Cmp_Fn,
- Allocator>*
- null_node_update_pointer;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_BIN_SEARCH_TREE_NODE_AND_IT_TRAITS_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
deleted file mode 100644
index 659b7732866f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
+++ /dev/null
@@ -1,363 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file binary_heap_.hpp
- * Contains an implementation class for a binary heap.
- */
-
-#ifndef PB_DS_BINARY_HEAP_HPP
-#define PB_DS_BINARY_HEAP_HPP
-
-/*
- * Based on CLRS.
- */
-
-#include <queue>
-#include <algorithm>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/binary_heap_/entry_cmp.hpp>
-#include <ext/pb_ds/detail/binary_heap_/entry_pred.hpp>
-#include <ext/pb_ds/detail/binary_heap_/resize_policy.hpp>
-#include <ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp>
-#include <ext/pb_ds/detail/binary_heap_/const_iterator.hpp>
-#ifdef PB_DS_BINARY_HEAP_TRACE_
-#include <iostream>
-#endif
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Value_Type, class Cmp_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- binary_heap_<Value_Type, Cmp_Fn, Allocator>
-
-#define PB_DS_ENTRY_CMP_DEC \
- entry_cmp<Value_Type, Cmp_Fn, is_simple<Value_Type>::value, Allocator>::type
-
-#define PB_DS_RESIZE_POLICY_DEC \
- resize_policy<typename Allocator::size_type>
-
- /**
- * class description = "Base class for some types of h3ap$">
- **/
- template<typename Value_Type, class Cmp_Fn, class Allocator>
- class binary_heap_ : public PB_DS_ENTRY_CMP_DEC,
- public PB_DS_RESIZE_POLICY_DEC
- {
-
- private:
- enum
- {
- simple_value = is_simple<Value_Type>::value
- };
-
- typedef integral_constant<int, simple_value> no_throw_copies_t;
-
- typedef
- typename Allocator::template rebind<
- Value_Type>::other
- value_allocator;
-
- typedef
- typename __conditional_type<
- simple_value,
- Value_Type,
- typename value_allocator::pointer>::__type
- entry;
-
- typedef
- typename Allocator::template rebind<
- entry>::other
- entry_allocator;
-
- typedef typename entry_allocator::pointer entry_pointer;
-
- typedef typename PB_DS_ENTRY_CMP_DEC entry_cmp;
-
- typedef PB_DS_RESIZE_POLICY_DEC resize_policy;
-
- typedef
- cond_dealtor<
- Value_Type,
- Allocator>
- cond_dealtor_t;
-
- public:
-
- typedef typename Allocator::size_type size_type;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef Value_Type value_type;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::pointer
- pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_pointer
- const_pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::reference
- reference;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_reference
- const_reference;
-
- typedef
- binary_heap_const_point_iterator_<
- value_type,
- entry,
- simple_value,
- Allocator>
- const_point_iterator;
-
- typedef const_point_iterator point_iterator;
-
- typedef
- binary_heap_const_iterator_<
- value_type,
- entry,
- simple_value,
- Allocator>
- const_iterator;
-
- typedef const_iterator iterator;
-
- typedef Cmp_Fn cmp_fn;
-
- typedef Allocator allocator;
-
- public:
-
- binary_heap_();
-
- binary_heap_(const Cmp_Fn& r_cmp_fn);
-
- binary_heap_(const PB_DS_CLASS_C_DEC& other);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- ~binary_heap_();
-
- inline bool
- empty() const;
-
- inline size_type
- size() const;
-
- inline size_type
- max_size() const;
-
- Cmp_Fn&
- get_cmp_fn();
-
- const Cmp_Fn&
- get_cmp_fn() const;
-
- inline point_iterator
- push(const_reference r_val);
-
- void
- modify(point_iterator it, const_reference r_new_val);
-
- inline const_reference
- top() const;
-
- inline void
- pop();
-
- inline void
- erase(point_iterator it);
-
- template<typename Pred>
- typename PB_DS_CLASS_C_DEC::size_type
- erase_if(Pred pred);
-
- inline static void
- erase_at(entry_pointer a_entries, size_type size, false_type);
-
- inline static void
- erase_at(entry_pointer a_entries, size_type size, true_type);
-
- inline iterator
- begin();
-
- inline const_iterator
- begin() const;
-
- inline iterator
- end();
-
- inline const_iterator
- end() const;
-
- void
- clear();
-
- template<typename Pred>
- void
- split(Pred pred, PB_DS_CLASS_C_DEC& other);
-
- void
- join(PB_DS_CLASS_C_DEC& other);
-
-#ifdef PB_DS_BINARY_HEAP_TRACE_
- void
- trace() const;
-#endif
-
- protected:
-
- template<typename It>
- void
- copy_from_range(It first_it, It last_it);
-
- private:
-
- void
- value_swap(PB_DS_CLASS_C_DEC& other);
-
- inline void
- insert_value(const_reference r_val, false_type);
-
- inline void
- insert_value(value_type val, true_type);
-
- inline void
- insert_entry(entry e);
-
- inline void
- resize_for_insert_if_needed();
-
- inline void
- swap_value_imp(entry_pointer p_e, value_type new_val, true_type);
-
- inline void
- swap_value_imp(entry_pointer p_e, const_reference r_new_val, false_type);
-
- void
- fix(entry_pointer p_e);
-
- inline const_reference
- top_imp(true_type) const;
-
- inline const_reference
- top_imp(false_type) const;
-
- inline static size_type
- left_child(size_type i);
-
- inline static size_type
- right_child(size_type i);
-
- inline static size_type
- parent(size_type i);
-
- inline void
- resize_for_erase_if_needed();
-
- template<typename Pred>
- size_type
- partition(Pred pred);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
-#ifdef PB_DS_BINARY_HEAP_TRACE_
- void
- trace_entry(const entry& r_e, false_type) const;
-
- void
- trace_entry(const entry& r_e, true_type) const;
-#endif
-
- private:
- static entry_allocator s_entry_allocator;
-
- static value_allocator s_value_allocator;
-
- static no_throw_copies_t s_no_throw_copies_ind;
-
- size_type m_size;
-
- size_type m_actual_size;
-
- entry_pointer m_a_entries;
- };
-
-#include <ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp>
-#include <ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_ENTRY_CMP_DEC
-#undef PB_DS_RESIZE_POLICY_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
deleted file mode 100644
index 12b96e766ba0..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file const_iterator.hpp
- * Contains an iterator class returned by the table's const find and insert
- * methods.
- */
-
-#ifndef PB_DS_BINARY_HEAP_CONST_ITERATOR_HPP
-#define PB_DS_BINARY_HEAP_CONST_ITERATOR_HPP
-
-#include <ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_C_DEC \
- binary_heap_const_iterator_<Value_Type, Entry, Simple, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- binary_heap_const_point_iterator_<Value_Type, Entry, Simple, Allocator>
-
- // Const point-type iterator.
- template<typename Value_Type,
- typename Entry,
- bool Simple,
- class Allocator>
- class binary_heap_const_iterator_ : public PB_DS_BASE_C_DEC
- {
-
- private:
- typedef typename PB_DS_BASE_C_DEC::entry_pointer entry_pointer;
-
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
-
- // Category.
- typedef std::forward_iterator_tag iterator_category;
-
- // Difference type.
- typedef typename Allocator::difference_type difference_type;
-
- // Iterator's value type.
- typedef typename base_type::value_type value_type;
-
- // Iterator's pointer type.
- typedef typename base_type::pointer pointer;
-
- // Iterator's const pointer type.
- typedef typename base_type::const_pointer const_pointer;
-
- // Iterator's reference type.
- typedef typename base_type::reference reference;
-
- // Iterator's const reference type.
- typedef typename base_type::const_reference const_reference;
-
- public:
-
- inline
- binary_heap_const_iterator_(entry_pointer p_e) : base_type(p_e)
- { }
-
- // Default constructor.
- inline
- binary_heap_const_iterator_()
- { }
-
- // Copy constructor.
- inline
- binary_heap_const_iterator_(const PB_DS_CLASS_C_DEC& other) : base_type(other)
- { }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const PB_DS_CLASS_C_DEC& other) const
- {
- return base_type::m_p_e == other.m_p_e;
- }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const PB_DS_CLASS_C_DEC& other) const
- {
- return base_type::m_p_e != other.m_p_e;
- }
-
- inline PB_DS_CLASS_C_DEC&
- operator++()
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_e != NULL);
- inc();
- return *this;
- }
-
- inline PB_DS_CLASS_C_DEC
- operator++(int)
- {
- PB_DS_CLASS_C_DEC ret_it(base_type::m_p_e);
- operator++();
- return ret_it;
- }
-
- private:
- void
- inc()
- { ++base_type::m_p_e; }
- };
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_BASE_C_DEC
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp
deleted file mode 100644
index 3a50cd6c4b1e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file const_point_iterator.hpp
- * Contains an iterator class returned by the table's const find and insert
- * methods.
- */
-
-#ifndef PB_DS_BINARY_HEAP_CONST_FIND_ITERATOR_HPP
-#define PB_DS_BINARY_HEAP_CONST_FIND_ITERATOR_HPP
-
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
- // Const point-type iterator.
- template<typename Value_Type, typename Entry, bool Simple,
- typename Allocator>
- class binary_heap_const_point_iterator_
- {
- protected:
- typedef typename Allocator::template rebind<Entry>::other::pointer entry_pointer;
-
- public:
- // Category.
- typedef trivial_iterator_tag iterator_category;
-
- // Difference type.
- typedef trivial_iterator_difference_type difference_type;
-
- // Iterator's value type.
- typedef Value_Type value_type;
-
- // Iterator's pointer type.
- typedef typename Allocator::template rebind<value_type>::other::pointer
- pointer;
-
- // Iterator's const pointer type.
- typedef
- typename Allocator::template rebind<value_type>::other::const_pointer
- const_pointer;
-
- // Iterator's reference type.
- typedef
- typename Allocator::template rebind<value_type>::other::reference
- reference;
-
- // Iterator's const reference type.
- typedef
- typename Allocator::template rebind<value_type>::other::const_reference
- const_reference;
-
- inline
- binary_heap_const_point_iterator_(entry_pointer p_e) : m_p_e(p_e)
- { }
-
- // Default constructor.
- inline
- binary_heap_const_point_iterator_() : m_p_e(NULL) { }
-
- // Copy constructor.
- inline
- binary_heap_const_point_iterator_(const binary_heap_const_point_iterator_& other)
- : m_p_e(other.m_p_e)
- { }
-
- // Access.
- inline const_pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_e != NULL);
- return to_ptr(integral_constant<int, Simple>());
- }
-
- // Access.
- inline const_reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_e != NULL);
- return *to_ptr(integral_constant<int, Simple>());
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const binary_heap_const_point_iterator_& other) const
- { return m_p_e == other.m_p_e; }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const binary_heap_const_point_iterator_& other) const
- { return m_p_e != other.m_p_e; }
-
- private:
- inline const_pointer
- to_ptr(true_type) const
- { return m_p_e; }
-
- inline const_pointer
- to_ptr(false_type) const
- { return *m_p_e; }
-
- public:
- entry_pointer m_p_e;
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index b43529beeb3d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for binary_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::entry_allocator
-PB_DS_CLASS_C_DEC::s_entry_allocator;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::value_allocator
-PB_DS_CLASS_C_DEC::s_value_allocator;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::no_throw_copies_t
-PB_DS_CLASS_C_DEC::s_no_throw_copies_ind;
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- {
- insert_value(*first_it, s_no_throw_copies_ind);
- ++first_it;
- }
-
- std::make_heap(m_a_entries, m_a_entries + m_size, static_cast<entry_cmp& >(*this));
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binary_heap_() :
- m_size(0),
- m_actual_size(resize_policy::min_size),
- m_a_entries(s_entry_allocator.allocate(m_actual_size))
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binary_heap_(const Cmp_Fn& r_cmp_fn) :
- entry_cmp(r_cmp_fn),
- m_size(0),
- m_actual_size(resize_policy::min_size),
- m_a_entries(s_entry_allocator.allocate(m_actual_size))
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binary_heap_(const PB_DS_CLASS_C_DEC& other) :
- entry_cmp(other),
- resize_policy(other),
- m_size(0),
- m_actual_size(other.m_actual_size),
- m_a_entries(s_entry_allocator.allocate(m_actual_size))
-{
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(m_a_entries != other.m_a_entries);
-
- const_iterator first_it = other.begin();
- const_iterator last_it = other.end();
-
- try
- {
- while (first_it != last_it)
- {
- insert_value(*first_it, s_no_throw_copies_ind);
- ++first_it;
- }
- }
- catch(...)
- {
- for (size_type i = 0; i < m_size; ++i)
- erase_at(m_a_entries, i, s_no_throw_copies_ind);
-
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
- __throw_exception_again;
- }
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(m_a_entries != other.m_a_entries);
-
- value_swap(other);
- std::swap((entry_cmp& )(*this), (entry_cmp& )other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-value_swap(PB_DS_CLASS_C_DEC& other)
-{
- std::swap(m_a_entries, other.m_a_entries);
- std::swap(m_size, other.m_size);
- std::swap(m_actual_size, other.m_actual_size);
- static_cast<resize_policy*>(this)->swap(other);
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~binary_heap_()
-{
- for (size_type i = 0; i < m_size; ++i)
- erase_at(m_a_entries, i, s_no_throw_copies_ind);
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
deleted file mode 100644
index 198d6608e37a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
-#ifdef PB_DS_REGRESSION
- s_entry_allocator.check_allocated(m_a_entries, m_actual_size);
-#endif
-
- resize_policy::assert_valid();
- _GLIBCXX_DEBUG_ASSERT(m_size <= m_actual_size);
- for (size_type i = 0; i < m_size; ++i)
- {
-#ifdef PB_DS_REGRESSION
- s_value_allocator.check_allocated(m_a_entries[i], 1);
-#endif
-
- if (left_child(i) < m_size)
- _GLIBCXX_DEBUG_ASSERT(!entry_cmp::operator()(m_a_entries[i], m_a_entries[left_child(i)]));
-
- _GLIBCXX_DEBUG_ASSERT(parent(left_child(i)) == i);
-
- if (right_child(i) < m_size)
- _GLIBCXX_DEBUG_ASSERT(!entry_cmp::operator()(m_a_entries[i], m_a_entries[right_child(i)]));
-
- _GLIBCXX_DEBUG_ASSERT(parent(right_child(i)) == i);
- }
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
deleted file mode 100644
index c98dae75cab2..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file entry_cmp.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-#ifndef PB_DS_BINARY_HEAP_ENTRY_CMP_HPP
-#define PB_DS_BINARY_HEAP_ENTRY_CMP_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Value_Type,
- class Cmp_Fn,
- bool No_Throw,
- class Allocator>
- struct entry_cmp
- {
- typedef Cmp_Fn type;
- };
-
- template<typename Value_Type, class Cmp_Fn, class Allocator>
- struct entry_cmp<
- Value_Type,
- Cmp_Fn,
- false,
- Allocator>
- {
- public:
- typedef
- typename Allocator::template rebind<
- Value_Type>::other::const_pointer
- entry;
-
- struct type : public Cmp_Fn
- {
- public:
- inline
- type()
- { }
-
- inline
- type(const Cmp_Fn& other) : Cmp_Fn(other)
- { }
-
- inline bool
- operator()(entry p_lhs, entry p_rhs) const
- {
- return Cmp_Fn::operator()(*p_lhs, * p_rhs);
- }
- };
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_BINARY_HEAP_ENTRY_CMP_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
deleted file mode 100644
index 25102f2c1ad6..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file entry_pred.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-#ifndef PB_DS_BINARY_HEAP_ENTRY_PRED_HPP
-#define PB_DS_BINARY_HEAP_ENTRY_PRED_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Value_Type,
- class Pred,
- bool No_Throw,
- class Allocator>
- struct entry_pred
- {
- typedef Pred type;
- };
-
- template<typename Value_Type, class Pred, class Allocator>
- struct entry_pred<
- Value_Type,
- Pred,
- false,
- Allocator>
- {
- public:
- typedef
- typename Allocator::template rebind<
- Value_Type>::other::const_pointer
- entry;
-
- struct type : public Pred
- {
- public:
- inline
- type()
- { }
-
- inline
- type(const Pred& other) : Pred(other)
- { }
-
- inline bool
- operator()(entry p_v) const
- {
- return Pred::operator()(*p_v);
- }
- };
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_BINARY_HEAP_ENTRY_PRED_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
deleted file mode 100644
index 72686d129743..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,252 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- for (size_type i = 0; i < m_size; ++i)
- erase_at(m_a_entries, i, s_no_throw_copies_ind);
-
- try
- {
- const size_type actual_size = resize_policy::get_new_size_for_arbitrary(0);
-
- entry_pointer a_entries = s_entry_allocator.allocate(actual_size);
-
- resize_policy::notify_arbitrary(actual_size);
-
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
-
- m_actual_size = actual_size;
-
- m_a_entries = a_entries;
- }
- catch(...)
- { }
-
- m_size = 0;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_at(entry_pointer a_entries, size_type i, false_type)
-{
- a_entries[i]->~value_type();
-
- s_value_allocator.deallocate(a_entries[i], 1);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_at(entry_pointer, size_type, true_type)
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-pop()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!empty());
-
- erase_at(m_a_entries, 0, s_no_throw_copies_ind);
-
- std::pop_heap(m_a_entries, m_a_entries + m_size, static_cast<entry_cmp& >(*this));
-
- resize_for_erase_if_needed();
-
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- --m_size;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- typedef
- typename entry_pred<
- value_type,
- Pred,
- simple_value,
- Allocator>::type
- pred_t;
-
- const size_type left = partition(pred_t(pred));
-
- _GLIBCXX_DEBUG_ASSERT(m_size >= left);
-
- const size_type ersd = m_size - left;
-
- for (size_type i = left; i < m_size; ++i)
- erase_at(m_a_entries, i, s_no_throw_copies_ind);
-
- try
- {
- const size_type actual_size =
- resize_policy::get_new_size_for_arbitrary(left);
-
- entry_pointer a_entries = s_entry_allocator.allocate(actual_size);
-
- std::copy(m_a_entries, m_a_entries + left, a_entries);
-
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
-
- m_actual_size = actual_size;
-
- resize_policy::notify_arbitrary(m_actual_size);
- }
- catch(...)
- { };
-
- m_size = left;
-
- std::make_heap(m_a_entries, m_a_entries + m_size, static_cast<entry_cmp& >(*this));
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return ersd;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-erase(point_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!empty());
-
- const size_type fix_pos = it.m_p_e - m_a_entries;
-
- std::swap(*it.m_p_e, m_a_entries[m_size - 1]);
-
- erase_at(m_a_entries, m_size - 1, s_no_throw_copies_ind);
-
- resize_for_erase_if_needed();
-
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- --m_size;
-
- _GLIBCXX_DEBUG_ASSERT(fix_pos <= m_size);
-
- if (fix_pos != m_size)
- fix(m_a_entries + fix_pos);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-resize_for_erase_if_needed()
-{
- if (!resize_policy::resize_needed_for_shrink(m_size))
- return;
-
- try
- {
- const size_type new_actual_size =
- resize_policy::get_new_size_for_shrink();
-
- entry_pointer a_new_entries = s_entry_allocator.allocate(new_actual_size);
-
- resize_policy::notify_shrink_resize();
-
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- std::copy(m_a_entries, m_a_entries + m_size - 1, a_new_entries);
-
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
-
- m_actual_size = new_actual_size;
-
- m_a_entries = a_new_entries;
- }
- catch(...)
- { }
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-partition(Pred pred)
-{
- size_type left = 0;
- size_type right = m_size - 1;
-
- while (right + 1 != left)
- {
- _GLIBCXX_DEBUG_ASSERT(left <= m_size);
-
- if (!pred(m_a_entries[left]))
- ++left;
- else if (pred(m_a_entries[right]))
- --right;
- else
- {
- _GLIBCXX_DEBUG_ASSERT(left < right);
-
- std::swap(m_a_entries[left], m_a_entries[right]);
-
- ++left;
- --right;
- }
- }
-
- return left;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
deleted file mode 100644
index b7606b673d8e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reference
-PB_DS_CLASS_C_DEC::
-top() const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!empty());
-
- return top_imp(s_no_throw_copies_ind);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reference
-PB_DS_CLASS_C_DEC::
-top_imp(true_type) const
-{
- return* m_a_entries;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reference
-PB_DS_CLASS_C_DEC::
-top_imp(false_type) const
-{
- return** m_a_entries;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-left_child(size_type i)
-{
- return i* 2 + 1;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-right_child(size_type i)
-{
- return i* 2 + 2;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-parent(size_type i)
-{
- return (i - 1) / 2;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
deleted file mode 100644
index eb227d3beace..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{
- return (m_size == 0);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{
- return (m_size);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{
- return (s_entry_allocator.max_size());
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
deleted file mode 100644
index 489ccc124653..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-push(const_reference r_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- insert_value(r_val, s_no_throw_copies_ind);
-
- std::push_heap(m_a_entries, m_a_entries + m_size, static_cast<entry_cmp& >(*this));
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return point_iterator(m_a_entries);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-insert_value(value_type val, true_type)
-{
- resize_for_insert_if_needed();
-
- m_a_entries[m_size++] = val;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-insert_value(const_reference r_val, false_type)
-{
- resize_for_insert_if_needed();
-
- pointer p_new = s_value_allocator.allocate(1);
-
- cond_dealtor_t cond(p_new);
-
- new (p_new) value_type(r_val);
-
- cond.set_no_action();
-
- m_a_entries[m_size++] = p_new;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-insert_entry(entry e)
-{
- resize_for_insert_if_needed();
-
- m_a_entries[m_size++] = e;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-resize_for_insert_if_needed()
-{
- if (!resize_policy::resize_needed_for_grow(m_size))
- {
- _GLIBCXX_DEBUG_ASSERT(m_size < m_actual_size);
-
- return;
- }
-
- const size_type new_actual_size =
- resize_policy::get_new_size_for_grow();
-
- entry_pointer a_new_entries = s_entry_allocator.allocate(new_actual_size);
-
- resize_policy::notify_grow_resize();
-
- std::copy(m_a_entries, m_a_entries + m_size, a_new_entries);
-
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
-
- m_actual_size = new_actual_size;
-
- m_a_entries = a_new_entries;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-modify(point_iterator it, const_reference r_new_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- swap_value_imp(it.m_p_e, r_new_val, s_no_throw_copies_ind);
-
- fix(it.m_p_e);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-fix(entry_pointer p_e)
-{
- size_type i = p_e - m_a_entries;
-
- if (i > 0&& entry_cmp::operator()(m_a_entries[parent(i)], m_a_entries[i]))
- {
- size_type parent_i = parent(i);
-
- while (i > 0&& entry_cmp::operator()(m_a_entries[parent_i], m_a_entries[i]))
- {
- std::swap(m_a_entries[i], m_a_entries[parent_i]);
-
- i = parent_i;
-
- parent_i = parent(i);
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return;
- }
-
- while (i < m_size)
- {
- const size_type left_child_i = left_child(i);
- const size_type right_child_i = right_child(i);
-
- _GLIBCXX_DEBUG_ASSERT(right_child_i > left_child_i);
-
- const bool smaller_than_left_child =
- left_child_i < m_size&&
- entry_cmp::operator()(m_a_entries[i], m_a_entries[left_child_i]);
-
- const bool smaller_than_right_child =
- right_child_i < m_size&&
- entry_cmp::operator()(m_a_entries[i], m_a_entries[right_child_i]);
-
- const bool swap_with_r_child = smaller_than_right_child&& (!smaller_than_left_child ||
- entry_cmp::operator()(m_a_entries[left_child_i], m_a_entries[right_child_i]));
-
- const bool swap_with_l_child = !swap_with_r_child&& smaller_than_left_child;
-
- if (swap_with_l_child)
- {
- std::swap(m_a_entries[i], m_a_entries[left_child_i]);
-
- i = left_child_i;
- }
- else if (swap_with_r_child)
- {
- std::swap(m_a_entries[i], m_a_entries[right_child_i]);
-
- i = right_child_i;
- }
- else
- i = m_size;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-swap_value_imp(entry_pointer p_e, value_type new_val, true_type)
-{
- * p_e = new_val;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-swap_value_imp(entry_pointer p_e, const_reference r_new_val, false_type)
-{
- value_type tmp(r_new_val);
- (*p_e)->swap(tmp);
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
deleted file mode 100644
index 7a647c33556e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterators_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-begin()
-{
- return (iterator(m_a_entries));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin() const
-{
- return (const_iterator(m_a_entries));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-end()
-{
- return (iterator(m_a_entries + m_size));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end() const
-{
- return (const_iterator(m_a_entries + m_size));
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
deleted file mode 100644
index 6c019c085822..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file policy_access_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-PB_DS_CLASS_T_DEC
-Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn()
-{
- return (*this);
-}
-
-PB_DS_CLASS_T_DEC
-const Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn() const
-{
- return (*this);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
deleted file mode 100644
index c6021a998041..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
+++ /dev/null
@@ -1,259 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file resize_policy.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-#ifndef PB_DS_BINARY_HEAP_RESIZE_POLICY_HPP
-#define PB_DS_BINARY_HEAP_RESIZE_POLICY_HPP
-
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC template<typename Size_Type>
-
-#define PB_DS_CLASS_C_DEC resize_policy<Size_Type>
-
- template<typename Size_Type>
- class resize_policy
- {
- public:
- typedef Size_Type size_type;
-
- enum
- {
- min_size = 16
- };
-
- public:
- inline
- resize_policy();
-
- inline void
- swap(PB_DS_CLASS_C_DEC& other);
-
- inline bool
- resize_needed_for_grow(size_type size) const;
-
- inline bool
- resize_needed_for_shrink(size_type size) const;
-
- inline bool
- grow_needed(size_type size) const;
-
- inline bool
- shrink_needed(size_type size) const;
-
- inline size_type
- get_new_size_for_grow() const;
-
- inline size_type
- get_new_size_for_shrink() const;
-
- size_type
- get_new_size_for_arbitrary(size_type size) const;
-
- inline void
- notify_grow_resize();
-
- inline void
- notify_shrink_resize();
-
- void
- notify_arbitrary(size_type actual_size);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
-#ifdef PB_DS_BINARY_HEAP_TRACE_
- void
- trace() const;
-#endif
-
- private:
- enum
- {
- ratio = 8,
- factor = 2
- };
-
- private:
- size_type m_next_shrink_size;
- size_type m_next_grow_size;
- };
-
- PB_DS_CLASS_T_DEC
- inline
- PB_DS_CLASS_C_DEC::
- resize_policy() :
- m_next_shrink_size(0),
- m_next_grow_size(min_size)
- { _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- std::swap(m_next_shrink_size, other.m_next_shrink_size);
- std::swap(m_next_grow_size, other.m_next_grow_size);
- }
-
- PB_DS_CLASS_T_DEC
- inline bool
- PB_DS_CLASS_C_DEC::
- resize_needed_for_grow(size_type size) const
- {
- _GLIBCXX_DEBUG_ASSERT(size <= m_next_grow_size);
- return size == m_next_grow_size;
- }
-
- PB_DS_CLASS_T_DEC
- inline bool
- PB_DS_CLASS_C_DEC::
- resize_needed_for_shrink(size_type size) const
- {
- _GLIBCXX_DEBUG_ASSERT(size <= m_next_grow_size);
- return size == m_next_shrink_size;
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- get_new_size_for_grow() const
- { return m_next_grow_size* factor; }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- get_new_size_for_shrink() const
- {
- const size_type half_size = m_next_grow_size / factor;
- return std::max(static_cast<size_type>(min_size), half_size);
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- get_new_size_for_arbitrary(size_type size) const
- {
- size_type ret = min_size;
- while (ret < size)
- ret *= factor;
- return ret;
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- notify_grow_resize()
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(m_next_grow_size >= min_size);
- m_next_grow_size *= factor;
- m_next_shrink_size = m_next_grow_size / ratio;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- notify_shrink_resize()
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- m_next_shrink_size /= factor;
- if (m_next_shrink_size == 1)
- m_next_shrink_size = 0;
-
- m_next_grow_size =
- std::max(m_next_grow_size / factor, static_cast<size_type>(min_size));
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- notify_arbitrary(size_type actual_size)
- {
- m_next_grow_size = actual_size;
- m_next_shrink_size = m_next_grow_size / ratio;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- assert_valid() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_next_shrink_size == 0 ||
- m_next_shrink_size* ratio == m_next_grow_size);
-
- _GLIBCXX_DEBUG_ASSERT(m_next_grow_size >= min_size);
- }
-#endif
-
-#ifdef PB_DS_BINARY_HEAP_TRACE_
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- trace() const
- {
- std::cerr << "shrink = " << m_next_shrink_size <<
- " grow = " << m_next_grow_size << std::endl;
- }
-#endif
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-} // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
deleted file mode 100644
index 679efa5c4752..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,178 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-void
-PB_DS_CLASS_C_DEC::
-split(Pred pred, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- typedef
- typename entry_pred<
- value_type,
- Pred,
- simple_value,
- Allocator>::type
- pred_t;
-
- const size_type left = partition(pred_t(pred));
-
- _GLIBCXX_DEBUG_ASSERT(m_size >= left);
-
- const size_type ersd = m_size - left;
-
- _GLIBCXX_DEBUG_ASSERT(m_size >= ersd);
-
- const size_type actual_size =
- resize_policy::get_new_size_for_arbitrary(left);
-
- const size_type other_actual_size =
- other.get_new_size_for_arbitrary(ersd);
-
- entry_pointer a_entries = NULL;
- entry_pointer a_other_entries = NULL;
-
- try
- {
- a_entries = s_entry_allocator.allocate(actual_size);
-
- a_other_entries = s_entry_allocator.allocate(other_actual_size);
- }
- catch(...)
- {
- if (a_entries != NULL)
- s_entry_allocator.deallocate(a_entries, actual_size);
-
- if (a_other_entries != NULL)
- s_entry_allocator.deallocate(a_other_entries, other_actual_size);
-
- __throw_exception_again;
- };
-
- for (size_type i = 0; i < other.m_size; ++i)
- erase_at(other.m_a_entries, i, s_no_throw_copies_ind);
-
- _GLIBCXX_DEBUG_ASSERT(actual_size >= left);
- std::copy(m_a_entries, m_a_entries + left, a_entries);
- std::copy(m_a_entries + left, m_a_entries + m_size, a_other_entries);
-
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
- s_entry_allocator.deallocate(other.m_a_entries, other.m_actual_size);
-
- m_actual_size = actual_size;
- other.m_actual_size = other_actual_size;
-
- m_size = left;
- other.m_size = ersd;
-
- m_a_entries = a_entries;
- other.m_a_entries = a_other_entries;
-
- std::make_heap(m_a_entries, m_a_entries + m_size, static_cast<entry_cmp& >(*this));
- std::make_heap(other.m_a_entries, other.m_a_entries + other.m_size, static_cast<entry_cmp& >(other));
-
- resize_policy::notify_arbitrary(m_actual_size);
- other.notify_arbitrary(other.m_actual_size);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- const size_type len = m_size + other.m_size;
- const size_type actual_size = resize_policy::get_new_size_for_arbitrary(len);
-
- entry_pointer a_entries = NULL;
- entry_pointer a_other_entries = NULL;
-
- try
- {
- a_entries = s_entry_allocator.allocate(actual_size);
- a_other_entries = s_entry_allocator.allocate(resize_policy::min_size);
- }
- catch(...)
- {
- if (a_entries != NULL)
- s_entry_allocator.deallocate(a_entries, actual_size);
-
- if (a_other_entries != NULL)
- s_entry_allocator.deallocate(a_other_entries, resize_policy::min_size);
-
- __throw_exception_again;
- }
-
- std::copy(m_a_entries, m_a_entries + m_size, a_entries);
- std::copy(other.m_a_entries, other.m_a_entries + other.m_size, a_entries + m_size);
-
- s_entry_allocator.deallocate(m_a_entries, m_actual_size);
- m_a_entries = a_entries;
- m_size = len;
- m_actual_size = actual_size;
-
- resize_policy::notify_arbitrary(actual_size);
-
- std::make_heap(m_a_entries, m_a_entries + m_size, static_cast<entry_cmp& >(*this));
-
- s_entry_allocator.deallocate(other.m_a_entries, other.m_actual_size);
- other.m_a_entries = a_other_entries;
- other.m_size = 0;
- other.m_actual_size = resize_policy::min_size;
-
- other.notify_arbitrary(resize_policy::min_size);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
deleted file mode 100644
index bcc10656abba..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains an implementation class for a binary_heap.
- */
-
-#ifdef PB_DS_BINARY_HEAP_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- std::cerr << this << std::endl;
-
- std::cerr << m_a_entries << std::endl;
-
- for (size_type i = 0; i < m_size; ++i)
- trace_entry(m_a_entries[i], s_no_throw_copies_ind);
-
- std::cerr << std::endl;
-
- std::cerr << "size = " << m_size << " " << "actual_size = " << m_actual_size << std::endl;
-
- resize_policy::trace();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace_entry(const entry& r_e, false_type) const
-{
- std::cout << r_e << " " <<* r_e << std::endl;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace_entry(const entry& r_e, true_type) const
-{
- std::cout << r_e << std::endl;
-}
-
-#endif // #ifdef PB_DS_BINARY_HEAP_TRACE_
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
deleted file mode 100644
index c6f361d936c8..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file binomial_heap_.hpp
- * Contains an implementation class for a binomial heap.
- */
-
-/*
- * Binomial heap.
- * Vuillemin J is the mastah.
- * Modified from CLRS.
- */
-
-#include <debug/debug.h>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Value_Type, class Cmp_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- binomial_heap_<Value_Type, Cmp_Fn, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- binomial_heap_base_<Value_Type, Cmp_Fn, Allocator>
-
- /**
- * class description = "8y|\|0|\/|i41 h34p 74813">
- **/
- template<typename Value_Type, class Cmp_Fn, class Allocator>
- class binomial_heap_ : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
- typedef typename base_type::node_pointer node_pointer;
- typedef typename base_type::const_node_pointer const_node_pointer;
-
- public:
- typedef Value_Type value_type;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
- typedef typename base_type::pointer pointer;
- typedef typename base_type::const_pointer const_pointer;
- typedef typename base_type::reference reference;
- typedef typename base_type::const_reference const_reference;
- typedef typename base_type::const_point_iterator const_point_iterator;
- typedef typename base_type::point_iterator point_iterator;
- typedef typename base_type::const_iterator const_iterator;
- typedef typename base_type::iterator iterator;
- typedef typename base_type::cmp_fn cmp_fn;
- typedef typename base_type::allocator allocator;
-
- binomial_heap_();
-
- binomial_heap_(const Cmp_Fn& r_cmp_fn);
-
- binomial_heap_(const PB_DS_CLASS_C_DEC& other);
-
- ~binomial_heap_();
-
- protected:
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
- };
-
-#include <ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_BASE_C_DEC
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 2e63cf8e923a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation for binomial_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binomial_heap_()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binomial_heap_(const Cmp_Fn& r_cmp_fn) :
- PB_DS_BASE_C_DEC(r_cmp_fn)
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binomial_heap_(const PB_DS_CLASS_C_DEC& other) :
- PB_DS_BASE_C_DEC(other)
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~binomial_heap_() { }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
deleted file mode 100644
index 540bd7cd8467..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation for binomial_heap_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{ base_type::assert_valid(true); }
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
deleted file mode 100644
index 09af8cfffd71..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
+++ /dev/null
@@ -1,240 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file binomial_heap_base_.hpp
- * Contains an implementation class for a base of binomial heaps.
- */
-
-#ifndef PB_DS_BINOMIAL_HEAP_BASE_HPP
-#define PB_DS_BINOMIAL_HEAP_BASE_HPP
-
-/*
- * Binomial heap base.
- * Vuillemin J is the mastah.
- * Modified from CLRS.
- */
-
-#include <debug/debug.h>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Value_Type, class Cmp_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- binomial_heap_base_<Value_Type, Cmp_Fn, Allocator>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_BASE_C_DEC \
- left_child_next_sibling_heap_<Value_Type, Cmp_Fn, \
- typename Allocator::size_type, \
- Allocator, false>
-#else
-#define PB_DS_BASE_C_DEC \
- left_child_next_sibling_heap_<Value_Type, Cmp_Fn, \
- typename Allocator::size_type, Allocator>
-#endif
-
- /**
- * class description = "8y|\|0|\/|i41 h34p 74813">
- **/
- template<typename Value_Type, class Cmp_Fn, class Allocator>
- class binomial_heap_base_ : public PB_DS_BASE_C_DEC
- {
-
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- protected:
- typedef typename base_type::node node;
-
- typedef typename base_type::node_pointer node_pointer;
-
- typedef typename base_type::const_node_pointer const_node_pointer;
-
- public:
-
- typedef typename Allocator::size_type size_type;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef Value_Type value_type;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::pointer
- pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_pointer
- const_pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::reference
- reference;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_reference
- const_reference;
-
- typedef
- typename PB_DS_BASE_C_DEC::const_point_iterator
- const_point_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::point_iterator point_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::const_iterator const_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::iterator iterator;
-
- typedef Cmp_Fn cmp_fn;
-
- typedef Allocator allocator;
-
- public:
-
- inline point_iterator
- push(const_reference r_val);
-
- void
- modify(point_iterator it, const_reference r_new_val);
-
- inline const_reference
- top() const;
-
- void
- pop();
-
- void
- erase(point_iterator it);
-
- inline void
- clear();
-
- template<typename Pred>
- size_type
- erase_if(Pred pred);
-
- template<typename Pred>
- void
- split(Pred pred, PB_DS_CLASS_C_DEC& other);
-
- void
- join(PB_DS_CLASS_C_DEC& other);
-
- protected:
-
- binomial_heap_base_();
-
- binomial_heap_base_(const Cmp_Fn& r_cmp_fn);
-
- binomial_heap_base_(const PB_DS_CLASS_C_DEC& other);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- ~binomial_heap_base_();
-
- template<typename It>
- void
- copy_from_range(It first_it, It last_it);
-
- inline void
- find_max();
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid(bool strictly_binomial) const;
-
- void
- assert_max() const;
-#endif
-
- private:
-
- inline node_pointer
- fix(node_pointer p_nd) const;
-
- inline void
- insert_node(node_pointer p_nd);
-
- inline void
- remove_parentless_node(node_pointer p_nd);
-
- inline node_pointer
- join(node_pointer p_lhs, node_pointer p_rhs) const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_node_consistent(const_node_pointer, bool, bool) const;
-#endif
-
- protected:
- node_pointer m_p_max;
- };
-
-#include <ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_BASE_C_DEC
-
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 24ea2955917f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for a base of binomial heaps.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- push(*(first_it++));
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(false);)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binomial_heap_base_() :
- m_p_max(NULL)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(false);)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binomial_heap_base_(const Cmp_Fn& r_cmp_fn) :
- PB_DS_BASE_C_DEC(r_cmp_fn),
- m_p_max(NULL)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(false);)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-binomial_heap_base_(const PB_DS_CLASS_C_DEC& other) :
- PB_DS_BASE_C_DEC(other),
- m_p_max(NULL)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(false);)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(false);)
-
- base_type::swap(other);
-
- std::swap(m_p_max, other.m_p_max);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(false);)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~binomial_heap_base_()
-{ }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
deleted file mode 100644
index 200249d8d988..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for a base of binomial heaps.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid(bool strictly_binomial) const
-{
- base_type::assert_valid();
- assert_node_consistent(base_type::m_p_root, strictly_binomial, true);
- assert_max();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_max() const
-{
- if (m_p_max == NULL)
- return;
- _GLIBCXX_DEBUG_ASSERT(base_type::parent(m_p_max) == NULL);
- for (const_iterator it = base_type::begin(); it != base_type::end(); ++it)
- _GLIBCXX_DEBUG_ASSERT(!Cmp_Fn::operator()(m_p_max->m_value, it.m_p_nd->m_value));
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_node_consistent(const_node_pointer p_nd, bool strictly_binomial, bool increasing) const
-{
- _GLIBCXX_DEBUG_ASSERT(increasing || strictly_binomial);
- base_type::assert_node_consistent(p_nd, false);
- if (p_nd == NULL)
- return;
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata == base_type::degree(p_nd));
- _GLIBCXX_DEBUG_ASSERT(base_type::size_under_node(p_nd) ==
- static_cast<size_type>(1 << p_nd->m_metadata));
- assert_node_consistent(p_nd->m_p_next_sibling, strictly_binomial, increasing);
- assert_node_consistent(p_nd->m_p_l_child, true, false);
- if (p_nd->m_p_next_sibling != NULL)
- if (increasing)
- {
- if (strictly_binomial)
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata < p_nd->m_p_next_sibling->m_metadata);
- else
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata <= p_nd->m_p_next_sibling->m_metadata);
- }
- else
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata > p_nd->m_p_next_sibling->m_metadata);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
deleted file mode 100644
index 8109b53ec01b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,198 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for a base of binomial heaps.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-pop()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- if (m_p_max == NULL)
- find_max();
-
- _GLIBCXX_DEBUG_ASSERT(m_p_max != NULL);
-
- node_pointer p_nd = m_p_max;
-
- remove_parentless_node(m_p_max);
-
- base_type::actual_erase_node(p_nd);
-
- m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-remove_parentless_node(node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- _GLIBCXX_DEBUG_ASSERT(base_type::parent(p_nd) == NULL);
-
- node_pointer p_cur_root = p_nd == base_type::m_p_root?
- p_nd->m_p_next_sibling :
- base_type::m_p_root;
-
- if (p_cur_root != NULL)
- p_cur_root->m_p_prev_or_parent = NULL;
-
- if (p_nd->m_p_prev_or_parent != NULL)
- p_nd->m_p_prev_or_parent->m_p_next_sibling = p_nd->m_p_next_sibling;
-
- if (p_nd->m_p_next_sibling != NULL)
- p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
-
- node_pointer p_child = p_nd->m_p_l_child;
-
- if (p_child != NULL)
- {
- p_child->m_p_prev_or_parent = NULL;
-
- while (p_child->m_p_next_sibling != NULL)
- p_child = p_child->m_p_next_sibling;
- }
-
- m_p_max = NULL;
-
- base_type::m_p_root = join(p_cur_root, p_child);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- base_type::clear();
-
- m_p_max = NULL;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase(point_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- base_type::bubble_to_top(it.m_p_nd);
-
- remove_parentless_node(it.m_p_nd);
-
- base_type::actual_erase_node(it.m_p_nd);
-
- m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- }
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
-
- if (base_type::empty())
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
-
- return 0;
- }
-
- base_type::to_linked_list();
-
- node_pointer p_out = base_type::prune(pred);
-
- size_type ersd = 0;
-
- while (p_out != NULL)
- {
- ++ersd;
-
- node_pointer p_next = p_out->m_p_next_sibling;
-
- base_type::actual_erase_node(p_out);
-
- p_out = p_next;
- }
-
- node_pointer p_cur = base_type::m_p_root;
-
- base_type::m_p_root = NULL;
-
- while (p_cur != NULL)
- {
- node_pointer p_next = p_cur->m_p_next_sibling;
-
- p_cur->m_p_l_child = p_cur->m_p_prev_or_parent = NULL;
-
- p_cur->m_metadata = 0;
-
- p_cur->m_p_next_sibling = base_type::m_p_root;
-
- if (base_type::m_p_root != NULL)
- base_type::m_p_root->m_p_prev_or_parent = p_cur;
-
- base_type::m_p_root = p_cur;
-
- base_type::m_p_root = fix(base_type::m_p_root);
-
- p_cur = p_next;
- }
-
- m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
-
- return ersd;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
deleted file mode 100644
index 6014c0725267..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation class for a base of binomial heaps.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reference
-PB_DS_CLASS_C_DEC::
-top() const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(false);)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- if (m_p_max == NULL)
- const_cast<PB_DS_CLASS_C_DEC* >(this)->find_max();
-
- _GLIBCXX_DEBUG_ASSERT(m_p_max != NULL);
- return m_p_max->m_value;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-find_max()
-{
- node_pointer p_cur = base_type::m_p_root;
-
- m_p_max = p_cur;
-
- while (p_cur != NULL)
- {
- if (Cmp_Fn::operator()(m_p_max->m_value, p_cur->m_value))
- m_p_max = p_cur;
-
- p_cur = p_cur->m_p_next_sibling;
- }
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
deleted file mode 100644
index 91b04e165fdd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,222 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation class for a base of binomial heaps.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-push(const_reference r_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
-
- node_pointer p_nd = base_type::get_new_node_for_insert(r_val);
-
- insert_node(p_nd);
-
- m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
-
- return point_iterator(p_nd);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-insert_node(node_pointer p_nd)
-{
- if (base_type::m_p_root == NULL)
- {
- p_nd->m_p_next_sibling = p_nd->m_p_prev_or_parent =
- p_nd->m_p_l_child = NULL;
-
- p_nd->m_metadata = 0;
-
- base_type::m_p_root = p_nd;
-
- return;
- }
-
- if (base_type::m_p_root->m_metadata > 0)
- {
- p_nd->m_p_prev_or_parent = p_nd->m_p_l_child = NULL;
-
- p_nd->m_p_next_sibling = base_type::m_p_root;
-
- base_type::m_p_root->m_p_prev_or_parent = p_nd;
-
- base_type::m_p_root = p_nd;
-
- p_nd->m_metadata = 0;
-
- return;
- }
-
- if (Cmp_Fn::operator()(base_type::m_p_root->m_value, p_nd->m_value))
- {
- p_nd->m_p_next_sibling = base_type::m_p_root->m_p_next_sibling;
-
- p_nd->m_p_prev_or_parent = NULL;
-
- p_nd->m_metadata = 1;
-
- p_nd->m_p_l_child = base_type::m_p_root;
-
- base_type::m_p_root->m_p_prev_or_parent = p_nd;
-
- base_type::m_p_root->m_p_next_sibling = NULL;
-
- base_type::m_p_root = p_nd;
- }
- else
- {
- p_nd->m_p_next_sibling = NULL;
-
- p_nd->m_p_l_child = NULL;
-
- p_nd->m_p_prev_or_parent = base_type::m_p_root;
-
- p_nd->m_metadata = 0;
-
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_root->m_p_l_child == 0);
- base_type::m_p_root->m_p_l_child = p_nd;
-
- base_type::m_p_root->m_metadata = 1;
- }
-
- base_type::m_p_root = fix(base_type::m_p_root);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-fix(node_pointer p_nd) const
-{
- while (p_nd->m_p_next_sibling != NULL&&
- p_nd->m_metadata == p_nd->m_p_next_sibling->m_metadata)
- {
- node_pointer p_next = p_nd->m_p_next_sibling;
-
- if (Cmp_Fn::operator()(p_nd->m_value, p_next->m_value))
- {
- p_next->m_p_prev_or_parent =
- p_nd->m_p_prev_or_parent;
-
- if (p_nd->m_p_prev_or_parent != NULL)
- p_nd->m_p_prev_or_parent->m_p_next_sibling = p_next;
-
- base_type::make_child_of(p_nd, p_next);
-
- ++p_next->m_metadata;
-
- p_nd = p_next;
- }
- else
- {
- p_nd->m_p_next_sibling = p_next->m_p_next_sibling;
-
- if (p_nd->m_p_next_sibling != NULL)
- p_next->m_p_next_sibling = NULL;
-
- base_type::make_child_of(p_next, p_nd);
-
- ++p_nd->m_metadata;
- }
- }
-
- if (p_nd->m_p_next_sibling != NULL)
- p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd;
-
- return p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-modify(point_iterator it, const_reference r_new_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- node_pointer p_nd = it.m_p_nd;
-
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd, false);)
-
- const bool bubble_up = Cmp_Fn::operator()(p_nd->m_value, r_new_val);
-
- p_nd->m_value = r_new_val;
-
- if (bubble_up)
- {
- node_pointer p_parent = base_type::parent(p_nd);
-
- while (p_parent != NULL&&
- Cmp_Fn::operator()(p_parent->m_value, p_nd->m_value))
- {
- base_type::swap_with_parent(p_nd, p_parent);
-
- p_parent = base_type::parent(p_nd);
- }
-
- if (p_nd->m_p_prev_or_parent == NULL)
- base_type::m_p_root = p_nd;
-
- m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
-
- return;
- }
-
- base_type::bubble_to_top(p_nd);
-
- remove_parentless_node(p_nd);
-
- insert_node(p_nd);
-
- m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
deleted file mode 100644
index 05f9f1278bcd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,238 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation class for a base of binomial heaps.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-void
-PB_DS_CLASS_C_DEC::
-split(Pred pred, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(true);)
-
- other.clear();
-
- if (base_type::empty())
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(true);)
-
- return;
- }
-
- base_type::to_linked_list();
-
- node_pointer p_out = base_type::prune(pred);
-
- while (p_out != NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_size > 0);
- --base_type::m_size;
-
- ++other.m_size;
-
- node_pointer p_next = p_out->m_p_next_sibling;
-
- p_out->m_p_l_child = p_out->m_p_prev_or_parent = NULL;
-
- p_out->m_metadata = 0;
-
- p_out->m_p_next_sibling = other.m_p_root;
-
- if (other.m_p_root != NULL)
- other.m_p_root->m_p_prev_or_parent = p_out;
-
- other.m_p_root = p_out;
-
- other.m_p_root = other.fix(other.m_p_root);
-
- p_out = p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(true);)
-
- node_pointer p_cur = base_type::m_p_root;
-
- base_type::m_p_root = NULL;
-
- while (p_cur != NULL)
- {
- node_pointer p_next = p_cur->m_p_next_sibling;
-
- p_cur->m_p_l_child = p_cur->m_p_prev_or_parent = NULL;
-
- p_cur->m_metadata = 0;
-
- p_cur->m_p_next_sibling = base_type::m_p_root;
-
- if (base_type::m_p_root != NULL)
- base_type::m_p_root->m_p_prev_or_parent = p_cur;
-
- base_type::m_p_root = p_cur;
-
- base_type::m_p_root = fix(base_type::m_p_root);
-
- p_cur = p_next;
- }
-
- m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(true);)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(true);)
-
- node_pointer p_other = other.m_p_root;
-
- if (p_other != NULL)
- do
- {
- node_pointer p_next = p_other->m_p_next_sibling;
-
- std::swap(p_other->m_p_next_sibling, p_other->m_p_prev_or_parent);
-
- p_other = p_next;
- }
- while (p_other != NULL);
-
- base_type::m_p_root = join(base_type::m_p_root, other.m_p_root);
- base_type::m_size += other.m_size;
- m_p_max = NULL;
-
- other.m_p_root = NULL;
- other.m_size = 0;
- other.m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid(true);)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(true);)
- }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-join(node_pointer p_lhs, node_pointer p_rhs) const
-{
- node_pointer p_ret = NULL;
-
- node_pointer p_cur = NULL;
-
- while (p_lhs != NULL || p_rhs != NULL)
- {
- if (p_rhs == NULL)
- {
- if (p_cur == NULL)
- p_ret = p_cur = p_lhs;
- else
- {
- p_cur->m_p_next_sibling = p_lhs;
-
- p_lhs->m_p_prev_or_parent = p_cur;
- }
-
- p_cur = p_lhs = NULL;
- }
- else if (p_lhs == NULL || p_rhs->m_metadata < p_lhs->m_metadata)
- {
- if (p_cur == NULL)
- {
- p_ret = p_cur = p_rhs;
-
- p_rhs = p_rhs->m_p_prev_or_parent;
- }
- else
- {
- p_cur->m_p_next_sibling = p_rhs;
-
- p_rhs = p_rhs->m_p_prev_or_parent;
-
- p_cur->m_p_next_sibling->m_p_prev_or_parent = p_cur;
-
- p_cur = p_cur->m_p_next_sibling;
- }
- }
- else if (p_lhs->m_metadata < p_rhs->m_metadata)
- {
- if (p_cur == NULL)
- p_ret = p_cur = p_lhs;
- else
- {
- p_cur->m_p_next_sibling = p_lhs;
-
- p_lhs->m_p_prev_or_parent = p_cur;
-
- p_cur = p_cur->m_p_next_sibling;
- }
-
- p_lhs = p_cur->m_p_next_sibling;
- }
- else
- {
- node_pointer p_next_rhs = p_rhs->m_p_prev_or_parent;
-
- p_rhs->m_p_next_sibling = p_lhs;
-
- p_lhs = fix(p_rhs);
-
- p_rhs = p_next_rhs;
- }
- }
-
- if (p_cur != NULL)
- p_cur->m_p_next_sibling = NULL;
-
- if (p_ret != NULL)
- p_ret->m_p_prev_or_parent = NULL;
-
- return p_ret;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
deleted file mode 100644
index c2b95e84ca7e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
+++ /dev/null
@@ -1,647 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cc_ht_map_.hpp
- * Contains an implementation class for cc_ht_map_.
- */
-
-#include <utility>
-#include <iterator>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp>
-#ifdef _GLIBCXX_DEBUG
-#include <ext/pb_ds/detail/map_debug_base.hpp>
-#endif
-#ifdef PB_DS_HT_MAP_TRACE_
-#include <iostream>
-#endif
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, typename Hash_Fn, \
- typename Eq_Fn, typename Allocator, bool Store_Hash, \
- typename Comb_Hash_Fn, typename Resize_Policy>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CLASS_NAME cc_ht_map_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_CLASS_NAME cc_ht_map_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_CLASS_NAME<Key, Mapped, Hash_Fn, Eq_Fn, Allocator, \
- Store_Hash, Comb_Hash_Fn, Resize_Policy>
-
-#define PB_DS_HASH_EQ_FN_C_DEC \
- hash_eq_fn<Key, Eq_Fn, Allocator, Store_Hash>
-
-#define PB_DS_RANGED_HASH_FN_C_DEC \
- ranged_hash_fn<Key, Hash_Fn, Allocator, Comb_Hash_Fn, Store_Hash>
-
-#define PB_DS_TYPES_TRAITS_C_DEC \
- types_traits<Key, Mapped, Allocator, Store_Hash>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_MAP_DEBUG_BASE_C_DEC \
- map_debug_base<Key, Eq_Fn, typename Allocator::template rebind<Key>::other::const_reference>
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped_Data()
-#endif
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \
- UNIQUE##static_assert_type
-
- // <011i$i0|\|-<|-|4i|\|i|\|g |-|4$|-| 74813.
- template<typename Key,
- typename Mapped,
- typename Hash_Fn,
- typename Eq_Fn,
- typename Allocator,
- bool Store_Hash,
- typename Comb_Hash_Fn,
- typename Resize_Policy >
- class PB_DS_CLASS_NAME:
-#ifdef _GLIBCXX_DEBUG
- protected PB_DS_MAP_DEBUG_BASE_C_DEC,
-#endif
- public PB_DS_HASH_EQ_FN_C_DEC,
- public Resize_Policy,
- public PB_DS_RANGED_HASH_FN_C_DEC,
- public PB_DS_TYPES_TRAITS_C_DEC
- {
- private:
- typedef PB_DS_TYPES_TRAITS_C_DEC traits_base;
- typedef typename traits_base::comp_hash comp_hash;
- typedef typename traits_base::value_type value_type_;
- typedef typename traits_base::pointer pointer_;
- typedef typename traits_base::const_pointer const_pointer_;
- typedef typename traits_base::reference reference_;
- typedef typename traits_base::const_reference const_reference_;
-
- struct entry : public traits_base::stored_value_type
- {
- typename Allocator::template rebind<entry>::other::pointer m_p_next;
- };
-
- typedef cond_dealtor<entry, Allocator> cond_dealtor_t;
-
- typedef typename Allocator::template rebind<entry>::other entry_allocator;
- typedef typename entry_allocator::pointer entry_pointer;
- typedef typename entry_allocator::const_pointer const_entry_pointer;
- typedef typename entry_allocator::reference entry_reference;
- typedef typename entry_allocator::const_reference const_entry_reference;
-
- typedef typename Allocator::template rebind<entry_pointer>::other entry_pointer_allocator;
- typedef typename entry_pointer_allocator::pointer entry_pointer_array;
-
- typedef PB_DS_RANGED_HASH_FN_C_DEC ranged_hash_fn_base;
- typedef PB_DS_HASH_EQ_FN_C_DEC hash_eq_fn_base;
- typedef Resize_Policy resize_base;
-
-#ifdef _GLIBCXX_DEBUG
- typedef PB_DS_MAP_DEBUG_BASE_C_DEC map_debug_base;
-#endif
-
-#define PB_DS_GEN_POS std::pair<entry_pointer, typename Allocator::size_type>
-
-#include <ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/point_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/const_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/iterator.hpp>
-
-#undef PB_DS_GEN_POS
-
- public:
- typedef Allocator allocator;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
- typedef Hash_Fn hash_fn;
- typedef Eq_Fn eq_fn;
- typedef Comb_Hash_Fn comb_hash_fn;
- typedef Resize_Policy resize_policy;
-
- enum
- {
- store_hash = Store_Hash
- };
-
- typedef typename traits_base::key_type key_type;
- typedef typename traits_base::key_pointer key_pointer;
- typedef typename traits_base::const_key_pointer const_key_pointer;
- typedef typename traits_base::key_reference key_reference;
- typedef typename traits_base::const_key_reference const_key_reference;
- typedef typename traits_base::mapped_type mapped_type;
- typedef typename traits_base::mapped_pointer mapped_pointer;
- typedef typename traits_base::const_mapped_pointer const_mapped_pointer;
- typedef typename traits_base::mapped_reference mapped_reference;
- typedef typename traits_base::const_mapped_reference const_mapped_reference;
- typedef typename traits_base::value_type value_type;
- typedef typename traits_base::pointer pointer;
- typedef typename traits_base::const_pointer const_pointer;
- typedef typename traits_base::reference reference;
- typedef typename traits_base::const_reference const_reference;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef point_iterator_ point_iterator;
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
- typedef const_point_iterator_ point_iterator;
-#endif
-
- typedef const_point_iterator_ const_point_iterator;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef iterator_ iterator;
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
- typedef const_iterator_ iterator;
-#endif
-
- typedef const_iterator_ const_iterator;
-
- PB_DS_CLASS_NAME();
-
- PB_DS_CLASS_NAME(const Hash_Fn&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&, const Eq_Fn&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&, const Eq_Fn&, const Comb_Hash_Fn&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&, const Eq_Fn&, const Comb_Hash_Fn&,
- const Resize_Policy&);
-
- PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC&);
-
- virtual
- ~PB_DS_CLASS_NAME();
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- template<typename It>
- void
- copy_from_range(It, It);
-
- void
- initialize();
-
- inline size_type
- size() const;
-
- inline size_type
- max_size() const;
-
- inline bool
- empty() const;
-
- Hash_Fn&
- get_hash_fn();
-
- const Hash_Fn&
- get_hash_fn() const;
-
- Eq_Fn&
- get_eq_fn();
-
- const Eq_Fn&
- get_eq_fn() const;
-
- Comb_Hash_Fn&
- get_comb_hash_fn();
-
- const Comb_Hash_Fn&
- get_comb_hash_fn() const;
-
- Resize_Policy&
- get_resize_policy();
-
- const Resize_Policy&
- get_resize_policy() const;
-
- inline std::pair<point_iterator, bool>
- insert(const_reference r_val)
- { return insert_imp(r_val, traits_base::m_store_extra_indicator); }
-
- inline mapped_reference
- operator[](const_key_reference r_key)
- {
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- return (subscript_imp(r_key, traits_base::m_store_extra_indicator));
-#else
- insert(r_key);
- return traits_base::s_null_mapped;
-#endif
- }
-
- inline point_iterator
- find(const_key_reference);
-
- inline const_point_iterator
- find(const_key_reference) const;
-
- inline point_iterator
- find_end();
-
- inline const_point_iterator
- find_end() const;
-
- inline bool
- erase(const_key_reference);
-
- template<typename Pred>
- inline size_type
- erase_if(Pred);
-
- void
- clear();
-
- inline iterator
- begin();
-
- inline const_iterator
- begin() const;
-
- inline iterator
- end();
-
- inline const_iterator
- end() const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
-#ifdef PB_DS_HT_MAP_TRACE_
- void
- trace() const;
-#endif
-
- private:
- void
- deallocate_all();
-
- inline bool
- do_resize_if_needed();
-
- inline void
- do_resize_if_needed_no_throw();
-
- void
- resize_imp(size_type new_size);
-
- void
- do_resize(size_type new_size);
-
- void
- resize_imp_no_exceptions(size_type, entry_pointer_array, size_type);
-
- inline entry_pointer
- resize_imp_no_exceptions_reassign_pointer(entry_pointer, entry_pointer_array, false_type);
-
- inline entry_pointer
- resize_imp_no_exceptions_reassign_pointer(entry_pointer, entry_pointer_array, true_type);
-
- void
- deallocate_links_in_list(entry_pointer);
-
- inline entry_pointer
- get_entry(const_reference, false_type);
-
- inline entry_pointer
- get_entry(const_reference, true_type);
-
- inline void
- rels_entry(entry_pointer);
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- inline mapped_reference
- subscript_imp(const_key_reference r_key, false_type)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- const size_type pos = ranged_hash_fn_base::operator()(r_key);
- entry_pointer p_e = m_entries[pos];
- resize_base::notify_insert_search_start();
-
- while (p_e != NULL
- && !hash_eq_fn_base::operator()(p_e->m_value.first, r_key))
- {
- resize_base::notify_insert_search_collision();
- p_e = p_e->m_p_next;
- }
-
- resize_base::notify_insert_search_end();
- if (p_e != NULL)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- return (p_e->m_value.second);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return insert_new_imp(value_type(r_key, mapped_type()), pos)->second;
- }
-
- inline mapped_reference
- subscript_imp(const_key_reference r_key, true_type)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- comp_hash pos_hash_pair = ranged_hash_fn_base::operator()(r_key);
- entry_pointer p_e = m_entries[pos_hash_pair.first];
- resize_base::notify_insert_search_start();
- while (p_e != NULL &&
- !hash_eq_fn_base::operator()(p_e->m_value.first, p_e->m_hash, r_key, pos_hash_pair.second))
- {
- resize_base::notify_insert_search_collision();
- p_e = p_e->m_p_next;
- }
-
- resize_base::notify_insert_search_end();
- if (p_e != NULL)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- return p_e->m_value.second;
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return insert_new_imp(value_type(r_key, mapped_type()),
- pos_hash_pair)->second;
- }
-#endif
-
- inline std::pair<point_iterator, bool>
- insert_imp(const_reference, false_type);
-
- inline std::pair<point_iterator, bool>
- insert_imp(const_reference, true_type);
-
- inline pointer
- insert_new_imp(const_reference r_val, size_type pos)
- {
- if (do_resize_if_needed())
- pos = ranged_hash_fn_base::operator()(PB_DS_V2F(r_val));
-
- // Following lines might throw an exception.
- entry_pointer p_e = get_entry(r_val, traits_base::m_no_throw_copies_indicator);
-
- // At this point no exceptions can be thrown.
- p_e->m_p_next = m_entries[pos];
- m_entries[pos] = p_e;
- resize_base::notify_inserted(++m_num_used_e);
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(r_val));)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return &p_e->m_value;
- }
-
- inline pointer
- insert_new_imp(const_reference r_val, comp_hash& r_pos_hash_pair)
- {
- // Following lines might throw an exception.
- if (do_resize_if_needed())
- r_pos_hash_pair = ranged_hash_fn_base::operator()(PB_DS_V2F(r_val));
-
- entry_pointer p_e = get_entry(r_val, traits_base::m_no_throw_copies_indicator);
-
- // At this point no exceptions can be thrown.
- p_e->m_hash = r_pos_hash_pair.second;
- p_e->m_p_next = m_entries[r_pos_hash_pair.first];
- m_entries[r_pos_hash_pair.first] = p_e;
- resize_base::notify_inserted(++m_num_used_e);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(r_val));)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return &p_e->m_value;
- }
-
- inline pointer
- find_key_pointer(const_key_reference r_key, false_type)
- {
- entry_pointer p_e = m_entries[ranged_hash_fn_base::operator()(r_key)];
- resize_base::notify_find_search_start();
- while (p_e != NULL &&
- !hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), r_key))
- {
- resize_base::notify_find_search_collision();
- p_e = p_e->m_p_next;
- }
-
- resize_base::notify_find_search_end();
-
-#ifdef _GLIBCXX_DEBUG
- if (p_e == NULL)
- map_debug_base::check_key_does_not_exist(r_key);
- else
- map_debug_base::check_key_exists(r_key);
-#endif
- return &p_e->m_value;
- }
-
- inline pointer
- find_key_pointer(const_key_reference r_key, true_type)
- {
- comp_hash pos_hash_pair = ranged_hash_fn_base::operator()(r_key);
- entry_pointer p_e = m_entries[pos_hash_pair.first];
- resize_base::notify_find_search_start();
- while (p_e != NULL &&
- !hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value),
- p_e->m_hash,
- r_key, pos_hash_pair.second))
- {
- resize_base::notify_find_search_collision();
- p_e = p_e->m_p_next;
- }
-
- resize_base::notify_find_search_end();
-
-#ifdef _GLIBCXX_DEBUG
- if (p_e == NULL)
- map_debug_base::check_key_does_not_exist(r_key);
- else
- map_debug_base::check_key_exists(r_key);
-#endif
- return &p_e->m_value;
- }
-
- inline bool
- erase_in_pos_imp(const_key_reference, size_type);
-
- inline bool
- erase_in_pos_imp(const_key_reference, const comp_hash&);
-
- inline void
- erase_entry_pointer(entry_pointer&);
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- void
- inc_it_state(pointer& r_p_value,
- std::pair<entry_pointer, size_type>& r_pos) const
- {
- inc_it_state((const_mapped_pointer& )r_p_value, r_pos);
- }
-#endif
-
- void
- inc_it_state(const_pointer& r_p_value,
- std::pair<entry_pointer, size_type>& r_pos) const
- {
- _GLIBCXX_DEBUG_ASSERT(r_p_value != NULL);
- r_pos.first = r_pos.first->m_p_next;
- if (r_pos.first != NULL)
- {
- r_p_value = &r_pos.first->m_value;
- return;
- }
-
- for (++r_pos.second; r_pos.second < m_num_e; ++r_pos.second)
- if (m_entries[r_pos.second] != NULL)
- {
- r_pos.first = m_entries[r_pos.second];
- r_p_value = &r_pos.first->m_value;
- return;
- }
- r_p_value = NULL;
- }
-
- void
- get_start_it_state(pointer& r_p_value,
- std::pair<entry_pointer, size_type>& r_pos) const
- {
- for (r_pos.second = 0; r_pos.second < m_num_e; ++r_pos.second)
- if (m_entries[r_pos.second] != NULL)
- {
- r_pos.first = m_entries[r_pos.second];
- r_p_value = &r_pos.first->m_value;
- return;
- }
- r_p_value = NULL;
- }
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_entry_pointer_array_valid(const entry_pointer_array) const;
-
- void
- assert_entry_pointer_valid(const entry_pointer, true_type) const;
-
- void
- assert_entry_pointer_valid(const entry_pointer, false_type) const;
-#endif
-
-#ifdef PB_DS_HT_MAP_TRACE_
- void
- trace_list(const_entry_pointer) const;
-#endif
-
- private:
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- friend class iterator_;
-#endif
-
- friend class const_iterator_;
-
- static entry_allocator s_entry_allocator;
- static entry_pointer_allocator s_entry_pointer_allocator;
- static iterator s_end_it;
- static const_iterator s_const_end_it;
- static point_iterator s_find_end_it;
- static const_point_iterator s_const_find_end_it;
-
- size_type m_num_e;
- size_type m_num_used_e;
- entry_pointer_array m_entries;
-
- enum
- {
- store_hash_ok = !Store_Hash
- || !is_same<Hash_Fn, pb_ds::null_hash_fn>::value
- };
-
- PB_DS_STATIC_ASSERT(sth, store_hash_ok);
- };
-
-#include <ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_HASH_EQ_FN_C_DEC
-#undef PB_DS_RANGED_HASH_FN_C_DEC
-#undef PB_DS_TYPES_TRAITS_C_DEC
-#undef PB_DS_MAP_DEBUG_BASE_C_DEC
-#undef PB_DS_CLASS_NAME
-#undef PB_DS_V2F
-#undef PB_DS_V2S
-#undef PB_DS_STATIC_ASSERT
-
- } // namespace detail
-} // namespace pb_ds
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
deleted file mode 100644
index 9223da5d6f93..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cmp_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s entire container comparison related
- * functions.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Other_HT_Map_Type>
-bool
-PB_DS_CLASS_C_DEC::
-operator==(const Other_HT_Map_Type& other) const
-{ return cmp_with_other(other); }
-
-PB_DS_CLASS_T_DEC
-template<typename Other_Map_Type>
-bool
-PB_DS_CLASS_C_DEC::
-cmp_with_other(const Other_Map_Type& other) const
-{
- if (size() != other.size())
- return false;
-
- for (typename Other_Map_Type::const_iterator it = other.begin();
- it != other.end(); ++it)
- {
- const_key_reference r_key = const_key_reference(PB_DS_V2F(*it));
-
- const_mapped_pointer p_mapped_value =
- const_cast<PB_DS_CLASS_C_DEC& >(*this).
- find_key_pointer(r_key, traits_base::m_store_hash_indicator);
-
- if (p_mapped_value == NULL)
- return false;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- if (p_mapped_value->second != it->second)
- return false;
-#endif
- }
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Other_HT_Map_Type>
-bool
-PB_DS_CLASS_C_DEC::
-operator!=(const Other_HT_Map_Type& other) const
-{ return !operator==(other); }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
deleted file mode 100644
index bf5e0bd47106..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cond_key_dtor_entry_dealtor.hpp
- * Contains a conditional key destructor, used for exception handling.
- */
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC template<typename HT_Map>
-#define PB_DS_CLASS_C_DEC PB_DS_CKDED_CLASS_NAME<HT_Map>
-
- /**
- * A conditional key destructor, used for exception handling.
- **/
- template<typename HT_Map>
- class PB_DS_CKDED_CLASS_NAME
- {
- public:
- typedef typename HT_Map::entry entry;
- typedef typename HT_Map::entry_allocator entry_allocator;
- typedef typename HT_Map::key_type key_type;
-
- inline
- PB_DS_CKDED_CLASS_NAME(entry_allocator* p_a, entry* p_e);
-
- inline
- ~PB_DS_CKDED_CLASS_NAME();
-
- inline void
- set_key_destruct();
-
- inline void
- set_no_action_destructor();
-
- protected:
- entry_allocator* const m_p_a;
- entry* const m_p_e;
-
- bool m_key_destruct;
- bool m_no_action_destructor;
- };
-
- PB_DS_CLASS_T_DEC
- inline
- PB_DS_CLASS_C_DEC::
- PB_DS_CKDED_CLASS_NAME(entry_allocator* p_a, entry* p_e)
- : m_p_a(p_a), m_p_e(p_e), m_key_destruct(false),
- m_no_action_destructor(false)
- { }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- set_key_destruct()
- { m_key_destruct = true; }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- set_no_action_destructor()
- { m_no_action_destructor = true; }
-
- PB_DS_CLASS_T_DEC
- inline
- PB_DS_CLASS_C_DEC::
- ~PB_DS_CKDED_CLASS_NAME()
- {
- if (m_no_action_destructor)
- return;
- if (m_key_destruct)
- m_p_e->m_value.first.~key_type();
- m_p_a->deallocate(m_p_e, 1);
- }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
deleted file mode 100644
index 7da4d8a1e791..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,197 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructor_destructor_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s constructors, destructor,
- * and related functions.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::entry_allocator
-PB_DS_CLASS_C_DEC::s_entry_allocator;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::entry_pointer_allocator
-PB_DS_CLASS_C_DEC::s_entry_pointer_allocator;
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- insert(*(first_it++));
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME() :
- ranged_hash_fn_base(resize_base::get_nearest_larger_size(1)),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_pointer_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn) :
- ranged_hash_fn_base(resize_base::get_nearest_larger_size(1), r_hash_fn),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_pointer_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn) :
- PB_DS_HASH_EQ_FN_C_DEC(r_eq_fn),
- ranged_hash_fn_base(resize_base::get_nearest_larger_size(1), r_hash_fn),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_pointer_allocator.allocate(m_num_e))
-{
- std::fill(m_entries, m_entries + m_num_e, (entry_pointer)NULL);
- Resize_Policy::notify_cleared();
- ranged_hash_fn_base::notify_resized(m_num_e);
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn, const Comb_Hash_Fn& r_comb_hash_fn) :
- PB_DS_HASH_EQ_FN_C_DEC(r_eq_fn),
- ranged_hash_fn_base(resize_base::get_nearest_larger_size(1),
- r_hash_fn, r_comb_hash_fn),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_pointer_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn, const Comb_Hash_Fn& r_comb_hash_fn, const Resize_Policy& r_resize_policy) :
- PB_DS_HASH_EQ_FN_C_DEC(r_eq_fn),
- Resize_Policy(r_resize_policy),
- ranged_hash_fn_base(resize_base::get_nearest_larger_size(1),
- r_hash_fn, r_comb_hash_fn),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_pointer_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
-#ifdef _GLIBCXX_DEBUG
- map_debug_base(other),
-#endif
- PB_DS_HASH_EQ_FN_C_DEC(other),
- resize_base(other), ranged_hash_fn_base(other),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(m_entries = s_entry_pointer_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- try
- {
- copy_from_range(other.begin(), other.end());
- }
- catch(...)
- {
- deallocate_all();
- __throw_exception_again;
- }
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~PB_DS_CLASS_NAME()
-{ deallocate_all(); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
-
- std::swap(m_entries, other.m_entries);
- std::swap(m_num_e, other.m_num_e);
- std::swap(m_num_used_e, other.m_num_used_e);
- ranged_hash_fn_base::swap(other);
- hash_eq_fn_base::swap(other);
- resize_base::swap(other);
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::swap(other));
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-deallocate_all()
-{
- clear();
- s_entry_pointer_allocator.deallocate(m_entries, m_num_e);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize()
-{
- std::fill(m_entries, m_entries + m_num_e, entry_pointer(NULL));
- Resize_Policy::notify_resized(m_num_e);
- Resize_Policy::notify_cleared();
- ranged_hash_fn_base::notify_resized(m_num_e);
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
deleted file mode 100644
index f2b41b37bca6..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructor_destructor_no_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s constructors, destructor,
- * and related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-constructor_insert_new_imp(const_mapped_reference r_val, size_type pos,
- false_type)
-{
- // Following lines might throw an exception.
- entry_pointer p = get_entry(r_val, traits_base::s_no_throw_copies_indicator);
-
- // At this point no exceptions can be thrown.
- p->m_p_next = m_entries[pos];
- m_entries[pos] = p;
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(r_key);)
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
deleted file mode 100644
index 08a0b7b3fce1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructor_destructor_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s constructors, destructor,
- * and related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-constructor_insert_new_imp(const_reference r_val, size_type pos, true_type)
-{
- // Following lines might throw an exception.
- entry_pointer p = get_entry(r_val, traits_base::s_no_throw_copies_indicator);
-
- // At this point no exceptions can be thrown.
- p->m_p_next = m_entries[pos];
- p->m_hash = ranged_hash_fn_base::operator()((const_key_reference)(PB_DS_V2F(p->m_value))).second;
-
- m_entries[pos] = p;
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(r_key);)
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
deleted file mode 100644
index 61cbfa90d2e1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s debug-mode functions.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- map_debug_base::check_size(m_num_used_e);
- assert_entry_pointer_array_valid(m_entries);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_entry_pointer_array_valid(const entry_pointer_array a_p_entries) const
-{
- size_type iterated_num_used_e = 0;
- for (size_type pos = 0; pos < m_num_e; ++pos)
- {
- entry_pointer p_e = a_p_entries[pos];
- while (p_e != NULL)
- {
- ++iterated_num_used_e;
- assert_entry_pointer_valid(p_e, traits_base::m_store_hash_indicator);
- p_e = p_e->m_p_next;
- }
- }
- _GLIBCXX_DEBUG_ASSERT(iterated_num_used_e == m_num_used_e);
-}
-
-#include <ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp>
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
deleted file mode 100644
index d179a3dc941a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_no_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s debug-mode functions.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_entry_pointer_valid(const entry_pointer p, false_type) const
-{ map_debug_base::check_key_exists(PB_DS_V2F(p->m_value)); }
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
deleted file mode 100644
index 48dc555abea2..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s debug-mode functions.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_entry_pointer_valid(const entry_pointer p_e, true_type) const
-{
- map_debug_base::check_key_exists(PB_DS_V2F(p_e->m_value));
- comp_hash pos_hash_pair = ranged_hash_fn_base::operator()(PB_DS_V2F(p_e->m_value));
- _GLIBCXX_DEBUG_ASSERT(p_e->m_hash == pos_hash_pair.second);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
deleted file mode 100644
index b8871630854e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file entry_list_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s entry-list related functions.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-deallocate_links_in_list(entry_pointer p_e)
-{
- while (p_e != NULL)
- {
- entry_pointer p_dealloc_e = p_e;
- p_e = p_e->m_p_next;
- s_entry_allocator.deallocate(p_dealloc_e, 1);
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::entry_pointer
-PB_DS_CLASS_C_DEC::
-get_entry(const_reference r_val, true_type)
-{
- // Following line might throw an exception.
- entry_pointer p_e = s_entry_allocator.allocate(1);
-
- // Following lines* cannot* throw an exception.
- new (&p_e->m_value) value_type(r_val);
- return p_e;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::entry_pointer
-PB_DS_CLASS_C_DEC::
-get_entry(const_reference r_val, false_type)
-{
- // Following line might throw an exception.
- entry_pointer p_e = s_entry_allocator.allocate(1);
- cond_dealtor_t cond(p_e);
-
- // Following lines might throw an exception.
- new (&p_e->m_value) value_type(r_val);
- cond.set_no_action();
- return p_e;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-rels_entry(entry_pointer p_e)
-{
- // The following lines cannot throw exceptions (unless if key-data dtors do).
- p_e->m_value.~value_type();
- s_entry_allocator.deallocate(p_e, 1);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
deleted file mode 100644
index 265a7052780f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s erase related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-erase_entry_pointer(entry_pointer& r_p_e)
-{
- _GLIBCXX_DEBUG_ONLY(map_debug_base::erase_existing(PB_DS_V2F(r_p_e->m_value)));
-
- entry_pointer p_e = r_p_e;
- r_p_e = r_p_e->m_p_next;
- rels_entry(p_e);
- _GLIBCXX_DEBUG_ASSERT(m_num_used_e > 0);
- resize_base::notify_erased(--m_num_used_e);
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- size_type num_ersd = 0;
- for (size_type pos = 0; pos < m_num_e; ++pos)
- {
- while (m_entries[pos] != NULL && pred(m_entries[pos]->m_value))
- {
- ++num_ersd;
- entry_pointer p_next_e = m_entries[pos]->m_p_next;
- erase_entry_pointer(m_entries[pos]);
- m_entries[pos] = p_next_e;
- }
-
- entry_pointer p_e = m_entries[pos];
- while (p_e != NULL && p_e->m_p_next != NULL)
- {
- if (pred(p_e->m_p_next->m_value))
- {
- ++num_ersd;
- erase_entry_pointer(p_e->m_p_next);
- }
- else
- p_e = p_e->m_p_next;
- }
- }
-
- do_resize_if_needed_no_throw();
- return num_ersd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- for (size_type pos = 0; pos < m_num_e; ++pos)
- while (m_entries[pos] != NULL)
- erase_entry_pointer(m_entries[pos]);
- do_resize_if_needed_no_throw();
- resize_base::notify_cleared();
-}
-
-#include <ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp>
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
deleted file mode 100644
index 13a3a6d4d34a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_no_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s erase related functions,
- * when the hash value is not stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase(const_key_reference r_key)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return erase_in_pos_imp(r_key, ranged_hash_fn_base::operator()(r_key));
-}
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase_in_pos_imp(const_key_reference r_key, size_type pos)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- entry_pointer p_e = m_entries[pos];
- resize_base::notify_erase_search_start();
- if (p_e == NULL)
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return false;
- }
-
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), r_key))
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base:: check_key_exists(r_key);)
- erase_entry_pointer(m_entries[pos]);
- do_resize_if_needed_no_throw();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return true;
- }
-
- while (true)
- {
- entry_pointer p_next_e = p_e->m_p_next;
- if (p_next_e == NULL)
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return false;
- }
-
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_next_e->m_value), r_key))
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- erase_entry_pointer(p_e->m_p_next);
- do_resize_if_needed_no_throw();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return true;
- }
- resize_base::notify_erase_search_collision();
- p_e = p_next_e;
- }
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
deleted file mode 100644
index 7eb821e0fe68..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s erase related functions,
- * when the hash value is stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase_in_pos_imp(const_key_reference r_key, const comp_hash& r_pos_hash_pair)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- entry_pointer p_e = m_entries[r_pos_hash_pair.first];
- resize_base::notify_erase_search_start();
- if (p_e == NULL)
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base:: check_key_does_not_exist(r_key);)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return false;
- }
-
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), p_e->m_hash,
- r_key, r_pos_hash_pair.second))
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- erase_entry_pointer(m_entries[r_pos_hash_pair.first]);
- do_resize_if_needed_no_throw();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return true;
- }
-
- while (true)
- {
- entry_pointer p_next_e = p_e->m_p_next;
- if (p_next_e == NULL)
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return false;
- }
-
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_next_e->m_value),
- p_next_e->m_hash, r_key,
- r_pos_hash_pair.second))
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- erase_entry_pointer(p_e->m_p_next);
- do_resize_if_needed_no_throw();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return true;
- }
- resize_base::notify_erase_search_collision();
- p_e = p_next_e;
- }
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
deleted file mode 100644
index 1a726643d0ce..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s find related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return find_key_pointer(r_key, traits_base::m_store_extra_indicator);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key) const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return const_cast<PB_DS_CLASS_C_DEC& >(*this).find_key_pointer(r_key,
- traits_base::m_store_extra_indicator);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-find_end()
-{ return NULL; }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-find_end() const
-{ return NULL; }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
deleted file mode 100644
index 423a59a9f48e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s find related functions,
- * when the hash value is stored.
- */
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
deleted file mode 100644
index 519072a2e9e6..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s entire container info related
- * functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{ return m_num_used_e; }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{ return m_entry_allocator.max_size(); }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{ return (size() == 0); }
-
-PB_DS_CLASS_T_DEC
-template<typename Other_HT_Map_Type>
-bool
-PB_DS_CLASS_C_DEC::
-operator==(const Other_HT_Map_Type& other) const
-{ return cmp_with_other(other); }
-
-PB_DS_CLASS_T_DEC
-template<typename Other_Map_Type>
-bool
-PB_DS_CLASS_C_DEC::
-cmp_with_other(const Other_Map_Type& other) const
-{
- if (size() != other.size())
- return false;
-
- for (typename Other_Map_Type::const_iterator it = other.begin();
- it != other.end(); ++it)
- {
- const_key_reference r_key =(const_key_reference)PB_DS_V2F(*it);
- const_mapped_pointer p_mapped_value =
- const_cast<PB_DS_CLASS_C_DEC& >(*this).
- find_key_pointer(r_key, traits_base::m_store_hash_indicator);
-
- if (p_mapped_value == NULL)
- return false;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- if (p_mapped_value->second != it->second)
- return false;
-#endif
- }
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Other_HT_Map_Type>
-bool
-PB_DS_CLASS_C_DEC::
-operator!=(const Other_HT_Map_Type& other) const
-{ return !operator==(other); }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
deleted file mode 100644
index 27260735c634..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s insert related functions.
- */
-
-#include <ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp>
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
deleted file mode 100644
index fd158f921ad3..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_no_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s insert related functions,
- * when the hash value is not stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert_imp(const_reference r_val, false_type)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- const_key_reference r_key = PB_DS_V2F(r_val);
- const size_type pos = ranged_hash_fn_base::operator()(r_key);
- entry_pointer p_e = m_entries[pos];
- resize_base::notify_insert_search_start();
-
- while (p_e != NULL && !hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value),
- r_key))
- {
- resize_base::notify_insert_search_collision();
- p_e = p_e->m_p_next;
- }
-
- resize_base::notify_insert_search_end();
- if (p_e != NULL)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- return std::make_pair(&p_e->m_value, false);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return std::make_pair(insert_new_imp(r_val, pos), true);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
deleted file mode 100644
index 128e11fdc0fc..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s insert related functions,
- * when the hash value is stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert_imp(const_reference r_val, true_type)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- const_key_reference key = PB_DS_V2F(r_val);
- comp_hash pos_hash_pair = ranged_hash_fn_base::operator()(key);
- entry_pointer p_e = m_entries[pos_hash_pair.first];
- resize_base::notify_insert_search_start();
-
- while (p_e != NULL && !hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value),
- p_e->m_hash,
- key, pos_hash_pair.second))
- {
- resize_base::notify_insert_search_collision();
- p_e = p_e->m_p_next;
- }
-
- resize_base::notify_insert_search_end();
- if (p_e != NULL)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(key);)
- return std::make_pair(&p_e->m_value, false);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(key);)
- return std::make_pair(insert_new_imp(r_val, pos_hash_pair), true);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
deleted file mode 100644
index 2c4f6ae2f69a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterators_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s iterators related functions, e.g.,
- * begin().
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::s_end_it;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::s_const_end_it;
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-begin()
-{
- pointer p_value;
- std::pair<entry_pointer, size_type> pos;
- get_start_it_state(p_value, pos);
- return iterator(p_value, pos, this);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-end()
-{ return s_end_it; }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin() const
-{
- pointer p_value;
- std::pair<entry_pointer, size_type> pos;
- get_start_it_state(p_value, pos);
- return const_iterator(p_value, pos, this);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end() const
-{ return s_const_end_it; }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
deleted file mode 100644
index 6c03d45ad12a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file policy_access_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s policy access
- * functions.
- */
-
-PB_DS_CLASS_T_DEC
-Hash_Fn&
-PB_DS_CLASS_C_DEC::
-get_hash_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Hash_Fn&
-PB_DS_CLASS_C_DEC::
-get_hash_fn() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Eq_Fn&
-PB_DS_CLASS_C_DEC::
-get_eq_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Eq_Fn&
-PB_DS_CLASS_C_DEC::
-get_eq_fn() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Comb_Hash_Fn&
-PB_DS_CLASS_C_DEC::
-get_comb_hash_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Comb_Hash_Fn&
-PB_DS_CLASS_C_DEC::
-get_comb_hash_fn() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Resize_Policy&
-PB_DS_CLASS_C_DEC::
-get_resize_policy()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Resize_Policy&
-PB_DS_CLASS_C_DEC::
-get_resize_policy() const
-{ return *this; }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
deleted file mode 100644
index eda2c48da52e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
+++ /dev/null
@@ -1,139 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file resize_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s resize related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-do_resize_if_needed()
-{
- if (!resize_base::is_resize_needed())
- return false;
- resize_imp(resize_base::get_new_size(m_num_e, m_num_used_e));
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-do_resize(size_type len)
-{ resize_imp(resize_base::get_nearest_larger_size(len)); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-do_resize_if_needed_no_throw()
-{
- if (!resize_base::is_resize_needed())
- return;
-
- try
- {
- resize_imp(resize_base::get_new_size(m_num_e, m_num_used_e));
- }
- catch(...)
- { }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-resize_imp(size_type new_size)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (new_size == m_num_e)
- return;
-
- const size_type old_size = m_num_e;
- entry_pointer_array a_p_entries_resized;
-
- // Following line might throw an exception.
- ranged_hash_fn_base::notify_resized(new_size);
-
- try
- {
- // Following line might throw an exception.
- a_p_entries_resized = s_entry_pointer_allocator.allocate(new_size);
- m_num_e = new_size;
- }
- catch(...)
- {
- ranged_hash_fn_base::notify_resized(old_size);
- __throw_exception_again;
- }
-
- // At this point no exceptions can be thrown.
- resize_imp_no_exceptions(new_size, a_p_entries_resized, old_size);
- Resize_Policy::notify_resized(new_size);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-resize_imp_no_exceptions(size_type new_size, entry_pointer_array a_p_entries_resized, size_type old_size)
-{
- std::fill(a_p_entries_resized, a_p_entries_resized + m_num_e,
- entry_pointer(NULL));
-
- for (size_type pos = 0; pos < old_size; ++pos)
- {
- entry_pointer p_e = m_entries[pos];
- while (p_e != NULL)
- p_e = resize_imp_no_exceptions_reassign_pointer(p_e, a_p_entries_resized, traits_base::m_store_extra_indicator);
- }
-
- m_num_e = new_size;
- _GLIBCXX_DEBUG_ONLY(assert_entry_pointer_array_valid(a_p_entries_resized);)
- s_entry_pointer_allocator.deallocate(m_entries, old_size);
- m_entries = a_p_entries_resized;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-#include <ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp>
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
deleted file mode 100644
index 5fb7f9ddf0d6..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file resize_no_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s resize related functions, when the
- * hash value is not stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::entry_pointer
-PB_DS_CLASS_C_DEC::
-resize_imp_no_exceptions_reassign_pointer(entry_pointer p_e, entry_pointer_array a_p_entries_resized, false_type)
-{
- const size_type hash_pos =
- ranged_hash_fn_base::operator()(PB_DS_V2F(p_e->m_value));
-
- entry_pointer const p_next_e = p_e->m_p_next;
- p_e->m_p_next = a_p_entries_resized[hash_pos];
- a_p_entries_resized[hash_pos] = p_e;
- return p_next_e;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
deleted file mode 100644
index 387410599e55..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file resize_store_hash_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s resize related functions, when the
- * hash value is stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::entry_pointer
-PB_DS_CLASS_C_DEC::
-resize_imp_no_exceptions_reassign_pointer(entry_pointer p_e, entry_pointer_array a_p_entries_resized, true_type)
-{
- const comp_hash pos_hash_pair =
- ranged_hash_fn_base::operator()(PB_DS_V2F(p_e->m_value), p_e->m_hash);
-
- entry_pointer const p_next_e = p_e->m_p_next;
- p_e->m_p_next = a_p_entries_resized[pos_hash_pair.first];
- a_p_entries_resized[pos_hash_pair.first] = p_e;
- return p_next_e;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
deleted file mode 100644
index 8fee0104d7a3..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file size_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s entire container size related
- * functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{ return m_num_used_e; }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{ return (size() == 0); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{ return s_entry_allocator.max_size(); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp
deleted file mode 100644
index dc175b138654..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file standard_policies.hpp
- * Contains standard policies for cc_ht_map types.
- */
-
-#ifndef PB_DS_CC_HT_MAP_STANDARD_POLICIES_HPP
-#define PB_DS_CC_HT_MAP_STANDARD_POLICIES_HPP
-
-#include <ext/pb_ds/detail/standard_policies.hpp>
-
-#endif // #ifndef PB_DS_CC_HT_MAP_STANDARD_POLICIES_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
deleted file mode 100644
index 21097de07d77..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s trace-mode functions.
- */
-
-#ifdef PB_DS_HT_MAP_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- std::cerr << static_cast<unsigned long>(m_num_e) << " "
- << static_cast<unsigned long>(m_num_used_e) << std::endl;
-
- for (size_type i = 0; i < m_num_e; ++i)
- {
- std::cerr << static_cast<unsigned long>(i) << " ";
- trace_list(m_entries[i]);
- std::cerr << std::endl;
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace_list(const_entry_pointer p_l) const
-{
- size_type iterated_num_used_e = 0;
- while (p_l != NULL)
- {
- std::cerr << PB_DS_V2F(p_l->m_value) << " ";
- p_l = p_l->m_p_next;
- }
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/cond_dealtor.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/cond_dealtor.hpp
deleted file mode 100644
index 3cf9ea91fa31..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/cond_dealtor.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cond_dealtor.hpp
- * Contains a conditional deallocator.
- */
-
-#ifndef PB_DS_COND_DEALTOR_HPP
-#define PB_DS_COND_DEALTOR_HPP
-
-namespace pb_ds
-{
-
- namespace detail
- {
-
-#define PB_DS_COND_DEALTOR_CLASS_T_DEC \
- template<typename Entry, class Allocator>
-
-#define PB_DS_COND_DEALTOR_CLASS_C_DEC \
- cond_dealtor< \
- Entry, \
- Allocator>
-
- template<typename Entry, class Allocator>
- class cond_dealtor
- {
- public:
- typedef
- typename Allocator::template rebind<Entry>::other
- entry_allocator;
-
- typedef typename entry_allocator::pointer entry_pointer;
-
- public:
- inline
- cond_dealtor(entry_pointer p_e);
-
- inline
- ~cond_dealtor();
-
- inline void
- set_no_action();
-
- private:
- entry_pointer m_p_e;
-
- bool m_no_action_destructor;
-
- static entry_allocator s_alloc;
- };
-
- PB_DS_COND_DEALTOR_CLASS_T_DEC
- typename PB_DS_COND_DEALTOR_CLASS_C_DEC::entry_allocator
- PB_DS_COND_DEALTOR_CLASS_C_DEC::s_alloc;
-
- PB_DS_COND_DEALTOR_CLASS_T_DEC
- inline
- PB_DS_COND_DEALTOR_CLASS_C_DEC::
- cond_dealtor(entry_pointer p_e) :
- m_p_e(p_e),
- m_no_action_destructor(false)
- { }
-
- PB_DS_COND_DEALTOR_CLASS_T_DEC
- inline void
- PB_DS_COND_DEALTOR_CLASS_C_DEC::
- set_no_action()
- {
- m_no_action_destructor = true;
- }
-
- PB_DS_COND_DEALTOR_CLASS_T_DEC
- inline
- PB_DS_COND_DEALTOR_CLASS_C_DEC::
- ~cond_dealtor()
- {
- if (m_no_action_destructor)
- return;
-
- s_alloc.deallocate(m_p_e, 1);
- }
-
-#undef PB_DS_COND_DEALTOR_CLASS_T_DEC
-#undef PB_DS_COND_DEALTOR_CLASS_C_DEC
-
- } // namespace detail
-
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_COND_DEALTOR_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 91763669c767..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains constructors_destructor_fn_imps applicable to different containers.
- */
-
-inline
-PB_DS_CLASS_NAME()
-{ }
-
-inline
-PB_DS_CLASS_NAME(const PB_DS_CLASS_NAME& other)
-: base_type((const base_type&)other)
-{ }
-
-template<typename T0>
-inline
-PB_DS_CLASS_NAME(T0 t0) : base_type(t0)
-{ }
-
-template<typename T0, typename T1>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1) : base_type(t0, t1)
-{ }
-
-template<typename T0, typename T1, typename T2>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1, T2 t2) : base_type(t0, t1, t2)
-{ }
-
-template<typename T0, typename T1, typename T2, typename T3>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1, T2 t2, T3 t3)
-: base_type(t0, t1, t2, t3)
-{ }
-
-template<typename T0, typename T1, typename T2, typename T3, typename T4>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1, T2 t2, T3 t3, T4 t4)
-: base_type(t0, t1, t2, t3, t4)
-{ }
-
-template<typename T0, typename T1, typename T2, typename T3, typename T4,
- typename T5>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
-: base_type(t0, t1, t2, t3, t4, t5)
-{ }
-
-template<typename T0, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
-: base_type(t0, t1, t2, t3, t4, t5, t6)
-{ }
-
-template<typename T0, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
-: base_type(t0, t1, t2, t3, t4, t5, t6, t7)
-{ }
-
-template<typename T0, typename T1, typename T2, typename T3, typename T4,
- typename T5, typename T6, typename T7, typename T8>
-inline
-PB_DS_CLASS_NAME(T0 t0, T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
-: base_type(t0, t1, t2, t3, t4, t5, t6, t7, t8)
-{ }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/container_base_dispatch.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/container_base_dispatch.hpp
deleted file mode 100644
index 37db003fd751..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/container_base_dispatch.hpp
+++ /dev/null
@@ -1,338 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file container_base_dispatch.hpp
- * Contains an associative container dispatching base.
- */
-
-#ifndef PB_DS_ASSOC_CNTNR_BASE_DS_DISPATCHER_HPP
-#define PB_DS_ASSOC_CNTNR_BASE_DS_DISPATCHER_HPP
-
-#include <ext/typelist.h>
-
-#define PB_DS_DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/list_update_map_/lu_map_.hpp>
-#undef PB_DS_DATA_TRUE_INDICATOR
-
-#define PB_DS_DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/list_update_map_/lu_map_.hpp>
-#undef PB_DS_DATA_FALSE_INDICATOR
-
-#define PB_DS_DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp>
-#undef PB_DS_DATA_TRUE_INDICATOR
-
-#define PB_DS_DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp>
-#undef PB_DS_DATA_FALSE_INDICATOR
-
-#define PB_DS_DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/splay_tree_/splay_tree_.hpp>
-#undef PB_DS_DATA_TRUE_INDICATOR
-
-#define PB_DS_DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/splay_tree_/splay_tree_.hpp>
-#undef PB_DS_DATA_FALSE_INDICATOR
-
-#define PB_DS_DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp>
-#undef PB_DS_DATA_TRUE_INDICATOR
-
-#define PB_DS_DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp>
-#undef PB_DS_DATA_FALSE_INDICATOR
-
-#define PB_DS_DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp>
-#undef PB_DS_DATA_TRUE_INDICATOR
-
-#define PB_DS_DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp>
-#undef PB_DS_DATA_FALSE_INDICATOR
-
-#define PB_DS_DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp>
-#undef PB_DS_DATA_TRUE_INDICATOR
-
-#define PB_DS_DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp>
-#undef PB_DS_DATA_FALSE_INDICATOR
-
-#define PB_DS_DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/pat_trie_/pat_trie_.hpp>
-#undef PB_DS_DATA_TRUE_INDICATOR
-
-#define PB_DS_DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/pat_trie_/pat_trie_.hpp>
-#undef PB_DS_DATA_FALSE_INDICATOR
-
-namespace pb_ds
-{
-namespace detail
-{
- // Primary template.
- template<typename Key, typename Mapped, typename Data_Structure_Taq,
- typename Policy_Tl, typename Alloc>
- struct container_base_dispatch;
-
- template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, Mapped, list_update_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef lu_map_data_<Key, Mapped, at0t, Alloc, at1t> type;
- };
-
- template<typename Key, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, null_mapped_type, list_update_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef lu_map_no_data_<Key, null_mapped_type, at0t, Alloc, at1t> type;
- };
-
- template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, Mapped, pat_trie_tag, Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef pat_trie_data_<Key, Mapped, at1t, Alloc> type;
- };
-
- template<typename Key, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, null_mapped_type, pat_trie_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef pat_trie_no_data_<Key, null_mapped_type, at1t, Alloc> type;
- };
-
- template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, Mapped, rb_tree_tag, Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef rb_tree_data_<Key, Mapped, at0t, at1t, Alloc> type;
- };
-
- template<typename Key, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, null_mapped_type, rb_tree_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef rb_tree_no_data_<Key, null_mapped_type, at0t, at1t, Alloc> type;
- };
-
- template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, Mapped, splay_tree_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef splay_tree_data_<Key, Mapped, at0t, at1t, Alloc> type;
- };
-
- template<typename Key, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, null_mapped_type, splay_tree_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef splay_tree_no_data_<Key, null_mapped_type, at0t, at1t, Alloc> type;
- };
-
- template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, Mapped, ov_tree_tag, Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef ov_tree_data_<Key, Mapped, at0t, at1t, Alloc> type;
- };
-
- template<typename Key, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, null_mapped_type, ov_tree_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
-
- public:
- typedef ov_tree_no_data_<Key, null_mapped_type, at0t, at1t, Alloc> type;
- };
-
- template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, Mapped, cc_hash_tag, Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
- typedef typename at2::type at2t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
- typedef typename at3::type at3t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
- typedef typename at4::type at4t;
-
- public:
- typedef cc_ht_map_data_<Key, Mapped, at0t, at1t, Alloc, at3t::value,
- at4t, at2t> type;
- };
-
- template<typename Key, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, null_mapped_type, cc_hash_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
- typedef typename at2::type at2t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
- typedef typename at3::type at3t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
- typedef typename at4::type at4t;
-
- public:
- typedef cc_ht_map_no_data_<Key, null_mapped_type, at0t, at1t, Alloc,
- at3t::value, at4t, at2t> type;
- };
-
- template<typename Key, typename Mapped, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, Mapped, gp_hash_tag, Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
- typedef typename at2::type at2t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
- typedef typename at3::type at3t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
- typedef typename at4::type at4t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 5> at5;
- typedef typename at5::type at5t;
-
- public:
- typedef gp_ht_map_data_<Key, Mapped, at0t, at1t, Alloc, at3t::value,
- at4t, at5t, at2t> type;
- };
-
- template<typename Key, typename Policy_Tl, typename Alloc>
- struct container_base_dispatch<Key, null_mapped_type, gp_hash_tag,
- Policy_Tl, Alloc>
- {
- private:
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 0> at0;
- typedef typename at0::type at0t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 1> at1;
- typedef typename at1::type at1t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 2> at2;
- typedef typename at2::type at2t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 3> at3;
- typedef typename at3::type at3t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 4> at4;
- typedef typename at4::type at4t;
- typedef __gnu_cxx::typelist::at_index<Policy_Tl, 5> at5;
- typedef typename at5::type at5t;
-
- public:
- typedef gp_ht_map_no_data_<Key, null_mapped_type, at0t, at1t, Alloc,
- at3t::value, at4t, at5t, at2t> type;
- };
-} // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
deleted file mode 100644
index 6e37b544039a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file eq_by_less.hpp
- * Contains an equivalence function.
- */
-
-#ifndef PB_DS_EQ_BY_LESS_HPP
-#define PB_DS_EQ_BY_LESS_HPP
-
-#include <utility>
-#include <functional>
-#include <vector>
-#include <assert.h>
-#include <ext/pb_ds/detail/types_traits.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key, class Cmp_Fn>
- struct eq_by_less : private Cmp_Fn
- {
- bool
- operator()(const Key& r_lhs, const Key& r_rhs) const
- {
- const bool l = Cmp_Fn::operator()(r_lhs, r_rhs);
- const bool g = Cmp_Fn::operator()(r_rhs, r_lhs);
- return !(l || g);
- }
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_EQ_BY_LESS_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
deleted file mode 100644
index 8218ea47ab5c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
+++ /dev/null
@@ -1,185 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file hash_eq_fn.hpp
- * Contains 2 eqivalence functions, one employing a hash value,
- * and one ignoring it.
- */
-
-#ifndef PB_DS_HASH_EQ_FN_HPP
-#define PB_DS_HASH_EQ_FN_HPP
-
-#include <utility>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key, class Eq_Fn, class Allocator, bool Store_Hash>
- struct hash_eq_fn;
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, class Eq_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- hash_eq_fn<Key, Eq_Fn, Allocator, false>
-
- /**
- * Specialization 1- The client requests that hash values not be stored.
- **/
- template<typename Key, class Eq_Fn, class Allocator>
- struct hash_eq_fn<Key, Eq_Fn, Allocator, false> : public Eq_Fn
- {
- typedef Eq_Fn eq_fn_base;
-
- typedef typename Allocator::template rebind<Key>::other key_allocator;
-
- typedef typename key_allocator::const_reference const_key_reference;
-
- hash_eq_fn();
-
- hash_eq_fn(const Eq_Fn& r_eq_fn);
-
- inline bool
- operator()(const_key_reference r_lhs_key, const_key_reference r_rhs_key) const;
-
- inline void
- swap(const PB_DS_CLASS_C_DEC& other);
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- hash_eq_fn()
- { }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- swap(const PB_DS_CLASS_C_DEC& other)
- { std::swap((Eq_Fn& )(*this), (Eq_Fn& )other); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- hash_eq_fn(const Eq_Fn& r_eq_fn) :
- Eq_Fn(r_eq_fn)
- { }
-
- PB_DS_CLASS_T_DEC
- inline bool
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference r_lhs_key, const_key_reference r_rhs_key) const
- { return (eq_fn_base::operator()(r_lhs_key, r_rhs_key)); }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, class Eq_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- hash_eq_fn<Key, Eq_Fn, Allocator, true>
-
- /**
- * Specialization 2- The client requests that hash values be stored.
- **/
- template<typename Key, class Eq_Fn, class Allocator>
- struct hash_eq_fn<Key, Eq_Fn, Allocator, true> :
- public Eq_Fn
- {
- typedef typename Allocator::size_type size_type;
-
- typedef Eq_Fn eq_fn_base;
-
- typedef typename Allocator::template rebind<Key>::other key_allocator;
-
- typedef typename key_allocator::const_reference const_key_reference;
-
- hash_eq_fn();
-
- hash_eq_fn(const Eq_Fn& r_eq_fn);
-
- inline bool
- operator()(const_key_reference r_lhs_key, size_type lhs_hash,
- const_key_reference r_rhs_key, size_type rhs_hash) const;
-
- inline void
- swap(const PB_DS_CLASS_C_DEC& other);
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- hash_eq_fn()
- { }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- hash_eq_fn(const Eq_Fn& r_eq_fn) :
- Eq_Fn(r_eq_fn)
- { }
-
- PB_DS_CLASS_T_DEC
- inline bool
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference r_lhs_key, size_type lhs_hash,
- const_key_reference r_rhs_key, size_type rhs_hash) const
- {
- _GLIBCXX_DEBUG_ASSERT(!eq_fn_base::operator()(r_lhs_key, r_rhs_key)
- || lhs_hash == rhs_hash);
-
- return (lhs_hash == rhs_hash &&
- eq_fn_base::operator()(r_lhs_key, r_rhs_key));
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- swap(const PB_DS_CLASS_C_DEC& other)
- { std::swap((Eq_Fn& )(*this), (Eq_Fn& )(other)); }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
deleted file mode 100644
index 30b8d3e7b73a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,229 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructor_destructor_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s constructors, destructor,
- * and related functions.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::entry_allocator
-PB_DS_CLASS_C_DEC::s_entry_allocator;
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- insert(*(first_it++));
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME()
-: ranged_probe_fn_base(resize_base::get_nearest_larger_size(1)),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn)
-: ranged_probe_fn_base(resize_base::get_nearest_larger_size(1), r_hash_fn),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn)
-: hash_eq_fn_base(r_eq_fn),
- ranged_probe_fn_base(resize_base::get_nearest_larger_size(1), r_hash_fn),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn,
- const Comb_Probe_Fn& r_comb_hash_fn)
-: hash_eq_fn_base(r_eq_fn),
- ranged_probe_fn_base(resize_base::get_nearest_larger_size(1),
- r_hash_fn, r_comb_hash_fn),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn,
- const Comb_Probe_Fn& comb_hash_fn, const Probe_Fn& prober)
-: hash_eq_fn_base(r_eq_fn),
- ranged_probe_fn_base(resize_base::get_nearest_larger_size(1),
- r_hash_fn, comb_hash_fn, prober),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Hash_Fn& r_hash_fn, const Eq_Fn& r_eq_fn,
- const Comb_Probe_Fn& comb_hash_fn, const Probe_Fn& prober,
- const Resize_Policy& r_resize_policy)
-: hash_eq_fn_base(r_eq_fn), resize_base(r_resize_policy),
- ranged_probe_fn_base(resize_base::get_nearest_larger_size(1),
- r_hash_fn, comb_hash_fn, prober),
- m_num_e(resize_base::get_nearest_larger_size(1)), m_num_used_e(0),
- m_entries(s_entry_allocator.allocate(m_num_e))
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
-#ifdef _GLIBCXX_DEBUG
- map_debug_base(other),
-#endif
- hash_eq_fn_base(other),
- resize_base(other),
- ranged_probe_fn_base(other),
- m_num_e(other.m_num_e),
- m_num_used_e(other.m_num_used_e),
- m_entries(s_entry_allocator.allocate(m_num_e))
-{
- for (size_type i = 0; i < m_num_e; ++i)
- m_entries[i].m_stat = (entry_status)empty_entry_status;
-
- try
- {
- for (size_type i = 0; i < m_num_e; ++i)
- {
- m_entries[i].m_stat = other.m_entries[i].m_stat;
- if (m_entries[i].m_stat == valid_entry_status)
- new (m_entries + i) entry(other.m_entries[i]);
- }
- }
- catch(...)
- {
- deallocate_all();
- __throw_exception_again;
- }
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~PB_DS_CLASS_NAME()
-{ deallocate_all(); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
- std::swap(m_num_e, other.m_num_e);
- std::swap(m_num_used_e, other.m_num_used_e);
- std::swap(m_entries, other.m_entries);
- ranged_probe_fn_base::swap(other);
- hash_eq_fn_base::swap(other);
- resize_base::swap(other);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::swap(other));
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-deallocate_all()
-{
- clear();
- erase_all_valid_entries(m_entries, m_num_e);
- s_entry_allocator.deallocate(m_entries, m_num_e);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_all_valid_entries(entry_array a_entries_resized, size_type len)
-{
- for (size_type pos = 0; pos < len; ++pos)
- {
- entry_pointer p_e = &a_entries_resized[pos];
- if (p_e->m_stat == valid_entry_status)
- p_e->m_value.~value_type();
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize()
-{
- Resize_Policy::notify_resized(m_num_e);
- Resize_Policy::notify_cleared();
- ranged_probe_fn_base::notify_resized(m_num_e);
- for (size_type i = 0; i < m_num_e; ++i)
- m_entries[i].m_stat = empty_entry_status;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
deleted file mode 100644
index df4af951f1a4..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructor_destructor_no_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s constructors, destructor,
- * and related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-constructor_insert_new_imp(const_mapped_reference r_val, size_type pos,
- false_type)
-{
- _GLIBCXX_DEBUG_ASSERT(m_entries[pos].m_stat != valid_entry_status)k;
- entry* const p_e = m_entries + pos;
- new (&p_e->m_value) mapped_value_type(r_val);
- p_e->m_stat = valid_entry_status;
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(p_e->m_value.first);)
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
deleted file mode 100644
index 0e17e36efc17..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructor_destructor_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s constructors, destructor,
- * and related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-constructor_insert_new_imp(const_mapped_reference r_val, size_type pos,
- true_type)
-{
- _GLIBCXX_DEBUG_ASSERT(m_entries[pos].m_stat != valid_entry_status);
- entry* const p_e = m_entries + pos;
- new (&p_e->m_value) mapped_value_type(r_val);
- p_e->m_hash = ranged_probe_fn_base::operator()(PB_DS_V2F(r_val)).second;
- p_e->m_stat = valid_entry_status;
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(p_e->m_value.first);)
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
deleted file mode 100644
index fd8ca9abe12a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s debug-mode functions.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- map_debug_base::check_size(m_num_used_e);
- assert_entry_array_valid(m_entries, traits_base::m_store_extra_indicator);
-}
-
-#include <ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp>
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
deleted file mode 100644
index 9d3d428e3afa..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_no_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s debug-mode functions.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_entry_array_valid(const entry_array a_entries, false_type) const
-{
- size_type iterated_num_used_e = 0;
- for (size_type pos = 0; pos < m_num_e; ++pos)
- {
- const_entry_pointer p_e = &a_entries[pos];
- switch(p_e->m_stat)
- {
- case empty_entry_status:
- case erased_entry_status:
- break;
- case valid_entry_status:
- {
- const_key_reference r_key = PB_DS_V2F(p_e->m_value);
- map_debug_base::check_key_exists(r_key);
- ++iterated_num_used_e;
- break;
- }
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
- }
- _GLIBCXX_DEBUG_ASSERT(iterated_num_used_e == m_num_used_e);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
deleted file mode 100644
index a4d8b6c651aa..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s debug-mode functions.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_entry_array_valid(const entry_array a_entries, true_type) const
-{
- size_type iterated_num_used_e = 0;
-
- for (size_type pos = 0; pos < m_num_e; ++pos)
- {
- const_entry_pointer p_e =& a_entries[pos];
- switch(p_e->m_stat)
- {
- case empty_entry_status:
- case erased_entry_status:
- break;
- case valid_entry_status:
- {
- const_key_reference r_key = PB_DS_V2F(p_e->m_value);
- map_debug_base::check_key_exists(r_key);
-
- const comp_hash pos_hash_pair = ranged_probe_fn_base::operator()(r_key);
-
- _GLIBCXX_DEBUG_ASSERT(p_e->m_hash == pos_hash_pair.second);
- ++iterated_num_used_e;
- break;
- }
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
- }
-
- _GLIBCXX_DEBUG_ASSERT(iterated_num_used_e == m_num_used_e);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
deleted file mode 100644
index 9da850725863..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s erase related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-erase_entry(entry_pointer p_e)
-{
- _GLIBCXX_DEBUG_ASSERT(p_e->m_stat = valid_entry_status);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::erase_existing(PB_DS_V2F(p_e->m_value));)
- p_e->m_value.~value_type();
- p_e->m_stat = erased_entry_status;
- _GLIBCXX_DEBUG_ASSERT(m_num_used_e > 0);
- resize_base::notify_erased(--m_num_used_e);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- for (size_type pos = 0; pos < m_num_e; ++pos)
- {
- entry_pointer p_e = &m_entries[pos];
- if (p_e->m_stat == valid_entry_status)
- erase_entry(p_e);
- }
- do_resize_if_needed_no_throw();
- resize_base::notify_cleared();
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- size_type num_ersd = 0;
- for (size_type pos = 0; pos < m_num_e; ++pos)
- {
- entry_pointer p_e = &m_entries[pos];
- if (p_e->m_stat == valid_entry_status)
- if (pred(p_e->m_value))
- {
- ++num_ersd;
- erase_entry(p_e);
- }
- }
-
- do_resize_if_needed_no_throw();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- return num_ersd;
-}
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase(const_key_reference r_key)
-{ return erase_imp(r_key, traits_base::m_store_extra_indicator); }
-
-#include <ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp>
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
deleted file mode 100644
index 51acec9d4b34..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_no_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s erase related functions,
- * when the hash value is not stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase_imp(const_key_reference r_key, false_type)
-{
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- size_type hash = ranged_probe_fn_base::operator()(r_key);
- size_type i;
- resize_base::notify_erase_search_start();
-
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos = ranged_probe_fn_base::operator()(r_key, hash, i);
- entry* const p_e = m_entries + pos;
- switch(p_e->m_stat)
- {
- case empty_entry_status:
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(
- r_key));
- return false;
- }
- break;
- case valid_entry_status:
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), r_key))
- {
- resize_base::notify_erase_search_end();
- erase_entry(p_e);
- do_resize_if_needed_no_throw();
- return true;
- }
- break;
- case erased_entry_status:
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
- resize_base::notify_erase_search_collision();
- }
- resize_base::notify_erase_search_end();
- return false;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
deleted file mode 100644
index 71c498b46985..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s erase related functions,
- * when the hash value is stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase_imp(const_key_reference r_key, true_type)
-{
- const comp_hash pos_hash_pair = ranged_probe_fn_base::operator()(r_key);
- size_type i;
- resize_base::notify_erase_search_start();
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos = ranged_probe_fn_base::operator()(r_key, pos_hash_pair.second, i);
-
- entry* const p_e = m_entries + pos;
- switch(p_e->m_stat)
- {
- case empty_entry_status:
- {
- resize_base::notify_erase_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(
- r_key));
- return false;
- }
- break;
- case valid_entry_status:
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), p_e->m_hash,
- r_key, pos_hash_pair.second))
- {
- resize_base::notify_erase_search_end();
- erase_entry(p_e);
- do_resize_if_needed_no_throw();
- return true;
- }
- break;
- case erased_entry_status:
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
-
- resize_base::notify_erase_search_collision();
- }
- resize_base::notify_erase_search_end();
- return false;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
deleted file mode 100644
index 604dc40043f0..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s find related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return find_key_pointer(r_key, traits_base::m_store_extra_indicator);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key) const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return const_cast<PB_DS_CLASS_C_DEC&>(*this).find_key_pointer(r_key, traits_base::m_store_extra_indicator);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-find_end()
-{ return NULL; }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-find_end() const
-{ return NULL; }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
deleted file mode 100644
index a134f33aded0..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_no_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s find related functions,
- * when the hash value is not stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::pointer
-PB_DS_CLASS_C_DEC::
-find_key_pointer(const_key_reference r_key, false_type)
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
deleted file mode 100644
index e43c1299c78c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,46 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s insert related functions,
- * when the hash value is stored.
- */
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
deleted file mode 100644
index 4a2ae406bbd6..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
+++ /dev/null
@@ -1,688 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file gp_ht_map_.hpp
- * Contains an implementation class for gp_ht_map_.
- */
-
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp>
-#include <utility>
-#ifdef PB_DS_HT_MAP_TRACE_
-#include <iostream>
-#endif
-#ifdef _GLIBCXX_DEBUG
-#include <ext/pb_ds/detail/map_debug_base.hpp>
-#endif
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, typename Hash_Fn, typename Eq_Fn, \
- typename Allocator, bool Store_Hash, typename Comb_Probe_Fn, \
- typename Probe_Fn, typename Resize_Policy>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CLASS_NAME gp_ht_map_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_CLASS_NAME gp_ht_map_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_CLASS_NAME<Key, Mapped, Hash_Fn, Eq_Fn, Allocator, \
- Store_Hash, Comb_Probe_Fn, Probe_Fn, Resize_Policy>
-
-#define PB_DS_HASH_EQ_FN_C_DEC \
- hash_eq_fn<Key, Eq_Fn, Allocator, Store_Hash>
-
-#define PB_DS_RANGED_PROBE_FN_C_DEC \
- ranged_probe_fn<Key, Hash_Fn, Allocator, Comb_Probe_Fn, Probe_Fn, Store_Hash>
-
-#define PB_DS_TYPES_TRAITS_C_DEC \
- types_traits<Key, Mapped, Allocator, Store_Hash>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_MAP_DEBUG_BASE_C_DEC \
- map_debug_base<Key, Eq_Fn, typename Allocator::template rebind<Key>::other::const_reference>
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped()
-#endif
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \
- UNIQUE##static_assert_type
-
- template<typename Key,
- typename Mapped,
- typename Hash_Fn,
- typename Eq_Fn,
- typename Allocator,
- bool Store_Hash,
- typename Comb_Probe_Fn,
- typename Probe_Fn,
- typename Resize_Policy>
- class PB_DS_CLASS_NAME :
-#ifdef _GLIBCXX_DEBUG
- protected PB_DS_MAP_DEBUG_BASE_C_DEC,
-#endif
- public PB_DS_HASH_EQ_FN_C_DEC,
- public Resize_Policy,
- public PB_DS_RANGED_PROBE_FN_C_DEC,
- public PB_DS_TYPES_TRAITS_C_DEC
- {
- private:
- typedef PB_DS_TYPES_TRAITS_C_DEC traits_base;
- typedef typename traits_base::value_type value_type_;
- typedef typename traits_base::pointer pointer_;
- typedef typename traits_base::const_pointer const_pointer_;
- typedef typename traits_base::reference reference_;
- typedef typename traits_base::const_reference const_reference_;
- typedef typename traits_base::comp_hash comp_hash;
-
- enum entry_status
- {
- empty_entry_status,
- valid_entry_status,
- erased_entry_status
- } __attribute__ ((packed));
-
- struct entry : public traits_base::stored_value_type
- {
- entry_status m_stat;
- };
-
- typedef typename Allocator::template rebind<entry>::other entry_allocator;
- typedef typename entry_allocator::pointer entry_pointer;
- typedef typename entry_allocator::const_pointer const_entry_pointer;
- typedef typename entry_allocator::reference entry_reference;
- typedef typename entry_allocator::const_reference const_entry_reference;
- typedef typename entry_allocator::pointer entry_array;
-
- typedef PB_DS_RANGED_PROBE_FN_C_DEC ranged_probe_fn_base;
-
-#ifdef _GLIBCXX_DEBUG
- typedef PB_DS_MAP_DEBUG_BASE_C_DEC map_debug_base;
-#endif
-
- typedef PB_DS_HASH_EQ_FN_C_DEC hash_eq_fn_base;
- typedef Resize_Policy resize_base;
-
-#define PB_DS_GEN_POS typename Allocator::size_type
-
-#include <ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/point_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/const_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/iterator.hpp>
-
-#undef PB_DS_GEN_POS
-
- public:
- typedef Allocator allocator;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
- typedef Hash_Fn hash_fn;
- typedef Eq_Fn eq_fn;
- typedef Probe_Fn probe_fn;
- typedef Comb_Probe_Fn comb_probe_fn;
- typedef Resize_Policy resize_policy;
-
- enum
- {
- store_hash = Store_Hash
- };
-
- typedef typename traits_base::key_type key_type;
- typedef typename traits_base::key_pointer key_pointer;
- typedef typename traits_base::const_key_pointer const_key_pointer;
- typedef typename traits_base::key_reference key_reference;
- typedef typename traits_base::const_key_reference const_key_reference;
- typedef typename traits_base::mapped_type mapped_type;
- typedef typename traits_base::mapped_pointer mapped_pointer;
- typedef typename traits_base::const_mapped_pointer const_mapped_pointer;
- typedef typename traits_base::mapped_reference mapped_reference;
- typedef typename traits_base::const_mapped_reference const_mapped_reference;
- typedef typename traits_base::value_type value_type;
- typedef typename traits_base::pointer pointer;
- typedef typename traits_base::const_pointer const_pointer;
- typedef typename traits_base::reference reference;
- typedef typename traits_base::const_reference const_reference;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef point_iterator_ point_iterator;
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
- typedef const_point_iterator_ point_iterator;
-#endif
-
- typedef const_point_iterator_ const_point_iterator;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef iterator_ iterator;
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
- typedef const_iterator_ iterator;
-#endif
-
- typedef const_iterator_ const_iterator;
-
- PB_DS_CLASS_NAME();
-
- PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&, const Eq_Fn&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&, const Eq_Fn&, const Comb_Probe_Fn&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&, const Eq_Fn&, const Comb_Probe_Fn&,
- const Probe_Fn&);
-
- PB_DS_CLASS_NAME(const Hash_Fn&, const Eq_Fn&, const Comb_Probe_Fn&,
- const Probe_Fn&, const Resize_Policy&);
-
- template<typename It>
- void
- copy_from_range(It first_it, It last_it);
-
- virtual
- ~PB_DS_CLASS_NAME();
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- inline size_type
- size() const;
-
- inline size_type
- max_size() const;
-
- inline bool
- empty() const;
-
- Hash_Fn&
- get_hash_fn();
-
- const Hash_Fn&
- get_hash_fn() const;
-
- Eq_Fn&
- get_eq_fn();
-
- const Eq_Fn&
- get_eq_fn() const;
-
- Probe_Fn&
- get_probe_fn();
-
- const Probe_Fn&
- get_probe_fn() const;
-
- Comb_Probe_Fn&
- get_comb_probe_fn();
-
- const Comb_Probe_Fn&
- get_comb_probe_fn() const;
-
- Resize_Policy&
- get_resize_policy();
-
- const Resize_Policy&
- get_resize_policy() const;
-
- inline std::pair<point_iterator, bool>
- insert(const_reference r_val)
- {
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- return insert_imp(r_val, traits_base::m_store_extra_indicator);
- }
-
- inline mapped_reference
- operator[](const_key_reference r_key)
- {
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- return subscript_imp(r_key, traits_base::m_store_extra_indicator);
-#else
- insert(r_key);
- return traits_base::s_null_mapped;
-#endif
- }
-
- inline point_iterator
- find(const_key_reference r_key);
-
- inline const_point_iterator
- find(const_key_reference r_key) const;
-
- inline point_iterator
- find_end();
-
- inline const_point_iterator
- find_end() const;
-
- inline bool
- erase(const_key_reference r_key);
-
- template<typename Pred>
- inline size_type
- erase_if(Pred prd);
-
- void
- clear();
-
- inline iterator
- begin();
-
- inline const_iterator
- begin() const;
-
- inline iterator
- end();
-
- inline const_iterator
- end() const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
-#ifdef PB_DS_HT_MAP_TRACE_
- void
- trace() const;
-#endif
-
- private:
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- friend class iterator_;
-#endif
-
- friend class const_iterator_;
-
- void
- deallocate_all();
-
- void
- initialize();
-
- void
- erase_all_valid_entries(entry_array, size_type);
-
- inline bool
- do_resize_if_needed();
-
- inline void
- do_resize_if_needed_no_throw();
-
- void
- resize_imp(size_type);
-
- virtual void
- do_resize(size_type);
-
- void
- resize_imp(entry_array, size_type);
-
- inline void
- resize_imp_reassign(entry_pointer, entry_array, false_type);
-
- inline void
- resize_imp_reassign(entry_pointer, entry_array, true_type);
-
- inline size_type
- find_ins_pos(const_key_reference, false_type);
-
- inline comp_hash
- find_ins_pos(const_key_reference, true_type);
-
- inline std::pair<point_iterator, bool>
- insert_imp(const_reference, false_type);
-
- inline std::pair<point_iterator, bool>
- insert_imp(const_reference, true_type);
-
- inline pointer
- insert_new_imp(const_reference r_val, size_type pos)
- {
- _GLIBCXX_DEBUG_ASSERT(m_entries[pos].m_stat != valid_entry_status);
-
- if (do_resize_if_needed())
- pos = find_ins_pos(PB_DS_V2F(r_val),
- traits_base::m_store_extra_indicator);
-
- _GLIBCXX_DEBUG_ASSERT(m_entries[pos].m_stat != valid_entry_status);
-
- entry* const p_e = m_entries + pos;
- new (&p_e->m_value) value_type(r_val);
- p_e->m_stat = valid_entry_status;
- resize_base::notify_inserted(++m_num_used_e);
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(p_e->m_value));)
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return &p_e->m_value;
- }
-
- inline pointer
- insert_new_imp(const_reference r_val, comp_hash& r_pos_hash_pair)
- {
- _GLIBCXX_DEBUG_ASSERT(m_entries[r_pos_hash_pair.first].m_stat !=
- valid_entry_status);
-
- if (do_resize_if_needed())
- r_pos_hash_pair = find_ins_pos(PB_DS_V2F(r_val),
- traits_base::m_store_extra_indicator);
-
- _GLIBCXX_DEBUG_ASSERT(m_entries[r_pos_hash_pair.first].m_stat !=
- valid_entry_status);
-
- entry* const p_e = m_entries + r_pos_hash_pair.first;
- new (&p_e->m_value) value_type(r_val);
- p_e->m_hash = r_pos_hash_pair.second;
- p_e->m_stat = valid_entry_status;
-
- resize_base::notify_inserted(++m_num_used_e);
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(p_e->m_value));)
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return &p_e->m_value;
- }
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- inline mapped_reference
- subscript_imp(const_key_reference key, false_type)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- const size_type pos = find_ins_pos(key,
- traits_base::m_store_extra_indicator);
-
- entry_pointer p_e = &m_entries[pos];
- if (p_e->m_stat != valid_entry_status)
- return insert_new_imp(value_type(key, mapped_type()), pos)->second;
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(key);)
- return p_e->m_value.second;
- }
-
- inline mapped_reference
- subscript_imp(const_key_reference key, true_type)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- comp_hash pos_hash_pair =
- find_ins_pos(key, traits_base::m_store_extra_indicator);
-
- if (m_entries[pos_hash_pair.first].m_stat != valid_entry_status)
- return insert_new_imp(value_type(key, mapped_type()),
- pos_hash_pair)->second;
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(key));
- return (m_entries + pos_hash_pair.first)->m_value.second;
- }
-#endif
-
- inline pointer
- find_key_pointer(const_key_reference key, false_type)
- {
- const size_type hash = ranged_probe_fn_base::operator()(key);
- size_type i;
- resize_base::notify_find_search_start();
-
- // Loop until entry is found or until all possible entries accessed.
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos = ranged_probe_fn_base::operator()(key, hash, i);
-
- entry* const p_e = m_entries + pos;
- switch (p_e->m_stat)
- {
- case empty_entry_status:
- {
- resize_base::notify_find_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(key);)
-
- return NULL;
- }
- break;
- case valid_entry_status:
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), key))
- {
- resize_base::notify_find_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(key);)
-
- return pointer(&p_e->m_value);
- }
- break;
- case erased_entry_status:
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
-
- resize_base::notify_find_search_collision();
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(key);)
- resize_base::notify_find_search_end();
- return NULL;
- }
-
- inline pointer
- find_key_pointer(const_key_reference key, true_type)
- {
- comp_hash pos_hash_pair = ranged_probe_fn_base::operator()(key);
- size_type i;
- resize_base::notify_find_search_start();
-
- // Loop until entry is found or until all possible entries accessed.
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos =
- ranged_probe_fn_base::operator()(key, pos_hash_pair.second, i);
-
- entry* const p_e = m_entries + pos;
-
- switch(p_e->m_stat)
- {
- case empty_entry_status:
- {
- resize_base::notify_find_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(key);)
-
- return NULL;
- }
- break;
- case valid_entry_status:
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value),
- p_e->m_hash,
- key, pos_hash_pair.second))
- {
- resize_base::notify_find_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(key);)
- return pointer(&p_e->m_value);
- }
- break;
- case erased_entry_status:
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
-
- resize_base::notify_find_search_collision();
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(key);)
- resize_base::notify_find_search_end();
- return NULL;
- }
-
- inline bool
- erase_imp(const_key_reference, true_type);
-
- inline bool
- erase_imp(const_key_reference, false_type);
-
- inline void
- erase_entry(entry_pointer p_e);
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- void
- inc_it_state(pointer& r_p_value, size_type& r_pos) const
- { inc_it_state((const_mapped_pointer& )r_p_value, r_pos); }
-#endif
-
- void
- inc_it_state(const_pointer& r_p_value, size_type& r_pos) const
- {
- _GLIBCXX_DEBUG_ASSERT(r_p_value != NULL);
- for (++r_pos; r_pos < m_num_e; ++r_pos)
- {
- const_entry_pointer p_e =& m_entries[r_pos];
- if (p_e->m_stat == valid_entry_status)
- {
- r_p_value =& p_e->m_value;
- return;
- }
- }
- r_p_value = NULL;
- }
-
- void
- get_start_it_state(const_pointer& r_p_value, size_type& r_pos) const
- {
- for (r_pos = 0; r_pos < m_num_e; ++r_pos)
- {
- const_entry_pointer p_e = &m_entries[r_pos];
- if (p_e->m_stat == valid_entry_status)
- {
- r_p_value = &p_e->m_value;
- return;
- }
- }
- r_p_value = NULL;
- }
-
- void
- get_start_it_state(pointer& r_p_value, size_type& r_pos)
- {
- for (r_pos = 0; r_pos < m_num_e; ++r_pos)
- {
- entry_pointer p_e = &m_entries[r_pos];
- if (p_e->m_stat == valid_entry_status)
- {
- r_p_value = &p_e->m_value;
- return;
- }
- }
- r_p_value = NULL;
- }
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_entry_array_valid(const entry_array, false_type) const;
-
- void
- assert_entry_array_valid(const entry_array, true_type) const;
-#endif
-
- static entry_allocator s_entry_allocator;
- static iterator s_end_it;
- static const_iterator s_const_end_it;
-
- size_type m_num_e;
- size_type m_num_used_e;
- entry_pointer m_entries;
-
- enum
- {
- store_hash_ok = !Store_Hash
- || !is_same<Hash_Fn, pb_ds::null_hash_fn>::value
- };
-
- PB_DS_STATIC_ASSERT(sth, store_hash_ok);
- };
-
-#include <ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_HASH_EQ_FN_C_DEC
-#undef PB_DS_RANGED_PROBE_FN_C_DEC
-#undef PB_DS_TYPES_TRAITS_C_DEC
-#undef PB_DS_MAP_DEBUG_BASE_C_DEC
-#undef PB_DS_CLASS_NAME
-#undef PB_DS_V2F
-#undef PB_DS_V2S
-#undef PB_DS_STATIC_ASSERT
-
- } // namespace detail
-} // namespace pb_ds
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
deleted file mode 100644
index f24fa8e40407..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s entire container info related
- * functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{ return m_num_used_e; }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{ return s_entry_allocator.max_size(); }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{ return (size() == 0); }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
deleted file mode 100644
index de6e3c21f729..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s insert related functions.
- */
-
-#include <ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp>
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
deleted file mode 100644
index 98d597051bdc..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_no_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s insert related functions,
- * when the hash value is not stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-find_ins_pos(const_key_reference r_key, false_type)
-{
- size_type hash = ranged_probe_fn_base::operator()(r_key);
- size_type i;
-
- /* The insertion position is initted to a non-legal value to indicate
- * that it has not been initted yet.
- */
- size_type ins_pos = m_num_e;
- resize_base::notify_insert_search_start();
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos = ranged_probe_fn_base::operator()(r_key, hash, i);
- _GLIBCXX_DEBUG_ASSERT(pos < m_num_e);
- entry* const p_e = m_entries + pos;
- switch(p_e->m_stat)
- {
- case empty_entry_status:
- {
- resize_base::notify_insert_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return (ins_pos == m_num_e) ? pos : ins_pos;
- }
- break;
- case erased_entry_status:
- if (ins_pos == m_num_e)
- ins_pos = pos;
- break;
- case valid_entry_status:
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), r_key))
- {
- resize_base::notify_insert_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- return pos;
- }
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
-
- resize_base::notify_insert_search_collision();
- }
- resize_base::notify_insert_search_end();
- if (ins_pos == m_num_e)
- __throw_insert_error();
- return ins_pos;
-}
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert_imp(const_reference r_val, false_type)
-{
- const_key_reference r_key = PB_DS_V2F(r_val);
- const size_type pos = find_ins_pos(r_key,
- traits_base::m_store_extra_indicator);
-
- if (m_entries[pos].m_stat == valid_entry_status)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- return std::make_pair(&(m_entries + pos)->m_value, false);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key));
- return std::make_pair(insert_new_imp(r_val, pos), true);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
deleted file mode 100644
index b6445fae2e61..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,124 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s find related functions,
- * when the hash value is stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::comp_hash
-PB_DS_CLASS_C_DEC::
-find_ins_pos(const_key_reference r_key, true_type)
-{
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- comp_hash pos_hash_pair = ranged_probe_fn_base::operator()(r_key);
-
- size_type i;
-
- /* The insertion position is initted to a non-legal value to indicate
- * that it has not been initted yet.
- */
- size_type ins_pos = m_num_e;
- resize_base::notify_insert_search_start();
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos = ranged_probe_fn_base::operator()(r_key, pos_hash_pair.second, i);
-
- entry* const p_e = m_entries + pos;
- switch(p_e->m_stat)
- {
- case empty_entry_status:
- {
- resize_base::notify_insert_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
-
- return ((ins_pos == m_num_e) ?
- std::make_pair(pos, pos_hash_pair.second) :
- std::make_pair(ins_pos, pos_hash_pair.second));
- }
- break;
- case erased_entry_status:
- if (ins_pos == m_num_e)
- ins_pos = pos;
- break;
- case valid_entry_status:
- if (hash_eq_fn_base::operator()(PB_DS_V2F(p_e->m_value), p_e->m_hash,
- r_key, pos_hash_pair.second))
- {
- resize_base::notify_insert_search_end();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- return std::make_pair(pos, pos_hash_pair.second);
- }
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
- resize_base::notify_insert_search_collision();
- }
- resize_base::notify_insert_search_end();
- if (ins_pos == m_num_e)
- __throw_insert_error();
- return std::make_pair(ins_pos, pos_hash_pair.second);
-}
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert_imp(const_reference r_val, true_type)
-{
- const_key_reference r_key = PB_DS_V2F(r_val);
- comp_hash pos_hash_pair = find_ins_pos(r_key,
- traits_base::m_store_extra_indicator);
-
- _GLIBCXX_DEBUG_ASSERT(pos_hash_pair.first < m_num_e);
- entry_pointer p_e =& m_entries[pos_hash_pair.first];
- if (p_e->m_stat == valid_entry_status)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- return std::make_pair(&p_e->m_value, false);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key));
- return std::make_pair(insert_new_imp(r_val, pos_hash_pair), true);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
deleted file mode 100644
index 0f5e835641fd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+++ /dev/null
@@ -1,89 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterator_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s iterators related functions, e.g.,
- * begin().
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::s_end_it;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::s_const_end_it;
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-begin()
-{
- pointer_ p_value;
- size_type pos;
- get_start_it_state(p_value, pos);
- return iterator(p_value, pos, this);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-end()
-{ return s_end_it; }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin() const
-{
- const_pointer_ p_value;
- size_type pos;
- get_start_it_state(p_value, pos);
- return const_iterator(p_value, pos, this);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end() const
-{ return s_const_end_it; }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
deleted file mode 100644
index 903fc34711f5..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file policy_access_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s policy agpess
- * functions.
- */
-
-PB_DS_CLASS_T_DEC
-Hash_Fn&
-PB_DS_CLASS_C_DEC::
-get_hash_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Hash_Fn&
-PB_DS_CLASS_C_DEC::
-get_hash_fn() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Eq_Fn&
-PB_DS_CLASS_C_DEC::
-get_eq_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Eq_Fn&
-PB_DS_CLASS_C_DEC::
-get_eq_fn() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Probe_Fn&
-PB_DS_CLASS_C_DEC::
-get_probe_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Probe_Fn&
-PB_DS_CLASS_C_DEC::
-get_probe_fn() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Comb_Probe_Fn&
-PB_DS_CLASS_C_DEC::
-get_comb_probe_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Comb_Probe_Fn&
-PB_DS_CLASS_C_DEC::
-get_comb_probe_fn() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Resize_Policy&
-PB_DS_CLASS_C_DEC::
-get_resize_policy()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Resize_Policy&
-PB_DS_CLASS_C_DEC::
-get_resize_policy() const
-{ return *this; }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
deleted file mode 100644
index 4368d12d6261..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file resize_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s resize related functions.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-do_resize_if_needed()
-{
- if (!resize_base::is_resize_needed())
- return false;
- resize_imp(resize_base::get_new_size(m_num_e, m_num_used_e));
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-do_resize(size_type n)
-{ resize_imp(resize_base::get_nearest_larger_size(n)); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-do_resize_if_needed_no_throw()
-{
- if (!resize_base::is_resize_needed())
- return;
-
- try
- {
- resize_imp(resize_base::get_new_size(m_num_e, m_num_used_e));
- }
- catch(...)
- { }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-resize_imp(size_type new_size)
-{
-#ifdef PB_DS_REGRESSION
- typename Allocator::group_throw_prob_adjustor adjust(m_num_e);
-#endif
-
- if (new_size == m_num_e)
- return;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- const size_type old_size = m_num_e;
- entry_array a_entries_resized = NULL;
-
- // Following line might throw an exception.
- a_entries_resized = s_entry_allocator.allocate(new_size);
-
- ranged_probe_fn_base::notify_resized(new_size);
- m_num_e = new_size;
-
- for (size_type i = 0; i < m_num_e; ++i)
- a_entries_resized[i].m_stat = empty_entry_status;
-
- try
- {
- resize_imp(a_entries_resized, old_size);
- }
- catch(...)
- {
- erase_all_valid_entries(a_entries_resized, new_size);
- m_num_e = old_size;
- s_entry_allocator.deallocate(a_entries_resized, new_size);
- ranged_probe_fn_base::notify_resized(old_size);
- __throw_exception_again;
- }
-
- // At this point no exceptions can be thrown.
- _GLIBCXX_DEBUG_ONLY(assert_entry_array_valid(a_entries_resized, traits_base::m_store_extra_indicator);)
-
- Resize_Policy::notify_resized(new_size);
- erase_all_valid_entries(m_entries, old_size);
- s_entry_allocator.deallocate(m_entries, old_size);
- m_entries = a_entries_resized;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-resize_imp(entry_array a_entries_resized, size_type old_size)
-{
- for (size_type pos = 0; pos < old_size; ++pos)
- if (m_entries[pos].m_stat == valid_entry_status)
- resize_imp_reassign(m_entries + pos, a_entries_resized,
- traits_base::m_store_extra_indicator);
-}
-
-#include <ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp>
-#include <ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp>
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
deleted file mode 100644
index 2f4126a12d1e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file resize_no_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s resize related functions, when the
- * hash value is not stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized,
- false_type)
-{
- const_key_reference r_key = PB_DS_V2F(p_e->m_value);
- size_type hash = ranged_probe_fn_base::operator()(r_key);
- size_type i;
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos = ranged_probe_fn_base::operator()(r_key, hash, i);
- entry_pointer p_new_e = a_entries_resized + pos;
- switch(p_new_e->m_stat)
- {
- case empty_entry_status:
- new (&p_new_e->m_value) value_type(p_e->m_value);
- p_new_e->m_stat = valid_entry_status;
- return;
- case erased_entry_status:
- _GLIBCXX_DEBUG_ASSERT(0);
- break;
- case valid_entry_status:
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
- }
- __throw_insert_error();
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
deleted file mode 100644
index ac2ce14cc05e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file resize_store_hash_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s resize related functions, when the
- * hash value is stored.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-resize_imp_reassign(entry_pointer p_e, entry_array a_entries_resized,
- true_type)
-{
- const_key_reference r_key = PB_DS_V2F(p_e->m_value);
- size_type hash = ranged_probe_fn_base::operator()(r_key, p_e->m_hash);
-
- size_type i;
- for (i = 0; i < m_num_e; ++i)
- {
- const size_type pos = ranged_probe_fn_base::operator()(r_key, hash, i);
- entry_pointer p_new_e = a_entries_resized + pos;
- switch(p_new_e->m_stat)
- {
- case empty_entry_status:
- new (&p_new_e->m_value) value_type(p_e->m_value);
- p_new_e->m_hash = hash;
- p_new_e->m_stat = valid_entry_status;
- return;
- case erased_entry_status:
- _GLIBCXX_DEBUG_ASSERT(0);
- break;
- case valid_entry_status:
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
- }
- __throw_insert_error();
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp
deleted file mode 100644
index f4bf7c6e472e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file standard_policies.hpp
- * Contains standard policies for gp_ht_map types.
- */
-
-#ifndef PB_DS_GP_HT_MAP_STANDARD_POLICIES_HPP
-#define PB_DS_GP_HT_MAP_STANDARD_POLICIES_HPP
-
-#include <ext/pb_ds/detail/standard_policies.hpp>
-#include <ext/pb_ds/ht_load_check_resize_trigger.hpp>
-#include <ext/pb_ds/linear_probe_fn.hpp>
-#include <ext/pb_ds/quadratic_probe_fn.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Comb_Probe_Fn>
- struct default_probe_fn
- {
- private:
- typedef typename Comb_Probe_Fn::size_type size_type;
-
- public:
- typedef
- typename __conditional_type<
- is_same<
- pb_ds::direct_mask_range_hashing<size_t>,
- Comb_Probe_Fn>::value,
- pb_ds::linear_probe_fn<size_type>,
- pb_ds::quadratic_probe_fn<size_type> >::__type
- type;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
deleted file mode 100644
index 78240c4219c0..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains implementations of gp_ht_map_'s trace-mode functions.
- */
-
-#ifdef PB_DS_HT_MAP_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- std::cerr << static_cast<unsigned long>(m_num_e) << " " <<
- static_cast<unsigned long>(m_num_used_e) << std::endl;
-
- for (size_type i = 0; i < m_num_e; ++i)
- {
- std::cerr << static_cast<unsigned long>(i) << " ";
-
- switch(m_entries[i].m_stat)
- {
- case empty_entry_status:
- std::cerr << "<empty>";
- break;
- case erased_entry_status:
- std::cerr << "<erased>";
- break;
- case valid_entry_status:
- std::cerr << PB_DS_V2F(m_entries[i].m_value);
- break;
- default:
- _GLIBCXX_DEBUG_ASSERT(0);
- };
-
- std::cerr << std::endl;
- }
-}
-
-#endif // #ifdef PB_DS_HT_MAP_TRACE_
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
deleted file mode 100644
index 5295134a5c9e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file direct_mask_range_hashing_imp.hpp
- * Contains a range-hashing policy implementation
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{ mask_based_base::swap(other); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_resized(size_type size)
-{ mask_based_base::notify_resized(size); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-operator()(size_type hash) const
-{ return mask_based_base::range_hash(hash); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
deleted file mode 100644
index 5edff69aa954..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file direct_mod_range_hashing_imp.hpp
- * Contains a range-hashing policy implementation
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{ mod_based_base::swap(other); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_resized(size_type n)
-{ mod_based_base::notify_resized(n); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-operator()(size_type hash) const
-{ return mod_based_base::range_hash(hash); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
deleted file mode 100644
index c1e196c71c91..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file linear_probe_fn_imp.hpp
- * Contains a probe policy implementation
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{ }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-operator()(size_type i) const
-{
- return (i);
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
deleted file mode 100644
index 4aa1894bade4..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file mask_based_range_hashing.hpp
- * Contains a range hashing policy base.
- */
-
-#ifndef PB_DS_MASK_BASED_RANGE_HASHING_HPP
-#define PB_DS_MASK_BASED_RANGE_HASHING_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC template<typename Size_Type>
-#define PB_DS_CLASS_C_DEC mask_based_range_hashing<Size_Type>
-
- template<typename Size_Type>
- class mask_based_range_hashing
- {
- protected:
- typedef Size_Type size_type;
-
- void
- swap(mask_based_range_hashing& other)
- { std::swap(m_mask, other.m_mask); }
-
- void
- notify_resized(size_type size);
-
- inline size_type
- range_hash(size_type hash) const
- { return size_type(hash & m_mask); }
-
- private:
- size_type m_mask;
- const static size_type s_num_bits_in_size_type;
- const static size_type s_highest_bit_1;
- };
-
- PB_DS_CLASS_T_DEC
- const typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::s_num_bits_in_size_type =
- sizeof(typename PB_DS_CLASS_C_DEC::size_type) << 3;
-
- PB_DS_CLASS_T_DEC
- const typename PB_DS_CLASS_C_DEC::size_type PB_DS_CLASS_C_DEC::s_highest_bit_1 = static_cast<typename PB_DS_CLASS_C_DEC::size_type>(1) << (s_num_bits_in_size_type - 1);
-
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- notify_resized(size_type size)
- {
- size_type i = 0;
- while (size ^ s_highest_bit_1)
- {
- size <<= 1;
- ++i;
- }
-
- m_mask = 1;
- i += 2;
- while (i++ < s_num_bits_in_size_type)
- m_mask = (m_mask << 1) ^ 1;
- }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
deleted file mode 100644
index 2d5e8d6ef55d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
+++ /dev/null
@@ -1,114 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file mod_based_range_hashing.hpp
- * Contains a range hashing policy base.
- */
-
-#ifndef PB_DS_MOD_BASED_RANGE_HASHING_HPP
-#define PB_DS_MOD_BASED_RANGE_HASHING_HPP
-
-namespace pb_ds
-{
-
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Size_Type>
-
-#define PB_DS_CLASS_C_DEC \
- mod_based_range_hashing< \
- Size_Type>
-
- template<typename Size_Type>
- class mod_based_range_hashing
- {
- protected:
- typedef Size_Type size_type;
-
- protected:
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- void
- notify_resized(size_type size);
-
- inline size_type
- range_hash(size_type hash) const;
-
- private:
- size_type m_size;
- };
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- std::swap(m_size, other.m_size);
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- notify_resized(size_type size)
- {
- m_size = size;
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- range_hash(size_type hash) const
- {
- return (hash % m_size);
- }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- } // namespace detail
-
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_MOD_BASED_RANGE_HASHING_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
deleted file mode 100644
index e72a47ef8256..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file probe_fn_base.hpp
- * Contains a probe policy base.
- */
-
-#ifndef PB_DS_PROBE_FN_BASE_HPP
-#define PB_DS_PROBE_FN_BASE_HPP
-
-#include <functional>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Allocator>
- class probe_fn_base
- {
- protected:
- ~probe_fn_base() { }
- };
-} // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
deleted file mode 100644
index 044b18ba61d8..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file quadratic_probe_fn_imp.hpp
- * Contains a probe policy implementation
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{ }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-operator()(size_type i) const
-{
- return (i* i);
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
deleted file mode 100644
index 179e59358fcf..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
+++ /dev/null
@@ -1,365 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file ranged_hash_fn.hpp
- * Contains a unified ranged hash functor, allowing the hash tables
- * to deal with a single class for ranged hashing.
- */
-
-#ifndef PB_DS_RANGED_HASH_FN_HPP
-#define PB_DS_RANGED_HASH_FN_HPP
-
-#include <ext/pb_ds/detail/basic_types.hpp>
-#include <utility>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key, typename Hash_Fn, typename Allocator,
- typename Comb_Hash_Fn, bool Store_Hash>
- class ranged_hash_fn;
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Hash_Fn, typename Allocator, \
- typename Comb_Hash_Fn>
-
-#define PB_DS_CLASS_C_DEC \
- ranged_hash_fn<Key, Hash_Fn, Allocator, Comb_Hash_Fn, false>
-
- /**
- * Specialization 1
- * The client supplies a hash function and a ranged hash function,
- * and requests that hash values not be stored.
- **/
- template<typename Key, typename Hash_Fn, typename Allocator,
- typename Comb_Hash_Fn>
- class ranged_hash_fn< Key, Hash_Fn, Allocator, Comb_Hash_Fn, false>
- : public Hash_Fn, public Comb_Hash_Fn
- {
- protected:
- typedef typename Allocator::size_type size_type;
- typedef Hash_Fn hash_fn_base;
- typedef Comb_Hash_Fn comb_hash_fn_base;
- typedef typename Allocator::template rebind< Key>::other key_allocator;
- typedef typename key_allocator::const_reference const_key_reference;
-
- ranged_hash_fn(size_type);
-
- ranged_hash_fn(size_type, const Hash_Fn&);
-
- ranged_hash_fn(size_type, const Hash_Fn&, const Comb_Hash_Fn&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- void
- notify_resized(size_type);
-
- inline size_type
- operator()(const_key_reference) const;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size)
- { Comb_Hash_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const Hash_Fn& r_hash_fn)
- : Hash_Fn(r_hash_fn)
- { Comb_Hash_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const Hash_Fn& r_hash_fn,
- const Comb_Hash_Fn& r_comb_hash_fn)
- : Hash_Fn(r_hash_fn), Comb_Hash_Fn(r_comb_hash_fn)
- { comb_hash_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- comb_hash_fn_base::swap(other);
- std::swap((Hash_Fn& )(*this), (Hash_Fn& )other);
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- notify_resized(size_type size)
- { comb_hash_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference r_key) const
- { return (comb_hash_fn_base::operator()(hash_fn_base::operator()(r_key)));}
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Hash_Fn, typename Allocator, \
- typename Comb_Hash_Fn>
-
-#define PB_DS_CLASS_C_DEC \
- ranged_hash_fn<Key,Hash_Fn, Allocator, Comb_Hash_Fn, true>
-
- /**
- * Specialization 2
- * The client supplies a hash function and a ranged hash function,
- * and requests that hash values be stored.
- **/
- template<typename Key, typename Hash_Fn, typename Allocator,
- typename Comb_Hash_Fn>
- class ranged_hash_fn<Key, Hash_Fn, Allocator, Comb_Hash_Fn, true>
- : public Hash_Fn, public Comb_Hash_Fn
- {
- protected:
- typedef typename Allocator::size_type size_type;
- typedef std::pair<size_type, size_type> comp_hash;
- typedef Hash_Fn hash_fn_base;
- typedef Comb_Hash_Fn comb_hash_fn_base;
- typedef typename Allocator::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::const_reference const_key_reference;
-
- ranged_hash_fn(size_type);
-
- ranged_hash_fn(size_type, const Hash_Fn&);
-
- ranged_hash_fn(size_type, const Hash_Fn&, const Comb_Hash_Fn&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- void
- notify_resized(size_type);
-
- inline comp_hash
- operator()(const_key_reference) const;
-
- inline comp_hash
- operator()(const_key_reference, size_type) const;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size)
- { Comb_Hash_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const Hash_Fn& r_hash_fn) :
- Hash_Fn(r_hash_fn)
- { Comb_Hash_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const Hash_Fn& r_hash_fn,
- const Comb_Hash_Fn& r_comb_hash_fn)
- : Hash_Fn(r_hash_fn), Comb_Hash_Fn(r_comb_hash_fn)
- { comb_hash_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- comb_hash_fn_base::swap(other);
- std::swap((Hash_Fn& )(*this), (Hash_Fn& )other);
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- notify_resized(size_type size)
- { comb_hash_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::comp_hash
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference r_key) const
- {
- const size_type hash = hash_fn_base::operator()(r_key);
- return std::make_pair(comb_hash_fn_base::operator()(hash), hash);
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::comp_hash
- PB_DS_CLASS_C_DEC::
- operator()
-#ifdef _GLIBCXX_DEBUG
- (const_key_reference r_key, size_type hash) const
-#else
- (const_key_reference /*r_key*/, size_type hash) const
-#endif
- {
- _GLIBCXX_DEBUG_ASSERT(hash == hash_fn_base::operator()(r_key));
- return std::make_pair(comb_hash_fn_base::operator()(hash), hash);
- }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Allocator, typename Comb_Hash_Fn>
-
-#define PB_DS_CLASS_C_DEC \
- ranged_hash_fn<Key, null_hash_fn, Allocator, Comb_Hash_Fn, false>
-
- /**
- * Specialization 3
- * The client does not supply a hash function (by specifying
- * null_hash_fn as the Hash_Fn parameter), and requests that hash
- * values not be stored.
- **/
- template<typename Key, typename Allocator, typename Comb_Hash_Fn>
- class ranged_hash_fn<Key, null_hash_fn, Allocator, Comb_Hash_Fn, false>
- : public null_hash_fn, public Comb_Hash_Fn
- {
- protected:
- typedef typename Allocator::size_type size_type;
- typedef Comb_Hash_Fn comb_hash_fn_base;
-
- ranged_hash_fn(size_type);
-
- ranged_hash_fn(size_type, const Comb_Hash_Fn&);
-
- ranged_hash_fn(size_type, const null_hash_fn&, const Comb_Hash_Fn&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size)
- { Comb_Hash_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const Comb_Hash_Fn& r_comb_hash_fn) :
- Comb_Hash_Fn(r_comb_hash_fn)
- { }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const null_hash_fn& r_null_hash_fn,
- const Comb_Hash_Fn& r_comb_hash_fn)
- : Comb_Hash_Fn(r_comb_hash_fn)
- { }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- { comb_hash_fn_base::swap(other); }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Allocator, typename Comb_Hash_Fn>
-
-#define PB_DS_CLASS_C_DEC \
- ranged_hash_fn<Key, null_hash_fn, Allocator, Comb_Hash_Fn, true>
-
- /**
- * Specialization 4
- * The client does not supply a hash function (by specifying
- * null_hash_fn as the Hash_Fn parameter), and requests that hash
- * values be stored.
- **/
- template<typename Key, typename Allocator, typename Comb_Hash_Fn>
- class ranged_hash_fn<Key, null_hash_fn, Allocator, Comb_Hash_Fn, true>
- : public null_hash_fn, public Comb_Hash_Fn
- {
- protected:
- typedef typename Allocator::size_type size_type;
- typedef Comb_Hash_Fn comb_hash_fn_base;
-
- ranged_hash_fn(size_type);
-
- ranged_hash_fn(size_type, const Comb_Hash_Fn&);
-
- ranged_hash_fn(size_type, const null_hash_fn&, const Comb_Hash_Fn&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size)
- { Comb_Hash_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const Comb_Hash_Fn& r_comb_hash_fn)
- : Comb_Hash_Fn(r_comb_hash_fn)
- { }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_hash_fn(size_type size, const null_hash_fn& r_null_hash_fn,
- const Comb_Hash_Fn& r_comb_hash_fn)
- : Comb_Hash_Fn(r_comb_hash_fn)
- { }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- { comb_hash_fn_base::swap(other); }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
deleted file mode 100644
index b665dbf36f8d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
+++ /dev/null
@@ -1,333 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file ranged_probe_fn.hpp
- * Contains a unified ranged probe functor, allowing the probe tables to deal with
- * a single class for ranged probeing.
- */
-
-#ifndef PB_DS_RANGED_PROBE_FN_HPP
-#define PB_DS_RANGED_PROBE_FN_HPP
-
-#include <ext/pb_ds/detail/basic_types.hpp>
-#include <utility>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key, typename Hash_Fn, typename Allocator,
- typename Comb_Probe_Fn, typename Probe_Fn, bool Store_Hash>
- class ranged_probe_fn;
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Hash_Fn, typename Allocator, \
- typename Comb_Probe_Fn, typename Probe_Fn>
-
-#define PB_DS_CLASS_C_DEC \
- ranged_probe_fn<Key, Hash_Fn, Allocator, Comb_Probe_Fn, Probe_Fn, false>
-
- /**
- * Specialization 1
- * The client supplies a probe function and a ranged probe
- * function, and requests that hash values not be stored.
- **/
- template<typename Key, typename Hash_Fn, typename Allocator,
- typename Comb_Probe_Fn, typename Probe_Fn>
- class ranged_probe_fn<Key, Hash_Fn, Allocator, Comb_Probe_Fn,
- Probe_Fn, false>
- : public Hash_Fn, public Comb_Probe_Fn, public Probe_Fn
- {
- protected:
- typedef typename Allocator::size_type size_type;
- typedef Comb_Probe_Fn comb_probe_fn_base;
- typedef Hash_Fn hash_fn_base;
- typedef Probe_Fn probe_fn_base;
- typedef typename Allocator::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::const_reference const_key_reference;
-
- ranged_probe_fn(size_type);
-
- ranged_probe_fn(size_type, const Hash_Fn&);
-
- ranged_probe_fn(size_type, const Hash_Fn&, const Comb_Probe_Fn&);
-
- ranged_probe_fn(size_type, const Hash_Fn&, const Comb_Probe_Fn&,
- const Probe_Fn&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- void
- notify_resized(size_type);
-
- inline size_type
- operator()(const_key_reference) const;
-
- inline size_type
- operator()(const_key_reference, size_type, size_type) const;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size)
- { Comb_Probe_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size, const Hash_Fn& r_hash_fn)
- : Hash_Fn(r_hash_fn)
- { Comb_Probe_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size, const Hash_Fn& r_hash_fn,
- const Comb_Probe_Fn& r_comb_probe_fn)
- : Hash_Fn(r_hash_fn), Comb_Probe_Fn(r_comb_probe_fn)
- { comb_probe_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size, const Hash_Fn& r_hash_fn,
- const Comb_Probe_Fn& r_comb_probe_fn,
- const Probe_Fn& r_probe_fn)
- : Hash_Fn(r_hash_fn), Comb_Probe_Fn(r_comb_probe_fn), Probe_Fn(r_probe_fn)
- { comb_probe_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- comb_probe_fn_base::swap(other);
- std::swap((Hash_Fn& )(*this), (Hash_Fn&)other);
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- notify_resized(size_type size)
- { comb_probe_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference r_key) const
- { return comb_probe_fn_base::operator()(hash_fn_base::operator()(r_key)); }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference, size_type hash, size_type i) const
- {
- return comb_probe_fn_base::operator()(hash + probe_fn_base::operator()(i));
- }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Hash_Fn, typename Allocator, \
- typename Comb_Probe_Fn, typename Probe_Fn>
-
-#define PB_DS_CLASS_C_DEC \
- ranged_probe_fn<Key, Hash_Fn, Allocator, Comb_Probe_Fn, Probe_Fn, true>
-
- /**
- * Specialization 2- The client supplies a probe function and a ranged
- * probe function, and requests that hash values not be stored.
- **/
- template<typename Key, typename Hash_Fn, typename Allocator,
- typename Comb_Probe_Fn, typename Probe_Fn>
- class ranged_probe_fn<Key, Hash_Fn, Allocator, Comb_Probe_Fn,
- Probe_Fn, true>
- : public Hash_Fn, public Comb_Probe_Fn, public Probe_Fn
- {
- protected:
- typedef typename Allocator::size_type size_type;
- typedef std::pair<size_type, size_type> comp_hash;
- typedef Comb_Probe_Fn comb_probe_fn_base;
- typedef Hash_Fn hash_fn_base;
- typedef Probe_Fn probe_fn_base;
- typedef typename Allocator::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::const_reference const_key_reference;
-
- ranged_probe_fn(size_type);
-
- ranged_probe_fn(size_type, const Hash_Fn&);
-
- ranged_probe_fn(size_type, const Hash_Fn&,
- const Comb_Probe_Fn&);
-
- ranged_probe_fn(size_type, const Hash_Fn&, const Comb_Probe_Fn&,
- const Probe_Fn&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- void
- notify_resized(size_type);
-
- inline comp_hash
- operator()(const_key_reference) const;
-
- inline size_type
- operator()(const_key_reference, size_type, size_type) const;
-
- inline size_type
- operator()(const_key_reference, size_type) const;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size)
- { Comb_Probe_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size, const Hash_Fn& r_hash_fn)
- : Hash_Fn(r_hash_fn)
- { Comb_Probe_Fn::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size, const Hash_Fn& r_hash_fn,
- const Comb_Probe_Fn& r_comb_probe_fn)
- : Hash_Fn(r_hash_fn), Comb_Probe_Fn(r_comb_probe_fn)
- { comb_probe_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ranged_probe_fn(size_type size, const Hash_Fn& r_hash_fn,
- const Comb_Probe_Fn& r_comb_probe_fn,
- const Probe_Fn& r_probe_fn)
- : Hash_Fn(r_hash_fn), Comb_Probe_Fn(r_comb_probe_fn), Probe_Fn(r_probe_fn)
- { comb_probe_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- comb_probe_fn_base::swap(other);
- std::swap((Hash_Fn& )(*this), (Hash_Fn& )other);
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- notify_resized(size_type size)
- { comb_probe_fn_base::notify_resized(size); }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::comp_hash
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference r_key) const
- {
- const size_type hash = hash_fn_base::operator()(r_key);
- return std::make_pair(comb_probe_fn_base::operator()(hash), hash);
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- operator()(const_key_reference, size_type hash, size_type i) const
- {
- return comb_probe_fn_base::operator()(hash + probe_fn_base::operator()(i));
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- operator()
-#ifdef _GLIBCXX_DEBUG
- (const_key_reference r_key, size_type hash) const
-#else
- (const_key_reference /*r_key*/, size_type hash) const
-#endif
- {
- _GLIBCXX_DEBUG_ASSERT(hash == hash_fn_base::operator()(r_key));
- return hash;
- }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- /**
- * Specialization 3 and 4
- * The client does not supply a hash function or probe function,
- * and requests that hash values not be stored.
- **/
- template<typename Key, typename Allocator, typename Comb_Probe_Fn>
- class ranged_probe_fn<Key, null_hash_fn, Allocator, Comb_Probe_Fn,
- null_probe_fn, false>
- : public Comb_Probe_Fn, public null_hash_fn, public null_probe_fn
- {
- protected:
- typedef typename Allocator::size_type size_type;
- typedef Comb_Probe_Fn comb_probe_fn_base;
- typedef typename Allocator::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::const_reference const_key_reference;
-
- ranged_probe_fn(size_type size)
- { Comb_Probe_Fn::notify_resized(size); }
-
- ranged_probe_fn(size_type, const Comb_Probe_Fn& r_comb_probe_fn)
- : Comb_Probe_Fn(r_comb_probe_fn)
- { }
-
- ranged_probe_fn(size_type, const null_hash_fn&,
- const Comb_Probe_Fn& r_comb_probe_fn,
- const null_probe_fn&)
- : Comb_Probe_Fn(r_comb_probe_fn)
- { }
-
- void
- swap(ranged_probe_fn& other)
- { comb_probe_fn_base::swap(other); }
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
deleted file mode 100644
index 908a7199fa2a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_probe_fn.hpp
- * Contains a sample probe policy.
- */
-
-#ifndef PB_DS_SAMPLE_PROBE_FN_HPP
-#define PB_DS_SAMPLE_PROBE_FN_HPP
-
-// A sample probe policy.
-class sample_probe_fn
-{
-
-public:
-
- // Size type.
- typedef size_t size_type;
-
-public:
-
- // Default constructor.
- sample_probe_fn();
-
- // Copy constructor.
- sample_probe_fn(const sample_probe_fn& other);
-
- // Swaps content.
- inline void
- swap(sample_probe_fn& other);
-
-protected:
-
- // Returns the i-th offset from the hash value of some key r_key.
- inline size_type
- operator()(const_key_reference r_key, size_type i) const;
-
-};
-
-#endif // #ifndef PB_DS_SAMPLE_PROBE_FN_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
deleted file mode 100644
index 40ab29a921f0..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_range_hashing.hpp
- * Contains a range hashing policy.
- */
-
-#ifndef PB_DS_SAMPLE_RANGE_HASHING_HPP
-#define PB_DS_SAMPLE_RANGE_HASHING_HPP
-
-// A sample range-hashing functor.
-class sample_range_hashing
-{
-
-public:
-
- // Size type.
- typedef size_t size_type;
-
-public:
-
- // Default constructor.
- sample_range_hashing();
-
- // Copy constructor.
- sample_range_hashing(const sample_range_hashing& other);
-
- // Swaps content.
- inline void
- swap(sample_range_hashing& other);
-
-protected:
-
- // Notifies the policy object that the container's __size has changed to size.
- void
- notify_resized(size_type size);
-
- // Transforms the __hash value hash into a ranged-hash value.
- inline size_type
- operator()(size_type hash) const;
-
-};
-
-#endif // #ifndef PB_DS_SAMPLE_RANGE_HASHING_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
deleted file mode 100644
index 55a115d53c35..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_ranged_hash_fn.hpp
- * Contains a ranged hash policy.
- */
-
-#ifndef PB_DS_SAMPLE_RANGED_HASH_FN_HPP
-#define PB_DS_SAMPLE_RANGED_HASH_FN_HPP
-
-// A sample ranged-hash functor.
-class sample_ranged_hash_fn
-{
-
-public:
-
- // Size type.
- typedef size_t size_type;
-
-public:
-
- // Default constructor.
- sample_ranged_hash_fn();
-
- // Copy constructor.
- sample_ranged_hash_fn(const sample_ranged_hash_fn& other);
-
- // Swaps content.
- inline void
- swap(sample_ranged_hash_fn& other);
-
-protected:
-
- // Notifies the policy object that the container's __size has changed to size.
- void
- notify_resized(size_type size);
-
- // Transforms r_key into a position within the table.
- inline size_type
- operator()(const_key_reference r_key) const;
-
-};
-
-#endif // #ifndef PB_DS_SAMPLE_RANGED_HASH_FN_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
deleted file mode 100644
index 01697bb41ff8..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_ranged_probe_fn.hpp
- * Contains a ranged probe policy.
- */
-
-#ifndef PB_DS_SAMPLE_RANGED_PROBE_FN_HPP
-#define PB_DS_SAMPLE_RANGED_PROBE_FN_HPP
-
-// A sample ranged-probe functor.
-class sample_ranged_probe_fn
-{
-
-public:
-
- // Size type.
- typedef size_t size_type;
-
-public:
-
- // Default constructor.
- sample_ranged_probe_fn();
-
- // Copy constructor.
- sample_ranged_probe_fn(const sample_ranged_probe_fn& other);
-
- // Swaps content.
- inline void
- swap(sample_ranged_probe_fn& other);
-
-protected:
-
- // Notifies the policy object that the container's __size has changed to size.
- void
- notify_resized(size_type size);
-
- // Transforms the const key reference r_key into the i-th position within the table. This method is called for each collision within the probe sequence.
- inline size_type
- operator()(const_key_reference r_key, size_t hash, size_type i) const;
-
-};
-
-#endif // #ifndef PB_DS_SAMPLE_RANGED_PROBE_FN_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
deleted file mode 100644
index cff9bb808dd1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file const_iterator.hpp
- * Contains an iterator class returned by the table's const find and insert
- * methods.
- */
-
-#ifndef PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_CONST_ITERATOR_HPP
-#define PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_CONST_ITERATOR_HPP
-
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_C_DEC \
- left_child_next_sibling_heap_const_iterator_<Node, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- left_child_next_sibling_heap_node_const_point_iterator_<Node, Allocator>
-
- // Const point-type iterator.
- template<typename Node, class Allocator>
- class left_child_next_sibling_heap_const_iterator_ : public PB_DS_BASE_C_DEC
- {
-
- private:
- typedef typename PB_DS_BASE_C_DEC::node_pointer node_pointer;
-
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
-
- // Category.
- typedef std::forward_iterator_tag iterator_category;
-
- // Difference type.
- typedef typename Allocator::difference_type difference_type;
-
- // Iterator's value type.
- typedef typename base_type::value_type value_type;
-
- // Iterator's pointer type.
- typedef typename base_type::pointer pointer;
-
- // Iterator's const pointer type.
- typedef typename base_type::const_pointer const_pointer;
-
- // Iterator's reference type.
- typedef typename base_type::reference reference;
-
- // Iterator's const reference type.
- typedef typename base_type::const_reference const_reference;
-
- public:
-
- inline
- left_child_next_sibling_heap_const_iterator_(node_pointer p_nd) : base_type(p_nd)
- { }
-
- // Default constructor.
- inline
- left_child_next_sibling_heap_const_iterator_()
- { }
-
- // Copy constructor.
- inline
- left_child_next_sibling_heap_const_iterator_(const PB_DS_CLASS_C_DEC& other) : base_type(other)
- { }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const PB_DS_CLASS_C_DEC& other) const
- { return (base_type::m_p_nd == other.m_p_nd); }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const PB_DS_CLASS_C_DEC& other) const
- { return (base_type::m_p_nd != other.m_p_nd); }
-
- inline PB_DS_CLASS_C_DEC&
- operator++()
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_nd != NULL);
- inc();
- return (*this);
- }
-
- inline PB_DS_CLASS_C_DEC
- operator++(int)
- {
- PB_DS_CLASS_C_DEC ret_it(base_type::m_p_nd);
- operator++();
- return (ret_it);
- }
-
- private:
- void
- inc()
- {
- if (base_type::m_p_nd->m_p_next_sibling != NULL)
- {
- base_type::m_p_nd = base_type::m_p_nd->m_p_next_sibling;
- while (base_type::m_p_nd->m_p_l_child != NULL)
- base_type::m_p_nd = base_type::m_p_nd->m_p_l_child;
- return;
- }
-
- while (true)
- {
- node_pointer p_next = base_type::m_p_nd;
- base_type::m_p_nd = base_type::m_p_nd->m_p_prev_or_parent;
- if (base_type::m_p_nd == NULL || base_type::m_p_nd->m_p_l_child == p_next)
- return;
- }
- }
- };
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_BASE_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp
deleted file mode 100644
index ea45b624ac1f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file const_point_iterator.hpp
- * Contains an iterator class returned by the table's const find and insert
- * methods.
- */
-
-#ifndef PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_CONST_FIND_ITERATOR_HPP
-#define PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_CONST_FIND_ITERATOR_HPP
-
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Node, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- left_child_next_sibling_heap_node_const_point_iterator_<Node, Allocator>
-
- // Const point-type iterator.
- template<typename Node, class Allocator>
- class left_child_next_sibling_heap_node_const_point_iterator_
- {
-
- protected:
- typedef typename Allocator::template rebind<Node>::other::pointer node_pointer;
-
- public:
-
- // Category.
- typedef trivial_iterator_tag iterator_category;
-
- // Difference type.
- typedef trivial_iterator_difference_type difference_type;
-
- // Iterator's value type.
- typedef typename Node::value_type value_type;
-
- // Iterator's pointer type.
- typedef
- typename Allocator::template rebind<
- value_type>::other::pointer
- pointer;
-
- // Iterator's const pointer type.
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_pointer
- const_pointer;
-
- // Iterator's reference type.
- typedef
- typename Allocator::template rebind<
- value_type>::other::reference
- reference;
-
- // Iterator's const reference type.
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_reference
- const_reference;
-
- public:
-
- inline
- left_child_next_sibling_heap_node_const_point_iterator_(node_pointer p_nd) : m_p_nd(p_nd)
- { }
-
- // Default constructor.
- inline
- left_child_next_sibling_heap_node_const_point_iterator_() : m_p_nd(NULL)
- { }
-
- // Copy constructor.
- inline
- left_child_next_sibling_heap_node_const_point_iterator_(const PB_DS_CLASS_C_DEC& other) : m_p_nd(other.m_p_nd)
- { }
-
- // Access.
- inline const_pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd != NULL);
- return &m_p_nd->m_value;
- }
-
- // Access.
- inline const_reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd != NULL);
- return m_p_nd->m_value;
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const PB_DS_CLASS_C_DEC& other) const
- { return m_p_nd == other.m_p_nd; }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const PB_DS_CLASS_C_DEC& other) const
- { return m_p_nd != other.m_p_nd; }
-
- public:
- node_pointer m_p_nd;
- };
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 85d2511cac6c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,158 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_allocator
-PB_DS_CLASS_C_DEC::s_node_allocator;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::no_throw_copies_t
-PB_DS_CLASS_C_DEC::s_no_throw_copies_ind;
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-left_child_next_sibling_heap_() :
- m_p_root(NULL),
- m_size(0)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-left_child_next_sibling_heap_(const Cmp_Fn& r_cmp_fn) :
- Cmp_Fn(r_cmp_fn),
- m_p_root(NULL),
- m_size(0)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-left_child_next_sibling_heap_(const PB_DS_CLASS_C_DEC& other)
-: Cmp_Fn(other), m_p_root(NULL), m_size(0)
-{
- m_size = other.m_size;
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- m_p_root = recursive_copy_node(other.m_p_root);
- m_size = other.m_size;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- value_swap(other);
- std::swap((Cmp_Fn& )(*this), (Cmp_Fn& )other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-value_swap(PB_DS_CLASS_C_DEC& other)
-{
- std::swap(m_p_root, other.m_p_root);
- std::swap(m_size, other.m_size);
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~left_child_next_sibling_heap_()
-{
- clear();
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-recursive_copy_node(const_node_pointer p_nd)
-{
- if (p_nd == NULL)
- return (NULL);
-
- node_pointer p_ret = s_node_allocator.allocate(1);
-
- try
- {
- new (p_ret) node(*p_nd);
- }
- catch(...)
- {
- s_node_allocator.deallocate(p_ret, 1);
- __throw_exception_again;
- }
-
- p_ret->m_p_l_child = p_ret->m_p_next_sibling =
- p_ret->m_p_prev_or_parent = NULL;
-
- try
- {
- p_ret->m_p_l_child = recursive_copy_node(p_nd->m_p_l_child);
- p_ret->m_p_next_sibling = recursive_copy_node(p_nd->m_p_next_sibling);
- }
- catch(...)
- {
- clear_imp(p_ret);
- __throw_exception_again;
- }
-
- if (p_ret->m_p_l_child != NULL)
- p_ret->m_p_l_child->m_p_prev_or_parent = p_ret;
-
- if (p_ret->m_p_next_sibling != NULL)
- p_ret->m_p_next_sibling->m_p_prev_or_parent =
- p_nd->m_p_next_sibling->m_p_prev_or_parent == p_nd ? p_ret : NULL;
-
- return p_ret;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
deleted file mode 100644
index f16e912018fb..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- _GLIBCXX_DEBUG_ASSERT(m_p_root == NULL || m_p_root->m_p_prev_or_parent == NULL);
-
- if (m_p_root != NULL)
- assert_node_consistent(m_p_root, Single_Link_Roots);
- assert_size();
- assert_iterators();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_node_consistent(const_node_pointer p_nd, bool single_link) const
-{
- if (p_nd == NULL)
- return;
-
- assert_node_consistent(p_nd->m_p_l_child, false);
- assert_node_consistent(p_nd->m_p_next_sibling, single_link);
-
- if (single_link)
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_prev_or_parent == NULL);
- else if (p_nd->m_p_next_sibling != NULL)
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_next_sibling->m_p_prev_or_parent == p_nd);
-
- if (p_nd->m_p_l_child == NULL)
- return;
-
- const_node_pointer p_child = p_nd->m_p_l_child;
- while (p_child != NULL)
- {
- const_node_pointer p_next_child = p_child->m_p_next_sibling;
- _GLIBCXX_DEBUG_ASSERT(!Cmp_Fn::operator()(p_nd->m_value, p_child->m_value));
- p_child = p_next_child;
- }
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_l_child->m_p_prev_or_parent == p_nd);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_iterators() const
-{
- const size_type calc_size = std::distance(begin(), end());
- if (calc_size == size())
- return;
- _GLIBCXX_DEBUG_ASSERT(0);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_size() const
-{
- if (size_from_node(m_p_root) == m_size)
- return;
- _GLIBCXX_DEBUG_ASSERT(0);
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size_under_node(const_node_pointer p_nd)
-{ return 1 + size_from_node(p_nd->m_p_l_child); }
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size_from_node(const_node_pointer p_nd)
-{
- size_type ret = 0;
- while (p_nd != NULL)
- {
- ret += 1 + size_from_node(p_nd->m_p_l_child);
- p_nd = p_nd->m_p_next_sibling;
- }
- return ret;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-degree(const_node_pointer p_nd)
-{
- size_type ret = 0;
- const_node_pointer p_child = p_nd->m_p_l_child;
- while (p_child != NULL)
- {
- ++ret;
- p_child = p_child->m_p_next_sibling;
- }
- return ret;
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
deleted file mode 100644
index 52817639f999..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- clear_imp(m_p_root);
- _GLIBCXX_DEBUG_ASSERT(m_size == 0);
- m_p_root = NULL;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-actual_erase_node(node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- --m_size;
- p_nd->~node();
- s_node_allocator.deallocate(p_nd, 1);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear_imp(node_pointer p_nd)
-{
- while (p_nd != NULL)
- {
- clear_imp(p_nd->m_p_l_child);
- node_pointer p_next = p_nd->m_p_next_sibling;
- actual_erase_node(p_nd);
- p_nd = p_next;
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-to_linked_list()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- node_pointer p_cur = m_p_root;
- while (p_cur != NULL)
- if (p_cur->m_p_l_child != NULL)
- {
- node_pointer p_child_next = p_cur->m_p_l_child->m_p_next_sibling;
- p_cur->m_p_l_child->m_p_next_sibling = p_cur->m_p_next_sibling;
- p_cur->m_p_next_sibling = p_cur->m_p_l_child;
- p_cur->m_p_l_child = p_child_next;
- }
- else
- p_cur = p_cur->m_p_next_sibling;
-
-#ifdef _GLIBCXX_DEBUG
- const_node_pointer p_counter = m_p_root;
- size_type count = 0;
- while (p_counter != NULL)
- {
- ++count;
- _GLIBCXX_DEBUG_ASSERT(p_counter->m_p_l_child == NULL);
- p_counter = p_counter->m_p_next_sibling;
- }
- _GLIBCXX_DEBUG_ASSERT(count == m_size);
-#endif
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-prune(Pred pred)
-{
- node_pointer p_cur = m_p_root;
- m_p_root = NULL;
- node_pointer p_out = NULL;
- while (p_cur != NULL)
- {
- node_pointer p_next = p_cur->m_p_next_sibling;
- if (pred(p_cur->m_value))
- {
- p_cur->m_p_next_sibling = p_out;
- if (p_out != NULL)
- p_out->m_p_prev_or_parent = p_cur;
- p_out = p_cur;
- }
- else
- {
- p_cur->m_p_next_sibling = m_p_root;
- if (m_p_root != NULL)
- m_p_root->m_p_prev_or_parent = p_cur;
- m_p_root = p_cur;
- }
- p_cur = p_next;
- }
- return p_out;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-bubble_to_top(node_pointer p_nd)
-{
- node_pointer p_parent = parent(p_nd);
- while (p_parent != NULL)
- {
- swap_with_parent(p_nd, p_parent);
- p_parent = parent(p_nd);
- }
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
deleted file mode 100644
index 3c0dde816ce8..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+++ /dev/null
@@ -1,70 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{
- return (m_size == 0);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{
- return (m_size);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{
- return (s_node_allocator.max_size());
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
deleted file mode 100644
index 479690d2bc9b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,181 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-get_new_node_for_insert(const_reference r_val)
-{
- return get_new_node_for_insert(r_val, s_no_throw_copies_ind);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-get_new_node_for_insert(const_reference r_val, false_type)
-{
- node_pointer p_new_nd = s_node_allocator.allocate(1);
-
- cond_dealtor_t cond(p_new_nd);
-
- new (const_cast<void* >(
- static_cast<const void* >(&p_new_nd->m_value)))
- typename node::value_type(r_val);
-
- cond.set_no_action();
-
- ++m_size;
-
- return (p_new_nd);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-get_new_node_for_insert(const_reference r_val, true_type)
-{
- node_pointer p_new_nd = s_node_allocator.allocate(1);
-
- new (const_cast<void* >(
- static_cast<const void* >(&p_new_nd->m_value)))
- typename node::value_type(r_val);
-
- ++m_size;
-
- return (p_new_nd);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-make_child_of(node_pointer p_nd, node_pointer p_new_parent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_new_parent != NULL);
-
- p_nd->m_p_next_sibling = p_new_parent->m_p_l_child;
-
- if (p_new_parent->m_p_l_child != NULL)
- p_new_parent->m_p_l_child->m_p_prev_or_parent = p_nd;
-
- p_nd->m_p_prev_or_parent = p_new_parent;
-
- p_new_parent->m_p_l_child = p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-parent(node_pointer p_nd)
-{
- while (true)
- {
- node_pointer p_pot = p_nd->m_p_prev_or_parent;
-
- if (p_pot == NULL || p_pot->m_p_l_child == p_nd)
- return p_pot;
-
- p_nd = p_pot;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-swap_with_parent(node_pointer p_nd, node_pointer p_parent)
-{
- if (p_parent == m_p_root)
- m_p_root = p_nd;
-
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_parent != NULL);
- _GLIBCXX_DEBUG_ASSERT(parent(p_nd) == p_parent);
-
- const bool nd_direct_child = p_parent->m_p_l_child == p_nd;
- const bool parent_root = p_parent->m_p_prev_or_parent == NULL;
- const bool parent_direct_child =
- !parent_root&& p_parent->m_p_prev_or_parent->m_p_l_child == p_parent;
-
- std::swap(p_parent->m_p_prev_or_parent, p_nd->m_p_prev_or_parent);
- std::swap(p_parent->m_p_next_sibling, p_nd->m_p_next_sibling);
- std::swap(p_parent->m_p_l_child, p_nd->m_p_l_child);
- std::swap(p_parent->m_metadata, p_nd->m_metadata);
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_l_child != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_prev_or_parent != NULL);
-
- if (p_nd->m_p_next_sibling != NULL)
- p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd;
-
- if (p_parent->m_p_next_sibling != NULL)
- p_parent->m_p_next_sibling->m_p_prev_or_parent = p_parent;
-
- if (p_parent->m_p_l_child != NULL)
- p_parent->m_p_l_child->m_p_prev_or_parent = p_parent;
-
- if (parent_direct_child)
- p_nd->m_p_prev_or_parent->m_p_l_child = p_nd;
- else if (!parent_root)
- p_nd->m_p_prev_or_parent->m_p_next_sibling = p_nd;
-
- if (!nd_direct_child)
- {
- p_nd->m_p_l_child->m_p_prev_or_parent = p_nd;
-
- p_parent->m_p_prev_or_parent->m_p_next_sibling = p_parent;
- }
- else
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_l_child == p_nd);
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_prev_or_parent == p_parent);
-
- p_nd->m_p_l_child = p_parent;
- p_parent->m_p_prev_or_parent = p_nd;
- }
-
- _GLIBCXX_DEBUG_ASSERT(parent(p_parent) == p_nd);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
deleted file mode 100644
index 02e99821f9b0..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterators_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-begin()
-{
- node_pointer p_nd = m_p_root;
-
- if (p_nd == NULL)
- return (iterator(NULL));
-
- while (p_nd->m_p_l_child != NULL)
- p_nd = p_nd->m_p_l_child;
-
- return (iterator(p_nd));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin() const
-{
- node_pointer p_nd = m_p_root;
-
- if (p_nd == NULL)
- return (const_iterator(NULL));
-
- while (p_nd->m_p_l_child != NULL)
- p_nd = p_nd->m_p_l_child;
-
- return (const_iterator(p_nd));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-end()
-{
- return (iterator(NULL));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end() const
-{
- return (const_iterator(NULL));
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
deleted file mode 100644
index e06358d2f22b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
+++ /dev/null
@@ -1,355 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file left_child_next_sibling_heap_.hpp
- * Contains an implementation class for a basic heap.
- */
-
-#ifndef PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_HPP
-#define PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_HPP
-
-/*
- * Based on CLRS.
- */
-
-#include <iterator>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp>
-#ifdef PB_DS_LC_NS_HEAP_TRACE_
-#include <iostream>
-#endif
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_CLASS_T_DEC \
- template< \
- typename Value_Type, \
- class Cmp_Fn, \
- typename Node_Metadata, \
- class Allocator, \
- bool Single_Link_Roots>
-#else
-#define PB_DS_CLASS_T_DEC \
- template< \
- typename Value_Type, \
- class Cmp_Fn, \
- typename Node_Metadata, \
- class Allocator>
-#endif
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_CLASS_C_DEC \
- left_child_next_sibling_heap_< \
- Value_Type, \
- Cmp_Fn, \
- Node_Metadata, \
- Allocator, \
- Single_Link_Roots>
-#else
-#define PB_DS_CLASS_C_DEC \
- left_child_next_sibling_heap_< \
- Value_Type, \
- Cmp_Fn, \
- Node_Metadata, \
- Allocator>
-#endif
-
- /**
- * class description = "Base class for some types of h3ap$">
- **/
-#ifdef _GLIBCXX_DEBUG
- template<typename Value_Type,
- class Cmp_Fn,
- typename Node_Metadata,
- class Allocator,
- bool Single_Link_Roots>
-#else
- template<typename Value_Type,
- class Cmp_Fn,
- typename Node_Metadata,
- class Allocator>
-#endif
- class left_child_next_sibling_heap_ : public Cmp_Fn
- {
-
- protected:
- typedef
- typename Allocator::template rebind<
- left_child_next_sibling_heap_node_<
- Value_Type,
- Node_Metadata,
- Allocator> >::other
- node_allocator;
-
- typedef typename node_allocator::value_type node;
-
- typedef typename node_allocator::pointer node_pointer;
-
- typedef typename node_allocator::const_pointer const_node_pointer;
-
- typedef Node_Metadata node_metadata;
-
- typedef std::pair< node_pointer, node_pointer> node_pointer_pair;
-
- private:
- typedef cond_dealtor< node, Allocator> cond_dealtor_t;
-
- enum
- {
- simple_value = is_simple<Value_Type>::value
- };
-
- typedef integral_constant<int, simple_value> no_throw_copies_t;
-
- public:
-
- typedef typename Allocator::size_type size_type;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef Value_Type value_type;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::pointer
- pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_pointer
- const_pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::reference
- reference;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_reference
- const_reference;
-
- typedef
- left_child_next_sibling_heap_node_const_point_iterator_<
- node,
- Allocator>
- const_point_iterator;
-
- typedef const_point_iterator point_iterator;
-
- typedef
- left_child_next_sibling_heap_const_iterator_<
- node,
- Allocator>
- const_iterator;
-
- typedef const_iterator iterator;
-
- typedef Cmp_Fn cmp_fn;
-
- typedef Allocator allocator;
-
- public:
-
- left_child_next_sibling_heap_();
-
- left_child_next_sibling_heap_(const Cmp_Fn& r_cmp_fn);
-
- left_child_next_sibling_heap_(const PB_DS_CLASS_C_DEC& other);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- ~left_child_next_sibling_heap_();
-
- inline bool
- empty() const;
-
- inline size_type
- size() const;
-
- inline size_type
- max_size() const;
-
- Cmp_Fn&
- get_cmp_fn();
-
- const Cmp_Fn&
- get_cmp_fn() const;
-
- inline iterator
- begin();
-
- inline const_iterator
- begin() const;
-
- inline iterator
- end();
-
- inline const_iterator
- end() const;
-
- void
- clear();
-
-#ifdef PB_DS_LC_NS_HEAP_TRACE_
- void
- trace() const;
-#endif
-
- protected:
-
- inline node_pointer
- get_new_node_for_insert(const_reference r_val);
-
- inline static void
- make_child_of(node_pointer p_nd, node_pointer p_new_parent);
-
- void
- value_swap(PB_DS_CLASS_C_DEC& other);
-
- inline static node_pointer
- parent(node_pointer p_nd);
-
- inline void
- swap_with_parent(node_pointer p_nd, node_pointer p_parent);
-
- void
- bubble_to_top(node_pointer p_nd);
-
- inline void
- actual_erase_node(node_pointer p_nd);
-
- void
- clear_imp(node_pointer p_nd);
-
- void
- to_linked_list();
-
- template<typename Pred>
- node_pointer
- prune(Pred pred);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-
- void
- assert_node_consistent(const_node_pointer p_nd, bool single_link) const;
-
- static size_type
- size_under_node(const_node_pointer p_nd);
-
- static size_type
- degree(const_node_pointer p_nd);
-#endif
-
-#ifdef PB_DS_LC_NS_HEAP_TRACE_
- static void
- trace_node(const_node_pointer, size_type level);
-#endif
-
- protected:
- node_pointer m_p_root;
-
- size_type m_size;
-
- private:
-#ifdef _GLIBCXX_DEBUG
- void
- assert_iterators() const;
-
- void
- assert_size() const;
-
- static size_type
- size_from_node(const_node_pointer p_nd);
-#endif
-
- node_pointer
- recursive_copy_node(const_node_pointer p_nd);
-
- inline node_pointer
- get_new_node_for_insert(const_reference r_val, false_type);
-
- inline node_pointer
- get_new_node_for_insert(const_reference r_val, true_type);
-
-#ifdef PB_DS_LC_NS_HEAP_TRACE_
- template<typename Metadata_>
- static void
- trace_node_metadata(const_node_pointer p_nd, type_to_type<Metadata_>);
-
- static void
- trace_node_metadata(const_node_pointer, type_to_type<null_left_child_next_sibling_heap_node_metadata>);
-#endif
-
- private:
- static node_allocator s_node_allocator;
-
- static no_throw_copies_t s_no_throw_copies_ind;
- };
-
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
deleted file mode 100644
index e3460add5ee5..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
+++ /dev/null
@@ -1,129 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node.hpp
- * Contains an implementation struct for this type of heap's node.
- */
-
-#ifndef PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_NODE_HPP
-#define PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_NODE_HPP
-
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Value_Type, typename Metadata_Type, class Allocator>
- struct left_child_next_sibling_heap_node_
- {
- private:
- typedef
- left_child_next_sibling_heap_node_<
- Value_Type,
- Metadata_Type,
- Allocator>
- this_type;
-
- public:
- typedef typename Allocator::size_type size_type;
-
- typedef
- typename Allocator::template rebind<
- this_type>::other::pointer
- node_pointer;
-
- typedef Value_Type value_type;
-
- typedef Metadata_Type metadata_type;
-
- public:
- value_type m_value;
-
- metadata_type m_metadata;
-
- node_pointer m_p_l_child;
-
- node_pointer m_p_next_sibling;
-
- node_pointer m_p_prev_or_parent;
- };
-
- template<typename Value_Type, class Allocator>
- struct left_child_next_sibling_heap_node_<
- Value_Type,
- null_left_child_next_sibling_heap_node_metadata,
- Allocator>
- {
- private:
- typedef
- left_child_next_sibling_heap_node_<
- Value_Type,
- null_left_child_next_sibling_heap_node_metadata,
- Allocator>
- this_type;
-
- public:
- typedef typename Allocator::size_type size_type;
-
- typedef
- typename Allocator::template rebind<
- this_type>::other::pointer
- node_pointer;
-
- typedef Value_Type value_type;
-
- public:
- value_type m_value;
-
- node_pointer m_p_l_child;
-
- node_pointer m_p_next_sibling;
-
- node_pointer m_p_prev_or_parent;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_NODE_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp
deleted file mode 100644
index 1716fd1aa644..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file null_metadata.hpp
- * Contains an implementation struct for this type of heap's node.
- */
-
-#ifndef PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_NULL_METADATA_HPP
-#define PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_NULL_METADATA_HPP
-
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- struct null_left_child_next_sibling_heap_node_metadata
- { };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_LEFT_CHILD_NEXT_SIBLING_HEAP_NULL_METADATA_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
deleted file mode 100644
index b7503c2caf46..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+++ /dev/null
@@ -1,62 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file policy_access_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn()
-{
- return (*this);
-}
-
-PB_DS_CLASS_T_DEC
-const Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn() const
-{
- return (*this);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
deleted file mode 100644
index 5c0d9acc11dd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-#ifdef PB_DS_LC_NS_HEAP_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- std::cerr << std::endl;
-
- trace_node(m_p_root, 0);
-
- std::cerr << std::endl;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace_node(const_node_pointer p_nd, size_type level)
-{
- while (p_nd != NULL)
- {
- for (size_type i = 0; i < level; ++i)
- std::cerr << ' ';
-
- std::cerr << p_nd <<
- " prev = " << p_nd->m_p_prev_or_parent <<
- " next " << p_nd->m_p_next_sibling <<
- " left = " << p_nd->m_p_l_child << " ";
-
- trace_node_metadata(p_nd, type_to_type<node_metadata>());
-
- std::cerr << p_nd->m_value << std::endl;
-
- trace_node(p_nd->m_p_l_child, level + 1);
-
- p_nd = p_nd->m_p_next_sibling;
- }
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Metadata_>
-void
-PB_DS_CLASS_C_DEC::
-trace_node_metadata(const_node_pointer p_nd, type_to_type<Metadata_>)
-{
- std::cerr << "(" << p_nd->m_metadata << ") ";
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace_node_metadata(const_node_pointer, type_to_type<null_left_child_next_sibling_heap_node_metadata>)
-{ }
-
-#endif // #ifdef PB_DS_LC_NS_HEAP_TRACE_
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
deleted file mode 100644
index a311a79757de..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructor_destructor_fn_imps.hpp
- * Contains implementations of PB_DS_CLASS_NAME.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::entry_allocator
-PB_DS_CLASS_C_DEC::s_entry_allocator;
-
-PB_DS_CLASS_T_DEC
-Eq_Fn PB_DS_CLASS_C_DEC::s_eq_fn;
-
-PB_DS_CLASS_T_DEC
-null_lu_metadata PB_DS_CLASS_C_DEC::s_null_lu_metadata;
-
-PB_DS_CLASS_T_DEC
-Update_Policy PB_DS_CLASS_C_DEC::s_update_policy;
-
-PB_DS_CLASS_T_DEC
-type_to_type<
- typename PB_DS_CLASS_C_DEC::update_metadata> PB_DS_CLASS_C_DEC::s_metadata_type_indicator;
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- insert(*(first_it++));
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME() : m_p_l(NULL)
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(It first_it, It last_it) : m_p_l(NULL)
-{
- copy_from_range(first_it, last_it);
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
-#ifdef _GLIBCXX_DEBUG
- map_debug_base(),
-#endif
-m_p_l(NULL)
-{
- try
- {
- for (const_iterator it = other.begin(); it != other.end(); ++it)
- {
- entry_pointer p_l = allocate_new_entry(*it,
- PB_DS_TYPES_TRAITS_C_DEC::m_no_throw_copies_indicator);
-
- p_l->m_p_next = m_p_l;
- m_p_l = p_l;
- }
- }
- catch(...)
- {
- deallocate_all();
- __throw_exception_again;
- }
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- _GLIBCXX_DEBUG_ONLY(map_debug_base::swap(other);)
- std::swap(m_p_l, other.m_p_l);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-deallocate_all()
-{
- entry_pointer p_l = m_p_l;
- while (p_l != NULL)
- {
- entry_pointer p_next_l = p_l->m_p_next;
- actual_erase_entry(p_l);
- p_l = p_next_l;
- }
- m_p_l = NULL;
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~PB_DS_CLASS_NAME()
-{ deallocate_all(); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
deleted file mode 100644
index 1427f83749bb..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains implementations of cc_ht_map_'s debug-mode functions.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- size_type calc_size = 0;
- for (const_iterator it = begin(); it != end(); ++it)
- {
- map_debug_base::check_key_exists(PB_DS_V2F(*it));
- ++calc_size;
- }
- map_debug_base::check_size(calc_size);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
deleted file mode 100644
index 7d711a21d71b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file entry_metadata_base.hpp
- * Contains an implementation for a list update map.
- */
-
-#ifndef PB_DS_LU_MAP_ENTRY_METADATA_BASE_HPP
-#define PB_DS_LU_MAP_ENTRY_METADATA_BASE_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Metadata>
- struct lu_map_entry_metadata_base
- {
- Metadata m_update_metadata;
- };
-
- template<>
- struct lu_map_entry_metadata_base<null_lu_metadata>
- { };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
deleted file mode 100644
index 85ac02d30122..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains implementations of lu_map_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase(const_key_reference r_key)
-{
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- if (m_p_l == NULL)
- return false;
-
- if (s_eq_fn(r_key, PB_DS_V2F(m_p_l->m_value)))
- {
- entry_pointer p_next = m_p_l->m_p_next;
- actual_erase_entry(m_p_l);
- m_p_l = p_next;
- return true;
- }
-
- entry_pointer p_l = m_p_l;
- while (p_l->m_p_next != NULL)
- if (s_eq_fn(r_key, PB_DS_V2F(p_l->m_p_next->m_value)))
- {
- erase_next(p_l);
- return true;
- }
- else
- p_l = p_l->m_p_next;
- return false;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- deallocate_all();
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- size_type num_ersd = 0;
- while (m_p_l != NULL && pred(m_p_l->m_value))
- {
- entry_pointer p_next = m_p_l->m_p_next;
- ++num_ersd;
- actual_erase_entry(m_p_l);
- m_p_l = p_next;
- }
-
- if (m_p_l == NULL)
- return num_ersd;
-
- entry_pointer p_l = m_p_l;
- while (p_l->m_p_next != NULL)
- {
- if (pred(p_l->m_p_next->m_value))
- {
- ++num_ersd;
- erase_next(p_l);
- }
- else
- p_l = p_l->m_p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- return num_ersd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_next(entry_pointer p_l)
-{
- _GLIBCXX_DEBUG_ASSERT(p_l != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_l != m_p_l);
- _GLIBCXX_DEBUG_ASSERT(p_l->m_p_next != NULL);
- entry_pointer p_next_l = p_l->m_p_next->m_p_next;
- actual_erase_entry(p_l->m_p_next);
- p_l->m_p_next = p_next_l;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-actual_erase_entry(entry_pointer p_l)
-{
- _GLIBCXX_DEBUG_ONLY(map_debug_base::erase_existing(PB_DS_V2F(p_l->m_value));)
- p_l->~entry();
- s_entry_allocator.deallocate(p_l, 1);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
deleted file mode 100644
index 37c173de1e4d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains implementations of lu_map_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::entry_pointer
-PB_DS_CLASS_C_DEC::
-find_imp(const_key_reference r_key) const
-{
- if (m_p_l == NULL)
- return NULL;
- if (s_eq_fn(r_key, PB_DS_V2F(m_p_l->m_value)))
- {
- apply_update(m_p_l, s_metadata_type_indicator);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key);)
- return m_p_l;
- }
-
- entry_pointer p_l = m_p_l;
- while (p_l->m_p_next != NULL)
- {
- entry_pointer p_next = p_l->m_p_next;
- if (s_eq_fn(r_key, PB_DS_V2F(p_next->m_value)))
- {
- if (apply_update(p_next, s_metadata_type_indicator))
- {
- p_l->m_p_next = p_next->m_p_next;
- p_next->m_p_next = m_p_l;
- m_p_l = p_next;
- return m_p_l;
- }
- return p_next;
- }
- else
- p_l = p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return NULL;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Metadata>
-inline bool
-PB_DS_CLASS_C_DEC::
-apply_update(entry_pointer p_l, type_to_type<Metadata>)
-{ return s_update_policy(p_l->m_update_metadata); }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-apply_update(entry_pointer, type_to_type<null_lu_metadata>)
-{ return s_update_policy(s_null_lu_metadata); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
deleted file mode 100644
index a7fe8c45c3f5..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+++ /dev/null
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains implementations of lu_map_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{ return std::distance(begin(), end()); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{ return s_entry_allocator.max_size(); }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{ return (m_p_l == NULL); }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
deleted file mode 100644
index af60c07b5074..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains implementations of lu_map_.
- */
-
-PB_DS_CLASS_T_DEC
-inline std::pair<
- typename PB_DS_CLASS_C_DEC::point_iterator,
- bool>
-PB_DS_CLASS_C_DEC::
-insert(const_reference r_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- entry_pointer p_l = find_imp(PB_DS_V2F(r_val));
-
- if (p_l != NULL)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(PB_DS_V2F(r_val));)
- return std::make_pair(point_iterator(&p_l->m_value), false);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(PB_DS_V2F(r_val));)
-
- p_l = allocate_new_entry(r_val, traits_base::m_no_throw_copies_indicator);
- p_l->m_p_next = m_p_l;
- m_p_l = p_l;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return std::make_pair(point_iterator(&p_l->m_value), true);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::entry_pointer
-PB_DS_CLASS_C_DEC::
-allocate_new_entry(const_reference r_val, false_type)
-{
- entry_pointer p_l = s_entry_allocator.allocate(1);
- cond_dealtor_t cond(p_l);
- new (const_cast<void* >(static_cast<const void* >(&p_l->m_value)))
- value_type(r_val);
-
- cond.set_no_action();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(r_val));)
- init_entry_metadata(p_l, s_metadata_type_indicator);
- return p_l;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::entry_pointer
-PB_DS_CLASS_C_DEC::
-allocate_new_entry(const_reference r_val, true_type)
-{
- entry_pointer p_l = s_entry_allocator.allocate(1);
- new (&p_l->m_value) value_type(r_val);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(r_val));)
- init_entry_metadata(p_l, s_metadata_type_indicator);
- return p_l;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Metadata>
-inline void
-PB_DS_CLASS_C_DEC::
-init_entry_metadata(entry_pointer p_l, type_to_type<Metadata>)
-{ new (&p_l->m_update_metadata) Metadata(s_update_policy()); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-init_entry_metadata(entry_pointer, type_to_type<null_lu_metadata>)
-{ }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
deleted file mode 100644
index e9620320ba74..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+++ /dev/null
@@ -1,86 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterators_fn_imps.hpp
- * Contains implementations of lu_map_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-begin()
-{
- if (m_p_l == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(empty());
- return end();
- }
- return iterator(&m_p_l->m_value, m_p_l, this);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin() const
-{
- if (m_p_l == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(empty());
- return end();
- }
- return iterator(&m_p_l->m_value, m_p_l, const_cast<PB_DS_CLASS_C_DEC* >(this));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-end()
-{ return iterator(NULL, NULL, this); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end() const
-{
- return const_iterator(NULL, NULL, const_cast<PB_DS_CLASS_C_DEC* const>(this));
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
deleted file mode 100644
index e99dc735ab4d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
+++ /dev/null
@@ -1,365 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file lu_map_.hpp
- * Contains a list update map.
- */
-
-#include <utility>
-#include <iterator>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-#include <ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp>
-#include <ext/pb_ds/exception.hpp>
-#ifdef _GLIBCXX_DEBUG
-#include <ext/pb_ds/detail/map_debug_base.hpp>
-#endif
-#ifdef PB_DS_LU_MAP_TRACE_
-#include <iostream>
-#endif
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, class Eq_Fn, \
- class Allocator, class Update_Policy>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CLASS_NAME lu_map_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_CLASS_NAME lu_map_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_CLASS_NAME<Key, Mapped, Eq_Fn, Allocator, Update_Policy>
-
-#define PB_DS_TYPES_TRAITS_C_DEC \
- types_traits<Key, Mapped, Allocator, false>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_MAP_DEBUG_BASE_C_DEC \
- map_debug_base<Key, Eq_Fn, \
- typename Allocator::template rebind<Key>::other::const_reference>
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#define PB_DS_EP2VP(X)& ((X)->m_value)
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped_Data()
-#define PB_DS_EP2VP(X)& ((X)->m_value.first)
-#endif
-
- /* Skip to the lu, my darling. */
- // list-based (with updates) associative container.
- template<typename Key,
- typename Mapped,
- class Eq_Fn,
- class Allocator,
- class Update_Policy>
- class PB_DS_CLASS_NAME :
-#ifdef _GLIBCXX_DEBUG
- protected PB_DS_MAP_DEBUG_BASE_C_DEC,
-#endif
- public PB_DS_TYPES_TRAITS_C_DEC
- {
- private:
- typedef PB_DS_TYPES_TRAITS_C_DEC traits_base;
-
- struct entry
- : public lu_map_entry_metadata_base<typename Update_Policy::metadata_type>
- {
- typename traits_base::value_type m_value;
- typename Allocator::template rebind<entry>::other::pointer m_p_next;
- };
-
- typedef typename Allocator::template rebind<entry>::other entry_allocator;
- typedef typename entry_allocator::pointer entry_pointer;
- typedef typename entry_allocator::const_pointer const_entry_pointer;
- typedef typename entry_allocator::reference entry_reference;
- typedef typename entry_allocator::const_reference const_entry_reference;
-
- typedef typename Allocator::template rebind<entry_pointer>::other entry_pointer_allocator;
- typedef typename entry_pointer_allocator::pointer entry_pointer_array;
-
- typedef typename traits_base::value_type value_type_;
- typedef typename traits_base::pointer pointer_;
- typedef typename traits_base::const_pointer const_pointer_;
- typedef typename traits_base::reference reference_;
- typedef typename traits_base::const_reference const_reference_;
-
-#define PB_DS_GEN_POS entry_pointer
-
-#include <ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/point_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/const_iterator.hpp>
-#include <ext/pb_ds/detail/unordered_iterator/iterator.hpp>
-
-#undef PB_DS_GEN_POS
-
-
-#ifdef _GLIBCXX_DEBUG
- typedef PB_DS_MAP_DEBUG_BASE_C_DEC map_debug_base;
-#endif
-
- typedef cond_dealtor<entry, Allocator> cond_dealtor_t;
-
- public:
- typedef Allocator allocator;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
- typedef Eq_Fn eq_fn;
- typedef Update_Policy update_policy;
- typedef typename Update_Policy::metadata_type update_metadata;
- typedef typename traits_base::key_type key_type;
- typedef typename traits_base::key_pointer key_pointer;
- typedef typename traits_base::const_key_pointer const_key_pointer;
- typedef typename traits_base::key_reference key_reference;
- typedef typename traits_base::const_key_reference const_key_reference;
- typedef typename traits_base::mapped_type mapped_type;
- typedef typename traits_base::mapped_pointer mapped_pointer;
- typedef typename traits_base::const_mapped_pointer const_mapped_pointer;
- typedef typename traits_base::mapped_reference mapped_reference;
- typedef typename traits_base::const_mapped_reference const_mapped_reference;
- typedef typename traits_base::value_type value_type;
- typedef typename traits_base::pointer pointer;
- typedef typename traits_base::const_pointer const_pointer;
- typedef typename traits_base::reference reference;
- typedef typename traits_base::const_reference const_reference;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef point_iterator_ point_iterator;
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
- typedef const_point_iterator_ point_iterator;
-#endif
-
- typedef const_point_iterator_ const_point_iterator;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef iterator_ iterator;
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
- typedef const_iterator_ iterator;
-#endif
-
- typedef const_iterator_ const_iterator;
-
- public:
- PB_DS_CLASS_NAME();
-
- PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC&);
-
- virtual
- ~PB_DS_CLASS_NAME();
-
- template<typename It>
- PB_DS_CLASS_NAME(It first_it, It last_it);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- inline size_type
- size() const;
-
- inline size_type
- max_size() const;
-
- inline bool
- empty() const;
-
- inline mapped_reference
- operator[](const_key_reference r_key)
- {
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return insert(std::make_pair(r_key, mapped_type())).first->second;
-#else
- insert(r_key);
- return traits_base::s_null_mapped;
-#endif
- }
-
- inline std::pair<point_iterator, bool>
- insert(const_reference);
-
- inline point_iterator
- find(const_key_reference r_key)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- entry_pointer p_e = find_imp(r_key);
- return point_iterator(p_e == NULL ? NULL: &p_e->m_value);
- }
-
- inline const_point_iterator
- find(const_key_reference r_key) const
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- entry_pointer p_e = find_imp(r_key);
- return const_point_iterator(p_e == NULL ? NULL: &p_e->m_value);
- }
-
- inline bool
- erase(const_key_reference);
-
- template<typename Pred>
- inline size_type
- erase_if(Pred);
-
- void
- clear();
-
- inline iterator
- begin();
-
- inline const_iterator
- begin() const;
-
- inline iterator
- end();
-
- inline const_iterator
- end() const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
-#ifdef PB_DS_LU_MAP_TRACE_
- void
- trace() const;
-#endif
-
- protected:
-
- template<typename It>
- void
- copy_from_range(It, It);
-
- private:
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- friend class iterator_;
-#endif
-
- friend class const_iterator_;
-
- inline entry_pointer
- allocate_new_entry(const_reference, false_type);
-
- inline entry_pointer
- allocate_new_entry(const_reference, true_type);
-
- template<typename Metadata>
- inline static void
- init_entry_metadata(entry_pointer, type_to_type<Metadata>);
-
- inline static void
- init_entry_metadata(entry_pointer, type_to_type<null_lu_metadata>);
-
- void
- deallocate_all();
-
- void
- erase_next(entry_pointer);
-
- void
- actual_erase_entry(entry_pointer);
-
- void
- inc_it_state(const_pointer& r_p_value, entry_pointer& r_pos) const
- {
- r_pos = r_pos->m_p_next;
- r_p_value = (r_pos == NULL) ? NULL : &r_pos->m_value;
- }
-
- template<typename Metadata>
- inline static bool
- apply_update(entry_pointer, type_to_type<Metadata>);
-
- inline static bool
- apply_update(entry_pointer, type_to_type<null_lu_metadata>);
-
- inline entry_pointer
- find_imp(const_key_reference) const;
-
- static entry_allocator s_entry_allocator;
- static Eq_Fn s_eq_fn;
- static Update_Policy s_update_policy;
- static type_to_type<update_metadata> s_metadata_type_indicator;
- static null_lu_metadata s_null_lu_metadata;
-
- mutable entry_pointer m_p_l;
- };
-
-#include <ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp>
-#include <ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp>
-#include <ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_TYPES_TRAITS_C_DEC
-#undef PB_DS_MAP_DEBUG_BASE_C_DEC
-#undef PB_DS_CLASS_NAME
-#undef PB_DS_V2F
-#undef PB_DS_EP2VP
-#undef PB_DS_V2S
-
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
deleted file mode 100644
index 28bd7c4f6e75..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains implementations of lu_map_.
- */
-
-#ifdef PB_DS_LU_MAP_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- std::cerr << m_p_l << std::endl << std::endl;
- const_entry_pointer p_l = m_p_l;
- while (p_l != NULL)
- {
- std::cerr << PB_DS_V2F(p_l->m_value) << std::endl;
- p_l = p_l->m_p_next;
- }
- std::cerr << std::endl;
-}
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp
deleted file mode 100644
index d8cd28916831..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file counter_lu_metadata.hpp
- * Contains implementation of a lu counter policy's metadata.
- */
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Size_Type>
- class counter_lu_policy_base;
-
- // A list-update metadata type that moves elements to the front of
- // the list based on the counter algorithm.
- template<typename Size_Type = size_t>
- class counter_lu_metadata
- {
- public:
- typedef Size_Type size_type;
-
- private:
- counter_lu_metadata(size_type init_count) : m_count(init_count)
- { }
-
- friend class counter_lu_policy_base<size_type>;
-
- mutable size_type m_count;
- };
-
- template<typename Size_Type>
- class counter_lu_policy_base
- {
- protected:
- typedef Size_Type size_type;
-
- counter_lu_metadata<size_type>
- operator()(size_type max_size) const
- { return counter_lu_metadata<Size_Type>(rand() % max_size); }
-
- template<typename Metadata_Reference>
- bool
- operator()(Metadata_Reference r_data, size_type m_max_count) const
- {
- if (++r_data.m_count != m_max_count)
- return false;
- r_data.m_count = 0;
- return true;
- }
- };
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp
deleted file mode 100644
index 42e1bdf2836c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file counter_lu_policy_imp.hpp
- * Contains a lu counter policy implementation.
- */
-
-PB_DS_CLASS_T_DEC
-detail::counter_lu_metadata<typename Allocator::size_type>
-PB_DS_CLASS_C_DEC::
-operator()() const
-{ return (base_type::operator()(max_count)); }
-
-PB_DS_CLASS_T_DEC
-bool
-PB_DS_CLASS_C_DEC::
-operator()(metadata_reference r_data) const
-{ return (base_type::operator()(r_data, max_count)); }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp
deleted file mode 100644
index 8f9d9460df21..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file mtf_lu_policy_imp.hpp
- * Contains a move-to-front policy implementation.
- */
-
-PB_DS_CLASS_T_DEC
-null_lu_metadata PB_DS_CLASS_C_DEC::s_metadata;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::metadata_type
-PB_DS_CLASS_C_DEC::
-operator()() const
-{ return s_metadata; }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-operator()(metadata_reference /*r_data*/) const
-{ return true; }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
deleted file mode 100644
index 8cfc1f2310d1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_update_policy.hpp
- * Contains a sample policy for list update containers.
- */
-
-#ifndef PB_DS_SAMPLE_UPDATE_POLICY_HPP
-#define PB_DS_SAMPLE_UPDATE_POLICY_HPP
-
-// A sample list-update policy.
-struct sample_update_policy
-{
- // Default constructor.
- sample_update_policy();
-
- // Copy constructor.
- sample_update_policy(const sample_update_policy&);
-
- // Swaps content.
- inline void
- swap(sample_update_policy& other);
-
-protected:
- // Metadata on which this functor operates.
- typedef some_metadata_type metadata_type;
-
- // Creates a metadata object.
- metadata_type
- operator()() const;
-
- // Decides whether a metadata object should be moved to the front of
- // the list. A list-update based containers object will call this
- // method to decide whether to move a node to the front of the
- // list. The method shoule return true if the node should be moved
- // to the front of the list.
- bool
- operator()(metadata_reference) const;
-};
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/map_debug_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/map_debug_base.hpp
deleted file mode 100644
index d31a0c2699c0..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/map_debug_base.hpp
+++ /dev/null
@@ -1,356 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file map_debug_base.hpp
- * Contains a debug-mode base for all maps.
- */
-
-#ifndef PB_DS_MAP_DEBUG_BASE_HPP
-#define PB_DS_MAP_DEBUG_BASE_HPP
-
-#ifdef _GLIBCXX_DEBUG
-
-#include <list>
-#include <utility>
-#include <ext/throw_allocator.h>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, class Eq_Fn, typename Const_Key_Reference>
-
-#define PB_DS_CLASS_C_DEC \
- map_debug_base<Key, Eq_Fn, Const_Key_Reference>
-
- template<typename Key, class Eq_Fn, typename Const_Key_Reference>
- class map_debug_base
- {
- private:
- typedef typename std::allocator< Key> key_allocator;
-
- typedef typename key_allocator::size_type size_type;
-
- typedef Const_Key_Reference const_key_reference;
-
- protected:
- map_debug_base();
-
- map_debug_base(const PB_DS_CLASS_C_DEC& other);
-
- ~map_debug_base();
-
- inline void
- insert_new(const_key_reference r_key);
-
- inline void
- erase_existing(const_key_reference r_key);
-
- void
- clear();
-
- inline void
- check_key_exists(const_key_reference r_key) const;
-
- inline void
- check_key_does_not_exist(const_key_reference r_key) const;
-
- inline void
- check_size(size_type size) const;
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- template<typename Cmp_Fn>
- void
- split(const_key_reference, Cmp_Fn, PB_DS_CLASS_C_DEC&);
-
- void
- join(PB_DS_CLASS_C_DEC& other);
-
- private:
- typedef std::list< Key> key_set;
- typedef typename key_set::iterator key_set_iterator;
- typedef typename key_set::const_iterator const_key_set_iterator;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
- const_key_set_iterator
- find(const_key_reference r_key) const;
-
- key_set_iterator
- find(const_key_reference r_key);
-
- key_set m_key_set;
- Eq_Fn m_eq;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- map_debug_base()
- { _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- map_debug_base(const PB_DS_CLASS_C_DEC& other) : m_key_set(other.m_key_set)
- { _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ~map_debug_base()
- { _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- insert_new(const_key_reference r_key)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- __gnu_cxx::throw_allocator<char> alloc;
- const double orig_throw_prob = alloc.get_throw_prob();
- alloc.set_throw_prob(0);
- if (find(r_key) != m_key_set.end())
- {
- std::cerr << "insert_new " << r_key << std::endl;
- abort();
- }
-
- try
- {
- m_key_set.push_back(r_key);
- }
- catch(...)
- {
- std::cerr << "insert_new 1" << r_key << std::endl;
- abort();
- }
- alloc.set_throw_prob(orig_throw_prob);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- erase_existing(const_key_reference r_key)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- key_set_iterator it = find(r_key);
- if (it == m_key_set.end())
- {
- std::cerr << "erase_existing " << r_key << std::endl;
- abort();
- }
- m_key_set.erase(it);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- clear()
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- m_key_set.clear();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- check_key_exists(const_key_reference r_key) const
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (find(r_key) == m_key_set.end())
- {
- std::cerr << "check_key_exists " << r_key << std::endl;
- abort();
- }
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- check_key_does_not_exist(const_key_reference r_key) const
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (find(r_key) != m_key_set.end())
- {
- std::cerr << "check_key_does_not_exist " << r_key << std::endl;
- abort();
- }
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- check_size(size_type size) const
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- const size_type key_set_size = m_key_set.size();
- if (size != key_set_size)
- {
- std::cerr << "check_size " << size
- << " " << key_set_size << std::endl;
- abort();
- }
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- m_key_set.swap(other.m_key_set);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::const_key_set_iterator
- PB_DS_CLASS_C_DEC::
- find(const_key_reference r_key) const
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- typedef const_key_set_iterator iterator_type;
- for (iterator_type it = m_key_set.begin(); it != m_key_set.end(); ++it)
- if (m_eq(*it, r_key))
- return it;
- return m_key_set.end();
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::key_set_iterator
- PB_DS_CLASS_C_DEC::
- find(const_key_reference r_key)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- key_set_iterator it = m_key_set.begin();
- while (it != m_key_set.end())
- {
- if (m_eq(*it, r_key))
- return it;
- ++it;
- }
- return it;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- assert_valid() const
- {
- const_key_set_iterator prime_it = m_key_set.begin();
- while (prime_it != m_key_set.end())
- {
- const_key_set_iterator sec_it = prime_it;
- ++sec_it;
- while (sec_it != m_key_set.end())
- {
- _GLIBCXX_DEBUG_ASSERT(!m_eq(*sec_it, *prime_it));
- _GLIBCXX_DEBUG_ASSERT(!m_eq(*prime_it, *sec_it));
- ++sec_it;
- }
- ++prime_it;
- }
- }
-#endif
-
- PB_DS_CLASS_T_DEC
- template<typename Cmp_Fn>
- void
- PB_DS_CLASS_C_DEC::
- split(const_key_reference r_key, Cmp_Fn cmp_fn, PB_DS_CLASS_C_DEC& other)
- {
- __gnu_cxx::throw_allocator<char> alloc;
- const double orig_throw_prob = alloc.get_throw_prob();
- alloc.set_throw_prob(0);
- other.clear();
- key_set_iterator it = m_key_set.begin();
- while (it != m_key_set.end())
- if (cmp_fn(r_key, * it))
- {
- other.insert_new(*it);
- it = m_key_set.erase(it);
- }
- else
- ++it;
- alloc.set_throw_prob(orig_throw_prob);
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- join(PB_DS_CLASS_C_DEC& other)
- {
- __gnu_cxx::throw_allocator<char> alloc;
- const double orig_throw_prob = alloc.get_throw_prob();
- alloc.set_throw_prob(0);
- key_set_iterator it = other.m_key_set.begin();
- while (it != other.m_key_set.end())
- {
- insert_new(*it);
- it = other.m_key_set.erase(it);
- }
- _GLIBCXX_DEBUG_ASSERT(other.m_key_set.empty());
- alloc.set_throw_prob(orig_throw_prob);
- }
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-} // namespace detail
-} // namespace pb_ds
-
-#endif
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp
deleted file mode 100644
index 072fce447a8f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cond_dtor.hpp
- * Contains a conditional destructor
- */
-
-template<typename Size_Type>
-class cond_dtor
-{
-public:
- cond_dtor(value_vector a_vec, iterator& r_last_it, Size_Type total_size)
- : m_a_vec(a_vec), m_r_last_it(r_last_it), m_max_size(total_size),
- m_no_action(false)
- { }
-
- ~cond_dtor()
- {
- if (m_no_action)
- return;
- iterator it = m_a_vec;
- while (it != m_r_last_it)
- {
- it->~value_type();
- ++it;
- }
-
- if (m_max_size > 0)
- value_allocator().deallocate(m_a_vec, m_max_size);
- }
-
- inline void
- set_no_action()
- { m_no_action = true; }
-
-protected:
- value_vector m_a_vec;
- iterator& m_r_last_it;
- const Size_Type m_max_size;
- bool m_no_action;
-};
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 83a47250f83f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,279 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::value_allocator
-PB_DS_CLASS_C_DEC::s_value_alloc;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::metadata_allocator
-PB_DS_CLASS_C_DEC::s_metadata_alloc;
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_OV_TREE_CLASS_NAME() :
- m_a_values(NULL),
- m_a_metadata(NULL),
- m_end_it(NULL),
- m_size(0)
-{ _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_OV_TREE_CLASS_NAME(const Cmp_Fn& r_cmp_fn) :
- cmp_fn_base(r_cmp_fn),
- m_a_values(NULL),
- m_a_metadata(NULL),
- m_end_it(NULL),
- m_size(0)
-{ _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_OV_TREE_CLASS_NAME(const Cmp_Fn& r_cmp_fn, const node_update& r_node_update) :
- cmp_fn_base(r_cmp_fn),
- node_update(r_node_update),
- m_a_values(NULL),
- m_a_metadata(NULL),
- m_end_it(NULL),
- m_size(0)
-{ _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_OV_TREE_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
-#ifdef _GLIBCXX_DEBUG
- map_debug_base(other),
-#endif
-#ifdef PB_DS_TREE_TRACE
- PB_DS_TREE_TRACE_BASE_C_DEC(other),
-#endif
- cmp_fn_base(other),
- node_update(other),
- m_a_values(NULL),
- m_a_metadata(NULL),
- m_end_it(NULL),
- m_size(0)
-{
- copy_from_ordered_range(other.begin(), other.end());
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-inline void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef
- std::map<
- key_type,
- mapped_type,
- Cmp_Fn,
- typename Allocator::template rebind<
- value_type>::other>
- map_type;
-#else
- typedef
- std::set<
- key_type,
- Cmp_Fn,
- typename Allocator::template rebind<
- Key>::other>
- map_type;
-#endif
-
- map_type m(first_it, last_it);
- copy_from_ordered_range(m.begin(), m.end());
-}
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_ordered_range(It first_it, It last_it)
-{
- const size_type len = std::distance(first_it, last_it);
- if (len == 0)
- return;
-
- value_vector a_values = s_value_alloc.allocate(len);
- iterator target_it = a_values;
- It source_it = first_it;
- It source_end_it = last_it;
-
- cond_dtor<size_type> cd(a_values, target_it, len);
- while (source_it != source_end_it)
- {
- new (const_cast<void* >(static_cast<const void* >(target_it)))
- value_type(*source_it++);
-
- ++target_it;
- }
-
- reallocate_metadata((node_update* )this, len);
- cd.set_no_action();
- m_a_values = a_values;
- m_size = len;
- m_end_it = m_a_values + m_size;
- update(PB_DS_node_begin_imp(), (node_update* )this);
-
-#ifdef _GLIBCXX_DEBUG
- const_iterator dbg_it = m_a_values;
- while (dbg_it != m_end_it)
- {
- map_debug_base::insert_new(PB_DS_V2F(*dbg_it));
- dbg_it++;
- }
- PB_DS_CLASS_C_DEC::assert_valid();
-#endif
-}
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_ordered_range(It first_it, It last_it, It other_first_it,
- It other_last_it)
-{
- clear();
- const size_type len = std::distance(first_it, last_it)
- + std::distance(other_first_it, other_last_it);
-
- value_vector a_values = s_value_alloc.allocate(len);
-
- iterator target_it = a_values;
- It source_it = first_it;
- It source_end_it = last_it;
-
- cond_dtor<size_type> cd(a_values, target_it, len);
- while (source_it != source_end_it)
- {
- new (const_cast<void* >(static_cast<const void* >(target_it)))
- value_type(*source_it++);
- ++target_it;
- }
-
- source_it = other_first_it;
- source_end_it = other_last_it;
-
- while (source_it != source_end_it)
- {
- new (const_cast<void* >(static_cast<const void* >(target_it)))
- value_type(*source_it++);
- ++target_it;
- }
-
- reallocate_metadata((node_update* )this, len);
- cd.set_no_action();
- m_a_values = a_values;
- m_size = len;
- m_end_it = m_a_values + m_size;
- update(PB_DS_node_begin_imp(), (node_update* )this);
-
-#ifdef _GLIBCXX_DEBUG
- const_iterator dbg_it = m_a_values;
- while (dbg_it != m_end_it)
- {
- map_debug_base::insert_new(PB_DS_V2F(*dbg_it));
- dbg_it++;
- }
- PB_DS_CLASS_C_DEC::assert_valid();
-#endif
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- value_swap(other);
- std::swap((Cmp_Fn& )(*this), (Cmp_Fn& )other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-value_swap(PB_DS_CLASS_C_DEC& other)
-{
- std::swap(m_a_values, other.m_a_values);
- std::swap(m_a_metadata, other.m_a_metadata);
- std::swap(m_size, other.m_size);
- std::swap(m_end_it, other.m_end_it);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::swap(other);)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~PB_DS_OV_TREE_CLASS_NAME()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- cond_dtor<size_type> cd(m_a_values, m_end_it, m_size);
- reallocate_metadata((node_update* )this, 0);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-update(node_iterator /*it*/, null_node_update_pointer)
-{ }
-
-PB_DS_CLASS_T_DEC
-template<typename Node_Update>
-void
-PB_DS_CLASS_C_DEC::
-update(node_iterator nd_it, Node_Update* p_update)
-{
- const_node_iterator end_it = PB_DS_node_end_imp();
- if (nd_it == end_it)
- return;
- update(nd_it.get_l_child(), p_update);
- update(nd_it.get_r_child(), p_update);
- node_update::operator()(nd_it, end_it);
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
deleted file mode 100644
index b1a36555ce33..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,90 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- std::cout << "av1" << std::endl;
-
- if (m_a_values == NULL || m_end_it == NULL || m_size == 0)
- _GLIBCXX_DEBUG_ASSERT(m_a_values == NULL && m_end_it == NULL && m_size == 0);
-
- std::cout << "av2" << std::endl;
- assert_iterators();
- std::cout << "av3" << std::endl;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_iterators() const
-{
- map_debug_base::check_size(m_size);
- size_type iterated_num = 0;
- const_iterator prev_it = end();
- _GLIBCXX_DEBUG_ASSERT( m_end_it == m_a_values + m_size);
- for (const_iterator it = begin(); it != end(); ++it)
- {
- ++iterated_num;
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(PB_DS_V2F(*it));)
- _GLIBCXX_DEBUG_ASSERT(lower_bound(PB_DS_V2F(*it)) == it);
- const_iterator upper_bound_it = upper_bound(PB_DS_V2F(*it));
- --upper_bound_it;
- _GLIBCXX_DEBUG_ASSERT(upper_bound_it == it);
- if (prev_it != end())
- _GLIBCXX_DEBUG_ASSERT(Cmp_Fn::operator()(PB_DS_V2F(*prev_it),
- PB_DS_V2F(*it)));
- prev_it = it;
- }
- _GLIBCXX_DEBUG_ASSERT(iterated_num == m_size);
-}
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
deleted file mode 100644
index 936d5492e8d1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,199 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (m_size == 0)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return;
- }
- else
- {
- reallocate_metadata((node_update* )this, 0);
- cond_dtor<size_type> cd(m_a_values, m_end_it, m_size);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::clear();)
- m_a_values = NULL;
- m_size = 0;
- m_end_it = m_a_values;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
-#ifdef PB_DS_REGRESSION
- typename Allocator::group_throw_prob_adjustor adjust(m_size);
-#endif
-
- size_type new_size = 0;
- size_type num_val_ersd = 0;
- iterator source_it = m_a_values;
- for (source_it = begin(); source_it != m_end_it; ++source_it)
- if (!pred(*source_it))
- ++new_size;
- else
- ++num_val_ersd;
-
- if (new_size == 0)
- {
- clear();
- return num_val_ersd;
- }
-
- value_vector a_new_values = s_value_alloc.allocate(new_size);
- iterator target_it = a_new_values;
- cond_dtor<size_type> cd(a_new_values, target_it, new_size);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::clear());
- for (source_it = begin(); source_it != m_end_it; ++source_it)
- {
- if (!pred(*source_it))
- {
- new (const_cast<void*>(static_cast<const void* >(target_it)))
- value_type(*source_it);
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(*source_it)));
- ++target_it;
- }
- }
-
- reallocate_metadata((node_update* )this, new_size);
- cd.set_no_action();
-
- {
- cond_dtor<size_type> cd1(m_a_values, m_end_it, m_size);
- }
-
- m_a_values = a_new_values;
- m_size = new_size;
- m_end_it = target_it;
- update(node_begin(), (node_update* )this);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return num_val_ersd;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-It
-PB_DS_CLASS_C_DEC::
-erase_imp(It it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (it == end())
- return end();
-
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::check_key_exists(PB_DS_V2F(*it));)
-
-#ifdef PB_DS_REGRESSION
- typename Allocator::group_throw_prob_adjustor adjust(m_size);
-#endif
-
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- value_vector a_values = s_value_alloc.allocate(m_size - 1);
- iterator source_it = begin();
- iterator source_end_it = end();
- iterator target_it = a_values;
- iterator ret_it = end();
-
- cond_dtor<size_type> cd(a_values, target_it, m_size - 1);
-
- _GLIBCXX_DEBUG_ONLY(size_type cnt = 0;)
-
- while (source_it != source_end_it)
- {
- if (source_it != it)
- {
- _GLIBCXX_DEBUG_ONLY(++cnt;)
- _GLIBCXX_DEBUG_ASSERT(cnt != m_size);
- new (const_cast<void* >(static_cast<const void* >(target_it)))
- value_type(*source_it);
-
- ++target_it;
- }
- else
- ret_it = target_it;
- ++source_it;
- }
-
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- reallocate_metadata((node_update* )this, m_size - 1);
- cd.set_no_action();
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::erase_existing(PB_DS_V2F(*it));)
- {
- cond_dtor<size_type> cd1(m_a_values, m_end_it, m_size);
- }
-
- m_a_values = a_values;
- --m_size;
- m_end_it = m_a_values + m_size;
- update(node_begin(), (node_update* )this);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return It(ret_it);
-}
-
-PB_DS_CLASS_T_DEC
-bool
-PB_DS_CLASS_C_DEC::
-erase(const_key_reference r_key)
-{
- point_iterator it = find(r_key);
- if (it == end())
- return false;
- erase(it);
- return true;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
deleted file mode 100644
index 05161cb97499..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
+++ /dev/null
@@ -1,66 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return m_size;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{ return s_value_alloc.max_size(); }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{ return size() == 0; }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
deleted file mode 100644
index 16d6f04e683c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-reallocate_metadata(null_node_update_pointer, size_type)
-{ }
-
-PB_DS_CLASS_T_DEC
-template<typename Node_Update_>
-void
-PB_DS_CLASS_C_DEC::
-reallocate_metadata(Node_Update_* , size_type new_size)
-{
- metadata_pointer a_new_metadata_vec =(new_size == 0) ? NULL : s_metadata_alloc.allocate(new_size);
-
- if (m_a_metadata != NULL)
- {
- for (size_type i = 0; i < m_size; ++i)
- m_a_metadata[i].~metadata_type();
- s_metadata_alloc.deallocate(m_a_metadata, m_size);
- }
- std::swap(m_a_metadata, a_new_metadata_vec);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
deleted file mode 100644
index 38d4cee5d41c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterators_fn_imps.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-node_begin() const
-{ return PB_DS_node_begin_imp(); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-node_end() const
-{ return PB_DS_node_end_imp(); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-node_begin()
-{ return PB_DS_node_begin_imp(); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-node_end()
-{ return PB_DS_node_end_imp(); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-PB_DS_node_begin_imp() const
-{
- return const_node_iterator(const_cast<pointer>(mid_pointer(begin(), end())),
- const_cast<pointer>(begin()),
- const_cast<pointer>(end()),(m_a_metadata == NULL)?
- NULL :
- mid_pointer(m_a_metadata, m_a_metadata + m_size));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-PB_DS_node_end_imp() const
-{
- return const_node_iterator(end(), end(), end(),
- (m_a_metadata == NULL) ? NULL : m_a_metadata + m_size);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-PB_DS_node_begin_imp()
-{
- return node_iterator(mid_pointer(begin(), end()), begin(), end(),
- (m_a_metadata == NULL) ? NULL : mid_pointer(m_a_metadata, m_a_metadata + m_size));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-PB_DS_node_end_imp()
-{
- return node_iterator(end(), end(),
- end(),(m_a_metadata == NULL) ? NULL : m_a_metadata + m_size);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
deleted file mode 100644
index d64ad2023396..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
+++ /dev/null
@@ -1,303 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node_iterators.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-#ifndef PB_DS_OV_TREE_NODE_ITERATORS_HPP
-#define PB_DS_OV_TREE_NODE_ITERATORS_HPP
-
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef \
- static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \
- UNIQUE##static_assert_type
-
-#define PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC \
- ov_tree_node_const_it_<Value_Type, Metadata_Type, Allocator>
-
- // Const node reference.
- template<typename Value_Type, typename Metadata_Type, class Allocator>
- class ov_tree_node_const_it_
- {
-
- protected:
- typedef
- typename Allocator::template rebind<
- Value_Type>::other::pointer
- pointer;
-
- typedef
- typename Allocator::template rebind<
- Value_Type>::other::const_pointer
- const_pointer;
-
- typedef
- typename Allocator::template rebind<
- Metadata_Type>::other::const_pointer
- const_metadata_pointer;
-
- typedef PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC this_type;
-
- protected:
-
- template<typename Ptr>
- inline static Ptr
- mid_pointer(Ptr p_begin, Ptr p_end)
- {
- _GLIBCXX_DEBUG_ASSERT(p_end >= p_begin);
- return (p_begin + (p_end - p_begin) / 2);
- }
-
- public:
-
- typedef trivial_iterator_tag iterator_category;
-
- typedef trivial_iterator_difference_type difference_type;
-
- typedef
- typename Allocator::template rebind<
- Value_Type>::other::const_pointer
- value_type;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- Value_Type>::type>::other::const_pointer
- reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- Value_Type>::type>::other::const_pointer
- const_reference;
-
- typedef Metadata_Type metadata_type;
-
- typedef
- typename Allocator::template rebind<
- metadata_type>::other::const_reference
- const_metadata_reference;
-
- public:
- inline
- ov_tree_node_const_it_(const_pointer p_nd = NULL, const_pointer p_begin_nd = NULL, const_pointer p_end_nd = NULL, const_metadata_pointer p_metadata = NULL) : m_p_value(const_cast<pointer>(p_nd)), m_p_begin_value(const_cast<pointer>(p_begin_nd)), m_p_end_value(const_cast<pointer>(p_end_nd)), m_p_metadata(p_metadata)
- { }
-
- inline const_reference
- operator*() const
- { return m_p_value; }
-
- inline const_metadata_reference
- get_metadata() const
- {
- enum
- {
- has_metadata = !is_same<Metadata_Type, null_node_metadata>::value
- };
-
- PB_DS_STATIC_ASSERT(should_have_metadata, has_metadata);
- _GLIBCXX_DEBUG_ASSERT(m_p_metadata != NULL);
- return *m_p_metadata;
- }
-
- inline this_type
- get_l_child() const
- {
- if (m_p_begin_value == m_p_value)
- return (this_type(m_p_begin_value, m_p_begin_value, m_p_begin_value));
-
- const_metadata_pointer p_begin_metadata =
- m_p_metadata - (m_p_value - m_p_begin_value);
-
- return (this_type(mid_pointer(m_p_begin_value, m_p_value),
- m_p_begin_value,
- m_p_value,
- mid_pointer(p_begin_metadata, m_p_metadata)));
- }
-
- inline this_type
- get_r_child() const
- {
- if (m_p_value == m_p_end_value)
- return (this_type(m_p_end_value, m_p_end_value, m_p_end_value));
-
- const_metadata_pointer p_end_metadata =
- m_p_metadata + (m_p_end_value - m_p_value);
-
- return (this_type(mid_pointer(m_p_value + 1, m_p_end_value),
- m_p_value + 1,
- m_p_end_value,(m_p_metadata == NULL) ?
- NULL : mid_pointer(m_p_metadata + 1, p_end_metadata)));
- }
-
- inline bool
- operator==(const this_type& other) const
- {
- const bool is_end = m_p_begin_value == m_p_end_value;
- const bool is_other_end = other.m_p_begin_value == other.m_p_end_value;
-
- if (is_end)
- return (is_other_end);
-
- if (is_other_end)
- return (is_end);
-
- return m_p_value == other.m_p_value;
- }
-
- inline bool
- operator!=(const this_type& other) const
- { return !operator==(other); }
-
- public:
- pointer m_p_value;
- pointer m_p_begin_value;
- pointer m_p_end_value;
-
- const_metadata_pointer m_p_metadata;
- };
-
-#define PB_DS_OV_TREE_NODE_ITERATOR_C_DEC \
- ov_tree_node_it_<Value_Type, Metadata_Type, Allocator>
-
- // Node reference.
- template<typename Value_Type, typename Metadata_Type, class Allocator>
- class ov_tree_node_it_ : public PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC
- {
-
- private:
- typedef PB_DS_OV_TREE_NODE_ITERATOR_C_DEC this_type;
-
- typedef PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC base_type;
-
- typedef typename base_type::pointer pointer;
-
- typedef typename base_type::const_pointer const_pointer;
-
- typedef
- typename base_type::const_metadata_pointer
- const_metadata_pointer;
-
- public:
-
- typedef trivial_iterator_tag iterator_category;
-
- typedef trivial_iterator_difference_type difference_type;
-
- typedef
- typename Allocator::template rebind<
- Value_Type>::other::pointer
- value_type;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- Value_Type>::type>::other::pointer
- reference;
-
- typedef
- typename Allocator::template rebind<
- typename remove_const<
- Value_Type>::type>::other::pointer
- const_reference;
-
- public:
- inline
- ov_tree_node_it_(const_pointer p_nd = NULL, const_pointer p_begin_nd = NULL, const_pointer p_end_nd = NULL, const_metadata_pointer p_metadata = NULL) : base_type( p_nd, p_begin_nd, p_end_nd, p_metadata)
- { }
-
- // Access.
- inline reference
- operator*() const
- { return reference(base_type::m_p_value); }
-
- // Returns the node reference associated with the left node.
- inline ov_tree_node_it_
- get_l_child() const
- {
- if (base_type::m_p_begin_value == base_type::m_p_value)
- return (this_type(base_type::m_p_begin_value, base_type::m_p_begin_value, base_type::m_p_begin_value));
-
- const_metadata_pointer p_begin_metadata =
- base_type::m_p_metadata - (base_type::m_p_value - base_type::m_p_begin_value);
-
- return (this_type(base_type::mid_pointer(base_type::m_p_begin_value, base_type::m_p_value),
- base_type::m_p_begin_value,
- base_type::m_p_value,
- base_type::mid_pointer(p_begin_metadata, base_type::m_p_metadata)));
- }
-
- // Returns the node reference associated with the right node.
- inline ov_tree_node_it_
- get_r_child() const
- {
- if (base_type::m_p_value == base_type::m_p_end_value)
- return (this_type(base_type::m_p_end_value, base_type::m_p_end_value, base_type::m_p_end_value));
-
- const_metadata_pointer p_end_metadata =
- base_type::m_p_metadata + (base_type::m_p_end_value - base_type::m_p_value);
-
- return (this_type(base_type::mid_pointer(base_type::m_p_value + 1, base_type::m_p_end_value),
- base_type::m_p_value + 1,
- base_type::m_p_end_value,(base_type::m_p_metadata == NULL)?
- NULL : base_type::mid_pointer(base_type::m_p_metadata + 1, p_end_metadata)));
- }
-
- };
-
-#undef PB_DS_OV_TREE_NODE_ITERATOR_C_DEC
-#undef PB_DS_OV_TREE_CONST_NODE_ITERATOR_C_DEC
-#undef PB_DS_STATIC_ASSERT
-
-} // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
deleted file mode 100644
index f9e271443125..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
+++ /dev/null
@@ -1,528 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file ov_tree_map_.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-#include <map>
-#include <set>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/detail/eq_fn/eq_by_less.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-#include <ext/pb_ds/detail/map_debug_base.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/detail/tree_trace_base.hpp>
-#include <utility>
-#include <functional>
-#include <algorithm>
-#include <vector>
-#include <assert.h>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, class Cmp_Fn, \
- class Node_And_It_Traits, class Allocator>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_OV_TREE_CLASS_NAME ov_tree_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_OV_TREE_CLASS_NAME ov_tree_no_data_
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CONST_NODE_ITERATOR_NAME ov_tree_const_node_iterator_data_
-#else
-#define PB_DS_CONST_NODE_ITERATOR_NAME ov_tree_const_node_iterator_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_OV_TREE_CLASS_NAME<Key, Mapped, Cmp_Fn, Node_And_It_Traits, Allocator>
-
-#define PB_DS_TYPES_TRAITS_C_DEC \
- types_traits<Key, Mapped, Allocator, false>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_MAP_DEBUG_BASE_C_DEC \
- map_debug_base<Key, eq_by_less<Key, Cmp_Fn>, \
- typename Allocator::template rebind<Key>::other::const_reference>
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#define PB_DS_EP2VP(X)& ((X)->m_value)
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped_Data()
-#define PB_DS_EP2VP(X)& ((X)->m_value.first)
-#endif
-
-#ifdef PB_DS_TREE_TRACE
-#define PB_DS_TREE_TRACE_BASE_C_DEC \
- tree_trace_base<typename Node_And_It_Traits::const_node_iterator, \
- typename Node_And_It_Traits::node_iterator, \
- Cmp_Fn, false, Allocator>
-#endif
-
- // Ordered-vector tree associative-container.
- template<typename Key, typename Mapped, class Cmp_Fn,
- class Node_And_It_Traits, class Allocator>
- class PB_DS_OV_TREE_CLASS_NAME :
-#ifdef _GLIBCXX_DEBUG
- protected PB_DS_MAP_DEBUG_BASE_C_DEC,
-#endif
-#ifdef PB_DS_TREE_TRACE
- public PB_DS_TREE_TRACE_BASE_C_DEC,
-#endif
- public Cmp_Fn,
- public Node_And_It_Traits::node_update,
- public PB_DS_TYPES_TRAITS_C_DEC
- {
- private:
- typedef PB_DS_TYPES_TRAITS_C_DEC traits_base;
-
- typedef typename remove_const<typename traits_base::value_type>::type non_const_value_type;
-
- typedef typename Allocator::template rebind<non_const_value_type>::other value_allocator;
- typedef typename value_allocator::pointer value_vector;
-
-
- typedef Cmp_Fn cmp_fn_base;
-
-#ifdef _GLIBCXX_DEBUG
- typedef PB_DS_MAP_DEBUG_BASE_C_DEC map_debug_base;
-#endif
-
- typedef typename traits_base::pointer mapped_pointer_;
- typedef typename traits_base::const_pointer const_mapped_pointer_;
-
- typedef typename Node_And_It_Traits::metadata_type metadata_type;
-
- typedef typename Allocator::template rebind<metadata_type>::other metadata_allocator;
- typedef typename metadata_allocator::pointer metadata_pointer;
- typedef typename metadata_allocator::const_reference const_metadata_reference;
- typedef typename metadata_allocator::reference metadata_reference;
-
- typedef
- typename Node_And_It_Traits::null_node_update_pointer
- null_node_update_pointer;
-
- public:
-
- typedef Allocator allocator;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
-
- typedef Cmp_Fn cmp_fn;
-
- typedef typename Node_And_It_Traits::node_update node_update;
-
- typedef typename traits_base::key_type key_type;
- typedef typename traits_base::key_pointer key_pointer;
- typedef typename traits_base::const_key_pointer const_key_pointer;
- typedef typename traits_base::key_reference key_reference;
- typedef typename traits_base::const_key_reference const_key_reference;
- typedef typename traits_base::mapped_type mapped_type;
- typedef typename traits_base::mapped_pointer mapped_pointer;
- typedef typename traits_base::const_mapped_pointer const_mapped_pointer;
- typedef typename traits_base::mapped_reference mapped_reference;
- typedef typename traits_base::const_mapped_reference const_mapped_reference;
- typedef typename traits_base::value_type value_type;
- typedef typename traits_base::pointer pointer;
- typedef typename traits_base::const_pointer const_pointer;
- typedef typename traits_base::reference reference;
- typedef typename traits_base::const_reference const_reference;
-
- typedef const_pointer const_point_iterator;
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- typedef pointer point_iterator;
-#else
- typedef const_point_iterator point_iterator;
-#endif
-
- typedef const_point_iterator const_iterator;
-
- typedef point_iterator iterator;
-
-#include <ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp>
-
- typedef
- typename Node_And_It_Traits::const_node_iterator
- const_node_iterator;
-
- typedef typename Node_And_It_Traits::node_iterator node_iterator;
-
- public:
-
- PB_DS_OV_TREE_CLASS_NAME();
-
- PB_DS_OV_TREE_CLASS_NAME(const Cmp_Fn&);
-
- PB_DS_OV_TREE_CLASS_NAME(const Cmp_Fn&, const node_update&);
-
- PB_DS_OV_TREE_CLASS_NAME(const PB_DS_CLASS_C_DEC&);
-
- ~PB_DS_OV_TREE_CLASS_NAME();
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- template<typename It>
- void
- copy_from_range(It, It);
-
- inline size_type
- max_size() const;
-
- inline bool
- empty() const;
-
- inline size_type
- size() const;
-
- Cmp_Fn&
- get_cmp_fn();
-
- const Cmp_Fn&
- get_cmp_fn() const;
-
- inline mapped_reference
- operator[](const_key_reference r_key)
- {
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- point_iterator it = lower_bound(r_key);
- if (it != end() && !Cmp_Fn::operator()(r_key, PB_DS_V2F(*it)))
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return it->second;
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return (insert_new_val(it, std::make_pair(r_key, mapped_type()))->second);
-#else
- insert(r_key);
- return traits_base::s_null_mapped;
-#endif
- }
-
- inline std::pair<point_iterator, bool>
- insert(const_reference r_value)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- const_key_reference r_key = PB_DS_V2F(r_value);
- point_iterator it = lower_bound(r_key);
-
- if (it != end()&& !Cmp_Fn::operator()(r_key, PB_DS_V2F(*it)))
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- return std::make_pair(it, false);
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return std::make_pair(insert_new_val(it, r_value), true);
- }
-
- inline point_iterator
- lower_bound(const_key_reference r_key)
- {
- pointer it = m_a_values;
- pointer e_it = m_a_values + m_size;
- while (it != e_it)
- {
- pointer mid_it = it + ((e_it - it) >> 1);
- if (cmp_fn_base::operator()(PB_DS_V2F(*mid_it), r_key))
- it = ++mid_it;
- else
- e_it = mid_it;
- }
- return it;
- }
-
- inline const_point_iterator
- lower_bound(const_key_reference r_key) const
- { return const_cast<PB_DS_CLASS_C_DEC& >(*this).lower_bound(r_key); }
-
- inline point_iterator
- upper_bound(const_key_reference r_key)
- {
- iterator pot_it = lower_bound(r_key);
- if (pot_it != end()&& !Cmp_Fn::operator()(r_key, PB_DS_V2F(*pot_it)))
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- return ++pot_it;
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key));
- return pot_it;
- }
-
- inline const_point_iterator
- upper_bound(const_key_reference r_key) const
- { return const_cast<PB_DS_CLASS_C_DEC&>(*this).upper_bound(r_key); }
-
- inline point_iterator
- find(const_key_reference r_key)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- iterator pot_it = lower_bound(r_key);
- if (pot_it != end() && !Cmp_Fn::operator()(r_key, PB_DS_V2F(*pot_it)))
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- return pot_it;
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key));
- return end();
- }
-
- inline const_point_iterator
- find(const_key_reference r_key) const
- { return (const_cast<PB_DS_CLASS_C_DEC& >(*this).find(r_key)); }
-
- bool
- erase(const_key_reference);
-
- template<typename Pred>
- inline size_type
- erase_if(Pred);
-
- inline iterator
- erase(iterator it)
- { return erase_imp<iterator>(it); }
-
- void
- clear();
-
- void
- join(PB_DS_CLASS_C_DEC&);
-
- void
- split(const_key_reference, PB_DS_CLASS_C_DEC&);
-
- inline iterator
- begin()
- { return m_a_values; }
-
- inline const_iterator
- begin() const
- { return m_a_values; }
-
- inline iterator
- end()
- { return m_end_it; }
-
- inline const_iterator
- end() const
- { return m_end_it; }
-
- inline const_node_iterator
- node_begin() const;
-
- inline const_node_iterator
- node_end() const;
-
- inline node_iterator
- node_begin();
-
- inline node_iterator
- node_end();
-
- private:
-
- inline void
- update(node_iterator /*it*/, null_node_update_pointer);
-
- template<typename Node_Update>
- void
- update(node_iterator, Node_Update*);
-
- void
- reallocate_metadata(null_node_update_pointer, size_type);
-
- template<typename Node_Update_>
- void
- reallocate_metadata(Node_Update_*, size_type);
-
- template<typename It>
- void
- copy_from_ordered_range(It, It);
-
- void
- value_swap(PB_DS_CLASS_C_DEC&);
-
- template<typename It>
- void
- copy_from_ordered_range(It, It, It, It);
-
- template<typename Ptr>
- inline static Ptr
- mid_pointer(Ptr p_begin, Ptr p_end)
- {
- _GLIBCXX_DEBUG_ASSERT(p_end >= p_begin);
- return (p_begin + (p_end - p_begin) / 2);
- }
-
- inline iterator
- insert_new_val(iterator it, const_reference r_value)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-#ifdef PB_DS_REGRESSION
- typename Allocator::group_throw_prob_adjustor adjust(m_size);
-#endif
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(PB_DS_V2F(r_value)));
-
- value_vector a_values = s_value_alloc.allocate(m_size + 1);
-
- iterator source_it = begin();
- iterator source_end_it = end();
- iterator target_it = a_values;
- iterator ret_it;
-
- cond_dtor<size_type> cd(a_values, target_it, m_size + 1);
- while (source_it != it)
- {
- new (const_cast<void* >(static_cast<const void* >(target_it)))
- value_type(*source_it++);
- ++target_it;
- }
-
- new (const_cast<void* >(static_cast<const void* >(ret_it = target_it)))
- value_type(r_value);
- ++target_it;
-
- while (source_it != source_end_it)
- {
- new (const_cast<void* >(static_cast<const void* >(target_it)))
- value_type(*source_it++);
- ++target_it;
- }
-
- reallocate_metadata((node_update* )this, m_size + 1);
- cd.set_no_action();
- if (m_size != 0)
- {
- cond_dtor<size_type> cd1(m_a_values, m_end_it, m_size);
- }
-
- ++m_size;
- m_a_values = a_values;
- m_end_it = m_a_values + m_size;
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(r_value)));
- update(node_begin(), (node_update* )this);
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- return ret_it;
- }
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-
- void
- assert_iterators() const;
-#endif
-
- template<typename It>
- It
- erase_imp(It it);
-
- inline const_node_iterator
- PB_DS_node_begin_imp() const;
-
- inline const_node_iterator
- PB_DS_node_end_imp() const;
-
- inline node_iterator
- PB_DS_node_begin_imp();
-
- inline node_iterator
- PB_DS_node_end_imp();
-
- private:
- static value_allocator s_value_alloc;
- static metadata_allocator s_metadata_alloc;
-
- value_vector m_a_values;
- metadata_pointer m_a_metadata;
- iterator m_end_it;
- size_type m_size;
- };
-
-#include <ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp>
-#include <ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp>
-#include <ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp>
-#include <ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_OV_TREE_CLASS_NAME
-#undef PB_DS_TYPES_TRAITS_C_DEC
-#undef PB_DS_MAP_DEBUG_BASE_C_DEC
-#ifdef PB_DS_TREE_TRACE
-#undef PB_DS_TREE_TRACE_BASE_C_DEC
-#endif
-
-#undef PB_DS_V2F
-#undef PB_DS_EP2VP
-#undef PB_DS_V2S
-#undef PB_DS_CONST_NODE_ITERATOR_NAME
-
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
deleted file mode 100644
index 8ed19f1ef20e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file policy_access_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Cmp_Fn&
-PB_DS_CLASS_C_DEC::
-get_cmp_fn() const
-{ return *this; }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
deleted file mode 100644
index 3b6abcd6c773..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-split(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- if (m_size == 0)
- {
- other.clear();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return;
- }
-
- if (Cmp_Fn::operator()(r_key, PB_DS_V2F(*begin())))
- {
- value_swap(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return;
- }
-
- if (!Cmp_Fn::operator()(r_key, PB_DS_V2F(*(end() - 1))))
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return;
- }
-
- if (m_size == 1)
- {
- value_swap(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return;
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::join(other);)
- iterator it = upper_bound(r_key);
- PB_DS_CLASS_C_DEC new_other(other, other);
- new_other.copy_from_ordered_range(it, end());
- PB_DS_CLASS_C_DEC new_this(*this, * this);
- new_this.copy_from_ordered_range(begin(), it);
-
- // No exceptions from this point.
- _GLIBCXX_DEBUG_ONLY(map_debug_base::split(r_key,(Cmp_Fn& )(*this), other);)
- other.update(other.node_begin(), (node_update* )(&other));
- update(node_begin(), (node_update* )this);
- other.value_swap(new_other);
- value_swap(new_this);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- if (other.m_size == 0)
- return;
-
- if (m_size == 0)
- {
- value_swap(other);
- return;
- }
-
- const bool greater = Cmp_Fn::operator()(PB_DS_V2F(*(end() - 1)),
- PB_DS_V2F(*other.begin()));
-
- const bool lesser = Cmp_Fn::operator()(PB_DS_V2F(*(other.end() - 1)),
- PB_DS_V2F(*begin()));
-
- if (!greater && !lesser)
- __throw_join_error();
-
- PB_DS_CLASS_C_DEC new_this(*this, *this);
-
- if (greater)
- new_this.copy_from_ordered_range(begin(), end(),
- other.begin(), other.end());
- else
- new_this.copy_from_ordered_range(other.begin(), other.end(),
- begin(), end());
-
- // No exceptions from this point.
- _GLIBCXX_DEBUG_ONLY(map_debug_base::join(other);)
- value_swap(new_this);
- other.clear();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
deleted file mode 100644
index 182c0c8d3930..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/ov_tree_map_/traits.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file traits.hpp
- * Contains an implementation class for ov_tree_.
- */
-
-#ifndef PB_DS_OV_TREE_NODE_AND_IT_TRAITS_HPP
-#define PB_DS_OV_TREE_NODE_AND_IT_TRAITS_HPP
-
-#include <ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Key,
- typename Mapped,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct tree_traits<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- ov_tree_tag,
- Allocator>
- {
- private:
- typedef
- typename types_traits<
- Key,
- Mapped,
- Allocator,
- false>::value_type
- value_type;
-
- public:
- typedef
- typename tree_node_metadata_selector<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- Allocator>::type
- metadata_type;
-
- typedef
- ov_tree_node_const_it_<
- value_type,
- metadata_type,
- Allocator>
- const_node_iterator;
-
- typedef
- ov_tree_node_it_<
- value_type,
- metadata_type,
- Allocator>
- node_iterator;
-
- typedef
- Node_Update<
- const_node_iterator,
- node_iterator,
- Cmp_Fn,
- Allocator>
- node_update;
-
- typedef
- pb_ds::null_tree_node_update<
- const_node_iterator,
- node_iterator,
- Cmp_Fn,
- Allocator>*
- null_node_update_pointer;
- };
-
- template<typename Key,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct tree_traits<
- Key,
- null_mapped_type,
- Cmp_Fn,
- Node_Update,
- ov_tree_tag,
- Allocator>
- {
- private:
- typedef
- typename types_traits<
- Key,
- null_mapped_type,
- Allocator,
- false>::value_type
- value_type;
-
- public:
- typedef
- typename tree_node_metadata_selector<
- Key,
- null_mapped_type,
- Cmp_Fn,
- Node_Update,
- Allocator>::type
- metadata_type;
-
- typedef
- ov_tree_node_const_it_<
- value_type,
- metadata_type,
- Allocator>
- const_node_iterator;
-
- typedef const_node_iterator node_iterator;
-
- typedef
- Node_Update<
- const_node_iterator,
- const_node_iterator,
- Cmp_Fn,
- Allocator>
- node_update;
-
- typedef
- pb_ds::null_tree_node_update<
- const_node_iterator,
- node_iterator,
- Cmp_Fn,
- Allocator>*
- null_node_update_pointer;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_OV_TREE_NODE_AND_IT_TRAITS_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 6534f208604c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for a pairing heap.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- push(*(first_it++));
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-pairing_heap_()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-pairing_heap_(const Cmp_Fn& r_cmp_fn) :
- PB_DS_BASE_C_DEC(r_cmp_fn)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-pairing_heap_(const PB_DS_CLASS_C_DEC& other) :
- PB_DS_BASE_C_DEC(other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- PB_DS_BASE_C_DEC::swap(other);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~pairing_heap_()
-{ }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
deleted file mode 100644
index 5e6bb373968b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for a pairing heap.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_root == NULL
- || base_type::m_p_root->m_p_next_sibling == NULL);
- base_type::assert_valid();
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
deleted file mode 100644
index 038b490b46c1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,242 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for a pairing heap.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-pop()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- node_pointer p_new_root = join_node_children(base_type::m_p_root);
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_new_root, false);)
- if (p_new_root != NULL)
- p_new_root->m_p_prev_or_parent = NULL;
-
- base_type::actual_erase_node(base_type::m_p_root);
- base_type::m_p_root = p_new_root;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase(point_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
- remove_node(it.m_p_nd);
- base_type::actual_erase_node(it.m_p_nd);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-remove_node(node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
- node_pointer p_new_child = join_node_children(p_nd);
-
-#ifdef _GLIBCXX_DEBUG
- if (p_new_child != NULL)
- base_type::assert_node_consistent(p_new_child, false);
-#endif
-
- if (p_nd == base_type::m_p_root)
- {
- if (p_new_child != NULL)
- p_new_child->m_p_prev_or_parent = NULL;
- base_type::m_p_root = p_new_child;
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(base_type::m_p_root, false);)
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_prev_or_parent != NULL);
- if (p_nd->m_p_prev_or_parent->m_p_l_child == p_nd)
- {
- if (p_new_child != NULL)
- {
- p_new_child->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
- p_new_child->m_p_next_sibling = p_nd->m_p_next_sibling;
- if (p_new_child->m_p_next_sibling != NULL)
- p_new_child->m_p_next_sibling->m_p_prev_or_parent = p_new_child;
- p_nd->m_p_prev_or_parent->m_p_l_child = p_new_child;
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd->m_p_prev_or_parent, false);)
- return;
- }
-
- p_nd->m_p_prev_or_parent->m_p_l_child = p_nd->m_p_next_sibling;
- if (p_nd->m_p_next_sibling != NULL)
- p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd->m_p_prev_or_parent, false);)
- return;
- }
-
- if (p_new_child != NULL)
- {
- p_new_child->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
- p_new_child->m_p_next_sibling = p_nd->m_p_next_sibling;
- if (p_new_child->m_p_next_sibling != NULL)
- p_new_child->m_p_next_sibling->m_p_prev_or_parent = p_new_child;
- p_new_child->m_p_prev_or_parent->m_p_next_sibling = p_new_child;
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd->m_p_prev_or_parent, false);)
- return;
- }
-
- p_nd->m_p_prev_or_parent->m_p_next_sibling = p_nd->m_p_next_sibling;
- if (p_nd->m_p_next_sibling != NULL)
- p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd->m_p_prev_or_parent, false);)
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-join_node_children(node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- node_pointer p_ret = p_nd->m_p_l_child;
- if (p_ret == NULL)
- return NULL;
- while (p_ret->m_p_next_sibling != NULL)
- p_ret = forward_join(p_ret, p_ret->m_p_next_sibling);
- while (p_ret->m_p_prev_or_parent != p_nd)
- p_ret = back_join(p_ret->m_p_prev_or_parent, p_ret);
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_ret, false);)
- return p_ret;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-forward_join(node_pointer p_nd, node_pointer p_next)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_next_sibling == p_next);
- if (Cmp_Fn::operator()(p_nd->m_value, p_next->m_value))
- {
- p_next->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
- base_type::make_child_of(p_nd, p_next);
- return p_next->m_p_next_sibling == NULL
- ? p_next : p_next->m_p_next_sibling;
- }
-
- if (p_next->m_p_next_sibling != NULL)
- {
- p_next->m_p_next_sibling->m_p_prev_or_parent = p_nd;
- p_nd->m_p_next_sibling = p_next->m_p_next_sibling;
- base_type::make_child_of(p_next, p_nd);
- return p_nd->m_p_next_sibling;
- }
-
- p_nd->m_p_next_sibling = NULL;
- base_type::make_child_of(p_next, p_nd);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd, false));
- return p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-back_join(node_pointer p_nd, node_pointer p_next)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_next->m_p_next_sibling == NULL);
-
- if (Cmp_Fn::operator()(p_nd->m_value, p_next->m_value))
- {
- p_next->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
- base_type::make_child_of(p_nd, p_next);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_next, false));
- return p_next;
- }
-
- p_nd->m_p_next_sibling = NULL;
- base_type::make_child_of(p_next, p_nd);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd, false));
- return p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (base_type::empty())
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return 0;
- }
- base_type::to_linked_list();
- node_pointer p_out = base_type::prune(pred);
- size_type ersd = 0;
- while (p_out != NULL)
- {
- ++ersd;
- node_pointer p_next = p_out->m_p_next_sibling;
- base_type::actual_erase_node(p_out);
- p_out = p_next;
- }
-
- node_pointer p_cur = base_type::m_p_root;
- base_type::m_p_root = NULL;
- while (p_cur != NULL)
- {
- node_pointer p_next = p_cur->m_p_next_sibling;
- p_cur->m_p_l_child = p_cur->m_p_next_sibling = p_cur->m_p_prev_or_parent = NULL;
-
- push_imp(p_cur);
- p_cur = p_next;
- }
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return ersd;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
deleted file mode 100644
index f74b0bbbf3c9..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation class for a pairing heap.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reference
-PB_DS_CLASS_C_DEC::
-top() const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- return base_type::m_p_root->m_value;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
deleted file mode 100644
index 41ff3918b85b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,107 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation class for a pairing heap.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-push(const_reference r_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- node_pointer p_new_nd = base_type::get_new_node_for_insert(r_val);
-
- push_imp(p_new_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return point_iterator(p_new_nd);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-push_imp(node_pointer p_nd)
-{
- p_nd->m_p_l_child = NULL;
-
- if (base_type::m_p_root == NULL)
- {
- p_nd->m_p_next_sibling = p_nd->m_p_prev_or_parent = NULL;
-
- base_type::m_p_root = p_nd;
- }
- else if (Cmp_Fn::operator()(base_type::m_p_root->m_value, p_nd->m_value))
- {
- p_nd->m_p_next_sibling = p_nd->m_p_prev_or_parent = NULL;
-
- base_type::make_child_of(base_type::m_p_root, p_nd);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd, false));
-
- base_type::m_p_root = p_nd;
- }
- else
- {
- base_type::make_child_of(p_nd, base_type::m_p_root);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(base_type::m_p_root, false));
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-modify(point_iterator it, const_reference r_new_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- remove_node(it.m_p_nd);
-
- it.m_p_nd->m_value = r_new_val;
-
- push_imp(it.m_p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
deleted file mode 100644
index 647547497964..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
+++ /dev/null
@@ -1,222 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file pairing_heap_.hpp
- * Contains an implementation class for a pairing heap.
- */
-
-/*
- * Pairing heap:
- * Michael L. Fredman, Robert Sedgewick, Daniel Dominic Sleator,
- * and Robert Endre Tarjan, The Pairing Heap:
- * A New Form of Self-Adjusting Heap, Algorithmica, 1(1):111-129, 1986.
- */
-
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Value_Type, class Cmp_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- pairing_heap_<Value_Type, Cmp_Fn, Allocator>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_BASE_C_DEC \
- left_child_next_sibling_heap_< \
- Value_Type, \
- Cmp_Fn, \
- null_left_child_next_sibling_heap_node_metadata, \
- Allocator, \
- false>
-#else
-#define PB_DS_BASE_C_DEC \
- left_child_next_sibling_heap_< \
- Value_Type, \
- Cmp_Fn, \
- null_left_child_next_sibling_heap_node_metadata, \
- Allocator>
-#endif
-
- /**
- * class description = "P4ri|\|g h3ap$">
- **/
- template<typename Value_Type, class Cmp_Fn, class Allocator>
- class pairing_heap_ : public PB_DS_BASE_C_DEC
- {
-
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- typedef typename base_type::node_pointer node_pointer;
-
- public:
-
- typedef typename Allocator::size_type size_type;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef Value_Type value_type;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::pointer
- pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_pointer
- const_pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::reference
- reference;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_reference
- const_reference;
-
- typedef
- typename PB_DS_BASE_C_DEC::const_point_iterator
- const_point_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::point_iterator point_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::const_iterator const_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::iterator iterator;
-
- typedef Cmp_Fn cmp_fn;
-
- typedef Allocator allocator;
-
-
- pairing_heap_();
-
- pairing_heap_(const Cmp_Fn& r_cmp_fn);
-
- pairing_heap_(const PB_DS_CLASS_C_DEC& other);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- ~pairing_heap_();
-
- inline point_iterator
- push(const_reference r_val);
-
- void
- modify(point_iterator it, const_reference r_new_val);
-
- inline const_reference
- top() const;
-
- void
- pop();
-
- void
- erase(point_iterator it);
-
- template<typename Pred>
- size_type
- erase_if(Pred pred);
-
- template<typename Pred>
- void
- split(Pred pred, PB_DS_CLASS_C_DEC& other);
-
- void
- join(PB_DS_CLASS_C_DEC& other);
-
- protected:
-
- template<typename It>
- void
- copy_from_range(It first_it, It last_it);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
- private:
-
- inline void
- push_imp(node_pointer p_nd);
-
- node_pointer
- join_node_children(node_pointer p_nd);
-
- node_pointer
- forward_join(node_pointer p_nd, node_pointer p_next);
-
- node_pointer
- back_join(node_pointer p_nd, node_pointer p_next);
-
- void
- remove_node(node_pointer p_nd);
-
- };
-
-#include <ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_BASE_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
deleted file mode 100644
index 29b802500acf..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,146 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation class for a pairing heap.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-void
-PB_DS_CLASS_C_DEC::
-split(Pred pred, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- other.clear();
-
- if (base_type::empty())
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- return;
- }
-
- base_type::to_linked_list();
-
- node_pointer p_out = base_type::prune(pred);
-
- while (p_out != NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_size > 0);
- --base_type::m_size;
-
- ++other.m_size;
-
- node_pointer p_next = p_out->m_p_next_sibling;
-
- p_out->m_p_l_child = p_out->m_p_next_sibling = p_out->m_p_prev_or_parent = NULL;
-
- other.push_imp(p_out);
-
- p_out = p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- node_pointer p_cur = base_type::m_p_root;
-
- base_type::m_p_root = NULL;
-
- while (p_cur != NULL)
- {
- node_pointer p_next = p_cur->m_p_next_sibling;
-
- p_cur->m_p_l_child = p_cur->m_p_next_sibling = p_cur->m_p_prev_or_parent = NULL;
-
- push_imp(p_cur);
-
- p_cur = p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- if (other.m_p_root == NULL)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- return;
- }
-
- if (base_type::m_p_root == NULL)
- base_type::m_p_root = other.m_p_root;
- else if (Cmp_Fn::operator()(base_type::m_p_root->m_value, other.m_p_root->m_value))
- {
- base_type::make_child_of(base_type::m_p_root, other.m_p_root);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(other.m_p_root, false));
-
- base_type::m_p_root = other.m_p_root;
- }
- else
- {
- base_type::make_child_of(other.m_p_root, base_type::m_p_root);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(base_type::m_p_root, false));
- }
-
- base_type::m_size += other.m_size;
-
- other.m_p_root = NULL;
- other.m_size = 0;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp
deleted file mode 100644
index 82c3fbd3aa67..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file child_iterator.hpp
- * Contains a iterator for a patricia tree.
- */
-
-struct iterator : public const_iterator
-{
-public:
- typedef std::forward_iterator_tag iterator_category;
- typedef typename Allocator::difference_type difference_type;
- typedef node_pointer value_type;
- typedef node_pointer_pointer pointer;
- typedef node_pointer_reference reference;
-
- inline
- iterator(node_pointer_pointer p_p_cur = NULL,
- node_pointer_pointer p_p_end = NULL)
- : const_iterator(p_p_cur, p_p_end)
- { }
-
- inline bool
- operator==(const iterator& other) const
- { return const_iterator::m_p_p_cur == other.m_p_p_cur; }
-
- inline bool
- operator!=(const iterator& other) const
- { return const_iterator::m_p_p_cur != other.m_p_p_cur; }
-
- inline iterator&
- operator++()
- {
- const_iterator::operator++();
- return *this;
- }
-
- inline iterator
- operator++(int)
- {
- iterator ret_it(*this);
- operator++();
- return ret_it;
- }
-
- node_pointer_pointer
- operator->()
- {
- _GLIBCXX_DEBUG_ONLY(const_iterator::assert_referencible();)
- return const_iterator::m_p_p_cur;
- }
-
- node_pointer
- operator*()
- {
- _GLIBCXX_DEBUG_ONLY(const_iterator::assert_referencible();)
- return *const_iterator::m_p_p_cur;
- }
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp
deleted file mode 100644
index 64c16b1d2aa2..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cond_dtor_entry_dealtor.hpp
- * Contains a binary tree container conditional deallocator
- */
-
-class cond_dealtor
-{
-public:
- inline
- cond_dealtor(leaf_pointer p_nd) : m_p_nd(p_nd),
- m_no_action_dtor(false),
- m_call_destructor(false)
- { }
-
- inline void
- set_no_action_dtor()
- {
- m_no_action_dtor = true;
- }
-
- inline void
- set_call_destructor()
- {
- m_call_destructor = true;
- }
-
- inline
- ~cond_dealtor()
- {
- if (m_no_action_dtor)
- return;
-
- if (m_call_destructor)
- m_p_nd->~leaf();
-
- s_leaf_allocator.deallocate(m_p_nd, 1);
- }
-
-protected:
- leaf_pointer m_p_nd;
- bool m_no_action_dtor;
- bool m_call_destructor;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp
deleted file mode 100644
index cd3837558962..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp
+++ /dev/null
@@ -1,117 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file const_child_iterator.hpp
- * Contains a const_iterator for a patricia tree.
- */
-
-struct const_iterator
-{
-public:
- typedef std::forward_iterator_tag iterator_category;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef node_pointer value_type;
-
- typedef node_pointer_pointer pointer;
-
- typedef node_pointer_reference reference;
-
-public:
- inline
- const_iterator(node_pointer_pointer p_p_cur = NULL,
- node_pointer_pointer p_p_end = NULL)
- : m_p_p_cur(p_p_cur), m_p_p_end(p_p_end)
- { }
-
- inline bool
- operator==(const const_iterator& other) const
- { return m_p_p_cur == other.m_p_p_cur; }
-
- inline bool
- operator!=(const const_iterator& other) const
- { return m_p_p_cur != other.m_p_p_cur; }
-
- inline const_iterator&
- operator++()
- {
- do
- ++m_p_p_cur;
- while (m_p_p_cur != m_p_p_end&& * m_p_p_cur == NULL);
- return *this;
- }
-
- inline const_iterator
- operator++(int)
- {
- const_iterator ret_it(*this);
- operator++();
- return ret_it;
- }
-
- const node_pointer_pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ONLY(assert_referencible();)
- return (m_p_p_cur);
- }
-
- const_node_pointer
- operator*() const
- {
- _GLIBCXX_DEBUG_ONLY(assert_referencible();)
- return (*m_p_p_cur);
- }
-
-protected:
-#ifdef _GLIBCXX_DEBUG
- void
- assert_referencible() const
- { _GLIBCXX_DEBUG_ASSERT(m_p_p_cur != m_p_p_end&& * m_p_p_cur != NULL); }
-#endif
-
-public:
- node_pointer_pointer m_p_p_cur;
- node_pointer_pointer m_p_p_end;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index a5a96a5a3893..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,220 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::head_allocator
-PB_DS_CLASS_C_DEC::s_head_allocator;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::internal_node_allocator
-PB_DS_CLASS_C_DEC::s_internal_node_allocator;
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::leaf_allocator
-PB_DS_CLASS_C_DEC::s_leaf_allocator;
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME() :
- m_p_head(s_head_allocator.allocate(1)),
- m_size(0)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const e_access_traits& r_e_access_traits) :
- synth_e_access_traits(r_e_access_traits),
- m_p_head(s_head_allocator.allocate(1)),
- m_size(0)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
-#ifdef _GLIBCXX_DEBUG
- map_debug_base(other),
-#endif
- synth_e_access_traits(other),
- node_update(other),
- m_p_head(s_head_allocator.allocate(1)),
- m_size(0)
-{
- initialize();
- m_size = other.m_size;
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- if (other.m_p_head->m_p_parent == NULL)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return;
- }
- try
- {
- m_p_head->m_p_parent = recursive_copy_node(other.m_p_head->m_p_parent);
- }
- catch(...)
- {
- s_head_allocator.deallocate(m_p_head, 1);
- __throw_exception_again;
- }
-
- m_p_head->m_p_min = leftmost_descendant(m_p_head->m_p_parent);
- m_p_head->m_p_max = rightmost_descendant(m_p_head->m_p_parent);
- m_p_head->m_p_parent->m_p_parent = m_p_head;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- value_swap(other);
- std::swap((e_access_traits& )(*this), (e_access_traits& )other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-value_swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(map_debug_base::swap(other);)
- std::swap(m_p_head, other.m_p_head);
- std::swap(m_size, other.m_size);
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~PB_DS_CLASS_NAME()
-{
- clear();
- s_head_allocator.deallocate(m_p_head, 1);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize()
-{
- new (m_p_head) head();
- m_p_head->m_p_parent = NULL;
- m_p_head->m_p_min = m_p_head;
- m_p_head->m_p_max = m_p_head;
- m_size = 0;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- insert(*(first_it++));
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-recursive_copy_node(const_node_pointer p_other_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(p_other_nd != NULL);
- if (p_other_nd->m_type == pat_trie_leaf_node_type)
- {
- const_leaf_pointer p_other_leaf = static_cast<const_leaf_pointer>(p_other_nd);
-
- leaf_pointer p_new_lf = s_leaf_allocator.allocate(1);
- cond_dealtor cond(p_new_lf);
- new (p_new_lf) leaf(p_other_leaf->value());
- apply_update(p_new_lf, (node_update* )this);
- cond.set_no_action_dtor();
- return (p_new_lf);
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_other_nd->m_type == pat_trie_internal_node_type);
- node_pointer a_p_children[internal_node::arr_size];
- size_type child_i = 0;
- const_internal_node_pointer p_other_internal_nd =
- static_cast<const_internal_node_pointer>(p_other_nd);
-
- typename internal_node::const_iterator child_it =
- p_other_internal_nd->begin();
-
- internal_node_pointer p_ret;
- try
- {
- while (child_it != p_other_internal_nd->end())
- a_p_children[child_i++] = recursive_copy_node(*(child_it++));
- p_ret = s_internal_node_allocator.allocate(1);
- }
- catch(...)
- {
- while (child_i-- > 0)
- clear_imp(a_p_children[child_i]);
- __throw_exception_again;
- }
-
- new (p_ret) internal_node(p_other_internal_nd->get_e_ind(),
- pref_begin(a_p_children[0]));
-
- --child_i;
- _GLIBCXX_DEBUG_ASSERT(child_i > 1);
- do
- p_ret->add_child(a_p_children[child_i], pref_begin(a_p_children[child_i]),
- pref_end(a_p_children[child_i]), this);
- while (child_i-- > 0);
- apply_update(p_ret, (node_update* )this);
- return p_ret;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
deleted file mode 100644
index a2253a6a5027..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,123 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for pat_trie_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- if (m_p_head->m_p_parent != NULL)
- m_p_head->m_p_parent->assert_valid(this);
- assert_iterators();
- assert_reverse_iterators();
- if (m_p_head->m_p_parent == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_min == m_p_head);
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_max == m_p_head);
- _GLIBCXX_DEBUG_ASSERT(empty());
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_min->m_type == pat_trie_leaf_node_type);
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_max->m_type == pat_trie_leaf_node_type);
- _GLIBCXX_DEBUG_ASSERT(!empty());
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_iterators() const
-{
- size_type calc_size = 0;
- for (const_iterator it = begin(); it != end(); ++it)
- {
- ++calc_size;
- map_debug_base::check_key_exists(PB_DS_V2F(*it));
- _GLIBCXX_DEBUG_ASSERT(lower_bound(PB_DS_V2F(*it)) == it);
- _GLIBCXX_DEBUG_ASSERT(--upper_bound(PB_DS_V2F(*it)) == it);
- }
- _GLIBCXX_DEBUG_ASSERT(calc_size == m_size);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_reverse_iterators() const
-{
- size_type calc_size = 0;
- for (const_reverse_iterator it = rbegin(); it != rend(); ++it)
- {
- ++calc_size;
- const_node_pointer p_nd =
- const_cast<PB_DS_CLASS_C_DEC* >(this)->find_imp(PB_DS_V2F(*it));
- _GLIBCXX_DEBUG_ASSERT(p_nd == it.m_p_nd);
- }
- _GLIBCXX_DEBUG_ASSERT(calc_size == m_size);
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-recursive_count_leafs(const_node_pointer p_nd)
-{
- if (p_nd == NULL)
- return (0);
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return (1);
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_internal_node_type);
- size_type ret = 0;
- for (typename internal_node::const_iterator it =
- static_cast<const_internal_node_pointer>(p_nd)->begin();
- it != static_cast<const_internal_node_pointer>(p_nd)->end();
- ++it)
- ret += recursive_count_leafs(*it);
- return ret;
-}
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
deleted file mode 100644
index 0fba3a4e2859..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,325 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase(const_key_reference r_key)
-{
- node_pointer p_nd = find_imp(r_key);
- if (p_nd == NULL || p_nd->m_type == pat_trie_internal_node_type)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key));
- return false;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_leaf_node_type);
- if (!synth_e_access_traits::equal_keys(PB_DS_V2F(reinterpret_cast<leaf_pointer>(p_nd)->value()), r_key))
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key));
- return false;
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- erase_leaf(static_cast<leaf_pointer>(p_nd));
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_fixup(internal_node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(std::distance(p_nd->begin(), p_nd->end()) >= 1);
- if (std::distance(p_nd->begin(), p_nd->end()) == 1)
- {
- node_pointer p_parent = p_nd->m_p_parent;
- if (p_parent == m_p_head)
- m_p_head->m_p_parent =* p_nd->begin();
- else
- {
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_type == pat_trie_internal_node_type);
- node_pointer p_new_child =* p_nd->begin();
- static_cast<internal_node_pointer>(p_parent)->replace_child(
- p_new_child,
- pref_begin(p_new_child),
- pref_end(p_new_child),
- this);
- }
- (*p_nd->begin())->m_p_parent = p_nd->m_p_parent;
- p_nd->~internal_node();
- s_internal_node_allocator.deallocate(p_nd, 1);
-
- if (p_parent == m_p_head)
- return;
-
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_type == pat_trie_internal_node_type);
- p_nd = static_cast<internal_node_pointer>(p_parent);
- }
-
- while (true)
- {
- _GLIBCXX_DEBUG_ASSERT(std::distance(p_nd->begin(), p_nd->end()) > 1);
- p_nd->update_prefixes(this);
- apply_update(p_nd, (node_update* )this);
- _GLIBCXX_DEBUG_ONLY(p_nd->assert_valid(this);)
- if (p_nd->m_p_parent->m_type == pat_trie_head_node_type)
- return;
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_parent->m_type ==
- pat_trie_internal_node_type);
-
- p_nd = static_cast<internal_node_pointer>(p_nd->m_p_parent);
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-actual_erase_leaf(leaf_pointer p_l)
-{
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- --m_size;
- _GLIBCXX_DEBUG_ONLY(erase_existing(PB_DS_V2F(p_l->value())));
- p_l->~leaf();
- s_leaf_allocator.deallocate(p_l, 1);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (empty())
- return;
-
- clear_imp(m_p_head->m_p_parent);
- m_size = 0;
- initialize();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::clear();)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear_imp(node_pointer p_nd)
-{
- if (p_nd->m_type == pat_trie_internal_node_type)
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_internal_node_type);
- for (typename internal_node::iterator it =
- static_cast<internal_node_pointer>(p_nd)->begin();
- it != static_cast<internal_node_pointer>(p_nd)->end();
- ++it)
- {
- node_pointer p_child =* it;
- clear_imp(p_child);
- }
- s_internal_node_allocator.deallocate(static_cast<internal_node_pointer>(p_nd), 1);
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_leaf_node_type);
- static_cast<leaf_pointer>(p_nd)->~leaf();
- s_leaf_allocator.deallocate(static_cast<leaf_pointer>(p_nd), 1);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-erase(const_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
-
- if (it == end())
- return it;
-
- const_iterator ret_it = it;
- ++ret_it;
- _GLIBCXX_DEBUG_ASSERT(it.m_p_nd->m_type == pat_trie_leaf_node_type);
- erase_leaf(static_cast<leaf_pointer>(it.m_p_nd));
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-erase(iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
-
- if (it == end())
- return it;
- iterator ret_it = it;
- ++ret_it;
- _GLIBCXX_DEBUG_ASSERT(it.m_p_nd->m_type == pat_trie_leaf_node_type);
- erase_leaf(static_cast<leaf_pointer>(it.m_p_nd));
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-#endif // #ifdef PB_DS_DATA_TRUE_INDICATOR
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reverse_iterator
-PB_DS_CLASS_C_DEC::
-erase(const_reverse_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
-
- if (it.m_p_nd == m_p_head)
- return it;
- const_reverse_iterator ret_it = it;
- ++ret_it;
-
- _GLIBCXX_DEBUG_ASSERT(it.m_p_nd->m_type == pat_trie_leaf_node_type);
- erase_leaf(static_cast<leaf_pointer>(it.m_p_nd));
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::reverse_iterator
-PB_DS_CLASS_C_DEC::
-erase(reverse_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
-
- if (it.m_p_nd == m_p_head)
- return it;
- reverse_iterator ret_it = it;
- ++ret_it;
-
- _GLIBCXX_DEBUG_ASSERT(it.m_p_nd->m_type == pat_trie_leaf_node_type);
- erase_leaf(static_cast<leaf_pointer>(it.m_p_nd));
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-#endif // #ifdef PB_DS_DATA_TRUE_INDICATOR
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- size_type num_ersd = 0;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- iterator it = begin();
- while (it != end())
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- if (pred(*it))
- {
- ++num_ersd;
- it = erase(it);
- }
- else
- ++it;
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return num_ersd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_leaf(leaf_pointer p_l)
-{
- update_min_max_for_erased_leaf(p_l);
- if (p_l->m_p_parent->m_type == pat_trie_head_node_type)
- {
- _GLIBCXX_DEBUG_ASSERT(size() == 1);
- clear();
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(size() > 1);
- _GLIBCXX_DEBUG_ASSERT(p_l->m_p_parent->m_type ==
- pat_trie_internal_node_type);
-
- internal_node_pointer p_parent =
- static_cast<internal_node_pointer>(p_l->m_p_parent);
-
- p_parent->remove_child(p_l);
- erase_fixup(p_parent);
- actual_erase_leaf(p_l);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-update_min_max_for_erased_leaf(leaf_pointer p_l)
-{
- if (m_size == 1)
- {
- m_p_head->m_p_min = m_p_head;
- m_p_head->m_p_max = m_p_head;
- return;
- }
-
- if (p_l == static_cast<const_leaf_pointer>(m_p_head->m_p_min))
- {
- iterator it(p_l);
- ++it;
- m_p_head->m_p_min = it.m_p_nd;
- return;
- }
-
- if (p_l == static_cast<const_leaf_pointer>(m_p_head->m_p_max))
- {
- iterator it(p_l);
- --it;
- m_p_head->m_p_max = it.m_p_nd;
- }
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
deleted file mode 100644
index d9b3c4a94187..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
+++ /dev/null
@@ -1,275 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- node_pointer p_nd = find_imp(r_key);
-
- if (p_nd == NULL || p_nd->m_type != pat_trie_leaf_node_type)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return end();
- }
-
- if (synth_e_access_traits::equal_keys(PB_DS_V2F(static_cast<leaf_pointer>(p_nd)->value()), r_key))
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- return iterator(p_nd);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return end();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key) const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- const_node_pointer p_nd = const_cast<PB_DS_CLASS_C_DEC* >(this)->find_imp(r_key);
-
- if (p_nd == NULL || p_nd->m_type != pat_trie_leaf_node_type)
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return end();
- }
-
- if (synth_e_access_traits::equal_keys(PB_DS_V2F(static_cast<const_leaf_pointer>(p_nd)->value()), r_key))
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(r_key));
- return const_iterator(const_cast<node_pointer>(p_nd));
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(r_key);)
- return end();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-find_imp(const_key_reference r_key)
-{
- if (empty())
- return (NULL);
-
- typename synth_e_access_traits::const_iterator b_it =
- synth_e_access_traits::begin(r_key);
- typename synth_e_access_traits::const_iterator e_it =
- synth_e_access_traits::end(r_key);
-
- node_pointer p_nd = m_p_head->m_p_parent;
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
-
- while (p_nd->m_type != pat_trie_leaf_node_type)
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_internal_node_type);
- node_pointer p_next_nd = static_cast<internal_node_pointer>(p_nd)->get_child_node(b_it, e_it, this);
-
- if (p_next_nd == NULL)
- return p_nd;
- p_nd = p_next_nd;
- }
- return p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-lower_bound_imp(const_key_reference r_key)
-{
- if (empty())
- return (m_p_head);
-
- node_pointer p_nd = m_p_head->m_p_parent;
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
-
- typename PB_DS_CLASS_C_DEC::const_e_iterator b_it =
- synth_e_access_traits::begin(r_key);
-
- typename PB_DS_CLASS_C_DEC::const_e_iterator e_it =
- synth_e_access_traits::end(r_key);
-
- size_type checked_ind = 0;
- while (true)
- {
- if (p_nd->m_type == pat_trie_leaf_node_type)
- {
- if (!synth_e_access_traits::cmp_keys(PB_DS_V2F(static_cast<const_leaf_pointer>(p_nd)->value()), r_key))
- return p_nd;
- iterator it(p_nd);
- ++it;
- return it.m_p_nd;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_internal_node_type);
- const size_type new_checked_ind =
- static_cast<internal_node_pointer>(p_nd)->get_e_ind();
-
- p_nd =
- static_cast<internal_node_pointer>(p_nd)->get_lower_bound_child_node( b_it, e_it, checked_ind, this);
- checked_ind = new_checked_ind;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-lower_bound(const_key_reference r_key)
-{ return point_iterator(lower_bound_imp(r_key)); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-lower_bound(const_key_reference r_key) const
-{
- return const_point_iterator(const_cast<PB_DS_CLASS_C_DEC* >(this)->lower_bound_imp(r_key));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-upper_bound(const_key_reference r_key)
-{
- point_iterator l_bound_it = lower_bound(r_key);
-
- _GLIBCXX_DEBUG_ASSERT(l_bound_it == end() ||
- !synth_e_access_traits::cmp_keys(PB_DS_V2F(*l_bound_it),
- r_key));
-
- if (l_bound_it == end() ||
- synth_e_access_traits::cmp_keys(r_key, PB_DS_V2F(*l_bound_it)))
- return l_bound_it;
-
- return ++l_bound_it;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-upper_bound(const_key_reference r_key) const
-{
- const_point_iterator l_bound_it = lower_bound(r_key);
-
- _GLIBCXX_DEBUG_ASSERT(l_bound_it == end() ||
- !synth_e_access_traits::cmp_keys(PB_DS_V2F(*l_bound_it),
- r_key));
-
- if (l_bound_it == end() ||
- synth_e_access_traits::cmp_keys(r_key, PB_DS_V2F(*l_bound_it)))
- return l_bound_it;
- return ++l_bound_it;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_e_iterator
-PB_DS_CLASS_C_DEC::
-pref_begin(const_node_pointer p_nd)
-{
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return (synth_e_access_traits::begin(PB_DS_V2F(static_cast<const_leaf_pointer>(p_nd)->value())));
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_internal_node_type);
- return static_cast<const_internal_node_pointer>(p_nd)->pref_b_it();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_e_iterator
-PB_DS_CLASS_C_DEC::
-pref_end(const_node_pointer p_nd)
-{
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return (synth_e_access_traits::end(PB_DS_V2F(static_cast<const_leaf_pointer>(p_nd)->value())));
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_internal_node_type);
- return static_cast<const_internal_node_pointer>(p_nd)->pref_e_it();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_leaf_pointer
-PB_DS_CLASS_C_DEC::
-leftmost_descendant(const_node_pointer p_nd)
-{
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return static_cast<const_leaf_pointer>(p_nd);
- return static_cast<const_internal_node_pointer>(p_nd)->leftmost_descendant();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::leaf_pointer
-PB_DS_CLASS_C_DEC::
-leftmost_descendant(node_pointer p_nd)
-{
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return static_cast<leaf_pointer>(p_nd);
- return static_cast<internal_node_pointer>(p_nd)->leftmost_descendant();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_leaf_pointer
-PB_DS_CLASS_C_DEC::
-rightmost_descendant(const_node_pointer p_nd)
-{
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return static_cast<const_leaf_pointer>(p_nd);
- return static_cast<const_internal_node_pointer>(p_nd)->rightmost_descendant();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::leaf_pointer
-PB_DS_CLASS_C_DEC::
-rightmost_descendant(node_pointer p_nd)
-{
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return static_cast<leaf_pointer>(p_nd);
- return static_cast<internal_node_pointer>(p_nd)->rightmost_descendant();
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/head.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/head.hpp
deleted file mode 100644
index e8bee5273508..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/head.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file head.hpp
- * Contains a leaf for a patricia tree.
- */
-
-#ifndef PB_DS_PAT_TRIE_IHEAD_HPP
-#define PB_DS_PAT_TRIE_IHEAD_HPP
-
-#include <ext/pb_ds/detail/pat_trie_/node_base.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Type_Traits, typename E_Access_Traits, \
- typename Metadata, typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- pat_trie_head<Type_Traits, E_Access_Traits, Metadata, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- pat_trie_node_base<Type_Traits, E_Access_Traits, Metadata, Allocator>
-
- template<typename Type_Traits,
- typename E_Access_Traits,
- typename Metadata,
- typename Allocator>
- struct pat_trie_head : public PB_DS_BASE_C_DEC
- {
- private:
- typedef E_Access_Traits e_access_traits;
-
- typedef
- typename Allocator::template rebind<
- e_access_traits>::other::const_pointer
- const_e_access_traits_pointer;
-
- typedef
- typename Allocator::template rebind<
- PB_DS_BASE_C_DEC>::other::pointer
- node_pointer;
-
-#ifdef _GLIBCXX_DEBUG
- typedef
- typename PB_DS_BASE_C_DEC::subtree_debug_info
- subtree_debug_info;
-#endif
-
- public:
- pat_trie_head();
-
-#ifdef _GLIBCXX_DEBUG
- virtual subtree_debug_info
- assert_valid_imp(const_e_access_traits_pointer p_traits) const;
-#endif
-
- public:
- node_pointer m_p_min;
-
- node_pointer m_p_max;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- pat_trie_head() : PB_DS_BASE_C_DEC(pat_trie_head_node_type)
- { }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::subtree_debug_info
- PB_DS_CLASS_C_DEC::
- assert_valid_imp(const_e_access_traits_pointer /*p_traits*/) const
- {
- _GLIBCXX_DEBUG_ASSERT(false);
- return subtree_debug_info();
- }
-#endif
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_BASE_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
deleted file mode 100644
index 7e20cd184f40..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-empty() const
-{ return (m_size == 0); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-size() const
-{ return m_size; }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-max_size() const
-{ return s_internal_node_allocator.max_size(); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
deleted file mode 100644
index 4916ae34ff68..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
+++ /dev/null
@@ -1,471 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_join_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
- split_join_branch_bag bag;
- if (!join_prep(other, bag))
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
- return;
- }
-
- m_p_head->m_p_parent = rec_join(m_p_head->m_p_parent,
- other.m_p_head->m_p_parent, 0, bag);
-
- m_p_head->m_p_parent->m_p_parent = m_p_head;
- m_size += other.m_size;
- other.initialize();
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
- m_p_head->m_p_min = leftmost_descendant(m_p_head->m_p_parent);
- m_p_head->m_p_max = rightmost_descendant(m_p_head->m_p_parent);
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
-}
-
-PB_DS_CLASS_T_DEC
-bool
-PB_DS_CLASS_C_DEC::
-join_prep(PB_DS_CLASS_C_DEC& other, split_join_branch_bag& r_bag)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- if (other.m_size == 0)
- return false;
-
- if (m_size == 0)
- {
- value_swap(other);
- return false;
- }
-
- const bool greater = synth_e_access_traits::cmp_keys(PB_DS_V2F(static_cast<const_leaf_pointer>(
- m_p_head->m_p_max)->value()),PB_DS_V2F(static_cast<const_leaf_pointer>(
- other.m_p_head->m_p_min)->value()));
-
- const bool lesser = synth_e_access_traits::cmp_keys(PB_DS_V2F(static_cast<const_leaf_pointer>(
- other.m_p_head->m_p_max)->value()),PB_DS_V2F(static_cast<const_leaf_pointer>(m_p_head->m_p_min)->value()));
-
- if (!greater && !lesser)
- __throw_join_error();
-
- rec_join_prep(m_p_head->m_p_parent, other.m_p_head->m_p_parent, r_bag);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::join(other);)
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-rec_join_prep(const_node_pointer p_l, const_node_pointer p_r, split_join_branch_bag& r_bag)
-{
- if (p_l->m_type == pat_trie_leaf_node_type)
- {
- if (p_r->m_type == pat_trie_leaf_node_type)
- {
- rec_join_prep(static_cast<const_leaf_pointer>(p_l),
- static_cast<const_leaf_pointer>(p_r), r_bag);
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_r->m_type == pat_trie_internal_node_type);
- rec_join_prep(static_cast<const_leaf_pointer>(p_l),
- static_cast<const_internal_node_pointer>(p_r), r_bag);
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_l->m_type == pat_trie_internal_node_type);
- if (p_r->m_type == pat_trie_leaf_node_type)
- {
- rec_join_prep(static_cast<const_internal_node_pointer>(p_l),
- static_cast<const_leaf_pointer>(p_r), r_bag);
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_r->m_type == pat_trie_internal_node_type);
-
- rec_join_prep(static_cast<const_internal_node_pointer>(p_l),
- static_cast<const_internal_node_pointer>(p_r), r_bag);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-rec_join_prep(const_leaf_pointer /*p_l*/, const_leaf_pointer /*p_r*/,
- split_join_branch_bag& r_bag)
-{ r_bag.add_branch(); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-rec_join_prep(const_leaf_pointer /*p_l*/, const_internal_node_pointer /*p_r*/,
- split_join_branch_bag& r_bag)
-{ r_bag.add_branch(); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-rec_join_prep(const_internal_node_pointer /*p_l*/, const_leaf_pointer /*p_r*/,
- split_join_branch_bag& r_bag)
-{ r_bag.add_branch(); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-rec_join_prep(const_internal_node_pointer p_l, const_internal_node_pointer p_r,
- split_join_branch_bag& r_bag)
-{
- if (p_l->get_e_ind() == p_r->get_e_ind() &&
- synth_e_access_traits::equal_prefixes(p_l->pref_b_it(), p_l->pref_e_it(),
- p_r->pref_b_it(), p_r->pref_e_it()))
- {
- for (typename internal_node::const_iterator it = p_r->begin();
- it != p_r->end(); ++ it)
- {
- const_node_pointer p_l_join_child = p_l->get_join_child(*it, this);
- if (p_l_join_child != NULL)
- rec_join_prep(p_l_join_child, * it, r_bag);
- }
- return;
- }
-
- if (p_r->get_e_ind() < p_l->get_e_ind() &&
- p_r->should_be_mine(p_l->pref_b_it(), p_l->pref_e_it(), 0, this))
- {
- const_node_pointer p_r_join_child = p_r->get_join_child(p_l, this);
- if (p_r_join_child != NULL)
- rec_join_prep(p_r_join_child, p_l, r_bag);
- return;
- }
-
- if (p_r->get_e_ind() < p_l->get_e_ind() &&
- p_r->should_be_mine(p_l->pref_b_it(), p_l->pref_e_it(), 0, this))
- {
- const_node_pointer p_r_join_child = p_r->get_join_child(p_l, this);
- if (p_r_join_child != NULL)
- rec_join_prep(p_r_join_child, p_l, r_bag);
- return;
- }
- r_bag.add_branch();
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-rec_join(node_pointer p_l, node_pointer p_r, size_type checked_ind, split_join_branch_bag& r_bag)
-{
- _GLIBCXX_DEBUG_ASSERT(p_r != NULL);
- if (p_l == NULL)
- {
- apply_update(p_r, (node_update* )this);
- return (p_r);
- }
-
- if (p_l->m_type == pat_trie_leaf_node_type)
- {
- if (p_r->m_type == pat_trie_leaf_node_type)
- {
- node_pointer p_ret = rec_join(static_cast<leaf_pointer>(p_l),
- static_cast<leaf_pointer>(p_r), r_bag);
- apply_update(p_ret, (node_update* )this);
- return p_ret;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_r->m_type == pat_trie_internal_node_type);
- node_pointer p_ret = rec_join(static_cast<leaf_pointer>(p_l),
- static_cast<internal_node_pointer>(p_r),
- checked_ind, r_bag);
- apply_update(p_ret, (node_update* )this);
- return p_ret;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_l->m_type == pat_trie_internal_node_type);
- if (p_r->m_type == pat_trie_leaf_node_type)
- {
- node_pointer p_ret = rec_join(static_cast<internal_node_pointer>(p_l),
- static_cast<leaf_pointer>(p_r),
- checked_ind, r_bag);
- apply_update(p_ret, (node_update* )this);
- return p_ret;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_r->m_type == pat_trie_internal_node_type);
- node_pointer p_ret = rec_join(static_cast<internal_node_pointer>(p_l),
- static_cast<internal_node_pointer>(p_r),
- r_bag);
-
- apply_update(p_ret, (node_update* )this);
- return p_ret;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-rec_join(leaf_pointer p_l, leaf_pointer p_r, split_join_branch_bag& r_bag)
-{
- _GLIBCXX_DEBUG_ASSERT(p_r != NULL);
- if (p_l == NULL)
- return (p_r);
- node_pointer p_ret = insert_branch(p_l, p_r, r_bag);
- _GLIBCXX_DEBUG_ASSERT(recursive_count_leafs(p_ret) == 2);
- return p_ret;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-rec_join(leaf_pointer p_l, internal_node_pointer p_r, size_type checked_ind,
- split_join_branch_bag& r_bag)
-{
-#ifdef _GLIBCXX_DEBUG
- const size_type lhs_leafs = recursive_count_leafs(p_l);
- const size_type rhs_leafs = recursive_count_leafs(p_r);
-#endif
-
- _GLIBCXX_DEBUG_ASSERT(p_r != NULL);
- node_pointer p_ret = rec_join(p_r, p_l, checked_ind, r_bag);
- _GLIBCXX_DEBUG_ASSERT(recursive_count_leafs(p_ret) == lhs_leafs + rhs_leafs);
- return p_ret;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-rec_join(internal_node_pointer p_l, leaf_pointer p_r, size_type checked_ind, split_join_branch_bag& r_bag)
-{
- _GLIBCXX_DEBUG_ASSERT(p_l != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_r != NULL);
-
-#ifdef _GLIBCXX_DEBUG
- const size_type lhs_leafs = recursive_count_leafs(p_l);
- const size_type rhs_leafs = recursive_count_leafs(p_r);
-#endif
-
- if (!p_l->should_be_mine(pref_begin(p_r), pref_end(p_r), checked_ind, this))
- {
- node_pointer p_ret = insert_branch(p_l, p_r, r_bag);
- _GLIBCXX_DEBUG_ONLY(p_ret->assert_valid(this);)
- _GLIBCXX_DEBUG_ASSERT(recursive_count_leafs(p_ret) ==
- lhs_leafs + rhs_leafs);
- return p_ret;
- }
-
- node_pointer p_pot_child = p_l->add_child(p_r, pref_begin(p_r),
- pref_end(p_r), this);
- if (p_pot_child != p_r)
- {
- node_pointer p_new_child = rec_join(p_pot_child, p_r, p_l->get_e_ind(),
- r_bag);
-
- p_l->replace_child(p_new_child, pref_begin(p_new_child),
- pref_end(p_new_child), this);
- }
-
- _GLIBCXX_DEBUG_ONLY(p_l->assert_valid(this));
- _GLIBCXX_DEBUG_ASSERT(recursive_count_leafs(p_l) == lhs_leafs + rhs_leafs);
- return p_l;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-rec_join(internal_node_pointer p_l, internal_node_pointer p_r, split_join_branch_bag& r_bag)
-{
- _GLIBCXX_DEBUG_ASSERT(p_l != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_r != NULL);
-
-#ifdef _GLIBCXX_DEBUG
- const size_type lhs_leafs = recursive_count_leafs(p_l);
- const size_type rhs_leafs = recursive_count_leafs(p_r);
-#endif
-
- if (p_l->get_e_ind() == p_r->get_e_ind() &&
- synth_e_access_traits::equal_prefixes(p_l->pref_b_it(), p_l->pref_e_it(),
- p_r->pref_b_it(), p_r->pref_e_it()))
- {
- for (typename internal_node::iterator it = p_r->begin();
- it != p_r->end(); ++ it)
- {
- node_pointer p_new_child = rec_join(p_l->get_join_child(*it, this),
- * it, 0, r_bag);
- p_l->replace_child(p_new_child, pref_begin(p_new_child),
- pref_end(p_new_child), this);
- }
-
- p_r->~internal_node();
- s_internal_node_allocator.deallocate(p_r, 1);
- _GLIBCXX_DEBUG_ONLY(p_l->assert_valid(this);)
- _GLIBCXX_DEBUG_ASSERT(recursive_count_leafs(p_l) == lhs_leafs + rhs_leafs);
- return p_l;
- }
-
- if (p_l->get_e_ind() < p_r->get_e_ind() &&
- p_l->should_be_mine(p_r->pref_b_it(), p_r->pref_e_it(), 0, this))
- {
- node_pointer p_new_child = rec_join(p_l->get_join_child(p_r, this),
- p_r, 0, r_bag);
- p_l->replace_child(p_new_child, pref_begin(p_new_child),
- pref_end(p_new_child), this);
- _GLIBCXX_DEBUG_ONLY(p_l->assert_valid(this);)
- return p_l;
- }
-
- if (p_r->get_e_ind() < p_l->get_e_ind() &&
- p_r->should_be_mine(p_l->pref_b_it(), p_l->pref_e_it(), 0, this))
- {
- node_pointer p_new_child = rec_join(p_r->get_join_child(p_l, this), p_l,
- 0, r_bag);
-
- p_r->replace_child(p_new_child, pref_begin(p_new_child),
- pref_end(p_new_child), this);
-
- _GLIBCXX_DEBUG_ONLY(p_r->assert_valid(this);)
- _GLIBCXX_DEBUG_ASSERT(recursive_count_leafs(p_r) == lhs_leafs + rhs_leafs);
- return p_r;
- }
-
- node_pointer p_ret = insert_branch(p_l, p_r, r_bag);
- _GLIBCXX_DEBUG_ONLY(p_ret->assert_valid(this);)
- _GLIBCXX_DEBUG_ASSERT(recursive_count_leafs(p_ret) == lhs_leafs + rhs_leafs);
- return p_ret;
-}
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert(const_reference r_val)
-{
- node_pointer p_lf = find_imp(PB_DS_V2F(r_val));
- if (p_lf != NULL && p_lf->m_type == pat_trie_leaf_node_type &&
- synth_e_access_traits::equal_keys(PB_DS_V2F(static_cast<leaf_pointer>(p_lf)->value()), PB_DS_V2F(r_val)))
- {
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_exists(PB_DS_V2F(r_val)));
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return std::make_pair(iterator(p_lf), false);
- }
-
- _GLIBCXX_DEBUG_ONLY(map_debug_base::check_key_does_not_exist(PB_DS_V2F(r_val)));
-
- leaf_pointer p_new_lf = s_leaf_allocator.allocate(1);
- cond_dealtor cond(p_new_lf);
-
- new (p_new_lf) leaf(r_val);
- apply_update(p_new_lf, (node_update* )this);
- cond.set_call_destructor();
- split_join_branch_bag bag;
- bag.add_branch();
- m_p_head->m_p_parent = rec_join(m_p_head->m_p_parent, p_new_lf, 0, bag);
- m_p_head->m_p_parent->m_p_parent = m_p_head;
- cond.set_no_action_dtor();
- ++m_size;
- update_min_max_for_inserted_leaf(p_new_lf);
- _GLIBCXX_DEBUG_ONLY(map_debug_base::insert_new(PB_DS_V2F(r_val));)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return std::make_pair(point_iterator(p_new_lf), true);
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-keys_diff_ind(typename e_access_traits::const_iterator b_l, typename e_access_traits::const_iterator e_l, typename e_access_traits::const_iterator b_r, typename e_access_traits::const_iterator e_r)
-{
- size_type diff_pos = 0;
- while (b_l != e_l)
- {
- if (b_r == e_r)
- return (diff_pos);
- if (e_access_traits::e_pos(*b_l) != e_access_traits::e_pos(*b_r))
- return (diff_pos);
- ++b_l;
- ++b_r;
- ++diff_pos;
- }
- _GLIBCXX_DEBUG_ASSERT(b_r != e_r);
- return diff_pos;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::internal_node_pointer
-PB_DS_CLASS_C_DEC::
-insert_branch(node_pointer p_l, node_pointer p_r, split_join_branch_bag& r_bag)
-{
- typename synth_e_access_traits::const_iterator left_b_it = pref_begin(p_l);
- typename synth_e_access_traits::const_iterator left_e_it = pref_end(p_l);
- typename synth_e_access_traits::const_iterator right_b_it = pref_begin(p_r);
- typename synth_e_access_traits::const_iterator right_e_it = pref_end(p_r);
-
- const size_type diff_ind = keys_diff_ind(left_b_it, left_e_it,
- right_b_it, right_e_it);
-
- internal_node_pointer p_new_nd = r_bag.get_branch();
- new (p_new_nd) internal_node(diff_ind, left_b_it);
- p_new_nd->add_child(p_l, left_b_it, left_e_it, this);
- p_new_nd->add_child(p_r, right_b_it, right_e_it, this);
- p_l->m_p_parent = p_new_nd;
- p_r->m_p_parent = p_new_nd;
- _GLIBCXX_DEBUG_ONLY(p_new_nd->assert_valid(this);)
- return (p_new_nd);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-update_min_max_for_inserted_leaf(leaf_pointer p_new_lf)
-{
- if (m_p_head->m_p_min == m_p_head ||
- synth_e_access_traits::cmp_keys(PB_DS_V2F(p_new_lf->value()),
- PB_DS_V2F(static_cast<const_leaf_pointer>(m_p_head->m_p_min)->value())))
- m_p_head->m_p_min = p_new_lf;
-
- if (m_p_head->m_p_max == m_p_head ||
- synth_e_access_traits::cmp_keys(PB_DS_V2F(static_cast<const_leaf_pointer>(m_p_head->m_p_max)->value()), PB_DS_V2F(p_new_lf->value())))
- m_p_head->m_p_max = p_new_lf;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp
deleted file mode 100644
index 1061988c327e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/internal_node.hpp
+++ /dev/null
@@ -1,609 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file internal_node.hpp
- * Contains an internal PB_DS_BASE_C_DEC for a patricia tree.
- */
-
-#ifndef PB_DS_PAT_TRIE_INTERNAL_NODE_HPP
-#define PB_DS_PAT_TRIE_INTERNAL_NODE_HPP
-
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Type_Traits, typename E_Access_Traits, \
- typename Metadata, typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- pat_trie_internal_node<Type_Traits, E_Access_Traits, Metadata, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- pat_trie_node_base<Type_Traits, E_Access_Traits, Metadata, Allocator>
-
-#define PB_DS_LEAF_C_DEC \
- pat_trie_leaf<Type_Traits, E_Access_Traits, Metadata, Allocator>
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> UNIQUE##static_assert_type
-
- template<typename Type_Traits,
- typename E_Access_Traits,
- typename Metadata,
- typename Allocator>
- struct pat_trie_internal_node : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
- typedef Type_Traits type_traits;
- typedef typename type_traits::value_type value_type;
- typedef typename Allocator::size_type size_type;
-
- typedef E_Access_Traits e_access_traits;
- typedef typename e_access_traits::const_iterator const_e_iterator;
- typedef typename Allocator::template rebind<e_access_traits>::other access_rebind;
- typedef typename access_rebind::const_pointer const_e_access_traits_pointer;
-
- typedef typename Allocator::template rebind<base_type>::other base_rebind;
- typedef typename base_rebind::pointer node_pointer;
- typedef typename base_rebind::const_pointer const_node_pointer;
-
- typedef PB_DS_LEAF_C_DEC leaf;
- typedef typename Allocator::template rebind<leaf>::other leaf_rebind;
- typedef typename leaf_rebind::pointer leaf_pointer;
- typedef typename leaf_rebind::const_pointer const_leaf_pointer;
-
- typedef typename Allocator::template rebind<pat_trie_internal_node>::other internal_node_rebind;
- typedef typename internal_node_rebind::pointer internal_node_pointer;
- typedef typename internal_node_rebind::const_pointer const_internal_node_pointer;
-
-#ifdef _GLIBCXX_DEBUG
- typedef typename base_type::subtree_debug_info subtree_debug_info;
-
- virtual subtree_debug_info
- assert_valid_imp(const_e_access_traits_pointer) const;
-#endif
-
- inline size_type
- get_pref_pos(const_e_iterator, const_e_iterator,
- const_e_access_traits_pointer) const;
-
- public:
- typedef typename Allocator::template rebind<node_pointer>::other node_pointer_rebind;
- typedef typename node_pointer_rebind::pointer node_pointer_pointer;
- typedef typename node_pointer_rebind::reference node_pointer_reference;
-
- enum
- {
- arr_size = E_Access_Traits::max_size + 1
- };
- PB_DS_STATIC_ASSERT(min_arr_size, arr_size >= 2);
-
-#include <ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp>
-#include <ext/pb_ds/detail/pat_trie_/child_iterator.hpp>
-
- pat_trie_internal_node(size_type, const const_e_iterator);
-
- void
- update_prefixes(const_e_access_traits_pointer);
-
- const_iterator
- begin() const;
-
- iterator
- begin();
-
- const_iterator
- end() const;
-
- iterator
- end();
-
- inline node_pointer
- get_child_node(const_e_iterator, const_e_iterator,
- const_e_access_traits_pointer);
-
- inline const_node_pointer
- get_child_node(const_e_iterator, const_e_iterator,
- const_e_access_traits_pointer) const;
-
- inline iterator
- get_child_it(const_e_iterator, const_e_iterator,
- const_e_access_traits_pointer);
-
- inline node_pointer
- get_lower_bound_child_node(const_e_iterator, const_e_iterator,
- size_type, const_e_access_traits_pointer);
-
- inline node_pointer
- add_child(node_pointer, const_e_iterator, const_e_iterator,
- const_e_access_traits_pointer);
-
- inline const_node_pointer
- get_join_child(const_node_pointer, const_e_access_traits_pointer) const;
-
- inline node_pointer
- get_join_child(node_pointer, const_e_access_traits_pointer);
-
- void
- remove_child(node_pointer p_nd);
-
- iterator
- remove_child(iterator it);
-
- void
- replace_child(node_pointer, const_e_iterator, const_e_iterator,
- const_e_access_traits_pointer);
-
- inline const_e_iterator
- pref_b_it() const;
-
- inline const_e_iterator
- pref_e_it() const;
-
- inline size_type
- get_e_ind() const;
-
- bool
- should_be_mine(const_e_iterator, const_e_iterator, size_type,
- const_e_access_traits_pointer) const;
-
- leaf_pointer
- leftmost_descendant();
-
- const_leaf_pointer
- leftmost_descendant() const;
-
- leaf_pointer
- rightmost_descendant();
-
- const_leaf_pointer
- rightmost_descendant() const;
-
-#ifdef _GLIBCXX_DEBUG
- size_type
- e_ind() const;
-#endif
-
- private:
- pat_trie_internal_node(const pat_trie_internal_node&);
-
- size_type
- get_begin_pos() const;
-
- const size_type m_e_ind;
- const_e_iterator m_pref_b_it;
- const_e_iterator m_pref_e_it;
- node_pointer m_a_p_children[arr_size];
- static leaf_rebind s_leaf_alloc;
- static internal_node_rebind s_internal_node_alloc;
- };
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::leaf_rebind
- PB_DS_CLASS_C_DEC::s_leaf_alloc;
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::internal_node_rebind
- PB_DS_CLASS_C_DEC::s_internal_node_alloc;
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- get_pref_pos(const_e_iterator b_it, const_e_iterator e_it,
- const_e_access_traits_pointer p_traits) const
- {
- if (static_cast<size_t>(std::distance(b_it, e_it)) <= m_e_ind)
- return 0;
- std::advance(b_it, m_e_ind);
- return 1 + p_traits->e_pos(*b_it);
- }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- pat_trie_internal_node(size_type len, const const_e_iterator it) :
- PB_DS_BASE_C_DEC(pat_trie_internal_node_type),
- m_e_ind(len), m_pref_b_it(it), m_pref_e_it(it)
- {
- std::advance(m_pref_e_it, m_e_ind);
- std::fill(m_a_p_children, m_a_p_children + arr_size,
- static_cast<node_pointer>(NULL));
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- update_prefixes(const_e_access_traits_pointer p_traits)
- {
- node_pointer p_first = *begin();
- if (p_first->m_type == pat_trie_leaf_node_type)
- {
- const_leaf_pointer p = static_cast<const_leaf_pointer>(p_first);
- m_pref_b_it = p_traits->begin(e_access_traits::extract_key(p->value()));
- }
- else
- {
- _GLIBCXX_DEBUG_ASSERT(p_first->m_type == pat_trie_internal_node_type);
- m_pref_b_it = static_cast<internal_node_pointer>(p_first)->pref_b_it();
- }
- m_pref_e_it = m_pref_b_it;
- std::advance(m_pref_e_it, m_e_ind);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::const_iterator
- PB_DS_CLASS_C_DEC::
- begin() const
- {
- typedef node_pointer_pointer pointer_type;
- pointer_type p = const_cast<pointer_type>(m_a_p_children);
- return const_iterator(p + get_begin_pos(), p + arr_size);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::iterator
- PB_DS_CLASS_C_DEC::
- begin()
- {
- return iterator(m_a_p_children + get_begin_pos(),
- m_a_p_children + arr_size);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::const_iterator
- PB_DS_CLASS_C_DEC::
- end() const
- {
- typedef node_pointer_pointer pointer_type;
- pointer_type p = const_cast<pointer_type>(m_a_p_children) + arr_size;
- return const_iterator(p, p);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::iterator
- PB_DS_CLASS_C_DEC::
- end()
- { return iterator(m_a_p_children + arr_size, m_a_p_children + arr_size); }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::node_pointer
- PB_DS_CLASS_C_DEC::
- get_child_node(const_e_iterator b_it, const_e_iterator e_it,
- const_e_access_traits_pointer p_traits)
- {
- const size_type i = get_pref_pos(b_it, e_it, p_traits);
- _GLIBCXX_DEBUG_ASSERT(i < arr_size);
- return m_a_p_children[i];
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::iterator
- PB_DS_CLASS_C_DEC::
- get_child_it(const_e_iterator b_it, const_e_iterator e_it,
- const_e_access_traits_pointer p_traits)
- {
- const size_type i = get_pref_pos(b_it, e_it, p_traits);
- _GLIBCXX_DEBUG_ASSERT(i < arr_size);
- _GLIBCXX_DEBUG_ASSERT(m_a_p_children[i] != NULL);
- return iterator(m_a_p_children + i, m_a_p_children + i);
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::const_node_pointer
- PB_DS_CLASS_C_DEC::
- get_child_node(const_e_iterator b_it, const_e_iterator e_it,
- const_e_access_traits_pointer p_traits) const
- { return const_cast<node_pointer>(get_child_node(b_it, e_it, p_traits)); }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::node_pointer
- PB_DS_CLASS_C_DEC::
- get_lower_bound_child_node(const_e_iterator b_it, const_e_iterator e_it,
- size_type checked_ind,
- const_e_access_traits_pointer p_traits)
- {
- if (!should_be_mine(b_it, e_it, checked_ind, p_traits))
- {
- if (p_traits->cmp_prefixes(b_it, e_it, m_pref_b_it, m_pref_e_it, true))
- return leftmost_descendant();
- return rightmost_descendant();
- }
-
- size_type i = get_pref_pos(b_it, e_it, p_traits);
- _GLIBCXX_DEBUG_ASSERT(i < arr_size);
-
- if (m_a_p_children[i] != NULL)
- return m_a_p_children[i];
-
- while (++i < arr_size)
- if (m_a_p_children[i] != NULL)
- {
- if (m_a_p_children[i]->m_type == pat_trie_leaf_node_type)
- return m_a_p_children[i];
-
- _GLIBCXX_DEBUG_ASSERT(m_a_p_children[i]->m_type == pat_trie_internal_node_type);
-
- return static_cast<internal_node_pointer>(m_a_p_children[i])->leftmost_descendant();
- }
-
- return rightmost_descendant();
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::node_pointer
- PB_DS_CLASS_C_DEC::
- add_child(node_pointer p_nd, const_e_iterator b_it, const_e_iterator e_it,
- const_e_access_traits_pointer p_traits)
- {
- const size_type i = get_pref_pos(b_it, e_it, p_traits);
- _GLIBCXX_DEBUG_ASSERT(i < arr_size);
- if (m_a_p_children[i] == NULL)
- {
- m_a_p_children[i] = p_nd;
- p_nd->m_p_parent = this;
- return p_nd;
- }
- return m_a_p_children[i];
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::const_node_pointer
- PB_DS_CLASS_C_DEC::
- get_join_child(const_node_pointer p_nd, const_e_access_traits_pointer p_traits) const
- {
- node_pointer p = const_cast<node_pointer>(p_nd);
- return const_cast<internal_node_pointer>(this)->get_join_child(p, p_traits);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::node_pointer
- PB_DS_CLASS_C_DEC::
- get_join_child(node_pointer p_nd, const_e_access_traits_pointer p_traits)
- {
- size_type i;
- const_e_iterator b_it;
- const_e_iterator e_it;
- if (p_nd->m_type == pat_trie_leaf_node_type)
- {
- typename Type_Traits::const_key_reference r_key =
- e_access_traits::extract_key(static_cast<const_leaf_pointer>(p_nd)->value());
-
- b_it = p_traits->begin(r_key);
- e_it = p_traits->end(r_key);
- }
- else
- {
- b_it = static_cast<internal_node_pointer>(p_nd)->pref_b_it();
- e_it = static_cast<internal_node_pointer>(p_nd)->pref_e_it();
- }
- i = get_pref_pos(b_it, e_it, p_traits);
- _GLIBCXX_DEBUG_ASSERT(i < arr_size);
- return m_a_p_children[i];
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- remove_child(node_pointer p_nd)
- {
- size_type i = 0;
- for (; i < arr_size; ++i)
- if (m_a_p_children[i] == p_nd)
- {
- m_a_p_children[i] = NULL;
- return;
- }
- _GLIBCXX_DEBUG_ASSERT(i != arr_size);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::iterator
- PB_DS_CLASS_C_DEC::
- remove_child(iterator it)
- {
- iterator ret = it;
- ++ret;
- * it.m_p_p_cur = NULL;
- return ret;
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- replace_child(node_pointer p_nd, const_e_iterator b_it,
- const_e_iterator e_it,
- const_e_access_traits_pointer p_traits)
- {
- const size_type i = get_pref_pos(b_it, e_it, p_traits);
- _GLIBCXX_DEBUG_ASSERT(i < arr_size);
- m_a_p_children[i] = p_nd;
- p_nd->m_p_parent = this;
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::const_e_iterator
- PB_DS_CLASS_C_DEC::
- pref_b_it() const
- { return m_pref_b_it; }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::const_e_iterator
- PB_DS_CLASS_C_DEC::
- pref_e_it() const
- { return m_pref_e_it; }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- get_e_ind() const
- { return m_e_ind; }
-
- PB_DS_CLASS_T_DEC
- bool
- PB_DS_CLASS_C_DEC::
- should_be_mine(const_e_iterator b_it, const_e_iterator e_it,
- size_type checked_ind,
- const_e_access_traits_pointer p_traits) const
- {
- if (m_e_ind == 0)
- return true;
-
- const size_type num_es = std::distance(b_it, e_it);
- if (num_es < m_e_ind)
- return false;
-
- const_e_iterator key_b_it = b_it;
- std::advance(key_b_it, checked_ind);
- const_e_iterator key_e_it = b_it;
- std::advance(key_e_it, m_e_ind);
-
- const_e_iterator value_b_it = m_pref_b_it;
- std::advance(value_b_it, checked_ind);
- const_e_iterator value_e_it = m_pref_b_it;
- std::advance(value_e_it, m_e_ind);
-
- return p_traits->equal_prefixes(key_b_it, key_e_it, value_b_it,
- value_e_it);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::leaf_pointer
- PB_DS_CLASS_C_DEC::
- leftmost_descendant()
- {
- node_pointer p_pot =* begin();
- if (p_pot->m_type == pat_trie_leaf_node_type)
- return (static_cast<leaf_pointer>(p_pot));
- _GLIBCXX_DEBUG_ASSERT(p_pot->m_type == pat_trie_internal_node_type);
- return static_cast<internal_node_pointer>(p_pot)->leftmost_descendant();
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::const_leaf_pointer
- PB_DS_CLASS_C_DEC::
- leftmost_descendant() const
- {
- return const_cast<internal_node_pointer>(this)->leftmost_descendant();
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::leaf_pointer
- PB_DS_CLASS_C_DEC::
- rightmost_descendant()
- {
- const size_type num_children = std::distance(begin(), end());
- _GLIBCXX_DEBUG_ASSERT(num_children >= 2);
-
- iterator it = begin();
- std::advance(it, num_children - 1);
- node_pointer p_pot =* it;
- if (p_pot->m_type == pat_trie_leaf_node_type)
- return static_cast<leaf_pointer>(p_pot);
- _GLIBCXX_DEBUG_ASSERT(p_pot->m_type == pat_trie_internal_node_type);
- return static_cast<internal_node_pointer>(p_pot)->rightmost_descendant();
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::const_leaf_pointer
- PB_DS_CLASS_C_DEC::
- rightmost_descendant() const
- {
- return const_cast<internal_node_pointer>(this)->rightmost_descendant();
- }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- e_ind() const
- { return m_e_ind; }
-#endif
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- get_begin_pos() const
- {
- size_type i;
- for (i = 0; i < arr_size && m_a_p_children[i] == NULL; ++i)
- ;
- return i;
- }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::subtree_debug_info
- PB_DS_CLASS_C_DEC::
- assert_valid_imp(const_e_access_traits_pointer p_traits) const
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_type == pat_trie_internal_node_type);
- _GLIBCXX_DEBUG_ASSERT(static_cast<size_type>(std::distance(pref_b_it(), pref_e_it())) == m_e_ind);
- _GLIBCXX_DEBUG_ASSERT(std::distance(begin(), end()) >= 2);
-
- for (typename pat_trie_internal_node::const_iterator it = begin();
- it != end(); ++it)
- {
- const_node_pointer p_nd =* it;
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_parent == this);
- subtree_debug_info child_ret = p_nd->assert_valid_imp(p_traits);
-
- _GLIBCXX_DEBUG_ASSERT(static_cast<size_type>(std::distance(child_ret.first, child_ret.second)) >= m_e_ind);
- _GLIBCXX_DEBUG_ASSERT(should_be_mine(child_ret.first, child_ret.second, 0, p_traits));
- _GLIBCXX_DEBUG_ASSERT(get_pref_pos(child_ret.first, child_ret.second, p_traits) == static_cast<size_type>(it.m_p_p_cur - m_a_p_children));
- }
- return std::make_pair(pref_b_it(), pref_e_it());
- }
-#endif
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_BASE_C_DEC
-#undef PB_DS_LEAF_C_DEC
-#undef PB_DS_STATIC_ASSERT
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
deleted file mode 100644
index ff117c514ab2..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterators_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-begin()
-{ return iterator(m_p_head->m_p_min); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin() const
-{ return const_iterator(m_p_head->m_p_min); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-end()
-{ return iterator(m_p_head); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end() const
-{ return const_iterator(m_p_head); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reverse_iterator
-PB_DS_CLASS_C_DEC::
-rbegin() const
-{
- if (empty())
- return rend();
- return --end();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::reverse_iterator
-PB_DS_CLASS_C_DEC::
-rbegin()
-{
- if (empty())
- return rend();
- return --end();
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::reverse_iterator
-PB_DS_CLASS_C_DEC::
-rend()
-{ return reverse_iterator(m_p_head); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reverse_iterator
-PB_DS_CLASS_C_DEC::
-rend() const
-{ return const_reverse_iterator(m_p_head); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-node_begin() const
-{ return const_node_iterator(m_p_head->m_p_parent, this); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-node_begin()
-{ return node_iterator(m_p_head->m_p_parent, this); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_node_iterator
-PB_DS_CLASS_C_DEC::
-node_end() const
-{ return const_node_iterator(NULL, this); }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-node_end()
-{ return node_iterator(NULL, this); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/leaf.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/leaf.hpp
deleted file mode 100644
index 08f3761deda1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/leaf.hpp
+++ /dev/null
@@ -1,177 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file leaf.hpp
- * Contains a pat_trie_leaf for a patricia tree.
- */
-
-#ifndef PB_DS_PAT_TRIE_LEAF_HPP
-#define PB_DS_PAT_TRIE_LEAF_HPP
-
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template< \
- class Type_Traits, \
- class E_Access_Traits, \
- class Metadata, \
- class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- pat_trie_leaf< \
- Type_Traits, \
- E_Access_Traits, \
- Metadata, \
- Allocator>
-
-#define PB_DS_BASE_C_DEC \
- pat_trie_node_base< \
- Type_Traits, \
- E_Access_Traits, \
- Metadata, \
- Allocator>
-
-#define PB_DS_PAT_TRIE_SUBTREE_DEBUG_INFO_C_DEC \
- pat_trie_subtree_debug_info< \
- Type_Traits, \
- E_Access_Traits, \
- Allocator>
-
- template<typename Type_Traits,
- class E_Access_Traits,
- class Metadata,
- class Allocator>
- struct pat_trie_leaf : public PB_DS_BASE_C_DEC
- {
- private:
- typedef typename Type_Traits::value_type value_type;
-
- typedef typename Type_Traits::const_reference const_reference;
-
- typedef typename Type_Traits::reference reference;
-
- typedef
- typename Allocator::template rebind<
- E_Access_Traits>::other::const_pointer
- const_e_access_traits_pointer;
-
-#ifdef _GLIBCXX_DEBUG
- typedef
- typename PB_DS_BASE_C_DEC::subtree_debug_info
- subtree_debug_info;
-#endif
-
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- pat_trie_leaf(const_reference r_val);
-
- inline reference
- value();
-
- inline const_reference
- value() const;
-
-#ifdef _GLIBCXX_DEBUG
- virtual subtree_debug_info
- assert_valid_imp(const_e_access_traits_pointer p_traits) const;
-
- virtual
- ~pat_trie_leaf();
-#endif
-
- private:
- pat_trie_leaf(const PB_DS_CLASS_C_DEC& other);
-
- value_type m_value;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- pat_trie_leaf(const_reference r_val) :
- PB_DS_BASE_C_DEC(pat_trie_leaf_node_type), m_value(r_val)
- { }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::reference
- PB_DS_CLASS_C_DEC::
- value()
- { return m_value; }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::const_reference
- PB_DS_CLASS_C_DEC::
- value() const
- { return m_value; }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::subtree_debug_info
- PB_DS_CLASS_C_DEC::
- assert_valid_imp(const_e_access_traits_pointer p_traits) const
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_type == pat_trie_leaf_node_type);
- subtree_debug_info ret;
- const_reference r_val = value();
- return std::make_pair(p_traits->begin(p_traits->extract_key(r_val)),
- p_traits->end(p_traits->extract_key(r_val)));
- }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- ~pat_trie_leaf() { }
-#endif
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_BASE_C_DEC
-#undef PB_DS_PAT_TRIE_SUBTREE_DEBUG_INFO_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_base.hpp
deleted file mode 100644
index 753e66b28a5c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_base.hpp
+++ /dev/null
@@ -1,134 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node_base.hpp
- * Contains a pat_trie_node_base base for a patricia tree.
- */
-
-#ifndef PB_DS_PAT_TRIE_NODE_BASE_HPP
-#define PB_DS_PAT_TRIE_NODE_BASE_HPP
-
-#include <ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Type_Traits, typename E_Access_Traits, \
- typename Metadata, typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- pat_trie_node_base<Type_Traits, E_Access_Traits, Metadata, Allocator>
-
-#define PB_DS_PAT_TRIE_SUBTREE_DEBUG_INFO_C_DEC \
- pat_trie_subtree_debug_info<Type_Traits, E_Access_Traits, Allocator>
-
- enum pat_trie_node_type
- {
- pat_trie_internal_node_type,
- pat_trie_leaf_node_type,
- pat_trie_head_node_type
- };
-
- template<typename Type_Traits,
- typename E_Access_Traits,
- typename Metadata,
- typename Allocator>
- struct pat_trie_node_base : public pat_trie_node_metadata_base<
- Metadata,
- Allocator>
- {
- public:
- typedef
- typename Allocator::template rebind<
- pat_trie_node_base>::other::pointer
- node_pointer;
-
- typedef
- typename Allocator::template rebind<
- E_Access_Traits>::other::const_pointer
- const_e_access_traits_pointer;
-
-#ifdef _GLIBCXX_DEBUG
- typedef
- std::pair<
- typename E_Access_Traits::const_iterator,
- typename E_Access_Traits::const_iterator>
- subtree_debug_info;
-#endif
-
- pat_trie_node_base(pat_trie_node_type type);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid(const_e_access_traits_pointer p_traits) const;
-
- virtual subtree_debug_info
- assert_valid_imp(const_e_access_traits_pointer p_traits) const = 0;
-#endif
-
- node_pointer m_p_parent;
- const pat_trie_node_type m_type;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- pat_trie_node_base(pat_trie_node_type type) : m_type(type)
- { }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- assert_valid(const_e_access_traits_pointer p_traits) const
- { assert_valid_imp(p_traits); }
-#endif
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_PAT_TRIE_SUBTREE_DEBUG_INFO_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp
deleted file mode 100644
index 9c8a40c4fdce..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp
+++ /dev/null
@@ -1,344 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node_iterators.hpp
- * Contains an implementation class for pat_trie_.
- */
-
-#ifndef PB_DS_PAT_TRIE_NODE_ITERATORS_HPP
-#define PB_DS_PAT_TRIE_NODE_ITERATORS_HPP
-
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC \
- pat_trie_const_node_it_< \
- Node, \
- Leaf, \
- Head, \
- Internal_Node, \
- Const_Iterator, \
- Iterator, \
- E_Access_Traits, \
- Allocator>
-
-#define PB_DS_PAT_TRIE_NODE_ITERATOR_C_DEC \
- pat_trie_node_it_< \
- Node, \
- Leaf, \
- Head, \
- Internal_Node, \
- Const_Iterator, \
- Iterator, \
- E_Access_Traits, \
- Allocator>
-
- // Const node iterator.
- template<typename Node,
- class Leaf,
- class Head,
- class Internal_Node,
- class Const_Iterator,
- class Iterator,
- class E_Access_Traits,
- class Allocator>
- class pat_trie_const_node_it_
- {
- protected:
- typedef
- typename Allocator::template rebind<
- Node>::other::pointer
- node_pointer;
-
- typedef
- typename Allocator::template rebind<
- Leaf>::other::const_pointer
- const_leaf_pointer;
-
- typedef
- typename Allocator::template rebind<
- Leaf>::other::pointer
- leaf_pointer;
-
- typedef
- typename Allocator::template rebind<
- Internal_Node>::other::pointer
- internal_node_pointer;
-
- typedef
- typename Allocator::template rebind<
- Internal_Node>::other::const_pointer
- const_internal_node_pointer;
-
- typedef
- typename Allocator::template rebind<
- E_Access_Traits>::other::const_pointer
- const_e_access_traits_pointer;
-
- private:
- inline typename E_Access_Traits::const_iterator
- pref_begin() const
- {
- if (m_p_nd->m_type == pat_trie_leaf_node_type)
- return (m_p_traits->begin(
- m_p_traits->extract_key(
- static_cast<const_leaf_pointer>(m_p_nd)->value())));
-
- _GLIBCXX_DEBUG_ASSERT(m_p_nd->m_type == pat_trie_internal_node_type);
-
- return (static_cast<const_internal_node_pointer>(m_p_nd)->pref_b_it());
- }
-
- inline typename E_Access_Traits::const_iterator
- pref_end() const
- {
- if (m_p_nd->m_type == pat_trie_leaf_node_type)
- return (m_p_traits->end(
- m_p_traits->extract_key(
- static_cast<const_leaf_pointer>(m_p_nd)->value())));
-
- _GLIBCXX_DEBUG_ASSERT(m_p_nd->m_type == pat_trie_internal_node_type);
-
- return (static_cast<const_internal_node_pointer>(m_p_nd)->pref_e_it());
- }
-
- public:
-
- // Size type.
- typedef typename Allocator::size_type size_type;
-
- // Category.
- typedef trivial_iterator_tag iterator_category;
-
- // Difference type.
- typedef trivial_iterator_difference_type difference_type;
-
- // __Iterator's value type.
- typedef Const_Iterator value_type;
-
- // __Iterator's reference type.
- typedef value_type reference;
-
- // __Iterator's __const reference type.
- typedef value_type const_reference;
-
- // Element access traits.
- typedef E_Access_Traits e_access_traits;
-
- // A key's element __const iterator.
- typedef typename e_access_traits::const_iterator const_e_iterator;
-
- // Metadata type.
- typedef typename Node::metadata_type metadata_type;
-
- // Const metadata reference type.
- typedef
- typename Allocator::template rebind<
- metadata_type>::other::const_reference
- const_metadata_reference;
-
- // Default constructor.
- /*
- inline
- pat_trie_const_node_it_()
- */
- inline
- pat_trie_const_node_it_(node_pointer p_nd = NULL,
- const_e_access_traits_pointer p_traits = NULL)
- : m_p_nd(const_cast<node_pointer>(p_nd)), m_p_traits(p_traits)
- { }
-
- // Subtree valid prefix.
- inline std::pair<const_e_iterator, const_e_iterator>
- valid_prefix() const
- { return std::make_pair(pref_begin(), pref_end()); }
-
- // Const access; returns the __const iterator* associated with
- // the current leaf.
- inline const_reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(num_children() == 0);
- return Const_Iterator(m_p_nd);
- }
-
- // Metadata access.
- inline const_metadata_reference
- get_metadata() const
- { return m_p_nd->get_metadata(); }
-
- // Returns the number of children in the corresponding node.
- inline size_type
- num_children() const
- {
- if (m_p_nd->m_type == pat_trie_leaf_node_type)
- return 0;
- _GLIBCXX_DEBUG_ASSERT(m_p_nd->m_type == pat_trie_internal_node_type);
- return std::distance(static_cast<internal_node_pointer>(m_p_nd)->begin(), static_cast<internal_node_pointer>(m_p_nd)->end());
- }
-
- // Returns a __const node __iterator to the corresponding node's
- // i-th child.
- PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC
- get_child(size_type i) const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd->m_type == pat_trie_internal_node_type);
- typename Internal_Node::iterator it =
- static_cast<internal_node_pointer>(m_p_nd)->begin();
-
- std::advance(it, i);
- return PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC(*it, m_p_traits);
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC& other) const
- { return (m_p_nd == other.m_p_nd); }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC& other) const
- { return m_p_nd != other.m_p_nd; }
-
- private:
-
- friend class PB_DS_CLASS_C_DEC;
-
- public:
- node_pointer m_p_nd;
-
- const_e_access_traits_pointer m_p_traits;
- };
-
- // Node iterator.
- template<typename Node,
- class Leaf,
- class Head,
- class Internal_Node,
- class Const_Iterator,
- class Iterator,
- class E_Access_Traits,
- class Allocator>
- class pat_trie_node_it_ :
- public PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC
-
- {
- private:
- typedef
- typename Allocator::template rebind<
- Node>::other::pointer
- node_pointer;
-
- typedef Iterator iterator;
-
- typedef PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC base_type;
-
- typedef
- typename base_type::const_e_access_traits_pointer
- const_e_access_traits_pointer;
-
- typedef typename base_type::internal_node_pointer internal_node_pointer;
-
- public:
-
- // Size type.
- typedef
- typename PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC::size_type
- size_type;
-
- // __Iterator's value type.
- typedef Iterator value_type;
-
- // __Iterator's reference type.
- typedef value_type reference;
-
- // __Iterator's __const reference type.
- typedef value_type const_reference;
-
- // Default constructor.
- /*
- inline
- pat_trie_node_it_() ;
- */
-
- inline
- pat_trie_node_it_(node_pointer p_nd = NULL, const_e_access_traits_pointer p_traits = NULL) : base_type(p_nd, p_traits)
- { }
-
- // Access; returns the iterator* associated with the current leaf.
- inline reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::num_children() == 0);
- return Iterator(base_type::m_p_nd);
-
- }
-
- // Returns a node __iterator to the corresponding node's i-th child.
- PB_DS_PAT_TRIE_NODE_ITERATOR_C_DEC
- get_child(size_type i) const
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_nd->m_type == pat_trie_internal_node_type);
-
- typename Internal_Node::iterator it =
- static_cast<internal_node_pointer>(base_type::m_p_nd)->begin();
-
- std::advance(it, i);
- return PB_DS_PAT_TRIE_NODE_ITERATOR_C_DEC(*it, base_type::m_p_traits);
- }
-
- private:
- friend class PB_DS_CLASS_C_DEC;
- };
-
-#undef PB_DS_PAT_TRIE_CONST_NODE_ITERATOR_C_DEC
-#undef PB_DS_PAT_TRIE_NODE_ITERATOR_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp
deleted file mode 100644
index 5434ff9d4080..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node_metadata_base.hpp
- * Contains an internal PB_DS_BASE_C_DEC for a patricia tree.
- */
-
-#ifndef PB_DS_PAT_TRIE_NODE_METADATA_BASE_HPP
-#define PB_DS_PAT_TRIE_NODE_METADATA_BASE_HPP
-
-#include <ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Metadata, class Allocator>
- struct pat_trie_node_metadata_base
- {
- public:
- typedef Metadata metadata_type;
-
- typedef
- typename Allocator::template rebind<
- metadata_type>::other::const_reference
- const_metadata_reference;
-
- public:
- inline const_metadata_reference
- get_metadata() const
- {
- return (m_metadata);
- }
-
- public:
- metadata_type m_metadata;
- };
-
- template<typename Allocator>
- struct pat_trie_node_metadata_base<
- null_node_metadata,
- Allocator>
- {
- public:
- typedef null_node_metadata metadata_type;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_PAT_TRIE_NODE_BASE_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
deleted file mode 100644
index cb0a032cb1f5..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
+++ /dev/null
@@ -1,526 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file pat_trie_.hpp
- * Contains an implementation class for a patricia tree.
- */
-
-/**
- * This implementation loosely borrows ideas from:
- * 1) "Fast Mergeable Integer Maps", Okasaki, Gill 1998
- * 2) "Ptset: Sets of integers implemented as Patricia trees",
- * Jean-Christophe Filliatr, 2000
- **/
-
-#include <ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp>
-#include <ext/pb_ds/detail/pat_trie_/node_base.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/eq_fn/eq_by_less.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <iterator>
-#include <utility>
-#include <algorithm>
-#include <functional>
-#include <assert.h>
-#include <list>
-#ifdef _GLIBCXX_DEBUG
-#include <ext/pb_ds/detail/map_debug_base.hpp>
-#endif
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, typename Node_And_It_Traits, \
- typename Allocator>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CLASS_NAME pat_trie_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_CLASS_NAME pat_trie_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_CLASS_NAME<Key, Mapped, Node_And_It_Traits, Allocator>
-
-#define PB_DS_TYPES_TRAITS_C_DEC \
- types_traits<Key, Mapped, Allocator, false>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_MAP_DEBUG_BASE_C_DEC \
- map_debug_base<Key, eq_by_less<Key, \
- std::less<Key> >, typename Allocator::template rebind<Key>::other::const_reference>
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#define PB_DS_EP2VP(X)& ((X)->m_value)
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped_Data()
-#define PB_DS_EP2VP(X)& ((X)->m_value.first)
-#endif
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef static_assert_dumclass<sizeof(static_assert<(bool)(E)>)> \
- UNIQUE##static_assert_type
-
- /**
- * class description = PATRICIA trie implementation.">
- **/
- template<typename Key,
- typename Mapped,
- typename Node_And_It_Traits,
- typename Allocator>
- class PB_DS_CLASS_NAME :
-#ifdef _GLIBCXX_DEBUG
- public PB_DS_MAP_DEBUG_BASE_C_DEC,
-#endif
- public Node_And_It_Traits::synth_e_access_traits,
- public Node_And_It_Traits::node_update,
- public PB_DS_TYPES_TRAITS_C_DEC
- {
- private:
- typedef PB_DS_TYPES_TRAITS_C_DEC traits_base;
-
- typedef typename Node_And_It_Traits::synth_e_access_traits synth_e_access_traits;
- typedef typename Allocator::template rebind<synth_e_access_traits>::other::const_pointer const_e_access_traits_pointer;
- typedef typename synth_e_access_traits::const_iterator const_e_iterator;
-
- typedef typename Node_And_It_Traits::node node;
- typedef typename Allocator::template rebind<node>::other::const_pointer const_node_pointer;
-
- typedef typename Allocator::template rebind<node>::other::pointer node_pointer;
-
- typedef typename Node_And_It_Traits::head head;
- typedef typename Allocator::template rebind<head>::other head_allocator;
- typedef typename head_allocator::pointer head_pointer;
-
- typedef typename Node_And_It_Traits::leaf leaf;
- typedef typename Allocator::template rebind<leaf>::other leaf_allocator;
- typedef typename leaf_allocator::const_pointer const_leaf_pointer;
- typedef typename leaf_allocator::pointer leaf_pointer;
-
- typedef typename Node_And_It_Traits::internal_node internal_node;
- typedef typename Allocator::template rebind<internal_node>::other internal_node_allocator;
- typedef typename internal_node_allocator::const_pointer const_internal_node_pointer;
- typedef typename internal_node_allocator::pointer internal_node_pointer;
-
-#include <ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp>
-
-#ifdef _GLIBCXX_DEBUG
- typedef PB_DS_MAP_DEBUG_BASE_C_DEC map_debug_base;
-#endif
-
-#include <ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp>
-
- typedef typename Node_And_It_Traits::null_node_update_pointer null_node_update_pointer;
-
- public:
- typedef pat_trie_tag container_category;
- typedef Allocator allocator;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
-
- typedef typename traits_base::key_type key_type;
- typedef typename traits_base::key_pointer key_pointer;
- typedef typename traits_base::const_key_pointer const_key_pointer;
- typedef typename traits_base::key_reference key_reference;
- typedef typename traits_base::const_key_reference const_key_reference;
- typedef typename traits_base::mapped_type mapped_type;
- typedef typename traits_base::mapped_pointer mapped_pointer;
- typedef typename traits_base::const_mapped_pointer const_mapped_pointer;
- typedef typename traits_base::mapped_reference mapped_reference;
- typedef typename traits_base::const_mapped_reference const_mapped_reference;
- typedef typename traits_base::value_type value_type;
- typedef typename traits_base::pointer pointer;
- typedef typename traits_base::const_pointer const_pointer;
- typedef typename traits_base::reference reference;
- typedef typename traits_base::const_reference const_reference;
-
- typedef typename Node_And_It_Traits::const_iterator const_point_iterator;
- typedef typename Node_And_It_Traits::iterator point_iterator;
- typedef const_point_iterator const_iterator;
- typedef point_iterator iterator;
-
- typedef typename Node_And_It_Traits::const_reverse_iterator const_reverse_iterator;
- typedef typename Node_And_It_Traits::reverse_iterator reverse_iterator;
- typedef typename Node_And_It_Traits::const_node_iterator const_node_iterator;
- typedef typename Node_And_It_Traits::node_iterator node_iterator;
- typedef typename Node_And_It_Traits::e_access_traits e_access_traits;
- typedef typename Node_And_It_Traits::node_update node_update;
-
- PB_DS_CLASS_NAME();
-
- PB_DS_CLASS_NAME(const e_access_traits&);
-
- PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- ~PB_DS_CLASS_NAME();
-
- inline bool
- empty() const;
-
- inline size_type
- size() const;
-
- inline size_type
- max_size() const;
-
- e_access_traits&
- get_e_access_traits();
-
- const e_access_traits&
- get_e_access_traits() const;
-
- node_update&
- get_node_update();
-
- const node_update&
- get_node_update() const;
-
- inline std::pair<point_iterator, bool>
- insert(const_reference);
-
- inline mapped_reference
- operator[](const_key_reference r_key)
- {
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- return insert(std::make_pair(r_key, mapped_type())).first->second;
-#else
- insert(r_key);
- return traits_base::s_null_mapped;
-#endif
- }
-
- inline point_iterator
- find(const_key_reference);
-
- inline const_point_iterator
- find(const_key_reference) const;
-
- inline point_iterator
- lower_bound(const_key_reference);
-
- inline const_point_iterator
- lower_bound(const_key_reference) const;
-
- inline point_iterator
- upper_bound(const_key_reference);
-
- inline const_point_iterator
- upper_bound(const_key_reference) const;
-
- void
- clear();
-
- inline bool
- erase(const_key_reference);
-
- inline const_iterator
- erase(const_iterator);
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- inline iterator
- erase(iterator);
-#endif
-
- inline const_reverse_iterator
- erase(const_reverse_iterator);
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- inline reverse_iterator
- erase(reverse_iterator);
-#endif
-
- template<typename Pred>
- inline size_type
- erase_if(Pred);
-
- void
- join(PB_DS_CLASS_C_DEC&);
-
- void
- split(const_key_reference, PB_DS_CLASS_C_DEC&);
-
- inline iterator
- begin();
-
- inline const_iterator
- begin() const;
-
- inline iterator
- end();
-
- inline const_iterator
- end() const;
-
- inline reverse_iterator
- rbegin();
-
- inline const_reverse_iterator
- rbegin() const;
-
- inline reverse_iterator
- rend();
-
- inline const_reverse_iterator
- rend() const;
-
- inline const_node_iterator
- node_begin() const;
-
- inline node_iterator
- node_begin();
-
- inline const_node_iterator
- node_end() const;
-
- inline node_iterator
- node_end();
-
-#ifdef PB_DS_PAT_TRIE_TRACE_
- void
- trace() const;
-#endif
-
- protected:
-
- template<typename It>
- void
- copy_from_range(It, It);
-
- void
- value_swap(PB_DS_CLASS_C_DEC&);
-
- node_pointer
- recursive_copy_node(const_node_pointer);
-
- private:
-
- void
- initialize();
-
- inline void
- apply_update(node_pointer, null_node_update_pointer);
-
- template<typename Node_Update_>
- inline void
- apply_update(node_pointer, Node_Update_*);
-
- bool
- join_prep(PB_DS_CLASS_C_DEC&, split_join_branch_bag&);
-
- void
- rec_join_prep(const_node_pointer, const_node_pointer,
- split_join_branch_bag&);
-
- void
- rec_join_prep(const_leaf_pointer, const_leaf_pointer,
- split_join_branch_bag&);
-
- void
- rec_join_prep(const_leaf_pointer, const_internal_node_pointer,
- split_join_branch_bag&);
-
- void
- rec_join_prep(const_internal_node_pointer, const_leaf_pointer,
- split_join_branch_bag&);
-
- void
- rec_join_prep(const_internal_node_pointer, const_internal_node_pointer,
- split_join_branch_bag&);
-
- node_pointer
- rec_join(node_pointer, node_pointer, size_type, split_join_branch_bag&);
-
- node_pointer
- rec_join(leaf_pointer, leaf_pointer, split_join_branch_bag&);
-
- node_pointer
- rec_join(leaf_pointer, internal_node_pointer, size_type,
- split_join_branch_bag&);
-
- node_pointer
- rec_join(internal_node_pointer, leaf_pointer, size_type,
- split_join_branch_bag&);
-
- node_pointer
- rec_join(internal_node_pointer, internal_node_pointer,
- split_join_branch_bag&);
-
- size_type
- keys_diff_ind(typename e_access_traits::const_iterator, typename e_access_traits::const_iterator, typename e_access_traits::const_iterator, typename e_access_traits::const_iterator);
-
- internal_node_pointer
- insert_branch(node_pointer, node_pointer, split_join_branch_bag&);
-
- void
- update_min_max_for_inserted_leaf(leaf_pointer);
-
- void
- erase_leaf(leaf_pointer);
-
- inline void
- actual_erase_leaf(leaf_pointer);
-
- void
- clear_imp(node_pointer);
-
- void
- erase_fixup(internal_node_pointer);
-
- void
- update_min_max_for_erased_leaf(leaf_pointer);
-
- static inline const_e_iterator
- pref_begin(const_node_pointer);
-
- static inline const_e_iterator
- pref_end(const_node_pointer);
-
- inline node_pointer
- find_imp(const_key_reference);
-
- inline node_pointer
- lower_bound_imp(const_key_reference);
-
- inline node_pointer
- upper_bound_imp(const_key_reference);
-
- inline static const_leaf_pointer
- leftmost_descendant(const_node_pointer);
-
- inline static leaf_pointer
- leftmost_descendant(node_pointer);
-
- inline static const_leaf_pointer
- rightmost_descendant(const_node_pointer);
-
- inline static leaf_pointer
- rightmost_descendant(node_pointer);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-
- void
- assert_iterators() const;
-
- void
- assert_reverse_iterators() const;
-
- static size_type
- recursive_count_leafs(const_node_pointer);
-#endif
-
-#ifdef PB_DS_PAT_TRIE_TRACE_
- static void
- trace_node(const_node_pointer, size_type);
-
- template<typename Metadata_>
- static void
- trace_node_metadata(const_node_pointer, type_to_type<Metadata_>);
-
- static void
- trace_node_metadata(const_node_pointer, type_to_type<null_node_metadata>);
-#endif
-
- leaf_pointer
- split_prep(const_key_reference, PB_DS_CLASS_C_DEC&,
- split_join_branch_bag&);
-
- node_pointer
- rec_split(node_pointer, const_e_iterator, const_e_iterator,
- PB_DS_CLASS_C_DEC&, split_join_branch_bag&);
-
- void
- split_insert_branch(size_type, const_e_iterator,
- typename internal_node::iterator,
- size_type, split_join_branch_bag&);
-
- static head_allocator s_head_allocator;
- static internal_node_allocator s_internal_node_allocator;
- static leaf_allocator s_leaf_allocator;
-
- head_pointer m_p_head;
- size_type m_size;
- };
-
-#include <ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp>
-#include <ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_NAME
-#undef PB_DS_TYPES_TRAITS_C_DEC
-#undef PB_DS_MAP_DEBUG_BASE_C_DEC
-#undef PB_DS_V2F
-#undef PB_DS_EP2VP
-#undef PB_DS_V2S
-#undef PB_DS_STATIC_ASSERT
-
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp
deleted file mode 100644
index 1a42dc562f2b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp
+++ /dev/null
@@ -1,490 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file point_iterators.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-#ifndef PB_DS_PAT_TRIE_FIND_ITERATORS_HPP
-#define PB_DS_PAT_TRIE_FIND_ITERATORS_HPP
-
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CONST_IT_C_DEC \
- pat_trie_const_it_< \
- Type_Traits, \
- Node, \
- Leaf, \
- Head, \
- Internal_Node, \
- Is_Forward_Iterator, \
- Allocator>
-
-#define PB_DS_CONST_ODIR_IT_C_DEC \
- pat_trie_const_it_< \
- Type_Traits, \
- Node, \
- Leaf, \
- Head, \
- Internal_Node, \
- !Is_Forward_Iterator, \
- Allocator>
-
-#define PB_DS_IT_C_DEC \
- pat_trie_it_< \
- Type_Traits, \
- Node, \
- Leaf, \
- Head, \
- Internal_Node, \
- Is_Forward_Iterator, \
- Allocator>
-
-#define PB_DS_ODIR_IT_C_DEC \
- pat_trie_it_< \
- Type_Traits, \
- Node, \
- Leaf, \
- Head, \
- Internal_Node, \
- !Is_Forward_Iterator, \
- Allocator>
-
-
- // Const iterator.
- template<typename Type_Traits,
- class Node,
- class Leaf,
- class Head,
- class Internal_Node,
- bool Is_Forward_Iterator,
- class Allocator>
- class pat_trie_const_it_
- {
-
- private:
- typedef
- typename Allocator::template rebind<
- Node>::other::pointer
- node_pointer;
-
- typedef
- typename Allocator::template rebind<
- Leaf>::other::const_pointer
- const_leaf_pointer;
-
- typedef
- typename Allocator::template rebind<
- Leaf>::other::pointer
- leaf_pointer;
-
- typedef
- typename Allocator::template rebind<
- Head>::other::pointer
- head_pointer;
-
- typedef
- typename Allocator::template rebind<
- Internal_Node>::other::pointer
- internal_node_pointer;
-
- public:
-
- typedef std::bidirectional_iterator_tag iterator_category;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef typename Type_Traits::value_type value_type;
-
- typedef typename Type_Traits::pointer pointer;
-
- typedef typename Type_Traits::const_pointer const_pointer;
-
- typedef typename Type_Traits::reference reference;
-
- typedef typename Type_Traits::const_reference const_reference;
-
- public:
-
- inline
- pat_trie_const_it_(node_pointer p_nd = NULL) : m_p_nd(p_nd)
- { }
-
- inline
- pat_trie_const_it_(const PB_DS_CONST_ODIR_IT_C_DEC& other)
- : m_p_nd(other.m_p_nd)
- { }
-
- inline
- PB_DS_CONST_IT_C_DEC&
- operator=(const PB_DS_CONST_IT_C_DEC& other)
- {
- m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline
- PB_DS_CONST_IT_C_DEC&
- operator=(const PB_DS_CONST_ODIR_IT_C_DEC& other)
- {
- m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline const_pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd->m_type == pat_trie_leaf_node_type);
- return &static_cast<leaf_pointer>(m_p_nd)->value();
- }
-
- inline const_reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_nd->m_type == pat_trie_leaf_node_type);
- return static_cast<leaf_pointer>(m_p_nd)->value();
- }
-
- inline bool
- operator==(const PB_DS_CONST_IT_C_DEC& other) const
- { return (m_p_nd == other.m_p_nd); }
-
- inline bool
- operator==(const PB_DS_CONST_ODIR_IT_C_DEC& other) const
- { return (m_p_nd == other.m_p_nd); }
-
- inline bool
- operator!=(const PB_DS_CONST_IT_C_DEC& other) const
- { return (m_p_nd != other.m_p_nd); }
-
- inline bool
- operator!=(const PB_DS_CONST_ODIR_IT_C_DEC& other) const
- { return (m_p_nd != other.m_p_nd); }
-
- inline PB_DS_CONST_IT_C_DEC&
- operator++()
- {
- inc(integral_constant<int,Is_Forward_Iterator>());
- return *this;
- }
-
- inline PB_DS_CONST_IT_C_DEC
- operator++(int)
- {
- PB_DS_CONST_IT_C_DEC ret_it(m_p_nd);
- operator++();
- return ret_it;
- }
-
- inline PB_DS_CONST_IT_C_DEC&
- operator--()
- {
- dec(integral_constant<int,Is_Forward_Iterator>());
- return *this;
- }
-
- inline PB_DS_CONST_IT_C_DEC
- operator--(int)
- {
- PB_DS_CONST_IT_C_DEC ret_it(m_p_nd);
- operator--();
- return ret_it;
- }
-
- protected:
- inline void
- inc(false_type)
- { dec(true_type()); }
-
- void
- inc(true_type)
- {
- if (m_p_nd->m_type == pat_trie_head_node_type)
- {
- m_p_nd = static_cast<head_pointer>(m_p_nd)->m_p_min;
- return;
- }
-
- node_pointer p_y = m_p_nd->m_p_parent;
- while (p_y->m_type != pat_trie_head_node_type &&
- get_larger_sibling(m_p_nd) == NULL)
- {
- m_p_nd = p_y;
- p_y = p_y->m_p_parent;
- }
-
- if (p_y->m_type == pat_trie_head_node_type)
- {
- m_p_nd = p_y;
- return;
- }
- m_p_nd = leftmost_descendant(get_larger_sibling(m_p_nd));
- }
-
- inline void
- dec(false_type)
- { inc(true_type()); }
-
- void
- dec(true_type)
- {
- if (m_p_nd->m_type == pat_trie_head_node_type)
- {
- m_p_nd = static_cast<head_pointer>(m_p_nd)->m_p_max;
- return;
- }
-
- node_pointer p_y = m_p_nd->m_p_parent;
- while (p_y->m_type != pat_trie_head_node_type &&
- get_smaller_sibling(m_p_nd) == NULL)
- {
- m_p_nd = p_y;
- p_y = p_y->m_p_parent;
- }
-
- if (p_y->m_type == pat_trie_head_node_type)
- {
- m_p_nd = p_y;
- return;
- }
- m_p_nd = rightmost_descendant(get_smaller_sibling(m_p_nd));
- }
-
- inline static node_pointer
- get_larger_sibling(node_pointer p_nd)
- {
- internal_node_pointer p_parent =
- static_cast<internal_node_pointer>(p_nd->m_p_parent);
-
- typename Internal_Node::iterator it = p_parent->begin();
- while (*it != p_nd)
- ++it;
-
- typename Internal_Node::iterator next_it = it;
- ++next_it;
- return ((next_it == p_parent->end())? NULL :* next_it);
- }
-
- inline static node_pointer
- get_smaller_sibling(node_pointer p_nd)
- {
- internal_node_pointer p_parent =
- static_cast<internal_node_pointer>(p_nd->m_p_parent);
-
- typename Internal_Node::iterator it = p_parent->begin();
-
- if (*it == p_nd)
- return (NULL);
- typename Internal_Node::iterator prev_it;
- do
- {
- prev_it = it;
- ++it;
- if (*it == p_nd)
- return (*prev_it);
- }
- while (true);
-
- _GLIBCXX_DEBUG_ASSERT(false);
- return (NULL);
- }
-
- inline static leaf_pointer
- leftmost_descendant(node_pointer p_nd)
- {
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return static_cast<leaf_pointer>(p_nd);
- return static_cast<internal_node_pointer>(p_nd)->leftmost_descendant();
- }
-
- inline static leaf_pointer
- rightmost_descendant(node_pointer p_nd)
- {
- if (p_nd->m_type == pat_trie_leaf_node_type)
- return static_cast<leaf_pointer>(p_nd);
- return static_cast<internal_node_pointer>(p_nd)->rightmost_descendant();
- }
-
- public:
- node_pointer m_p_nd;
- };
-
- // Iterator.
- template<typename Type_Traits,
- class Node,
- class Leaf,
- class Head,
- class Internal_Node,
- bool Is_Forward_Iterator,
- class Allocator>
- class pat_trie_it_ :
- public PB_DS_CONST_IT_C_DEC
-
- {
- private:
- typedef
- typename Allocator::template rebind<
- Node>::other::pointer
- node_pointer;
-
- typedef
- typename Allocator::template rebind<
- Leaf>::other::const_pointer
- const_leaf_pointer;
-
- typedef
- typename Allocator::template rebind<
- Leaf>::other::pointer
- leaf_pointer;
-
- typedef
- typename Allocator::template rebind<
- Head>::other::pointer
- head_pointer;
-
- typedef
- typename Allocator::template rebind<
- Internal_Node>::other::pointer
- internal_node_pointer;
-
- public:
- typedef typename Type_Traits::value_type value_type;
-
- typedef typename Type_Traits::const_pointer const_pointer;
-
- typedef typename Type_Traits::pointer pointer;
-
- typedef typename Type_Traits::const_reference const_reference;
-
- typedef typename Type_Traits::reference reference;
-
- inline
- pat_trie_it_(node_pointer p_nd = NULL) : PB_DS_CONST_IT_C_DEC((node_pointer)p_nd)
- { }
-
- inline
- pat_trie_it_(const PB_DS_ODIR_IT_C_DEC& other) : PB_DS_CONST_IT_C_DEC(other.m_p_nd)
- { }
-
- inline
- PB_DS_IT_C_DEC&
- operator=(const PB_DS_IT_C_DEC& other)
- {
- base_it_type::m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline
- PB_DS_IT_C_DEC&
- operator=(const PB_DS_ODIR_IT_C_DEC& other)
- {
- base_it_type::m_p_nd = other.m_p_nd;
- return *this;
- }
-
- inline pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(base_it_type::m_p_nd->m_type == pat_trie_leaf_node_type);
-
- return &static_cast<leaf_pointer>(base_it_type::m_p_nd)->value();
- }
-
- inline reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(base_it_type::m_p_nd->m_type == pat_trie_leaf_node_type);
- return static_cast<leaf_pointer>(base_it_type::m_p_nd)->value();
- }
-
- inline PB_DS_IT_C_DEC&
- operator++()
- {
- PB_DS_CONST_IT_C_DEC::
- operator++();
- return *this;
- }
-
- inline PB_DS_IT_C_DEC
- operator++(int)
- {
- PB_DS_IT_C_DEC ret_it(base_it_type::m_p_nd);
- operator++();
- return ret_it;
- }
-
- inline PB_DS_IT_C_DEC&
- operator--()
- {
- PB_DS_CONST_IT_C_DEC::operator--();
- return *this;
- }
-
- inline PB_DS_IT_C_DEC
- operator--(int)
- {
- PB_DS_IT_C_DEC ret_it(base_it_type::m_p_nd);
- operator--();
- return ret_it;
- }
-
- protected:
- typedef PB_DS_CONST_IT_C_DEC base_it_type;
-
- friend class PB_DS_CLASS_C_DEC;
- };
-
-#undef PB_DS_CONST_IT_C_DEC
-#undef PB_DS_CONST_ODIR_IT_C_DEC
-#undef PB_DS_IT_C_DEC
-#undef PB_DS_ODIR_IT_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
deleted file mode 100644
index 7c6eb0f3de8e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+++ /dev/null
@@ -1,69 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file policy_access_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::e_access_traits&
-PB_DS_CLASS_C_DEC::
-get_e_access_traits()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const typename PB_DS_CLASS_C_DEC::e_access_traits&
-PB_DS_CLASS_C_DEC::
-get_e_access_traits() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_update&
-PB_DS_CLASS_C_DEC::
-get_node_update()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const typename PB_DS_CLASS_C_DEC::node_update&
-PB_DS_CLASS_C_DEC::
-get_node_update() const
-{ return *this; }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
deleted file mode 100644
index 63553ec92a4b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file r_erase_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-actual_erase_node(node_pointer p_z)
-{
- _GLIBCXX_DEBUG_ASSERT(m_size > 0);
- --m_size;
- _GLIBCXX_DEBUG_ONLY(erase_existing(PB_DS_V2F(p_z->m_value)));
- p_z->~node();
- s_node_allocator.deallocate(p_z, 1);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-update_min_max_for_erased_node(node_pointer p_z)
-{
- if (m_size == 1)
- {
- m_p_head->m_p_left = m_p_head->m_p_right = m_p_head;
- return;
- }
-
- if (m_p_head->m_p_left == p_z)
- {
- iterator it(p_z);
- ++it;
- m_p_head->m_p_left = it.m_p_nd;
- }
- else if (m_p_head->m_p_right == p_z)
- {
- iterator it(p_z);
- --it;
- m_p_head->m_p_right = it.m_p_nd;
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(true, true);)
- clear_imp(m_p_head->m_p_parent);
- m_size = 0;
- initialize();
- _GLIBCXX_DEBUG_ONLY(map_debug_base::clear();)
- _GLIBCXX_DEBUG_ONLY(assert_valid(true, true);)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear_imp(node_pointer p_nd)
-{
- if (p_nd == NULL)
- return;
- clear_imp(p_nd->m_p_left);
- clear_imp(p_nd->m_p_right);
- p_nd->~Node();
- s_node_allocator.deallocate(p_nd, 1);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
deleted file mode 100644
index 84e6fddc088f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file rotate_fn_imps.hpp
- * Contains imps for rotating nodes.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-rotate_left(node_pointer p_x)
-{
- node_pointer p_y = p_x->m_p_right;
- p_x->m_p_right = p_y->m_p_left;
-
- if (p_y->m_p_left != NULL)
- p_y->m_p_left->m_p_parent = p_x;
-
- p_y->m_p_parent = p_x->m_p_parent;
- if (p_x == m_p_head->m_p_parent)
- m_p_head->m_p_parent = p_y;
- else if (p_x == p_x->m_p_parent->m_p_left)
- p_x->m_p_parent->m_p_left = p_y;
- else
- p_x->m_p_parent->m_p_right = p_y;
-
- p_y->m_p_left = p_x;
- p_x->m_p_parent = p_y;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_x);)
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y);)
-
- apply_update(p_x, (Node_Update* )this);
- apply_update(p_x->m_p_parent, (Node_Update* )this);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-rotate_right(node_pointer p_x)
-{
- node_pointer p_y = p_x->m_p_left;
- p_x->m_p_left = p_y->m_p_right;
-
- if (p_y->m_p_right != NULL)
- p_y->m_p_right->m_p_parent = p_x;
-
- p_y->m_p_parent = p_x->m_p_parent;
- if (p_x == m_p_head->m_p_parent)
- m_p_head->m_p_parent = p_y;
- else if (p_x == p_x->m_p_parent->m_p_right)
- p_x->m_p_parent->m_p_right = p_y;
- else
- p_x->m_p_parent->m_p_left = p_y;
-
- p_y->m_p_right = p_x;
- p_x->m_p_parent = p_y;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_x);)
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y);)
-
- apply_update(p_x, (Node_Update* )this);
- apply_update(p_x->m_p_parent, (Node_Update* )this);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-rotate_parent(node_pointer p_nd)
-{
- node_pointer p_parent = p_nd->m_p_parent;
- if (p_nd == p_parent->m_p_left)
- rotate_right(p_parent);
- else
- rotate_left(p_parent);
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_parent = p_nd);
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_left == p_parent || p_nd->m_p_right == p_parent);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-apply_update(node_pointer /*p_nd*/, pb_ds::null_node_update* /*p_update*/)
-{ }
-
-PB_DS_CLASS_T_DEC
-template<typename Node_Update_>
-inline void
-PB_DS_CLASS_C_DEC::
-apply_update(node_pointer p_nd, Node_Update_* p_update)
-{
- p_update->operator()(& PB_DS_V2F(p_nd->m_value),(p_nd->m_p_left == NULL) ?
- NULL :
- & PB_DS_V2F(p_nd->m_p_left->m_value),(p_nd->m_p_right == NULL) ?
- NULL :
- & PB_DS_V2F(p_nd->m_p_right->m_value));
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Node_Update_>
-inline void
-PB_DS_CLASS_C_DEC::
-update_to_top(node_pointer p_nd, Node_Update_* p_update)
-{
- while (p_nd != m_p_head)
- {
- apply_update(p_nd, p_update);
- p_nd = p_nd->m_p_parent;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-update_to_top(node_pointer /*p_nd*/, pb_ds::null_node_update* /*p_update*/)
-{ }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
deleted file mode 100644
index ed5d890f6f2c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
+++ /dev/null
@@ -1,260 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_fn_imps.hpp
- * Contains an implementation class for bin_search_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-split(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
- split_join_branch_bag bag;
- leaf_pointer p_split_lf = split_prep(r_key, other, bag);
- if (p_split_lf == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(bag.empty());
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(!bag.empty());
- other.clear();
- m_p_head->m_p_parent = rec_split(m_p_head->m_p_parent,
- pref_begin(p_split_lf),
- pref_end(p_split_lf),
- other,
- bag);
-
- m_p_head->m_p_parent->m_p_parent = m_p_head;
-
- other.m_p_head->m_p_max = m_p_head->m_p_max;
- m_p_head->m_p_max = rightmost_descendant(m_p_head->m_p_parent);
- other.m_p_head->m_p_min =
- other.leftmost_descendant(other.m_p_head->m_p_parent);
-
- other.m_size = std::distance(other.PB_DS_CLASS_C_DEC::begin(),
- other.PB_DS_CLASS_C_DEC::end());
- m_size -= other.m_size;
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::leaf_pointer
-PB_DS_CLASS_C_DEC::
-split_prep(const_key_reference r_key, PB_DS_CLASS_C_DEC& other, split_join_branch_bag& r_bag)
-{
- _GLIBCXX_DEBUG_ASSERT(r_bag.empty());
- if (m_size == 0)
- {
- other.clear();
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
- return (NULL);
- }
-
- if (synth_e_access_traits::cmp_keys(r_key,
- PB_DS_V2F(static_cast<const_leaf_pointer>(m_p_head->m_p_min)->value())))
- {
- other.clear();
- value_swap(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
- return (NULL);
- }
-
- if (!synth_e_access_traits::cmp_keys(r_key,
- PB_DS_V2F(static_cast<const_leaf_pointer>(m_p_head->m_p_max)->value())))
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid(););
- _GLIBCXX_DEBUG_ONLY(other.assert_valid(););
- return (NULL);
- }
-
- iterator it = lower_bound(r_key);
-
- if (!synth_e_access_traits::equal_keys(PB_DS_V2F(*it), r_key))
- --it;
-
- node_pointer p_nd = it.m_p_nd;
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_leaf_node_type);
- leaf_pointer p_ret_l = static_cast<leaf_pointer>(p_nd);
- while (p_nd->m_type != pat_trie_head_node_type)
- {
- r_bag.add_branch();
- p_nd = p_nd->m_p_parent;
- }
- _GLIBCXX_DEBUG_ONLY(map_debug_base::split(r_key,(synth_e_access_traits& )(*this), other);)
-
- return (p_ret_l);
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-rec_split(node_pointer p_nd, const_e_iterator b_it, const_e_iterator e_it, PB_DS_CLASS_C_DEC& other, split_join_branch_bag& r_bag)
-{
- if (p_nd->m_type == pat_trie_leaf_node_type)
- {
- _GLIBCXX_DEBUG_ASSERT(other.m_p_head->m_p_parent == NULL);
- return (p_nd);
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_type == pat_trie_internal_node_type);
- internal_node_pointer p_internal_nd = static_cast<internal_node_pointer>(p_nd);
-
- node_pointer p_child_ret = rec_split(p_internal_nd->get_child_node(b_it, e_it, this), b_it, e_it, other, r_bag);
-
- _GLIBCXX_DEBUG_ONLY(p_child_ret->assert_valid(this);)
- p_internal_nd->replace_child(p_child_ret, b_it, e_it, this);
- apply_update(p_internal_nd, (node_update* )this);
-
- typename internal_node::iterator child_it =
- p_internal_nd->get_child_it(b_it, e_it, this);
-
- const size_type lhs_num_children =
- std::distance(p_internal_nd->begin(), child_it) + 1;
-
- _GLIBCXX_DEBUG_ASSERT(lhs_num_children > 0);
-
- size_type rhs_num_children =
- std::distance(p_internal_nd->begin(), p_internal_nd->end()) -
- lhs_num_children;
-
- if (rhs_num_children == 0)
- {
- apply_update(p_internal_nd, (node_update* )this);
- return (p_internal_nd);
- }
-
- ++child_it;
- other.split_insert_branch(p_internal_nd->get_e_ind(),
- b_it, child_it, rhs_num_children, r_bag);
-
- child_it = p_internal_nd->get_child_it(b_it, e_it, this);
- ++child_it;
- while (rhs_num_children != 0)
- {
- child_it = p_internal_nd->remove_child(child_it);
- --rhs_num_children;
- }
-
- apply_update(p_internal_nd, (node_update* )this);
- _GLIBCXX_DEBUG_ASSERT(std::distance(p_internal_nd->begin(),
- p_internal_nd->end()) >= 1);
-
- if (std::distance(p_internal_nd->begin(), p_internal_nd->end()) > 1)
- {
- p_internal_nd->update_prefixes(this);
- _GLIBCXX_DEBUG_ONLY(p_internal_nd->assert_valid(this);)
- apply_update(p_internal_nd, (node_update* )this);
- return (p_internal_nd);
- }
-
- node_pointer p_ret =* p_internal_nd->begin();
- p_internal_nd->~internal_node();
- s_internal_node_allocator.deallocate(p_internal_nd, 1);
- apply_update(p_ret, (node_update* )this);
- return (p_ret);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-split_insert_branch(size_type e_ind, const_e_iterator b_it, typename internal_node::iterator child_b_it, size_type num_children, split_join_branch_bag& r_bag)
-{
-#ifdef _GLIBCXX_DEBUG
- if (m_p_head->m_p_parent != NULL)
- m_p_head->m_p_parent->assert_valid(this);
-#endif
-
- const size_type total_num_children =((m_p_head->m_p_parent == NULL)? 0 : 1) + num_children;
-
- if (total_num_children == 0)
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_parent == NULL);
- return;
- }
-
- if (total_num_children == 1)
- {
- if (m_p_head->m_p_parent != NULL)
- {
- _GLIBCXX_DEBUG_ONLY(m_p_head->m_p_parent->assert_valid(this);)
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(m_p_head->m_p_parent == NULL);
- m_p_head->m_p_parent =* child_b_it;
- m_p_head->m_p_parent->m_p_parent = m_p_head;
- apply_update(m_p_head->m_p_parent, (node_update* )this);
- _GLIBCXX_DEBUG_ONLY(m_p_head->m_p_parent->assert_valid(this);)
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(total_num_children > 1);
- internal_node_pointer p_new_root = r_bag.get_branch();
- new (p_new_root) internal_node(e_ind, b_it);
- size_type num_inserted = 0;
- while (num_inserted++ < num_children)
- {
- _GLIBCXX_DEBUG_ONLY((*child_b_it)->assert_valid(this);)
- p_new_root->add_child(*child_b_it, pref_begin(*child_b_it),
- pref_end(*child_b_it), this);
- ++child_b_it;
- }
-
- if (m_p_head->m_p_parent != NULL)
- p_new_root->add_child(m_p_head->m_p_parent,
- pref_begin(m_p_head->m_p_parent),
- pref_end(m_p_head->m_p_parent), this);
-
- m_p_head->m_p_parent = p_new_root;
- p_new_root->m_p_parent = m_p_head;
- apply_update(m_p_head->m_p_parent, (node_update* )this);
- _GLIBCXX_DEBUG_ONLY(m_p_head->m_p_parent->assert_valid(this);)
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp
deleted file mode 100644
index bf04cb4ab7cb..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_branch_bag.hpp
- * Contains an implementation class for pat_trie_.
- */
-
-class split_join_branch_bag
-{
-private:
- typedef
- std::list<
- internal_node_pointer,
- typename Allocator::template rebind<
- internal_node_pointer>::other>
- bag_t;
-
-public:
-
- void
- add_branch()
- {
- internal_node_pointer p_nd = s_internal_node_allocator.allocate(1);
- try
- {
- m_bag.push_back(p_nd);
- }
- catch(...)
- {
- s_internal_node_allocator.deallocate(p_nd, 1);
- __throw_exception_again;
- }
- }
-
- internal_node_pointer
- get_branch()
- {
- _GLIBCXX_DEBUG_ASSERT(!m_bag.empty());
- internal_node_pointer p_nd =* m_bag.begin();
- m_bag.pop_front();
- return p_nd;
- }
-
- ~split_join_branch_bag()
- {
- while (!m_bag.empty())
- {
- internal_node_pointer p_nd =* m_bag.begin();
- s_internal_node_allocator.deallocate(p_nd, 1);
- m_bag.pop_front();
- }
- }
-
- inline bool
- empty() const
- { return m_bag.empty(); }
-
-private:
- bag_t m_bag;
-};
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp
deleted file mode 100644
index 79cd72cba2bd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp
+++ /dev/null
@@ -1,235 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file synth_e_access_traits.hpp
- * Contains an implementation class for a patricia tree.
- */
-
-#ifndef PB_DS_SYNTH_E_ACCESS_TRAITS_HPP
-#define PB_DS_SYNTH_E_ACCESS_TRAITS_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC \
- template<typename Type_Traits, bool Set, class E_Access_Traits>
-
-#define PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC \
- synth_e_access_traits< \
- Type_Traits, \
- Set, \
- E_Access_Traits>
-
- template<typename Type_Traits, bool Set, class E_Access_Traits>
- struct synth_e_access_traits : public E_Access_Traits
- {
-
- private:
- typedef E_Access_Traits base_type;
-
- typedef Type_Traits type_traits;
-
- typedef typename type_traits::const_key_reference const_key_reference;
-
- typedef typename type_traits::const_reference const_reference;
-
- public:
- synth_e_access_traits();
-
- synth_e_access_traits(const E_Access_Traits& r_traits);
-
- inline bool
- equal_prefixes(typename base_type::const_iterator b_l, typename base_type::const_iterator e_l, typename base_type::const_iterator b_r, typename base_type::const_iterator e_r, bool compare_after = true) const;
-
- bool
- equal_keys(const_key_reference r_lhs_key, const_key_reference r_rhs_key) const;
-
- bool
- cmp_prefixes(typename base_type::const_iterator b_l, typename base_type::const_iterator e_l, typename base_type::const_iterator b_r, typename base_type::const_iterator e_r, bool compare_after = false) const;
-
- bool
- cmp_keys(const_key_reference r_lhs_key, const_key_reference r_rhs_key) const;
-
- inline static const_key_reference
- extract_key(const_reference r_val);
-
-#ifdef _GLIBCXX_DEBUG
- bool
- operator()(const_key_reference r_lhs, const_key_reference r_rhs);
-#endif
-
- private:
- inline static const_key_reference
- extract_key(const_reference r_val, true_type);
-
- inline static const_key_reference
- extract_key(const_reference r_val, false_type);
-
- private:
- static integral_constant<int,Set> s_set_ind;
- };
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- integral_constant<int,Set>
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::s_set_ind;
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- synth_e_access_traits()
- { }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- synth_e_access_traits(const E_Access_Traits& r_traits) :
- E_Access_Traits(r_traits)
- { }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- inline bool
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- equal_prefixes(typename base_type::const_iterator b_l, typename base_type::const_iterator e_l, typename base_type::const_iterator b_r, typename base_type::const_iterator e_r, bool compare_after /*= false */) const
- {
- while (b_l != e_l)
- {
- if (b_r == e_r)
- return (false);
- if (base_type::e_pos(*b_l) != base_type::e_pos(*b_r))
- return (false);
- ++b_l;
- ++b_r;
- }
- return (!compare_after || b_r == e_r);
- }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- bool
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- equal_keys(const_key_reference r_lhs_key, const_key_reference r_rhs_key) const
- {
- return (equal_prefixes(base_type::begin(r_lhs_key),
- base_type::end(r_lhs_key),
- base_type::begin(r_rhs_key),
- base_type::end(r_rhs_key),
- true));
- }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- bool
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- cmp_prefixes(typename base_type::const_iterator b_l, typename base_type::const_iterator e_l, typename base_type::const_iterator b_r, typename base_type::const_iterator e_r, bool compare_after /* = false*/) const
- {
- while (b_l != e_l)
- {
- if (b_r == e_r)
- return (false);
- const typename base_type::size_type l_pos =
- base_type::e_pos(*b_l);
- const typename base_type::size_type r_pos =
- base_type::e_pos(*b_r);
- if (l_pos != r_pos)
- return (l_pos < r_pos);
- ++b_l;
- ++b_r;
- }
-
- if (!compare_after)
- return (false);
- return (b_r != e_r);
- }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- bool
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- cmp_keys(const_key_reference r_lhs_key, const_key_reference r_rhs_key) const
- {
- return (cmp_prefixes(base_type::begin(r_lhs_key),
- base_type::end(r_lhs_key),
- base_type::begin(r_rhs_key),
- base_type::end(r_rhs_key),
- true));
- }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- inline typename PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::const_key_reference
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- extract_key(const_reference r_val)
- {
- return (extract_key(r_val, s_set_ind));
- }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- inline typename PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::const_key_reference
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- extract_key(const_reference r_val, true_type)
- {
- return (r_val);
- }
-
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- inline typename PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::const_key_reference
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- extract_key(const_reference r_val, false_type)
- {
- return (r_val.first);
- }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
- bool
- PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC::
- operator()(const_key_reference r_lhs, const_key_reference r_rhs)
- {
- return (cmp_keys(r_lhs, r_rhs));
- }
-#endif
-
-#undef PB_DS_SYNTH_E_ACCESS_TRAITS_T_DEC
-#undef PB_DS_SYNTH_E_ACCESS_TRAITS_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
deleted file mode 100644
index cab28ca7707b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains an implementation class for pat_trie_.
- */
-
-#ifdef PB_DS_PAT_TRIE_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- std::cerr << std::endl;
- if (m_p_head->m_p_parent == NULL)
- return;
- trace_node(m_p_head->m_p_parent, 0);
- std::cerr << std::endl;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace_node(const_node_pointer p_nd, size_type level)
-{
- for (size_type i = 0; i < level; ++i)
- std::cerr << ' ';
- std::cerr << p_nd << " ";
- std::cerr << ((p_nd->m_type == pat_trie_leaf_node_type) ? "l " : "i ");
-
- trace_node_metadata(p_nd, type_to_type<typename node::metadata_type>());
- typename e_access_traits::const_iterator el_it = pref_begin(p_nd);
- while (el_it != pref_end(p_nd))
- {
- std::cerr <<* el_it;
- ++el_it;
- }
-
- if (p_nd->m_type == pat_trie_leaf_node_type)
- {
- std::cerr << std::endl;
- return;
- }
-
- const_internal_node_pointer p_internal =
- static_cast<const_internal_node_pointer>(p_nd);
-
- std::cerr << " " <<
- static_cast<unsigned long>(p_internal->get_e_ind()) << std::endl;
-
- const size_type num_children = std::distance(p_internal->begin(),
- p_internal->end());
-
- for (size_type child_i = 0; child_i < num_children; ++child_i)
- {
- typename internal_node::const_iterator child_it =
- p_internal->begin();
- std::advance(child_it, num_children - child_i - 1);
- trace_node(*child_it, level + 1);
- }
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Metadata_>
-void
-PB_DS_CLASS_C_DEC::
-trace_node_metadata(const_node_pointer p_nd, type_to_type<Metadata_>)
-{
- std::cerr << "(" << static_cast<unsigned long>(p_nd->get_metadata()) << ") ";
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace_node_metadata(const_node_pointer, type_to_type<null_node_metadata>)
-{ }
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/traits.hpp
deleted file mode 100644
index b10380937bc7..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/traits.hpp
+++ /dev/null
@@ -1,356 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file traits.hpp
- * Contains an implementation class for pat_trie_.
- */
-
-#ifndef PB_DS_PAT_TRIE_NODE_AND_IT_TRAITS_HPP
-#define PB_DS_PAT_TRIE_NODE_AND_IT_TRAITS_HPP
-
-#include <ext/pb_ds/detail/pat_trie_/node_base.hpp>
-#include <ext/pb_ds/detail/pat_trie_/head.hpp>
-#include <ext/pb_ds/detail/pat_trie_/leaf.hpp>
-#include <ext/pb_ds/detail/pat_trie_/internal_node.hpp>
-#include <ext/pb_ds/detail/pat_trie_/point_iterators.hpp>
-#include <ext/pb_ds/detail/pat_trie_/node_iterators.hpp>
-#include <ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Key,
- typename Mapped,
- class E_Access_Traits,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct trie_traits<
- Key,
- Mapped,
- E_Access_Traits,
- Node_Update,
- pat_trie_tag,
- Allocator>
- {
- private:
- typedef types_traits< Key, Mapped, Allocator, false> type_traits;
-
- public:
- typedef
- typename trie_node_metadata_selector<
- Key,
- Mapped,
- E_Access_Traits,
- Node_Update,
- Allocator>::type
- metadata_type;
-
- typedef E_Access_Traits e_access_traits;
-
- typedef
- synth_e_access_traits<
- type_traits,
- false,
- e_access_traits>
- synth_e_access_traits;
-
- typedef
- pat_trie_node_base<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- node;
-
- typedef
- pat_trie_leaf<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- leaf;
-
- typedef
- pat_trie_head<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- head;
-
- typedef
- pat_trie_internal_node<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- internal_node;
-
- typedef
- pat_trie_const_it_<
- type_traits,
- node,
- leaf,
- head,
- internal_node,
- true,
- Allocator>
- const_iterator;
-
- typedef
- pat_trie_it_<
- type_traits,
- node,
- leaf,
- head,
- internal_node,
- true,
- Allocator>
- iterator;
-
- typedef
- pat_trie_const_it_<
- type_traits,
- node,
- leaf,
- head,
- internal_node,
- false,
- Allocator>
- const_reverse_iterator;
-
- typedef
- pat_trie_it_<
- type_traits,
- node,
- leaf,
- head,
- internal_node,
- false,
- Allocator>
- reverse_iterator;
-
- typedef
- pat_trie_const_node_it_<
- node,
- leaf,
- head,
- internal_node,
- const_iterator,
- iterator,
- synth_e_access_traits,
- Allocator>
- const_node_iterator;
-
- typedef
- pat_trie_node_it_<
- node,
- leaf,
- head,
- internal_node,
- const_iterator,
- iterator,
- synth_e_access_traits,
- Allocator>
- node_iterator;
-
- typedef
- Node_Update<
- const_node_iterator,
- node_iterator,
- E_Access_Traits,
- Allocator>
- node_update;
-
- typedef
- pb_ds::null_trie_node_update<
- const_node_iterator,
- node_iterator,
- E_Access_Traits,
- Allocator>*
- null_node_update_pointer;
- };
-
- template<typename Key,
- class E_Access_Traits,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct trie_traits<
- Key,
- null_mapped_type,
- E_Access_Traits,
- Node_Update,
- pat_trie_tag,
- Allocator>
- {
- private:
- typedef
- types_traits<
- Key,
- null_mapped_type,
- Allocator,
- false>
- type_traits;
-
- public:
- typedef
- typename trie_node_metadata_selector<
- Key,
- null_mapped_type,
- E_Access_Traits,
- Node_Update,
- Allocator>::type
- metadata_type;
-
- typedef E_Access_Traits e_access_traits;
-
- typedef
- synth_e_access_traits<
- type_traits,
- true,
- e_access_traits>
- synth_e_access_traits;
-
- typedef
- pat_trie_node_base<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- node;
-
- typedef
- pat_trie_leaf<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- leaf;
-
- typedef
- pat_trie_head<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- head;
-
- typedef
- pat_trie_internal_node<
- type_traits,
- synth_e_access_traits,
- metadata_type,
- Allocator>
- internal_node;
-
- typedef
- pat_trie_const_it_<
- type_traits,
- node,
- leaf,
- head,
- internal_node,
- true,
- Allocator>
- const_iterator;
-
- typedef const_iterator iterator;
-
- typedef
- pat_trie_const_it_<
- type_traits,
- node,
- leaf,
- head,
- internal_node,
- false,
- Allocator>
- const_reverse_iterator;
-
- typedef const_reverse_iterator reverse_iterator;
-
- typedef
- pat_trie_const_node_it_<
- node,
- leaf,
- head,
- internal_node,
- const_iterator,
- iterator,
- synth_e_access_traits,
- Allocator>
- const_node_iterator;
-
- typedef const_node_iterator node_iterator;
-
- typedef
- Node_Update<
- const_node_iterator,
- node_iterator,
- E_Access_Traits,
- Allocator>
- node_update;
-
- typedef
- pb_ds::null_trie_node_update<
- const_node_iterator,
- const_node_iterator,
- E_Access_Traits,
- Allocator>*
- null_node_update_pointer;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_PAT_TRIE_NODE_AND_IT_TRAITS_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
deleted file mode 100644
index 445376e8c40d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file update_fn_imps.hpp
- * Contains an implementation class for pat_trie_.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-apply_update(node_pointer /*p_nd*/, null_node_update_pointer)
-{ }
-
-PB_DS_CLASS_T_DEC
-template<typename Node_Update_>
-inline void
-PB_DS_CLASS_C_DEC::
-apply_update(node_pointer p_nd, Node_Update_* /*p_update*/)
-{
- Node_Update_::operator()(node_iterator(p_nd, this),
- const_node_iterator(NULL, this));
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
deleted file mode 100644
index 67a705213d54..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
+++ /dev/null
@@ -1,97 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file priority_queue_base_dispatch.hpp
- * Contains an pqiative container dispatching base.
- */
-
-#ifndef PB_DS_PRIORITY_QUEUE_BASE_DS_DISPATCHER_HPP
-#define PB_DS_PRIORITY_QUEUE_BASE_DS_DISPATCHER_HPP
-
-#include <ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp>
-#include <ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp>
-#include <ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp>
-#include <ext/pb_ds/detail/binary_heap_/binary_heap_.hpp>
-#include <ext/pb_ds/detail/thin_heap_/thin_heap_.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Value_Type, typename Cmp_Fn, typename Tag, typename Allocator>
- struct priority_queue_base_dispatch;
-
- template<typename Value_Type, typename Cmp_Fn, typename Allocator>
- struct priority_queue_base_dispatch<Value_Type, Cmp_Fn, pairing_heap_tag, Allocator>
- {
- typedef pairing_heap_< Value_Type, Cmp_Fn, Allocator> type;
- };
-
- template<typename Value_Type, typename Cmp_Fn, typename Allocator>
- struct priority_queue_base_dispatch<Value_Type, Cmp_Fn, binomial_heap_tag, Allocator>
- {
- typedef binomial_heap_< Value_Type, Cmp_Fn, Allocator> type;
- };
-
- template<typename Value_Type, typename Cmp_Fn, typename Allocator>
- struct priority_queue_base_dispatch<Value_Type, Cmp_Fn, rc_binomial_heap_tag, Allocator>
- {
- typedef rc_binomial_heap_< Value_Type, Cmp_Fn, Allocator> type;
- };
-
- template<typename Value_Type, typename Cmp_Fn, typename Allocator>
- struct priority_queue_base_dispatch<Value_Type, Cmp_Fn, binary_heap_tag, Allocator>
- {
- typedef binary_heap_< Value_Type, Cmp_Fn, Allocator> type;
- };
-
- template<typename Value_Type, typename Cmp_Fn, typename Allocator>
- struct priority_queue_base_dispatch<Value_Type, Cmp_Fn, thin_heap_tag, Allocator>
- {
- typedef thin_heap_< Value_Type, Cmp_Fn, Allocator> type;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_PRIORITY_QUEUE_BASE_DS_DISPATCHER_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index c4a1bb8b77a3..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,106 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation for rb_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- insert(*(first_it++));
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME()
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn) :
- base_type(r_cmp_fn)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn, const node_update& r_node_update) :
- base_type(r_cmp_fn, r_node_update)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
- base_type(other)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- base_type::swap(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize()
-{ base_type::m_p_head->m_red = true; }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
deleted file mode 100644
index 08107ec7755e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation for rb_tree_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-assert_node_consistent(const node_pointer p_nd) const
-{
- if (p_nd == NULL)
- return 1;
-
- const size_type l_height = assert_node_consistent(p_nd->m_p_left);
- const size_type r_height = assert_node_consistent(p_nd->m_p_right);
- if (p_nd->m_red)
- {
- _GLIBCXX_DEBUG_ASSERT(is_effectively_black(p_nd->m_p_left));
- _GLIBCXX_DEBUG_ASSERT(is_effectively_black(p_nd->m_p_right));
- }
- _GLIBCXX_DEBUG_ASSERT(l_height == r_height);
- return (p_nd->m_red ? 0 : 1) + l_height;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- base_type::assert_valid();
- const node_pointer p_head = base_type::m_p_head;
- _GLIBCXX_DEBUG_ASSERT(p_head->m_red);
- if (p_head->m_p_parent != NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(!p_head->m_p_parent->m_red);
- assert_node_consistent(p_head->m_p_parent);
- }
-}
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
deleted file mode 100644
index 77b49907a0ae..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,295 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation for rb_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase(const_key_reference r_key)
-{
- point_iterator it = find(r_key);
- if (it == base_type::end())
- return false;
- erase(it);
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-erase(iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- if (it == base_type::end())
- return it;
-
- iterator ret_it = it;
- ++ret_it;
- erase_node(it.m_p_nd);
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::reverse_iterator
-PB_DS_CLASS_C_DEC::
-erase(reverse_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- if (it.m_p_nd == base_type::m_p_head)
- return it;
-
- reverse_iterator ret_it = it;
- ++ret_it;
- erase_node(it.m_p_nd);
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- size_type num_ersd = 0;
- iterator it = base_type::begin();
- while (it != base_type::end())
- {
- if (pred(*it))
- {
- ++num_ersd;
- it = erase(it);
- }
- else
- ++it;
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return num_ersd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_node(node_pointer p_nd)
-{
- remove_node(p_nd);
- base_type::actual_erase_node(p_nd);
- _GLIBCXX_DEBUG_ONLY(assert_valid());
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-remove_node(node_pointer p_z)
-{
- update_min_max_for_erased_node(p_z);
- node_pointer p_y = p_z;
- node_pointer p_x = NULL;
- node_pointer p_new_x_parent = NULL;
-
- if (p_y->m_p_left == NULL)
- p_x = p_y->m_p_right;
- else if (p_y->m_p_right == NULL)
- p_x = p_y->m_p_left;
- else
- {
- p_y = p_y->m_p_right;
- while (p_y->m_p_left != NULL)
- p_y = p_y->m_p_left;
- p_x = p_y->m_p_right;
- }
-
- if (p_y == p_z)
- {
- p_new_x_parent = p_y->m_p_parent;
- if (p_x != NULL)
- p_x->m_p_parent = p_y->m_p_parent;
-
- if (base_type::m_p_head->m_p_parent == p_z)
- base_type::m_p_head->m_p_parent = p_x;
- else if (p_z->m_p_parent->m_p_left == p_z)
- {
- p_y->m_p_left = p_z->m_p_parent;
- p_z->m_p_parent->m_p_left = p_x;
- }
- else
- {
- p_y->m_p_left = NULL;
- p_z->m_p_parent->m_p_right = p_x;
- }
- }
- else
- {
- p_z->m_p_left->m_p_parent = p_y;
- p_y->m_p_left = p_z->m_p_left;
- if (p_y != p_z->m_p_right)
- {
- p_new_x_parent = p_y->m_p_parent;
- if (p_x != NULL)
- p_x->m_p_parent = p_y->m_p_parent;
- p_y->m_p_parent->m_p_left = p_x;
- p_y->m_p_right = p_z->m_p_right;
- p_z->m_p_right->m_p_parent = p_y;
- }
- else
- p_new_x_parent = p_y;
-
- if (base_type::m_p_head->m_p_parent == p_z)
- base_type::m_p_head->m_p_parent = p_y;
- else if (p_z->m_p_parent->m_p_left == p_z)
- p_z->m_p_parent->m_p_left = p_y;
- else
- p_z->m_p_parent->m_p_right = p_y;
-
- p_y->m_p_parent = p_z->m_p_parent;
- std::swap(p_y->m_red, p_z->m_red);
- p_y = p_z;
- }
-
- update_to_top(p_new_x_parent, (node_update* )this);
-
- if (p_y->m_red)
- return;
-
- remove_fixup(p_x, p_new_x_parent);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-remove_fixup(node_pointer p_x, node_pointer p_new_x_parent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_x == NULL || p_x->m_p_parent == p_new_x_parent);
-
- while (p_x != base_type::m_p_head->m_p_parent && is_effectively_black(p_x))
- if (p_x == p_new_x_parent->m_p_left)
- {
- node_pointer p_w = p_new_x_parent->m_p_right;
- if (p_w->m_red)
- {
- p_w->m_red = false;
- p_new_x_parent->m_red = true;
- base_type::rotate_left(p_new_x_parent);
- p_w = p_new_x_parent->m_p_right;
- }
-
- if (is_effectively_black(p_w->m_p_left)
- && is_effectively_black(p_w->m_p_right))
- {
- p_w->m_red = true;
- p_x = p_new_x_parent;
- p_new_x_parent = p_new_x_parent->m_p_parent;
- }
- else
- {
- if (is_effectively_black(p_w->m_p_right))
- {
- if (p_w->m_p_left != NULL)
- p_w->m_p_left->m_red = false;
-
- p_w->m_red = true;
- base_type::rotate_right(p_w);
- p_w = p_new_x_parent->m_p_right;
- }
-
- p_w->m_red = p_new_x_parent->m_red;
- p_new_x_parent->m_red = false;
-
- if (p_w->m_p_right != NULL)
- p_w->m_p_right->m_red = false;
-
- base_type::rotate_left(p_new_x_parent);
- update_to_top(p_new_x_parent, (node_update* )this);
- break;
- }
- }
- else
- {
- node_pointer p_w = p_new_x_parent->m_p_left;
- if (p_w->m_red == true)
- {
- p_w->m_red = false;
- p_new_x_parent->m_red = true;
- base_type::rotate_right(p_new_x_parent);
- p_w = p_new_x_parent->m_p_left;
- }
-
- if (is_effectively_black(p_w->m_p_right)
- && is_effectively_black(p_w->m_p_left))
- {
- p_w->m_red = true;
- p_x = p_new_x_parent;
- p_new_x_parent = p_new_x_parent->m_p_parent;
- }
- else
- {
- if (is_effectively_black(p_w->m_p_left))
- {
- if (p_w->m_p_right != NULL)
- p_w->m_p_right->m_red = false;
-
- p_w->m_red = true;
- base_type::rotate_left(p_w);
- p_w = p_new_x_parent->m_p_left;
- }
-
- p_w->m_red = p_new_x_parent->m_red;
- p_new_x_parent->m_red = false;
-
- if (p_w->m_p_left != NULL)
- p_w->m_p_left->m_red = false;
-
- base_type::rotate_right(p_new_x_parent);
- update_to_top(p_new_x_parent, (node_update* )this);
- break;
- }
- }
-
- if (p_x != NULL)
- p_x->m_red = false;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
deleted file mode 100644
index 25938ae47a80..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation for rb_tree_.
- */
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
deleted file mode 100644
index 7b65baac4ffe..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains an implementation for rb_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-is_effectively_black(const node_pointer p_nd)
-{ return (p_nd == NULL || !p_nd->m_red); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
deleted file mode 100644
index 3bc7ce1f3ef2..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation for rb_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert(const_reference r_value)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- std::pair<point_iterator, bool> ins_pair = base_type::insert_leaf(r_value);
- if (ins_pair.second == true)
- {
- ins_pair.first.m_p_nd->m_red = true;
- _GLIBCXX_DEBUG_ONLY(this->structure_only_assert_valid();)
- insert_fixup(ins_pair.first.m_p_nd);
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return ins_pair;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-insert_fixup(node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_red == true);
- while (p_nd != base_type::m_p_head->m_p_parent && p_nd->m_p_parent->m_red)
- {
- if (p_nd->m_p_parent == p_nd->m_p_parent->m_p_parent->m_p_left)
- {
- node_pointer p_y = p_nd->m_p_parent->m_p_parent->m_p_right;
- if (p_y != NULL && p_y->m_red)
- {
- p_nd->m_p_parent->m_red = false;
- p_y->m_red = false;
- p_nd->m_p_parent->m_p_parent->m_red = true;
- p_nd = p_nd->m_p_parent->m_p_parent;
- }
- else
- {
- if (p_nd == p_nd->m_p_parent->m_p_right)
- {
- p_nd = p_nd->m_p_parent;
- base_type::rotate_left(p_nd);
- }
- p_nd->m_p_parent->m_red = false;
- p_nd->m_p_parent->m_p_parent->m_red = true;
- base_type::rotate_right(p_nd->m_p_parent->m_p_parent);
- }
- }
- else
- {
- node_pointer p_y = p_nd->m_p_parent->m_p_parent->m_p_left;
- if (p_y != NULL && p_y->m_red)
- {
- p_nd->m_p_parent->m_red = false;
- p_y->m_red = false;
- p_nd->m_p_parent->m_p_parent->m_red = true;
- p_nd = p_nd->m_p_parent->m_p_parent;
- }
- else
- {
- if (p_nd == p_nd->m_p_parent->m_p_left)
- {
- p_nd = p_nd->m_p_parent;
- base_type::rotate_right(p_nd);
- }
- p_nd->m_p_parent->m_red = false;
- p_nd->m_p_parent->m_p_parent->m_red = true;
- base_type::rotate_left(p_nd->m_p_parent->m_p_parent);
- }
- }
- }
-
- base_type::update_to_top(p_nd, (node_update* )this);
- base_type::m_p_head->m_p_parent->m_red = false;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/node.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/node.hpp
deleted file mode 100644
index 164f965a551a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/node.hpp
+++ /dev/null
@@ -1,144 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node.hpp
- * Contains an implementation for rb_tree_.
- */
-
-#ifndef PB_DS_RB_TREE_NODE_HPP
-#define PB_DS_RB_TREE_NODE_HPP
-
-#include <ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Value_Type, class Metadata, class Allocator>
- struct rb_tree_node_
- {
- public:
- typedef Value_Type value_type;
- typedef Metadata metadata_type;
-
- typedef
- typename Allocator::template rebind<
- rb_tree_node_<
- Value_Type,
- Metadata,
- Allocator> >::other::pointer
- node_pointer;
-
- typedef
- typename Allocator::template rebind<
- metadata_type>::other::reference
- metadata_reference;
-
- typedef
- typename Allocator::template rebind<
- metadata_type>::other::const_reference
- const_metadata_reference;
-
- inline bool
- special() const
- { return m_red; }
-
- inline const_metadata_reference
- get_metadata() const
- { return m_metadata; }
-
- inline metadata_reference
- get_metadata()
- { return m_metadata; }
-
-#ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
- void
- trace() const
- {
- std::cout << PB_DS_V2F(m_value) <<(m_red? " <r> " : " <b> ")
- << "(" << m_metadata << ")";
- }
-#endif
-
- node_pointer m_p_left;
- node_pointer m_p_right;
- node_pointer m_p_parent;
- value_type m_value;
- bool m_red;
- metadata_type m_metadata;
- };
-
- template<typename Value_Type, class Allocator>
- struct rb_tree_node_<Value_Type, null_node_metadata, Allocator>
- {
- public:
- typedef Value_Type value_type;
- typedef null_node_metadata metadata_type;
-
- typedef
- typename Allocator::template rebind<
- rb_tree_node_<
- Value_Type,
- null_node_metadata,
- Allocator> >::other::pointer
- node_pointer;
-
- inline bool
- special() const
- { return m_red; }
-
-#ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
- void
- trace() const
- { std::cout << PB_DS_V2F(m_value) <<(m_red? " <r> " : " <b> "); }
-#endif
-
- node_pointer m_p_left;
- node_pointer m_p_right;
- node_pointer m_p_parent;
- value_type m_value;
- bool m_red;
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
deleted file mode 100644
index d08b2db69ae8..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
+++ /dev/null
@@ -1,286 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file rb_tree_.hpp
- * Contains an implementation for rb_tree_.
- */
-/*
- * This implementation uses an idea from the SGI STL (using a "header" node
- * which is needed for efficient iteration).
- */
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#ifndef PB_DS_BIN_SEARCH_TREE_HPP__DATA_TRUE_INDICATOR
-#define PB_DS_BIN_SEARCH_TREE_HPP__DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp>
-#endif
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#ifndef PB_DS_BIN_SEARCH_TREE_HPP__DATA_FALSE_INDICATOR
-#define PB_DS_BIN_SEARCH_TREE_HPP__DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp>
-#endif
-#endif
-
-#include <ext/pb_ds/detail/standard_policies.hpp>
-#include <ext/pb_ds/detail/basic_types.hpp>
-#include <utility>
-#include <vector>
-#include <assert.h>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, typename Cmp_Fn, \
- typename Node_And_It_Traits, typename Allocator>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CLASS_NAME rb_tree_data_
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_BASE_CLASS_NAME bin_search_tree_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_CLASS_NAME rb_tree_no_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_BASE_CLASS_NAME bin_search_tree_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_CLASS_NAME<Key, Mapped, Cmp_Fn, Node_And_It_Traits, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- PB_DS_BASE_CLASS_NAME<Key, Mapped, Cmp_Fn, Node_And_It_Traits, Allocator>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#define PB_DS_EP2VP(X)& ((X)->m_value)
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped_Data()
-#define PB_DS_EP2VP(X)& ((X)->m_value.first)
-#endif
-
- template<typename Key,
- typename Mapped,
- typename Cmp_Fn,
- typename Node_And_It_Traits,
- typename Allocator>
- class PB_DS_CLASS_NAME : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
- typedef typename base_type::node_pointer node_pointer;
-
- public:
- typedef Cmp_Fn cmp_fn;
- typedef Allocator allocator;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
- typedef typename base_type::key_type key_type;
- typedef typename base_type::key_pointer key_pointer;
- typedef typename base_type::const_key_pointer const_key_pointer;
- typedef typename base_type::key_reference key_reference;
- typedef typename base_type::const_key_reference const_key_reference;
- typedef typename base_type::mapped_type mapped_type;
- typedef typename base_type::mapped_pointer mapped_pointer;
- typedef typename base_type::const_mapped_pointer const_mapped_pointer;
- typedef typename base_type::mapped_reference mapped_reference;
- typedef typename base_type::const_mapped_reference const_mapped_reference;
- typedef typename base_type::value_type value_type;
- typedef typename base_type::pointer pointer;
- typedef typename base_type::const_pointer const_pointer;
- typedef typename base_type::reference reference;
- typedef typename base_type::const_reference const_reference;
- typedef typename base_type::point_iterator point_iterator;
- typedef typename base_type::const_iterator const_point_iterator;
- typedef typename base_type::iterator iterator;
- typedef typename base_type::const_iterator const_iterator;
- typedef typename base_type::reverse_iterator reverse_iterator;
- typedef typename base_type::const_reverse_iterator const_reverse_iterator;
- typedef typename base_type::node_update node_update;
-
-
- PB_DS_CLASS_NAME();
-
- PB_DS_CLASS_NAME(const Cmp_Fn&);
-
- PB_DS_CLASS_NAME(const Cmp_Fn&, const node_update&);
-
- PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- template<typename It>
- void
- copy_from_range(It, It);
-
- inline std::pair<point_iterator, bool>
- insert(const_reference);
-
- inline mapped_reference
- operator[](const_key_reference r_key)
- {
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- std::pair<point_iterator, bool> ins_pair =
- base_type::insert_leaf(value_type(r_key, mapped_type()));
-
- if (ins_pair.second == true)
- {
- ins_pair.first.m_p_nd->m_red = true;
- _GLIBCXX_DEBUG_ONLY(this->structure_only_assert_valid();)
- insert_fixup(ins_pair.first.m_p_nd);
- }
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return ins_pair.first.m_p_nd->m_value.second;
-#else
- insert(r_key);
- return base_type::s_null_mapped;
-#endif
- }
-
- inline bool
- erase(const_key_reference);
-
- inline iterator
- erase(iterator);
-
- inline reverse_iterator
- erase(reverse_iterator);
-
- template<typename Pred>
- inline size_type
- erase_if(Pred);
-
- void
- join(PB_DS_CLASS_C_DEC&);
-
- void
- split(const_key_reference, PB_DS_CLASS_C_DEC&);
-
- protected:
-
- private:
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-
- size_type
- assert_node_consistent(const node_pointer) const;
-#endif
-
- inline static bool
- is_effectively_black(const node_pointer);
-
- void
- initialize();
-
- void
- insert_fixup(node_pointer);
-
- void
- erase_node(node_pointer);
-
- void
- remove_node(node_pointer);
-
- void
- remove_fixup(node_pointer, node_pointer);
-
- void
- split_imp(node_pointer, PB_DS_CLASS_C_DEC&);
-
- inline node_pointer
- split_min();
-
- std::pair<node_pointer, node_pointer>
- split_min_imp();
-
- void
- join_imp(node_pointer, node_pointer);
-
- std::pair<node_pointer, node_pointer>
- find_join_pos_right(node_pointer, size_type, size_type);
-
- std::pair<node_pointer, node_pointer>
- find_join_pos_left(node_pointer, size_type, size_type);
-
- inline size_type
- black_height(node_pointer);
-
- void
- split_at_node(node_pointer, PB_DS_CLASS_C_DEC&);
- };
-
-#include <ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp>
-#include <ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_NAME
-#undef PB_DS_BASE_CLASS_NAME
-#undef PB_DS_BASE_C_DEC
-#undef PB_DS_V2F
-#undef PB_DS_EP2VP
-#undef PB_DS_V2S
-
- } // namespace detail
-} // namespace pb_ds
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
deleted file mode 100644
index 94b5ac39ff18..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,319 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation for rb_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.base_type::assert_valid();)
- if (base_type::join_prep(other) == false)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return;
- }
-
- const node_pointer p_x = other.split_min();
- join_imp(p_x, other.m_p_head->m_p_parent);
- base_type::join_finish(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(base_type::assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.base_type::assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-join_imp(node_pointer p_x, node_pointer p_r)
-{
- _GLIBCXX_DEBUG_ASSERT(p_x != NULL);
- if (p_r != NULL)
- p_r->m_red = false;
-
- const size_type h = black_height(base_type::m_p_head->m_p_parent);
- const size_type other_h = black_height(p_r);
- node_pointer p_x_l;
- node_pointer p_x_r;
- std::pair<node_pointer, node_pointer> join_pos;
- const bool right_join = h >= other_h;
- if (right_join)
- {
- join_pos = find_join_pos_right(base_type::m_p_head->m_p_parent,
- h, other_h);
- p_x_l = join_pos.first;
- p_x_r = p_r;
- }
- else
- {
- p_x_l = base_type::m_p_head->m_p_parent;
- base_type::m_p_head->m_p_parent = p_r;
- if (p_r != NULL)
- p_r->m_p_parent = base_type::m_p_head;
-
- join_pos = find_join_pos_left(base_type::m_p_head->m_p_parent,
- h, other_h);
- p_x_r = join_pos.first;
- }
-
- node_pointer p_parent = join_pos.second;
- if (p_parent == base_type::m_p_head)
- {
- base_type::m_p_head->m_p_parent = p_x;
- p_x->m_p_parent = base_type::m_p_head;
- }
- else
- {
- p_x->m_p_parent = p_parent;
- if (right_join)
- p_x->m_p_parent->m_p_right = p_x;
- else
- p_x->m_p_parent->m_p_left = p_x;
- }
-
- p_x->m_p_left = p_x_l;
- if (p_x_l != NULL)
- p_x_l->m_p_parent = p_x;
-
- p_x->m_p_right = p_x_r;
- if (p_x_r != NULL)
- p_x_r->m_p_parent = p_x;
-
- p_x->m_red = true;
-
- base_type::initialize_min_max();
- _GLIBCXX_DEBUG_ONLY(base_type::structure_only_assert_valid();)
- base_type::update_to_top(p_x, (node_update* )this);
- insert_fixup(p_x);
- _GLIBCXX_DEBUG_ONLY(base_type::structure_only_assert_valid());
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-split_min()
-{
- node_pointer p_min = base_type::m_p_head->m_p_left;
-
-#ifdef _GLIBCXX_DEBUG
- const node_pointer p_head = base_type::m_p_head;
- _GLIBCXX_DEBUG_ASSERT(p_min != p_head);
-#endif
-
- remove_node(p_min);
- return p_min;
-}
-
-PB_DS_CLASS_T_DEC
-std::pair<
- typename PB_DS_CLASS_C_DEC::node_pointer,
- typename PB_DS_CLASS_C_DEC::node_pointer>
-PB_DS_CLASS_C_DEC::
-find_join_pos_right(node_pointer p_l, size_type h_l, size_type h_r)
-{
- _GLIBCXX_DEBUG_ASSERT(h_l >= h_r);
-
- if (base_type::m_p_head->m_p_parent == NULL)
- return (std::make_pair((node_pointer)NULL, base_type::m_p_head));
-
- node_pointer p_l_parent = base_type::m_p_head;
- while (h_l > h_r)
- {
- if (p_l->m_red == false)
- {
- _GLIBCXX_DEBUG_ASSERT(h_l > 0);
- --h_l;
- }
-
- p_l_parent = p_l;
- p_l = p_l->m_p_right;
- }
-
- if (!is_effectively_black(p_l))
- {
- p_l_parent = p_l;
- p_l = p_l->m_p_right;
- }
-
- _GLIBCXX_DEBUG_ASSERT(is_effectively_black(p_l));
- _GLIBCXX_DEBUG_ASSERT(black_height(p_l) == h_r);
- _GLIBCXX_DEBUG_ASSERT(p_l == NULL || p_l->m_p_parent == p_l_parent);
- return std::make_pair(p_l, p_l_parent);
-}
-
-PB_DS_CLASS_T_DEC
-std::pair<
- typename PB_DS_CLASS_C_DEC::node_pointer,
- typename PB_DS_CLASS_C_DEC::node_pointer>
-PB_DS_CLASS_C_DEC::
-find_join_pos_left(node_pointer p_r, size_type h_l, size_type h_r)
-{
- _GLIBCXX_DEBUG_ASSERT(h_r > h_l);
- if (base_type::m_p_head->m_p_parent == NULL)
- return (std::make_pair((node_pointer)NULL,
- base_type::m_p_head));
- node_pointer p_r_parent = base_type::m_p_head;
- while (h_r > h_l)
- {
- if (p_r->m_red == false)
- {
- _GLIBCXX_DEBUG_ASSERT(h_r > 0);
- --h_r;
- }
-
- p_r_parent = p_r;
- p_r = p_r->m_p_left;
- }
-
- if (!is_effectively_black(p_r))
- {
- p_r_parent = p_r;
- p_r = p_r->m_p_left;
- }
-
- _GLIBCXX_DEBUG_ASSERT(is_effectively_black(p_r));
- _GLIBCXX_DEBUG_ASSERT(black_height(p_r) == h_l);
- _GLIBCXX_DEBUG_ASSERT(p_r == NULL || p_r->m_p_parent == p_r_parent);
- return std::make_pair(p_r, p_r_parent);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-black_height(node_pointer p_nd)
-{
- size_type h = 1;
- while (p_nd != NULL)
- {
- if (p_nd->m_red == false)
- ++h;
- p_nd = p_nd->m_p_left;
- }
- return h;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-split(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(base_type::assert_valid();)
-
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.base_type::assert_valid();)
-
- if (base_type::split_prep(r_key, other) == false)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
- return;
- }
-
- _GLIBCXX_DEBUG_ONLY(base_type::structure_only_assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.base_type::structure_only_assert_valid();)
- node_pointer p_nd = upper_bound(r_key).m_p_nd;
- do
- {
- node_pointer p_next_nd = p_nd->m_p_parent;
- if (Cmp_Fn::operator()(r_key, PB_DS_V2F(p_nd->m_value)))
- split_at_node(p_nd, other);
-
- _GLIBCXX_DEBUG_ONLY(base_type::structure_only_assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.base_type::structure_only_assert_valid();)
- p_nd = p_next_nd;
- }
- while (p_nd != base_type::m_p_head);
-
- base_type::split_finish(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-split_at_node(node_pointer p_nd, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
-
- node_pointer p_l = p_nd->m_p_left;
- node_pointer p_r = p_nd->m_p_right;
- node_pointer p_parent = p_nd->m_p_parent;
- if (p_parent == base_type::m_p_head)
- {
- base_type::m_p_head->m_p_parent = p_l;
- if (p_l != NULL)
- {
- p_l->m_p_parent = base_type::m_p_head;
- p_l->m_red = false;
- }
- }
- else
- {
- if (p_parent->m_p_left == p_nd)
- p_parent->m_p_left = p_l;
- else
- p_parent->m_p_right = p_l;
-
- if (p_l != NULL)
- p_l->m_p_parent = p_parent;
-
- update_to_top(p_parent, (node_update* )this);
-
- if (!p_nd->m_red)
- remove_fixup(p_l, p_parent);
- }
-
- base_type::initialize_min_max();
- other.join_imp(p_nd, p_r);
- _GLIBCXX_DEBUG_ONLY(base_type::structure_only_assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.base_type::structure_only_assert_valid());
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
deleted file mode 100644
index 67570d842048..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rb_tree_map_/traits.hpp
+++ /dev/null
@@ -1,130 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file traits.hpp
- * Contains an implementation for rb_tree_.
- */
-
-#ifndef PB_DS_RB_TREE_NODE_AND_IT_TRAITS_HPP
-#define PB_DS_RB_TREE_NODE_AND_IT_TRAITS_HPP
-
-#include <ext/pb_ds/detail/rb_tree_map_/node.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key,
- typename Mapped,
- typename Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- typename Allocator>
- struct tree_traits<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- rb_tree_tag,
- Allocator> : public bin_search_tree_traits<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- rb_tree_node_<
- typename types_traits<
- Key,
- Mapped,
- Allocator,
- false>::value_type,
- typename tree_node_metadata_selector<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- Allocator>::type,
- Allocator>,
- Allocator>
- { };
-
- template<typename Key,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct tree_traits<
- Key,
- null_mapped_type,
- Cmp_Fn,
- Node_Update,
- rb_tree_tag,
- Allocator> : public bin_search_tree_traits<
- Key,
- null_mapped_type,
- Cmp_Fn,
- Node_Update,
- rb_tree_node_<
- typename types_traits<
- Key,
- null_mapped_type,
- Allocator,
- false>::value_type,
- typename tree_node_metadata_selector<
- Key,
- null_mapped_type,
- Cmp_Fn,
- Node_Update,
- Allocator>::type,
- Allocator>,
- Allocator>
- { };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 8b439c805e9c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,94 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation for rc_binomial_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-rc_binomial_heap_()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-rc_binomial_heap_(const Cmp_Fn& r_cmp_fn) :
- PB_DS_BASE_C_DEC(r_cmp_fn)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-rc_binomial_heap_(const PB_DS_CLASS_C_DEC& other) :
- PB_DS_BASE_C_DEC(other)
-{
- make_binomial_heap();
-
- base_type::find_max();
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~rc_binomial_heap_()
-{ }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- base_type::swap(other);
-
- m_rc.swap(other.m_rc);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
deleted file mode 100644
index e621cb58ca90..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,127 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation for rc_binomial_heap_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- base_type::assert_valid(false);
- if (!base_type::empty())
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_max != NULL);
- base_type::assert_max();
- }
-
- m_rc.assert_valid();
-
- if (m_rc.empty())
- {
- base_type::assert_valid(true);
- _GLIBCXX_DEBUG_ASSERT(next_2_pointer(base_type::m_p_root) == NULL);
- return;
- }
-
- const_node_pointer p_nd = next_2_pointer(base_type::m_p_root);
- typename rc_t::const_iterator it = m_rc.end();
- --it;
-
- while (p_nd != NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(*it == p_nd);
- const_node_pointer p_next = p_nd->m_p_next_sibling;
- _GLIBCXX_DEBUG_ASSERT(p_next != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata == p_next->m_metadata);
- _GLIBCXX_DEBUG_ASSERT(p_next->m_p_next_sibling == NULL ||
- p_next->m_metadata < p_next->m_p_next_sibling->m_metadata);
-
- --it;
- p_nd = next_2_pointer(next_after_0_pointer(p_nd));
- }
- _GLIBCXX_DEBUG_ASSERT(it + 1 == m_rc.begin());
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::const_node_pointer
-PB_DS_CLASS_C_DEC::
-next_2_pointer(const_node_pointer p_nd)
-{
- if (p_nd == NULL)
- return NULL;
-
- node_pointer p_next = p_nd->m_p_next_sibling;
-
- if (p_next == NULL)
- return NULL;
-
- if (p_nd->m_metadata == p_next->m_metadata)
- return p_nd;
-
- return next_2_pointer(p_next);
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::const_node_pointer
-PB_DS_CLASS_C_DEC::
-next_after_0_pointer(const_node_pointer p_nd)
-{
- if (p_nd == NULL)
- return NULL;
-
- node_pointer p_next = p_nd->m_p_next_sibling;
-
- if (p_next == NULL)
- return NULL;
-
- if (p_nd->m_metadata < p_next->m_metadata)
- return p_next;
-
- return next_after_0_pointer(p_next);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
deleted file mode 100644
index b38141cc6cb3..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,113 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation for rc_binomial_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-pop()
-{
- make_binomial_heap();
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
- base_type::pop();
- base_type::find_max();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- base_type::clear();
- m_rc.clear();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-make_binomial_heap()
-{
- node_pointer p_nd = base_type::m_p_root;
- while (p_nd != NULL)
- {
- node_pointer p_next = p_nd->m_p_next_sibling;
- if (p_next == NULL)
- p_nd = p_next;
- else if (p_nd->m_metadata == p_next->m_metadata)
- p_nd = link_with_next_sibling(p_nd);
- else if (p_nd->m_metadata < p_next->m_metadata)
- p_nd = p_next;
-#ifdef _GLIBCXX_DEBUG
- else
- _GLIBCXX_DEBUG_ASSERT(0);
-#endif
- }
-
- m_rc.clear();
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- make_binomial_heap();
- const size_type ersd = base_type::erase_if(pred);
- base_type::find_max();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return ersd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase(point_iterator it)
-{
- make_binomial_heap();
- base_type::erase(it);
- base_type::find_max();
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
deleted file mode 100644
index c0f0d01f7465..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,160 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation for rc_binomial_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-push(const_reference r_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- make_0_exposed();
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- node_pointer p_nd = base_type::get_new_node_for_insert(r_val);
-
- p_nd->m_p_l_child = p_nd->m_p_prev_or_parent = NULL;
- p_nd->m_metadata = 0;
-
- if (base_type::m_p_max == NULL || Cmp_Fn::operator()(base_type::m_p_max->m_value, r_val))
- base_type::m_p_max = p_nd;
-
- p_nd->m_p_next_sibling = base_type::m_p_root;
-
- if (base_type::m_p_root != NULL)
- base_type::m_p_root->m_p_prev_or_parent = p_nd;
-
- base_type::m_p_root = p_nd;
-
- if (p_nd->m_p_next_sibling != NULL&& p_nd->m_p_next_sibling->m_metadata == 0)
- m_rc.push(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return point_iterator(p_nd);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-modify(point_iterator it, const_reference r_new_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- make_binomial_heap();
-
- base_type::modify(it, r_new_val);
-
- base_type::find_max();
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-link_with_next_sibling(node_pointer p_nd)
-{
- node_pointer p_next = p_nd->m_p_next_sibling;
-
- _GLIBCXX_DEBUG_ASSERT(p_next != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_next->m_p_prev_or_parent == p_nd);
-
- if (Cmp_Fn::operator()(p_nd->m_value, p_next->m_value))
- {
- p_next->m_p_prev_or_parent = p_nd->m_p_prev_or_parent;
-
- if (p_next->m_p_prev_or_parent == NULL)
- base_type::m_p_root = p_next;
- else
- p_next->m_p_prev_or_parent->m_p_next_sibling = p_next;
-
- if (base_type::m_p_max == p_nd)
- base_type::m_p_max = p_next;
-
- base_type::make_child_of(p_nd, p_next);
-
- ++p_next->m_metadata;
-
- return p_next;
- }
-
- p_nd->m_p_next_sibling = p_next->m_p_next_sibling;
-
- if (p_nd->m_p_next_sibling != NULL)
- p_nd->m_p_next_sibling->m_p_prev_or_parent = p_nd;
-
- if (base_type::m_p_max == p_next)
- base_type::m_p_max = p_nd;
-
- base_type::make_child_of(p_next, p_nd);
-
- ++p_nd->m_metadata;
-
- return p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-make_0_exposed()
-{
- if (m_rc.empty())
- return;
-
- node_pointer p_nd = m_rc.top();
-
- m_rc.pop();
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_next_sibling != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata == p_nd->m_p_next_sibling->m_metadata);
-
- node_pointer p_res = link_with_next_sibling(p_nd);
-
- if (p_res->m_p_next_sibling != NULL&& p_res->m_metadata == p_res->m_p_next_sibling->m_metadata)
- m_rc.push(p_res);
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
deleted file mode 100644
index dc7869ca7a7d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
+++ /dev/null
@@ -1,268 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file rc.hpp
- * Contains a redundant (binary counter).
- */
-
-#ifndef PB_DS_RC_HPP
-#define PB_DS_RC_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Node, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- rc<Node, Allocator>
-
- template<typename Node, class Allocator>
- class rc
- {
- private:
- typedef Allocator allocator;
-
- typedef typename allocator::size_type size_type;
-
- typedef Node node;
-
- typedef
- typename allocator::template rebind<
- node>::other::pointer
- node_pointer;
-
- typedef
- typename allocator::template rebind<
- node_pointer>::other::pointer
- entry_pointer;
-
- typedef
- typename allocator::template rebind<
- node_pointer>::other::const_pointer
- const_entry_pointer;
-
- enum
- {
- max_entries = sizeof(size_type) << 3
- };
-
- public:
- typedef node_pointer entry;
-
- typedef const_entry_pointer const_iterator;
-
- public:
- rc();
-
- rc(const PB_DS_CLASS_C_DEC& other);
-
- inline void
- swap(PB_DS_CLASS_C_DEC& other);
-
- inline void
- push(entry p_nd);
-
- inline node_pointer
- top() const;
-
- inline void
- pop();
-
- inline bool
- empty() const;
-
- inline size_type
- size() const;
-
- void
- clear();
-
- const const_iterator
- begin() const;
-
- const const_iterator
- end() const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
-#ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
- void
- trace() const;
-#endif
-
- private:
- node_pointer m_a_entries[max_entries];
-
- size_type m_over_top;
- };
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- rc() : m_over_top(0)
- { _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
- PB_DS_CLASS_T_DEC
- PB_DS_CLASS_C_DEC::
- rc(const PB_DS_CLASS_C_DEC& other) : m_over_top(0)
- { _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- swap(PB_DS_CLASS_C_DEC& other)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- const size_type over_top = std::max(m_over_top, other.m_over_top);
-
- for (size_type i = 0; i < over_top; ++i)
- std::swap(m_a_entries[i], other.m_a_entries[i]);
-
- std::swap(m_over_top, other.m_over_top);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- push(entry p_nd)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(m_over_top < max_entries);
- m_a_entries[m_over_top++] = p_nd;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline void
- PB_DS_CLASS_C_DEC::
- pop()
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!empty());
- --m_over_top;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::node_pointer
- PB_DS_CLASS_C_DEC::
- top() const
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!empty());
- return *(m_a_entries + m_over_top - 1);
- }
-
- PB_DS_CLASS_T_DEC
- inline bool
- PB_DS_CLASS_C_DEC::
- empty() const
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return m_over_top == 0;
- }
-
- PB_DS_CLASS_T_DEC
- inline typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- size() const
- { return m_over_top; }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- clear()
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- m_over_top = 0;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
- PB_DS_CLASS_T_DEC
- const typename PB_DS_CLASS_C_DEC::const_iterator
- PB_DS_CLASS_C_DEC::
- begin() const
- { return& m_a_entries[0]; }
-
- PB_DS_CLASS_T_DEC
- const typename PB_DS_CLASS_C_DEC::const_iterator
- PB_DS_CLASS_C_DEC::
- end() const
- { return& m_a_entries[m_over_top]; }
-
-#ifdef _GLIBCXX_DEBUG
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- assert_valid() const
- { _GLIBCXX_DEBUG_ASSERT(m_over_top < max_entries); }
-#endif
-
-#ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- trace() const
- {
- std::cout << "rc" << std::endl;
- for (size_type i = 0; i < m_over_top; ++i)
- std::cerr << m_a_entries[i] << std::endl;
- std::cout << std::endl;
- }
-#endif
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-} // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
deleted file mode 100644
index 42417ed82fe1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
+++ /dev/null
@@ -1,204 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file rc_binomial_heap_.hpp
- * Contains an implementation for rc_binomial_heap_.
- */
-
-/*
- * Redundant-counter binomial heap.
- */
-
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp>
-#include <ext/pb_ds/detail/rc_binomial_heap_/rc.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Value_Type, class Cmp_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- rc_binomial_heap_<Value_Type, Cmp_Fn, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- binomial_heap_base_<Value_Type, Cmp_Fn, Allocator>
-
-#define PB_DS_RC_C_DEC \
- rc<typename PB_DS_BASE_C_DEC::node, Allocator>
-
- /**
- * class description = "8y|\|0|\/|i41 h34p 74813">
- **/
- template<typename Value_Type, class Cmp_Fn, class Allocator>
- class rc_binomial_heap_ : public PB_DS_BASE_C_DEC
- {
-
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- typedef typename base_type::node_pointer node_pointer;
-
- typedef typename base_type::const_node_pointer const_node_pointer;
-
- typedef PB_DS_RC_C_DEC rc_t;
-
- public:
-
- typedef typename Allocator::size_type size_type;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef Value_Type value_type;
-
- typedef typename base_type::pointer pointer;
-
- typedef typename base_type::const_pointer const_pointer;
-
- typedef typename base_type::reference reference;
-
- typedef typename base_type::const_reference const_reference;
-
- typedef typename base_type::const_point_iterator const_point_iterator;
-
- typedef typename base_type::point_iterator point_iterator;
-
- typedef typename base_type::const_iterator const_iterator;
-
- typedef typename base_type::iterator iterator;
-
- typedef typename base_type::cmp_fn cmp_fn;
-
- typedef typename base_type::allocator allocator;
-
- public:
-
- rc_binomial_heap_();
-
- rc_binomial_heap_(const Cmp_Fn& r_cmp_fn);
-
- rc_binomial_heap_(const PB_DS_CLASS_C_DEC& other);
-
- ~rc_binomial_heap_();
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- inline point_iterator
- push(const_reference r_val);
-
- void
- modify(point_iterator it, const_reference r_new_val);
-
- inline void
- pop();
-
- void
- erase(point_iterator it);
-
- inline void
- clear();
-
- template<typename Pred>
- size_type
- erase_if(Pred pred);
-
- template<typename Pred>
- void
- split(Pred pred, PB_DS_CLASS_C_DEC& other);
-
- void
- join(PB_DS_CLASS_C_DEC& other);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
-#ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
- void
- trace() const;
-#endif
-
- private:
-
- inline node_pointer
- link_with_next_sibling(node_pointer p_nd);
-
- void
- make_0_exposed();
-
- void
- make_binomial_heap();
-
-#ifdef _GLIBCXX_DEBUG
- static const_node_pointer
- next_2_pointer(const_node_pointer p_nd);
-
- static const_node_pointer
- next_after_0_pointer(const_node_pointer p_nd);
-#endif
-
- private:
- rc_t m_rc;
- };
-
-#include <ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp>
-#include <ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_BASE_C_DEC
-
-#undef PB_DS_RC_C_DEC
- } // namespace detail
-} // namespace pb_ds
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
deleted file mode 100644
index 356732b4e0ae..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,87 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation for rc_binomial_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-void
-PB_DS_CLASS_C_DEC::
-split(Pred pred, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- make_binomial_heap();
- other.make_binomial_heap();
-
- base_type::split(pred, other);
-
- base_type::find_max();
- other.find_max();
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- make_binomial_heap();
- other.make_binomial_heap();
-
- base_type::join(other);
-
- base_type::find_max();
- other.find_max();
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
deleted file mode 100644
index 48c2e526c4b9..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains an implementation for rc_binomial_heap_.
- */
-
-#ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- base_type::trace();
-
- m_rc.trace();
-}
-
-#endif // #ifdef PB_DS_RC_BINOMIAL_HEAP_TRACE_
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
deleted file mode 100644
index c10f7b6cc593..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
+++ /dev/null
@@ -1,221 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file cc_hash_max_collision_check_resize_trigger_imp.hpp
- * Contains a resize trigger implementation.
- */
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-cc_hash_max_collision_check_resize_trigger(float load) :
- m_load(load),
- m_size(0),
- m_num_col(0),
- m_max_col(0),
- m_resize_needed(false)
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_start()
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_collision()
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_end()
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_start()
-{ m_num_col = 0; }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_collision()
-{ ++m_num_col; }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_end()
-{ calc_resize_needed(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_start()
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_collision()
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_end()
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_inserted(size_type)
-{ }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erased(size_type)
-{ m_resize_needed = true; }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_cleared()
-{ m_resize_needed = false; }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-is_resize_needed() const
-{ return m_resize_needed; }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-is_grow_needed(size_type /*size*/, size_type /*num_used_e*/) const
-{ return m_num_col >= m_max_col; }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_resized(size_type new_size)
-{
- m_size = new_size;
-
-#ifdef PB_DS_HT_MAP_RESIZE_TRACE_
- std::cerr << "chmccrt::notify_resized "
- << static_cast<unsigned long>(new_size) << std::endl;
-#endif
-
- calc_max_num_coll();
- calc_resize_needed();
- m_num_col = 0;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-calc_max_num_coll()
-{
- // max_col <-- \sqrt{2 load \ln( 2 m \ln( m ) ) }
- const double ln_arg = 2 * m_size * ::log(double(m_size));
- m_max_col = size_type(::ceil(::sqrt(2 * m_load * ::log(ln_arg))));
-
-#ifdef PB_DS_HT_MAP_RESIZE_TRACE_
- std::cerr << "chmccrt::calc_max_num_coll "
- << static_cast<unsigned long>(m_size) << " "
- << static_cast<unsigned long>(m_max_col) << std::endl;
-#endif
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_externally_resized(size_type new_size)
-{ notify_resized(new_size); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- std::swap(m_load, other.m_load);
- std::swap(m_size, other.m_size);
- std::swap(m_num_col, other.m_num_col);
- std::swap(m_max_col, other.m_max_col);
- std::swap(m_resize_needed, other.m_resize_needed);
-}
-
-PB_DS_CLASS_T_DEC
-inline float
-PB_DS_CLASS_C_DEC::
-get_load() const
-{
- PB_DS_STATIC_ASSERT(access, external_load_access);
- return m_load;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-calc_resize_needed()
-{ m_resize_needed = m_resize_needed || m_num_col >= m_max_col; }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-set_load(float load)
-{
- PB_DS_STATIC_ASSERT(access, external_load_access);
- m_load = load;
- calc_max_num_coll();
- calc_resize_needed();
-}
-
-#undef PB_DS_STATIC_ASSERT
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
deleted file mode 100644
index 51cfc457c7d6..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file hash_exponential_size_policy_imp.hpp
- * Contains a resize size policy implementation.
- */
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-hash_exponential_size_policy(size_type start_size, size_type grow_factor) :
- m_start_size(start_size),
- m_grow_factor(grow_factor)
-{ }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- std::swap(m_start_size, other.m_start_size);
- std::swap(m_grow_factor, other.m_grow_factor);
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-get_nearest_larger_size(size_type size) const
-{
- size_type ret = m_start_size;
- while (ret <= size)
- {
- const size_type next_ret = ret* m_grow_factor;
- if (next_ret < ret)
- __throw_insert_error();
- ret = next_ret;
- }
- return ret;
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-get_nearest_smaller_size(size_type size) const
-{
- size_type ret = m_start_size;
- while (true)
- {
- const size_type next_ret = ret* m_grow_factor;
- if (next_ret < ret)
- __throw_resize_error();
- if (next_ret >= size)
- return (ret);
- ret = next_ret;
- }
- return ret;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
deleted file mode 100644
index f3c597f93408..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+++ /dev/null
@@ -1,300 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file hash_load_check_resize_trigger_imp.hpp
- * Contains a resize trigger implementation.
- */
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef detail::static_assert_dumclass<sizeof(detail::static_assert<bool(E)>)> UNIQUE##static_assert_type
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-hash_load_check_resize_trigger(float load_min, float load_max)
-: m_load_min(load_min), m_load_max(load_max), m_next_shrink_size(0),
- m_next_grow_size(0), m_resize_needed(false)
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_start()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_collision()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_end()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_start()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_collision()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_end()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_start()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_collision()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_end()
-{ _GLIBCXX_DEBUG_ONLY(assert_valid();) }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_inserted(size_type num_entries)
-{
- m_resize_needed = (num_entries >= m_next_grow_size);
- size_base::set_size(num_entries);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erased(size_type num_entries)
-{
- size_base::set_size(num_entries);
- m_resize_needed = num_entries <= m_next_shrink_size;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-is_resize_needed() const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return m_resize_needed;
-}
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-is_grow_needed(size_type /*size*/, size_type num_entries) const
-{
- _GLIBCXX_DEBUG_ASSERT(m_resize_needed);
- return num_entries >= m_next_grow_size;
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~hash_load_check_resize_trigger() { }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_resized(size_type new_size)
-{
- m_resize_needed = false;
- m_next_grow_size = size_type(m_load_max * new_size - 1);
- m_next_shrink_size = size_type(m_load_min * new_size);
-
-#ifdef PB_DS_HT_MAP_RESIZE_TRACE_
- std::cerr << "hlcrt::notify_resized " <<
- static_cast<unsigned long>(new_size) << " " <<
- static_cast<unsigned long>(m_load_min) << " " <<
- static_cast<unsigned long>(m_load_max) << " " <<
- static_cast<unsigned long>(m_next_shrink_size) << " " <<
- static_cast<unsigned long>(m_next_grow_size) << " " << std::endl;
-#endif
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_externally_resized(size_type new_size)
-{
- m_resize_needed = false;
- size_type new_grow_size = size_type(m_load_max * new_size - 1);
- size_type new_shrink_size = size_type(m_load_min * new_size );
- if (new_grow_size >= m_next_grow_size)
- {
- _GLIBCXX_DEBUG_ASSERT(new_shrink_size > m_next_shrink_size);
- m_next_grow_size = new_grow_size;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
-#ifdef PB_DS_HT_MAP_RESIZE_TRACE_
- std::cerr << "hlcrt::notify_externally_resized1 " <<
- static_cast<unsigned long>(new_size) << " " <<
- static_cast<unsigned long>(m_load_min) << " " <<
- static_cast<unsigned long>(m_load_max) << " " <<
- static_cast<unsigned long>(m_next_shrink_size) << " " <<
- static_cast<unsigned long>(m_next_grow_size) << " " << std::endl;
-#endif
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(new_shrink_size <= m_next_shrink_size);
- m_next_shrink_size = new_shrink_size;
-
-#ifdef PB_DS_HT_MAP_RESIZE_TRACE_
- std::cerr << "hlcrt::notify_externally_resized2 " <<
- static_cast<unsigned long>(new_size) << " " <<
- static_cast<unsigned long>(m_load_min) << " " <<
- static_cast<unsigned long>(m_load_max) << " " <<
- static_cast<unsigned long>(m_next_shrink_size) << " " <<
- static_cast<unsigned long>(m_next_grow_size) << " " << std::endl;
-#endif
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_cleared()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- size_base::set_size(0);
- m_resize_needed = (0 < m_next_shrink_size);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- size_base::swap(other);
- std::swap(m_load_min, other.m_load_min);
- std::swap(m_load_max, other.m_load_max);
- std::swap(m_resize_needed, other.m_resize_needed);
- std::swap(m_next_grow_size, other.m_next_grow_size);
- std::swap(m_next_shrink_size, other.m_next_shrink_size);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-inline std::pair<float, float>
-PB_DS_CLASS_C_DEC::
-get_loads() const
-{
- PB_DS_STATIC_ASSERT(access, external_load_access);
- return std::make_pair(m_load_min, m_load_max);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-set_loads(std::pair<float, float> load_pair)
-{
- PB_DS_STATIC_ASSERT(access, external_load_access);
- const float old_load_min = m_load_min;
- const float old_load_max = m_load_max;
- const size_type old_next_shrink_size = m_next_shrink_size;
- const size_type old_next_grow_size = m_next_grow_size;
- const bool old_resize_needed = m_resize_needed;
-
- try
- {
- m_load_min = load_pair.first;
- m_load_max = load_pair.second;
- do_resize(static_cast<size_type>(size_base::get_size() / ((m_load_min + m_load_max) / 2)));
- }
- catch (...)
- {
- m_load_min = old_load_min;
- m_load_max = old_load_max;
- m_next_shrink_size = old_next_shrink_size;
- m_next_grow_size = old_next_grow_size;
- m_resize_needed = old_resize_needed;
- __throw_exception_again;
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-do_resize(size_type)
-{ abort(); }
-
-#ifdef _GLIBCXX_DEBUG
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- _GLIBCXX_DEBUG_ASSERT(m_load_max > m_load_min);
- _GLIBCXX_DEBUG_ASSERT(m_next_grow_size >= m_next_shrink_size);
-}
-#endif
-
-#undef PB_DS_STATIC_ASSERT
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
deleted file mode 100644
index 436de797d6ff..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file hash_load_check_resize_trigger_size_base.hpp
- * Contains an base holding size for some resize policies.
- */
-
-#ifndef PB_DS_HASH_LOAD_CHECK_RESIZE_TRIGGER_SIZE_BASE_HPP
-#define PB_DS_HASH_LOAD_CHECK_RESIZE_TRIGGER_SIZE_BASE_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
- // Primary template.
- template<typename Size_Type, bool Hold_Size>
- class hash_load_check_resize_trigger_size_base;
-
- // Specializations.
- template<typename Size_Type>
- class hash_load_check_resize_trigger_size_base<Size_Type, true>
- {
- protected:
- typedef Size_Type size_type;
-
- hash_load_check_resize_trigger_size_base(): m_size(0)
- { }
-
- inline void
- swap(hash_load_check_resize_trigger_size_base& other)
- { std::swap(m_size, other.m_size); }
-
- inline void
- set_size(size_type size)
- { m_size = size; }
-
- inline size_type
- get_size() const
- { return m_size; }
-
- private:
- size_type m_size;
- };
-
- template<typename Size_Type>
- class hash_load_check_resize_trigger_size_base<Size_Type, false>
- {
- protected:
- typedef Size_Type size_type;
-
- protected:
- inline void
- swap(hash_load_check_resize_trigger_size_base& other) { }
-
- inline void
- set_size(size_type size) { }
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
deleted file mode 100644
index 3328c9158ac2..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file hash_prime_size_policy_imp.hpp
- * Contains a resize size policy implementation.
- */
-
-namespace detail
-{
- enum
- {
- num_distinct_sizes_32_bit = 30,
- num_distinct_sizes_64_bit = 62,
- num_distinct_sizes = sizeof(std::size_t) != 8 ?
- num_distinct_sizes_32_bit : num_distinct_sizes_64_bit,
- };
-
- // Originally taken from the SGI implementation; acknowledged in the docs.
- // Further modified (for 64 bits) from tr1's hashtable.
- static const std::size_t g_a_sizes[num_distinct_sizes_64_bit] =
- {
- /* 0 */ 5ul,
- /* 1 */ 11ul,
- /* 2 */ 23ul,
- /* 3 */ 47ul,
- /* 4 */ 97ul,
- /* 5 */ 199ul,
- /* 6 */ 409ul,
- /* 7 */ 823ul,
- /* 8 */ 1741ul,
- /* 9 */ 3469ul,
- /* 10 */ 6949ul,
- /* 11 */ 14033ul,
- /* 12 */ 28411ul,
- /* 13 */ 57557ul,
- /* 14 */ 116731ul,
- /* 15 */ 236897ul,
- /* 16 */ 480881ul,
- /* 17 */ 976369ul,
- /* 18 */ 1982627ul,
- /* 19 */ 4026031ul,
- /* 20 */ 8175383ul,
- /* 21 */ 16601593ul,
- /* 22 */ 33712729ul,
- /* 23 */ 68460391ul,
- /* 24 */ 139022417ul,
- /* 25 */ 282312799ul,
- /* 26 */ 573292817ul,
- /* 27 */ 1164186217ul,
- /* 28 */ 2364114217ul,
- /* 29 */ 4294967291ul,
- /* 30 */ (std::size_t)8589934583ull,
- /* 31 */ (std::size_t)17179869143ull,
- /* 32 */ (std::size_t)34359738337ull,
- /* 33 */ (std::size_t)68719476731ull,
- /* 34 */ (std::size_t)137438953447ull,
- /* 35 */ (std::size_t)274877906899ull,
- /* 36 */ (std::size_t)549755813881ull,
- /* 37 */ (std::size_t)1099511627689ull,
- /* 38 */ (std::size_t)2199023255531ull,
- /* 39 */ (std::size_t)4398046511093ull,
- /* 40 */ (std::size_t)8796093022151ull,
- /* 41 */ (std::size_t)17592186044399ull,
- /* 42 */ (std::size_t)35184372088777ull,
- /* 43 */ (std::size_t)70368744177643ull,
- /* 44 */ (std::size_t)140737488355213ull,
- /* 45 */ (std::size_t)281474976710597ull,
- /* 46 */ (std::size_t)562949953421231ull,
- /* 47 */ (std::size_t)1125899906842597ull,
- /* 48 */ (std::size_t)2251799813685119ull,
- /* 49 */ (std::size_t)4503599627370449ull,
- /* 50 */ (std::size_t)9007199254740881ull,
- /* 51 */ (std::size_t)18014398509481951ull,
- /* 52 */ (std::size_t)36028797018963913ull,
- /* 53 */ (std::size_t)72057594037927931ull,
- /* 54 */ (std::size_t)144115188075855859ull,
- /* 55 */ (std::size_t)288230376151711717ull,
- /* 56 */ (std::size_t)576460752303423433ull,
- /* 57 */ (std::size_t)1152921504606846883ull,
- /* 58 */ (std::size_t)2305843009213693951ull,
- /* 59 */ (std::size_t)4611686018427387847ull,
- /* 60 */ (std::size_t)9223372036854775783ull,
- /* 61 */ (std::size_t)18446744073709551557ull,
- };
-
-} // namespace detail
-
-PB_DS_CLASS_T_DEC
-inline
-PB_DS_CLASS_C_DEC::
-hash_prime_size_policy(size_type n) : m_start_size(n)
-{ m_start_size = get_nearest_larger_size(n); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{ std::swap(m_start_size, other.m_start_size); }
-
-PB_DS_CLASS_T_DEC
-inline PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-get_nearest_larger_size(size_type n) const
-{
- const std::size_t* const p_upper = std::upper_bound(detail::g_a_sizes,
- detail::g_a_sizes + detail::num_distinct_sizes, n);
-
- if (p_upper == detail::g_a_sizes + detail::num_distinct_sizes)
- __throw_resize_error();
- return *p_upper;
-}
-
-PB_DS_CLASS_T_DEC
-inline PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-get_nearest_smaller_size(size_type n) const
-{
- const size_t* p_lower = std::lower_bound(detail::g_a_sizes,
- detail::g_a_sizes + detail::num_distinct_sizes, n);
-
- if (*p_lower >= n && p_lower != detail::g_a_sizes)
- --p_lower;
- if (*p_lower < m_start_size)
- return m_start_size;
- return *p_lower;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
deleted file mode 100644
index b8489915c843..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+++ /dev/null
@@ -1,260 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file hash_standard_resize_policy_imp.hpp
- * Contains a resize policy implementation.
- */
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef detail::static_assert_dumclass<sizeof(detail::static_assert<(bool)(E)>)> UNIQUE##static_assert_type
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-hash_standard_resize_policy()
-: m_size(Size_Policy::get_nearest_larger_size(1))
-{ trigger_policy_base::notify_externally_resized(m_size); }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-hash_standard_resize_policy(const Size_Policy& r_size_policy)
-: Size_Policy(r_size_policy), m_size(Size_Policy::get_nearest_larger_size(1))
-{ trigger_policy_base::notify_externally_resized(m_size); }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-hash_standard_resize_policy(const Size_Policy& r_size_policy,
- const Trigger_Policy& r_trigger_policy)
-: Size_Policy(r_size_policy), Trigger_Policy(r_trigger_policy),
- m_size(Size_Policy::get_nearest_larger_size(1))
-{ trigger_policy_base::notify_externally_resized(m_size); }
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~hash_standard_resize_policy()
-{ }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- trigger_policy_base::swap(other);
- size_policy_base::swap(other);
- std::swap(m_size, other.m_size);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_start()
-{ trigger_policy_base::notify_find_search_start(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_collision()
-{ trigger_policy_base::notify_find_search_collision(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_find_search_end()
-{ trigger_policy_base::notify_find_search_end(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_start()
-{ trigger_policy_base::notify_insert_search_start(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_collision()
-{ trigger_policy_base::notify_insert_search_collision(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_insert_search_end()
-{ trigger_policy_base::notify_insert_search_end(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_start()
-{ trigger_policy_base::notify_erase_search_start(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_collision()
-{ trigger_policy_base::notify_erase_search_collision(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erase_search_end()
-{ trigger_policy_base::notify_erase_search_end(); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_inserted(size_type num_e)
-{ trigger_policy_base::notify_inserted(num_e); }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-notify_erased(size_type num_e)
-{ trigger_policy_base::notify_erased(num_e); }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_cleared()
-{ trigger_policy_base::notify_cleared(); }
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-is_resize_needed() const
-{ return trigger_policy_base::is_resize_needed(); }
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-get_new_size(size_type size, size_type num_used_e) const
-{
- if (trigger_policy_base::is_grow_needed(size, num_used_e))
- return size_policy_base::get_nearest_larger_size(size);
- return size_policy_base::get_nearest_smaller_size(size);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-notify_resized(size_type new_size)
-{
- trigger_policy_base::notify_resized(new_size);
- m_size = new_size;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-get_actual_size() const
-{
- PB_DS_STATIC_ASSERT(access, external_size_access);
- return m_size;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-resize(size_type new_size)
-{
- PB_DS_STATIC_ASSERT(access, external_size_access);
- size_type actual_size = size_policy_base::get_nearest_larger_size(1);
- while (actual_size < new_size)
- {
- const size_type pot = size_policy_base::get_nearest_larger_size(actual_size);
-
- if (pot == actual_size && pot < new_size)
- __throw_resize_error();
- actual_size = pot;
- }
-
- if (actual_size > 0)
- --actual_size;
-
- const size_type old_size = m_size;
- try
- {
- do_resize(actual_size - 1);
- }
- catch(insert_error& )
- {
- m_size = old_size;
- __throw_resize_error();
- }
- catch(...)
- {
- m_size = old_size;
- __throw_exception_again;
- }
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-do_resize(size_type)
-{
- // Do nothing
-}
-
-PB_DS_CLASS_T_DEC
-Trigger_Policy&
-PB_DS_CLASS_C_DEC::
-get_trigger_policy()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Trigger_Policy&
-PB_DS_CLASS_C_DEC::
-get_trigger_policy() const
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-Size_Policy&
-PB_DS_CLASS_C_DEC::
-get_size_policy()
-{ return *this; }
-
-PB_DS_CLASS_T_DEC
-const Size_Policy&
-PB_DS_CLASS_C_DEC::
-get_size_policy() const
-{ return *this; }
-
-#undef PB_DS_STATIC_ASSERT
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
deleted file mode 100644
index cf7b1fb727ce..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_resize_policy.hpp
- * Contains a sample resize policy for hash tables.
- */
-
-#ifndef PB_DS_SAMPLE_RESIZE_POLICY_HPP
-#define PB_DS_SAMPLE_RESIZE_POLICY_HPP
-
-// A sample resize policy.
-class sample_resize_policy
-{
-public:
-
- // Size type.
- typedef size_t size_type;
-
- // Default constructor.
- sample_resize_policy();
-
- // Copy constructor.
- sample_range_hashing(const sample_resize_policy& other);
-
- // Swaps content.
- inline void
- swap(sample_resize_policy& other);
-
-protected:
-
- // Notifies a search started.
- inline void
- notify_insert_search_start();
-
- // Notifies a search encountered a collision.
- inline void
- notify_insert_search_collision();
-
- // Notifies a search ended.
- inline void
- notify_insert_search_end();
-
- // Notifies a search started.
- inline void
- notify_find_search_start();
-
- // Notifies a search encountered a collision.
- inline void
- notify_find_search_collision();
-
- // Notifies a search ended.
- inline void
- notify_find_search_end();
-
- // Notifies a search started.
- inline void
- notify_erase_search_start();
-
- // Notifies a search encountered a collision.
- inline void
- notify_erase_search_collision();
-
- // Notifies a search ended.
- inline void
- notify_erase_search_end();
-
- // Notifies an element was inserted.
- inline void
- notify_inserted(size_type num_e);
-
- // Notifies an element was erased.
- inline void
- notify_erased(size_type num_e);
-
- // Notifies the table was cleared.
- void
- notify_cleared();
-
- // Notifies the table was resized to new_size.
- void
- notify_resized(size_type new_size);
-
- // Queries whether a resize is needed.
- inline bool
- is_resize_needed() const;
-
- // Queries what the new size should be.
- size_type
- get_new_size(size_type size, size_type num_used_e) const;
-};
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
deleted file mode 100644
index db07fbbc7e0f..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+++ /dev/null
@@ -1,145 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_resize_trigger.hpp
- * Contains a sample resize trigger policy class.
- */
-
-#ifndef PB_DS_SAMPLE_RESIZE_TRIGGER_HPP
-#define PB_DS_SAMPLE_RESIZE_TRIGGER_HPP
-
-// A sample resize trigger policy.
-class sample_resize_trigger
-{
-public:
-
- // Size type.
- typedef size_t size_type;
-
- // Default constructor.
- sample_resize_trigger();
-
- // Copy constructor.
- sample_range_hashing(const sample_resize_trigger& other);
-
- // Swaps content.
- inline void
- swap(sample_resize_trigger& other);
-
-protected:
-
- // Notifies a search started.
- inline void
- notify_insert_search_start();
-
- // Notifies a search encountered a collision.
- inline void
- notify_insert_search_collision();
-
- // Notifies a search ended.
- inline void
- notify_insert_search_end();
-
- // Notifies a search started.
- inline void
- notify_find_search_start();
-
- // Notifies a search encountered a collision.
- inline void
- notify_find_search_collision();
-
- // Notifies a search ended.
- inline void
- notify_find_search_end();
-
- // Notifies a search started.
- inline void
- notify_erase_search_start();
-
- // Notifies a search encountered a collision.
- inline void
- notify_erase_search_collision();
-
- // Notifies a search ended.
- inline void
- notify_erase_search_end();
-
- // Notifies an element was inserted. the total number of entries in
- // the table is num_entries.
- inline void
- notify_inserted(size_type num_entries);
-
- // Notifies an element was erased.
- inline void
- notify_erased(size_type num_entries);
-
- // Notifies the table was cleared.
- void
- notify_cleared();
-
- // Notifies the table was resized as a result of this object's
- // signifying that a resize is needed.
- void
- notify_resized(size_type new_size);
-
- // Notifies the table was resized externally.
- void
- notify_externally_resized(size_type new_size);
-
- // Queries whether a resize is needed.
- inline bool
- is_resize_needed() const;
-
- // Queries whether a grow is needed.
- inline bool
- is_grow_needed(size_type size, size_type num_entries) const;
-
-private:
-
- // Resizes to new_size.
- virtual void
- do_resize(size_type new_size);
-};
-
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
deleted file mode 100644
index b88e70363874..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_size_policy.hpp
- * Contains a sample size resize-policy.
- */
-
-#ifndef PB_DS_SAMPLE_SIZE_POLICY_HPP
-#define PB_DS_SAMPLE_SIZE_POLICY_HPP
-
-// A sample size policy.
-class sample_size_policy
-{
-public:
-
- // Size type.
- typedef size_t size_type;
-
- // Default constructor.
- sample_size_policy();
-
- // Copy constructor.
- sample_range_hashing(const sample_size_policy& other);
-
- // Swaps content.
- inline void
- swap(sample_size_policy& other);
-
-protected:
-
- // Given a __size size, returns a __size that is larger.
- inline size_type
- get_nearest_larger_size(size_type size) const;
-
- // Given a __size size, returns a __size that is smaller.
- inline size_type
- get_nearest_smaller_size(size_type size) const;
-};
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index b05a67219c7e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation class for splay_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- insert(*(first_it++));
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME()
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn) :
- base_type(r_cmp_fn)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const Cmp_Fn& r_cmp_fn, const node_update& r_node_update) :
- base_type(r_cmp_fn, r_node_update)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC& other) :
- base_type(other)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- base_type::swap(other);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize()
-{ base_type::m_p_head->m_special = true; }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
deleted file mode 100644
index cf7aaa8eda9e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation class for splay_tree_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- base_type::assert_valid();
- const node_pointer p_head = base_type::m_p_head;
- assert_special_imp(p_head);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_special_imp(const node_pointer p_nd) const
-{
- if (p_nd == NULL)
- return;
-
- if (p_nd == base_type::m_p_head)
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_special);
- assert_special_imp(p_nd->m_p_parent);
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(!p_nd->m_special);
- assert_special_imp(p_nd->m_p_left);
- assert_special_imp(p_nd->m_p_right);
-}
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
deleted file mode 100644
index 26288fb0b269..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation class for splay_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline bool
-PB_DS_CLASS_C_DEC::
-erase(const_key_reference r_key)
-{
- point_iterator it = find(r_key);
- if (it == base_type::end())
- return false;
- erase(it);
- return true;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-erase(iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- if (it == base_type::end())
- return it;
- iterator ret_it = it;
- ++ret_it;
- erase_node(it.m_p_nd);
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::reverse_iterator
-PB_DS_CLASS_C_DEC::
-erase(reverse_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- if (it.m_p_nd == base_type::m_p_head)
- return (it);
- reverse_iterator ret_it = it;
- ++ret_it;
- erase_node(it.m_p_nd);
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ret_it;
-}
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- size_type num_ersd = 0;
- iterator it = base_type::begin();
- while (it != base_type::end())
- {
- if (pred(*it))
- {
- ++num_ersd;
- it = erase(it);
- }
- else
- ++it;
- }
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return num_ersd;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase_node(node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- splay(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(p_nd == this->m_p_head->m_p_parent);
-
- node_pointer p_l = p_nd->m_p_left;
- node_pointer p_r = p_nd->m_p_right;
-
- base_type::update_min_max_for_erased_node(p_nd);
- base_type::actual_erase_node(p_nd);
- if (p_r == NULL)
- {
- base_type::m_p_head->m_p_parent = p_l;
- if (p_l != NULL)
- p_l->m_p_parent = base_type::m_p_head;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- return;
- }
-
- node_pointer p_target_r = leftmost(p_r);
- _GLIBCXX_DEBUG_ASSERT(p_target_r != NULL);
- p_r->m_p_parent = base_type::m_p_head;
- base_type::m_p_head->m_p_parent = p_r;
- splay(p_target_r);
-
- _GLIBCXX_DEBUG_ONLY(p_target_r->m_p_left = NULL);
- _GLIBCXX_DEBUG_ASSERT(p_target_r->m_p_parent == this->m_p_head);
- _GLIBCXX_DEBUG_ASSERT(this->m_p_head->m_p_parent == p_target_r);
-
- p_target_r->m_p_left = p_l;
- if (p_l != NULL)
- p_l->m_p_parent = p_target_r;
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- apply_update(p_target_r, (node_update* )this);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-leftmost(node_pointer p_nd)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- while (p_nd->m_p_left != NULL)
- p_nd = p_nd->m_p_left;
- return p_nd;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
deleted file mode 100644
index 6fdb8f55e866..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation class for splay_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key)
-{
- node_pointer p_found = find_imp(r_key);
- if (p_found != base_type::m_p_head)
- splay(p_found);
- return point_iterator(p_found);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_point_iterator
-PB_DS_CLASS_C_DEC::
-find(const_key_reference r_key) const
-{
- const node_pointer p_found = find_imp(r_key);
- if (p_found != base_type::m_p_head)
- const_cast<PB_DS_CLASS_C_DEC* >(this)->splay(p_found);
- return point_iterator(p_found);
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-find_imp(const_key_reference r_key)
-{
- _GLIBCXX_DEBUG_ONLY(base_type::structure_only_assert_valid();)
- node_pointer p_nd = base_type::m_p_head->m_p_parent;
- while (p_nd != NULL)
- if (!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
- {
- if (!Cmp_Fn::operator()(r_key, PB_DS_V2F(p_nd->m_value)))
- return p_nd;
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
- return base_type::m_p_head;
-}
-
-PB_DS_CLASS_T_DEC
-inline const typename PB_DS_CLASS_C_DEC::node_pointer
-PB_DS_CLASS_C_DEC::
-find_imp(const_key_reference r_key) const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- node_pointer p_nd = base_type::m_p_head->m_p_parent;
- while (p_nd != NULL)
- if (!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), r_key))
- {
- if (!Cmp_Fn::operator()(r_key, PB_DS_V2F(p_nd->m_value)))
- return p_nd;
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
- return base_type::m_p_head;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
deleted file mode 100644
index 0d0736298dc7..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file info_fn_imps.hpp
- * Contains an implementation.
- */
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
deleted file mode 100644
index f4b9f95177ff..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,99 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation class for splay_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert(const_reference r_value)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- std::pair<point_iterator, bool> ins_pair = insert_leaf_imp(r_value);
- ins_pair.first.m_p_nd->m_special = false;
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- splay(ins_pair.first.m_p_nd);
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- return ins_pair;
-}
-
-PB_DS_CLASS_T_DEC
-inline std::pair<typename PB_DS_CLASS_C_DEC::point_iterator, bool>
-PB_DS_CLASS_C_DEC::
-insert_leaf_imp(const_reference r_value)
-{
- _GLIBCXX_DEBUG_ONLY(base_type::structure_only_assert_valid();)
- if (base_type::m_size == 0)
- return std::make_pair(base_type::insert_imp_empty(r_value), true);
-
- node_pointer p_nd = base_type::m_p_head->m_p_parent;
- node_pointer p_pot = base_type::m_p_head;
-
- while (p_nd != NULL)
- if (!Cmp_Fn::operator()(PB_DS_V2F(p_nd->m_value), PB_DS_V2F(r_value)))
- {
- if (!Cmp_Fn::operator()(PB_DS_V2F(r_value), PB_DS_V2F(p_nd->m_value)))
- {
- return std::make_pair(point_iterator(p_nd), false);
- }
- p_pot = p_nd;
- p_nd = p_nd->m_p_left;
- }
- else
- p_nd = p_nd->m_p_right;
-
- if (p_pot == base_type::m_p_head)
- return std::make_pair(base_type::insert_leaf_new(r_value, base_type::m_p_head->m_p_right, false), true);
-
- _GLIBCXX_DEBUG_ONLY(base_type::check_key_does_not_exist(PB_DS_V2F(r_value)));
-
- p_nd = p_pot->m_p_left;
- if (p_nd == NULL)
- return (std::make_pair(base_type::insert_leaf_new(r_value, p_pot, true), true));
-
- while (p_nd->m_p_right != NULL)
- p_nd = p_nd->m_p_right;
-
- return std::make_pair(insert_leaf_new(r_value, p_nd, false), true);
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/node.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/node.hpp
deleted file mode 100644
index d23e93173235..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/node.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node.hpp
- * Contains an implementation struct for splay_tree_'s node.
- */
-
-#ifndef PB_DS_SPLAY_TREE_NODE_HPP
-#define PB_DS_SPLAY_TREE_NODE_HPP
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Value_Type, class Metadata, class Allocator>
- struct splay_tree_node_
- {
- public:
- typedef Value_Type value_type;
- typedef Metadata metadata_type;
-
- typedef
- typename Allocator::template rebind<
- splay_tree_node_<Value_Type, Metadata, Allocator> >::other::pointer
- node_pointer;
-
- typedef
- typename Allocator::template rebind<metadata_type>::other::reference
- metadata_reference;
-
- typedef
- typename Allocator::template rebind<metadata_type>::other::const_reference
- const_metadata_reference;
-
-#ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
- void
- trace() const
- { std::cout << PB_DS_V2F(m_value) << "(" << m_metadata << ")"; }
-#endif
-
- inline bool
- special() const
- { return m_special; }
-
- inline const_metadata_reference
- get_metadata() const
- { return m_metadata; }
-
- inline metadata_reference
- get_metadata()
- { return m_metadata; }
-
- value_type m_value;
- bool m_special;
- node_pointer m_p_left;
- node_pointer m_p_right;
- node_pointer m_p_parent;
- metadata_type m_metadata;
- };
-
- template<typename Value_Type, typename Allocator>
- struct splay_tree_node_<Value_Type, null_node_metadata, Allocator>
- {
- public:
- typedef Value_Type value_type;
- typedef null_node_metadata metadata_type;
-
- typedef
- typename Allocator::template rebind<
- splay_tree_node_<Value_Type, null_node_metadata, Allocator> >::other::pointer
- node_pointer;
-
- inline bool
- special() const
- { return m_special; }
-
-#ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
- void
- trace() const
- { std::cout << PB_DS_V2F(m_value); }
-#endif
-
- node_pointer m_p_left;
- node_pointer m_p_right;
- node_pointer m_p_parent;
- value_type m_value;
- bool m_special;
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
deleted file mode 100644
index 62def3c13dac..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+++ /dev/null
@@ -1,289 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file splay_fn_imps.hpp
- * Contains an implementation class for splay_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-splay(node_pointer p_nd)
-{
- while (p_nd->m_p_parent != base_type::m_p_head)
- {
-#ifdef _GLIBCXX_DEBUG
- {
- node_pointer p_head = base_type::m_p_head;
- assert_special_imp(p_head);
- }
-#endif
-
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)
-
- if (p_nd->m_p_parent->m_p_parent == base_type::m_p_head)
- {
- base_type::rotate_parent(p_nd);
- _GLIBCXX_DEBUG_ASSERT(p_nd == this->m_p_head->m_p_parent);
- }
- else
- {
- const node_pointer p_parent = p_nd->m_p_parent;
- const node_pointer p_grandparent = p_parent->m_p_parent;
-
-#ifdef _GLIBCXX_DEBUG
- const size_type total =
- base_type::recursive_count(p_grandparent);
- _GLIBCXX_DEBUG_ASSERT(total >= 3);
-#endif
-
- if (p_parent->m_p_left == p_nd &&
- p_grandparent->m_p_right == p_parent)
- splay_zig_zag_left(p_nd, p_parent, p_grandparent);
- else if (p_parent->m_p_right == p_nd &&
- p_grandparent->m_p_left == p_parent)
- splay_zig_zag_right(p_nd, p_parent, p_grandparent);
- else if (p_parent->m_p_left == p_nd &&
- p_grandparent->m_p_left == p_parent)
- splay_zig_zig_left(p_nd, p_parent, p_grandparent);
- else
- splay_zig_zig_right(p_nd, p_parent, p_grandparent);
- _GLIBCXX_DEBUG_ASSERT(total ==this->recursive_count(p_nd));
- }
-
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-splay_zig_zag_left(node_pointer p_nd, node_pointer p_parent,
- node_pointer p_grandparent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
- _GLIBCXX_DEBUG_ASSERT(p_grandparent == p_parent->m_p_parent);
-
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_grandparent);)
-
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_left == p_nd &&
- p_grandparent->m_p_right == p_parent);
-
- splay_zz_start(p_nd, p_parent, p_grandparent);
-
- node_pointer p_b = p_nd->m_p_right;
- node_pointer p_c = p_nd->m_p_left;
-
- p_nd->m_p_right = p_parent;
- p_parent->m_p_parent = p_nd;
-
- p_nd->m_p_left = p_grandparent;
- p_grandparent->m_p_parent = p_nd;
-
- p_parent->m_p_left = p_b;
- if (p_b != NULL)
- p_b->m_p_parent = p_parent;
-
- p_grandparent->m_p_right = p_c;
- if (p_c != NULL)
- p_c->m_p_parent = p_grandparent;
-
- splay_zz_end(p_nd, p_parent, p_grandparent);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-splay_zig_zag_right(node_pointer p_nd, node_pointer p_parent,
- node_pointer p_grandparent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
- _GLIBCXX_DEBUG_ASSERT(p_grandparent == p_parent->m_p_parent);
-
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_grandparent);)
-
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_right == p_nd &&
- p_grandparent->m_p_left == p_parent);
-
- splay_zz_start(p_nd, p_parent, p_grandparent);
-
- node_pointer p_b = p_nd->m_p_left;
- node_pointer p_c = p_nd->m_p_right;
-
- p_nd->m_p_left = p_parent;
- p_parent->m_p_parent = p_nd;
-
- p_nd->m_p_right = p_grandparent;
- p_grandparent->m_p_parent = p_nd;
-
- p_parent->m_p_right = p_b;
- if (p_b != NULL)
- p_b->m_p_parent = p_parent;
-
- p_grandparent->m_p_left = p_c;
- if (p_c != NULL)
- p_c->m_p_parent = p_grandparent;
-
- splay_zz_end(p_nd, p_parent, p_grandparent);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-splay_zig_zig_left(node_pointer p_nd, node_pointer p_parent,
- node_pointer p_grandparent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
- _GLIBCXX_DEBUG_ASSERT(p_grandparent == p_parent->m_p_parent);
-
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_grandparent);)
-
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_left == p_nd &&
- p_nd->m_p_parent->m_p_parent->m_p_left == p_nd->m_p_parent);
-
- splay_zz_start(p_nd, p_parent, p_grandparent);
-
- node_pointer p_b = p_nd->m_p_right;
- node_pointer p_c = p_parent->m_p_right;
-
- p_nd->m_p_right = p_parent;
- p_parent->m_p_parent = p_nd;
-
- p_parent->m_p_right = p_grandparent;
- p_grandparent->m_p_parent = p_parent;
-
- p_parent->m_p_left = p_b;
- if (p_b != NULL)
- p_b->m_p_parent = p_parent;
-
- p_grandparent->m_p_left = p_c;
- if (p_c != NULL)
- p_c->m_p_parent = p_grandparent;
-
- splay_zz_end(p_nd, p_parent, p_grandparent);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-splay_zig_zig_right(node_pointer p_nd, node_pointer p_parent,
- node_pointer p_grandparent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_parent == p_nd->m_p_parent);
- _GLIBCXX_DEBUG_ASSERT(p_grandparent == p_parent->m_p_parent);
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_grandparent);)
- _GLIBCXX_DEBUG_ASSERT(p_parent->m_p_right == p_nd &&
- p_nd->m_p_parent->m_p_parent->m_p_right == p_nd->m_p_parent);
-
- splay_zz_start(p_nd, p_parent, p_grandparent);
-
- node_pointer p_b = p_nd->m_p_left;
- node_pointer p_c = p_parent->m_p_left;
-
- p_nd->m_p_left = p_parent;
- p_parent->m_p_parent = p_nd;
-
- p_parent->m_p_left = p_grandparent;
- p_grandparent->m_p_parent = p_parent;
-
- p_parent->m_p_right = p_b;
- if (p_b != NULL)
- p_b->m_p_parent = p_parent;
-
- p_grandparent->m_p_right = p_c;
- if (p_c != NULL)
- p_c->m_p_parent = p_grandparent;
-
- base_type::update_to_top(p_grandparent, (node_update* )this);
- splay_zz_end(p_nd, p_parent, p_grandparent);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-splay_zz_start(node_pointer p_nd,
-#ifdef _GLIBCXX_DEBUG
- node_pointer p_parent,
-#else
- node_pointer /*p_parent*/,
-#endif
- node_pointer p_grandparent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_parent != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_grandparent != NULL);
-
- const bool grandparent_head = p_grandparent->m_p_parent == base_type::m_p_head;
-
- if (grandparent_head)
- {
- base_type::m_p_head->m_p_parent = base_type::m_p_head->m_p_parent;
- p_nd->m_p_parent = base_type::m_p_head;
- return;
- }
-
- node_pointer p_greatgrandparent = p_grandparent->m_p_parent;
-
- p_nd->m_p_parent = p_greatgrandparent;
-
- if (p_grandparent == p_greatgrandparent->m_p_left)
- p_greatgrandparent->m_p_left = p_nd;
- else
- p_greatgrandparent->m_p_right = p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-splay_zz_end(node_pointer p_nd, node_pointer p_parent,
- node_pointer p_grandparent)
-{
- if (p_nd->m_p_parent == base_type::m_p_head)
- base_type::m_p_head->m_p_parent = p_nd;
-
- apply_update(p_grandparent, (node_update* )this);
- apply_update(p_parent, (node_update* )this);
- apply_update(p_nd, (node_update* )this);
-
- _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(p_nd);)
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
deleted file mode 100644
index bf905255333e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
+++ /dev/null
@@ -1,304 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file splay_tree_.hpp
- * Contains an implementation class for splay_tree_.
- */
-/*
- * This implementation uses an idea from the SGI STL (using a "header" node
- * which is needed for efficient iteration). Following is the SGI STL
- * copyright.
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- */
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#ifndef PB_DS_BIN_SEARCH_TREE_HPP__DATA_TRUE_INDICATOR
-#define PB_DS_BIN_SEARCH_TREE_HPP__DATA_TRUE_INDICATOR
-#include <ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp>
-#endif
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#ifndef PB_DS_BIN_SEARCH_TREE_HPP__DATA_FALSE_INDICATOR
-#define PB_DS_BIN_SEARCH_TREE_HPP__DATA_FALSE_INDICATOR
-#include <ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp>
-#endif
-#endif
-
-#include <utility>
-#include <vector>
-#include <assert.h>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-#define PB_DS_CLASS_T_DEC \
- template<typename Key, typename Mapped, typename Cmp_Fn, \
- typename Node_And_It_Traits, typename Allocator>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_CLASS_NAME splay_tree_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_CLASS_NAME splay_tree_no_data_
-#endif
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_BASE_CLASS_NAME bin_search_tree_data_
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_BASE_CLASS_NAME bin_search_tree_no_data_
-#endif
-
-#define PB_DS_CLASS_C_DEC \
- PB_DS_CLASS_NAME<Key, Mapped, Cmp_Fn, Node_And_It_Traits, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- PB_DS_BASE_CLASS_NAME<Key, Mapped, Cmp_Fn, Node_And_It_Traits, Allocator>
-
-#ifdef PB_DS_DATA_TRUE_INDICATOR
-#define PB_DS_V2F(X) (X).first
-#define PB_DS_V2S(X) (X).second
-#define PB_DS_EP2VP(X)& ((X)->m_value)
-#endif
-
-#ifdef PB_DS_DATA_FALSE_INDICATOR
-#define PB_DS_V2F(X) (X)
-#define PB_DS_V2S(X) Mapped_Data()
-#define PB_DS_EP2VP(X)& ((X)->m_value.first)
-#endif
-
- // $p14y 7r33 7481.
- template<typename Key, typename Mapped, typename Cmp_Fn,
- typename Node_And_It_Traits, typename Allocator>
- class PB_DS_CLASS_NAME : public PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
- typedef typename base_type::node_pointer node_pointer;
-
- public:
- typedef Allocator allocator;
- typedef typename Allocator::size_type size_type;
- typedef typename Allocator::difference_type difference_type;
- typedef Cmp_Fn cmp_fn;
- typedef typename base_type::key_type key_type;
- typedef typename base_type::key_pointer key_pointer;
- typedef typename base_type::const_key_pointer const_key_pointer;
- typedef typename base_type::key_reference key_reference;
- typedef typename base_type::const_key_reference const_key_reference;
- typedef typename base_type::mapped_type mapped_type;
- typedef typename base_type::mapped_pointer mapped_pointer;
- typedef typename base_type::const_mapped_pointer const_mapped_pointer;
- typedef typename base_type::mapped_reference mapped_reference;
- typedef typename base_type::const_mapped_reference const_mapped_reference;
- typedef typename base_type::value_type value_type;
- typedef typename base_type::pointer pointer;
- typedef typename base_type::const_pointer const_pointer;
- typedef typename base_type::reference reference;
- typedef typename base_type::const_reference const_reference;
- typedef typename base_type::point_iterator point_iterator;
- typedef typename base_type::const_iterator const_point_iterator;
- typedef typename base_type::iterator iterator;
- typedef typename base_type::const_iterator const_iterator;
- typedef typename base_type::reverse_iterator reverse_iterator;
- typedef typename base_type::const_reverse_iterator const_reverse_iterator;
- typedef typename base_type::node_update node_update;
-
- PB_DS_CLASS_NAME();
-
- PB_DS_CLASS_NAME(const Cmp_Fn&);
-
- PB_DS_CLASS_NAME(const Cmp_Fn&, const node_update&);
-
- PB_DS_CLASS_NAME(const PB_DS_CLASS_C_DEC&);
-
- void
- swap(PB_DS_CLASS_C_DEC&);
-
- template<typename It>
- void
- copy_from_range(It, It);
-
- void
- initialize();
-
- inline std::pair<point_iterator, bool>
- insert(const_reference r_value);
-
- inline mapped_reference
- operator[](const_key_reference r_key)
- {
-#ifdef PB_DS_DATA_TRUE_INDICATOR
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- std::pair<point_iterator, bool> ins_pair =
- insert_leaf_imp(value_type(r_key, mapped_type()));
-
- ins_pair.first.m_p_nd->m_special = false;
- _GLIBCXX_DEBUG_ONLY(base_type::assert_valid());
- splay(ins_pair.first.m_p_nd);
- _GLIBCXX_DEBUG_ONLY(PB_DS_CLASS_C_DEC::assert_valid();)
- return ins_pair.first.m_p_nd->m_value.second;
-#else
- insert(r_key);
- return base_type::s_null_mapped;
-#endif
- }
-
- inline point_iterator
- find(const_key_reference);
-
- inline const_point_iterator
- find(const_key_reference) const;
-
- inline bool
- erase(const_key_reference);
-
- inline iterator
- erase(iterator it);
-
- inline reverse_iterator
- erase(reverse_iterator);
-
- template<typename Pred>
- inline size_type
- erase_if(Pred);
-
- void
- join(PB_DS_CLASS_C_DEC&);
-
- void
- split(const_key_reference, PB_DS_CLASS_C_DEC&);
-
- private:
- inline std::pair<point_iterator, bool>
- insert_leaf_imp(const_reference);
-
- inline node_pointer
- find_imp(const_key_reference);
-
- inline const node_pointer
- find_imp(const_key_reference) const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-
- void
- assert_special_imp(const node_pointer) const;
-#endif
-
- void
- splay(node_pointer);
-
- inline void
- splay_zig_zag_left(node_pointer, node_pointer, node_pointer);
-
- inline void
- splay_zig_zag_right(node_pointer, node_pointer, node_pointer);
-
- inline void
- splay_zig_zig_left(node_pointer, node_pointer, node_pointer);
-
- inline void
- splay_zig_zig_right(node_pointer, node_pointer, node_pointer);
-
- inline void
- splay_zz_start(node_pointer, node_pointer, node_pointer);
-
- inline void
- splay_zz_end(node_pointer, node_pointer, node_pointer);
-
- inline node_pointer
- leftmost(node_pointer);
-
- void
- erase_node(node_pointer);
- };
-
-#include <ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp>
-#include <ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_NAME
-#undef PB_DS_BASE_CLASS_NAME
-#undef PB_DS_BASE_C_DEC
-#undef PB_DS_V2F
-#undef PB_DS_EP2VP
-#undef PB_DS_V2S
- } // namespace detail
-} // namespace pb_ds
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
deleted file mode 100644
index c752f71f938d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation class for splay_tree_.
- */
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- if (base_type::join_prep(other) == false)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- return;
- }
-
- node_pointer p_target_r = other.leftmost(other.m_p_head);
- _GLIBCXX_DEBUG_ASSERT(p_target_r != NULL);
- other.splay(p_target_r);
-
- _GLIBCXX_DEBUG_ASSERT(p_target_r == other.m_p_head->m_p_parent);
- _GLIBCXX_DEBUG_ASSERT(p_target_r->m_p_left == NULL);
-
- p_target_r->m_p_left = base_type::m_p_head->m_p_parent;
-
- _GLIBCXX_DEBUG_ASSERT(p_target_r->m_p_left != NULL);
- p_target_r->m_p_left->m_p_parent = p_target_r;
-
- base_type::m_p_head->m_p_parent = p_target_r;
- p_target_r->m_p_parent = base_type::m_p_head;
- apply_update(p_target_r, (node_update* )this);
-
- base_type::join_finish(other);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-split(const_key_reference r_key, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
-
- if (base_type::split_prep(r_key, other) == false)
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
- return;
- }
-
- node_pointer p_upper_bound = upper_bound(r_key).m_p_nd;
- _GLIBCXX_DEBUG_ASSERT(p_upper_bound != NULL);
-
- splay(p_upper_bound);
- _GLIBCXX_DEBUG_ASSERT(p_upper_bound->m_p_parent == this->m_p_head);
-
- node_pointer p_new_root = p_upper_bound->m_p_left;
- _GLIBCXX_DEBUG_ASSERT(p_new_root != NULL);
-
- base_type::m_p_head->m_p_parent = p_new_root;
- p_new_root->m_p_parent = base_type::m_p_head;
- other.m_p_head->m_p_parent = p_upper_bound;
- p_upper_bound->m_p_parent = other.m_p_head;
- p_upper_bound->m_p_left = NULL;
- apply_update(p_upper_bound, (node_update* )this);
- base_type::split_finish(other);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid());
- _GLIBCXX_DEBUG_ONLY(other.assert_valid());
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/traits.hpp
deleted file mode 100644
index a758ef9ddbab..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/splay_tree_/traits.hpp
+++ /dev/null
@@ -1,119 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file traits.hpp
- * Contains an implementation for splay_tree_.
- */
-
-#ifndef PB_DS_SPLAY_TREE_NODE_AND_IT_TRAITS_HPP
-#define PB_DS_SPLAY_TREE_NODE_AND_IT_TRAITS_HPP
-
-#include <ext/pb_ds/detail/splay_tree_/node.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Key,
- typename Mapped,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct tree_traits<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- splay_tree_tag,
- Allocator> : public bin_search_tree_traits<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- splay_tree_node_<
- typename types_traits<
- Key,
- Mapped,
- Allocator,
- false>::value_type,
- typename tree_node_metadata_selector<
- Key,
- Mapped,
- Cmp_Fn,
- Node_Update,
- Allocator>::type,
- Allocator>,
- Allocator>
- { };
-
- template<typename Key,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct tree_traits<Key, null_mapped_type, Cmp_Fn, Node_Update,
- splay_tree_tag, Allocator>
- : public bin_search_tree_traits<Key, null_mapped_type, Cmp_Fn,
- Node_Update,
- splay_tree_node_<typename types_traits<Key, null_mapped_type, Allocator, false>::value_type,
- typename tree_node_metadata_selector<
- Key,
- null_mapped_type,
- Cmp_Fn,
- Node_Update,
- Allocator>::type,
- Allocator>,
- Allocator>
- { };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_SPLAY_TREE_NODE_AND_IT_TRAITS_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/standard_policies.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/standard_policies.hpp
deleted file mode 100644
index 000e3a475de9..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/standard_policies.hpp
+++ /dev/null
@@ -1,163 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file standard_policies.hpp
- * Contains standard policies for containers.
- */
-
-#ifndef PB_DS_STANDARD_POLICIES_HPP
-#define PB_DS_STANDARD_POLICIES_HPP
-
-#include <memory>
-#include <ext/pb_ds/hash_policy.hpp>
-#include <ext/pb_ds/list_update_policy.hpp>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp>
-#include <ext/pb_ds/trie_policy.hpp>
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/hash_map>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key>
- struct default_hash_fn
- {
- typedef __gnu_cxx::hash< Key> type;
- };
-
- template<typename Key>
- struct default_eq_fn
- {
- typedef std::equal_to< Key> type;
- };
-
- enum
- {
- default_store_hash = false
- };
-
- struct default_comb_hash_fn
- {
- typedef pb_ds::direct_mask_range_hashing<> type;
- };
-
- template<typename Comb_Hash_Fn>
- struct default_resize_policy
- {
- private:
- typedef typename Comb_Hash_Fn::size_type size_type;
-
- typedef
- typename __conditional_type<
- is_same<
- pb_ds::direct_mask_range_hashing<
- size_type>,
- Comb_Hash_Fn>::value,
- pb_ds::hash_exponential_size_policy<
- size_type>,
- pb_ds::hash_prime_size_policy>::__type
- size_policy_type;
-
- public:
- typedef
- pb_ds::hash_standard_resize_policy<
- size_policy_type,
- pb_ds::hash_load_check_resize_trigger<
- false,
- size_type>,
- false,
- size_type>
- type;
- };
-
- struct default_update_policy
- {
- typedef pb_ds::move_to_front_lu_policy<> type;
- };
-
- template<typename Comb_Probe_Fn>
- struct default_probe_fn
- {
- private:
- typedef typename Comb_Probe_Fn::size_type size_type;
-
- public:
- typedef
- typename __conditional_type<
- is_same<
- pb_ds::direct_mask_range_hashing<size_t>,
- Comb_Probe_Fn>::value,
- pb_ds::linear_probe_fn<
- size_type>,
- pb_ds::quadratic_probe_fn<
- size_type> >::__type
- type;
- };
-
- template<typename Key>
- struct default_trie_e_access_traits;
-
- template<typename Char, class Char_Traits>
- struct default_trie_e_access_traits<
- std::basic_string<
- Char,
- Char_Traits,
- std::allocator<
- char> > >
- {
- typedef
- pb_ds::string_trie_e_access_traits<
- std::basic_string<
- Char,
- Char_Traits,
- std::allocator<
- char> > >
- type;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_STANDARD_POLICIES_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
deleted file mode 100644
index 1b0c6e53644e..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
+++ /dev/null
@@ -1,112 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file constructors_destructor_fn_imps.hpp
- * Contains an implementation for thin_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename It>
-void
-PB_DS_CLASS_C_DEC::
-copy_from_range(It first_it, It last_it)
-{
- while (first_it != last_it)
- push(*(first_it++));
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-thin_heap_() :
- m_p_max(NULL)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-thin_heap_(const Cmp_Fn& r_cmp_fn) :
- PB_DS_BASE_C_DEC(r_cmp_fn),
- m_p_max(NULL)
-{
- initialize();
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-thin_heap_(const PB_DS_CLASS_C_DEC& other) :
- PB_DS_BASE_C_DEC(other)
-{
- initialize();
- m_p_max = base_type::m_p_root;
- for (node_pointer p_nd = base_type::m_p_root; p_nd != NULL; p_nd = p_nd->m_p_next_sibling)
- if (Cmp_Fn::operator()(m_p_max->m_value, p_nd->m_value))
- m_p_max = p_nd;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-swap(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- base_type::swap(other);
- std::swap(m_p_max, other.m_p_max);
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~thin_heap_()
-{ }
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-initialize()
-{ std::fill(m_a_aux, m_a_aux + max_rank, static_cast<node_pointer>(NULL)); }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
deleted file mode 100644
index 310907d88341..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
+++ /dev/null
@@ -1,118 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file debug_fn_imps.hpp
- * Contains an implementation for thin_heap_.
- */
-
-#ifdef _GLIBCXX_DEBUG
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_valid() const
-{
- base_type::assert_valid();
- assert_node_consistent(base_type::m_p_root, true);
- assert_max();
- assert_aux_null();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_aux_null() const
-{
- for (size_type i = 0; i < max_rank; ++i)
- _GLIBCXX_DEBUG_ASSERT(m_a_aux[i] == NULL);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_max() const
-{
- if (m_p_max == NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::empty());
- return;
- }
-
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
- _GLIBCXX_DEBUG_ASSERT(base_type::parent(m_p_max) == NULL);
- _GLIBCXX_DEBUG_ASSERT(m_p_max->m_p_prev_or_parent == NULL);
- for (const_iterator it = base_type::begin(); it != base_type::end(); ++it)
- _GLIBCXX_DEBUG_ASSERT(!Cmp_Fn::operator()(m_p_max->m_value, it.m_p_nd->m_value));
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-assert_node_consistent(const_node_pointer p_nd, bool root) const
-{
- base_type::assert_node_consistent(p_nd, root);
- if (p_nd == NULL)
- return;
-
- assert_node_consistent(p_nd->m_p_next_sibling, root);
- assert_node_consistent(p_nd->m_p_l_child, false);
- if (!root)
- {
- if (p_nd->m_metadata == 0)
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_next_sibling == NULL);
- else
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata == p_nd->m_p_next_sibling->m_metadata + 1);
- }
-
- if (p_nd->m_p_l_child != NULL)
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_p_l_child->m_metadata + 1 == base_type::degree(p_nd));
-
- const bool unmarked_valid =(p_nd->m_p_l_child == NULL&& p_nd->m_metadata == 0) ||(p_nd->m_p_l_child != NULL&& p_nd->m_metadata == p_nd->m_p_l_child->m_metadata + 1);
-
- const bool marked_valid =(p_nd->m_p_l_child == NULL&& p_nd->m_metadata == 1) ||(p_nd->m_p_l_child != NULL&& p_nd->m_metadata == p_nd->m_p_l_child->m_metadata + 2);
-
- _GLIBCXX_DEBUG_ASSERT(unmarked_valid || marked_valid);
- if (root)
- _GLIBCXX_DEBUG_ASSERT(unmarked_valid);
-}
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
deleted file mode 100644
index 9f409df158a7..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+++ /dev/null
@@ -1,302 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file erase_fn_imps.hpp
- * Contains an implementation for thin_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-pop()
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- _GLIBCXX_DEBUG_ASSERT(m_p_max != NULL);
-
- node_pointer p_nd = m_p_max;
-
- remove_max_node();
-
- base_type::actual_erase_node(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-remove_max_node()
-{
- to_aux_except_max();
-
- make_from_aux();
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-to_aux_except_max()
-{
- node_pointer p_add = base_type::m_p_root;
-
- while (p_add != m_p_max)
- {
- node_pointer p_next_add = p_add->m_p_next_sibling;
-
- add_to_aux(p_add);
-
- p_add = p_next_add;
- }
-
- p_add = m_p_max->m_p_l_child;
-
- while (p_add != NULL)
- {
- node_pointer p_next_add = p_add->m_p_next_sibling;
-
- p_add->m_metadata = p_add->m_p_l_child == NULL?
- 0 :
- p_add->m_p_l_child->m_metadata + 1;
-
- add_to_aux(p_add);
-
- p_add = p_next_add;
- }
-
- p_add = m_p_max->m_p_next_sibling;
-
- while (p_add != NULL)
- {
- node_pointer p_next_add = p_add->m_p_next_sibling;
-
- add_to_aux(p_add);
-
- p_add = p_next_add;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-add_to_aux(node_pointer p_nd)
-{
- size_type r = p_nd->m_metadata;
-
- while (m_a_aux[r] != NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata < rank_bound());
-
- if (Cmp_Fn::operator()(m_a_aux[r]->m_value, p_nd->m_value))
- make_child_of(m_a_aux[r], p_nd);
- else
- {
- make_child_of(p_nd, m_a_aux[r]);
-
- p_nd = m_a_aux[r];
- }
-
- m_a_aux[r] = NULL;
-
- ++r;
- }
-
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata < rank_bound());
-
- m_a_aux[r] = p_nd;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-make_child_of(node_pointer p_nd, node_pointer p_new_parent)
-{
- _GLIBCXX_DEBUG_ASSERT(p_nd->m_metadata == p_new_parent->m_metadata);
- _GLIBCXX_DEBUG_ASSERT(m_a_aux[p_nd->m_metadata] == p_nd ||
- m_a_aux[p_nd->m_metadata] == p_new_parent);
-
- ++p_new_parent->m_metadata;
-
- base_type::make_child_of(p_nd, p_new_parent);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-make_from_aux()
-{
- base_type::m_p_root = m_p_max = NULL;
-
- const size_type rnk_bnd = rank_bound();
-
- size_type i = 0;
-
- while (i < rnk_bnd)
- {
- if (m_a_aux[i] != NULL)
- {
- make_root_and_link(m_a_aux[i]);
-
- m_a_aux[i] = NULL;
- }
-
- ++i;
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_aux_null();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-remove_node(node_pointer p_nd)
-{
- node_pointer p_parent = p_nd;
- while (base_type::parent(p_parent) != NULL)
- p_parent = base_type::parent(p_parent);
-
- base_type::bubble_to_top(p_nd);
-
- m_p_max = p_nd;
-
- node_pointer p_fix = base_type::m_p_root;
- while (p_fix != NULL&& p_fix->m_p_next_sibling != p_parent)
- p_fix = p_fix->m_p_next_sibling;
-
- if (p_fix != NULL)
- p_fix->m_p_next_sibling = p_nd;
-
- remove_max_node();
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-clear()
-{
- base_type::clear();
-
- m_p_max = NULL;
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-erase(point_iterator it)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- node_pointer p_nd = it.m_p_nd;
-
- remove_node(p_nd);
-
- base_type::actual_erase_node(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-erase_if(Pred pred)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- if (base_type::empty())
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return 0;
- }
-
- base_type::to_linked_list();
-
- node_pointer p_out = base_type::prune(pred);
-
- size_type ersd = 0;
-
- while (p_out != NULL)
- {
- ++ersd;
-
- node_pointer p_next = p_out->m_p_next_sibling;
-
- base_type::actual_erase_node(p_out);
-
- p_out = p_next;
- }
-
- node_pointer p_cur = base_type::m_p_root;
-
- m_p_max = base_type::m_p_root = NULL;
-
- while (p_cur != NULL)
- {
- node_pointer p_next = p_cur->m_p_next_sibling;
-
- make_root_and_link(p_cur);
-
- p_cur = p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return ersd;
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-rank_bound()
-{
- const std::size_t* const p_upper =
- std::upper_bound( g_a_rank_bounds, g_a_rank_bounds + num_distinct_rank_bounds, base_type::m_size);
-
- if (p_upper == g_a_rank_bounds + num_distinct_rank_bounds)
- return max_rank;
-
- return (p_upper - g_a_rank_bounds);
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
deleted file mode 100644
index 256bd1ceed3a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file find_fn_imps.hpp
- * Contains an implementation for thin_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_reference
-PB_DS_CLASS_C_DEC::
-top() const
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
-
- _GLIBCXX_DEBUG_ASSERT(m_p_max != NULL);
- return m_p_max->m_value;
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
deleted file mode 100644
index 451793fee056..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
+++ /dev/null
@@ -1,332 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file insert_fn_imps.hpp
- * Contains an implementation for thin_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::point_iterator
-PB_DS_CLASS_C_DEC::
-push(const_reference r_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- node_pointer p_nd = base_type::get_new_node_for_insert(r_val);
-
- p_nd->m_metadata = 0;
-
- p_nd->m_p_prev_or_parent = p_nd->m_p_l_child = NULL;
-
- if (base_type::m_p_root == NULL)
- {
- p_nd->m_p_next_sibling = NULL;
-
- m_p_max = base_type::m_p_root = p_nd;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return point_iterator(p_nd);
- }
-
- p_nd->m_p_next_sibling = base_type::m_p_root;
-
- base_type::m_p_root->m_p_prev_or_parent = NULL;
-
- base_type::m_p_root = p_nd;
-
- update_max(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return point_iterator(p_nd);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-make_root(node_pointer p_nd)
-{
- p_nd->m_metadata =
- p_nd->m_p_l_child == NULL?
- 0 :
- 1 + p_nd->m_p_l_child->m_metadata;
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-make_root_and_link(node_pointer p_nd)
-{
- make_root(p_nd);
-
- p_nd->m_p_prev_or_parent = NULL;
-
- p_nd->m_p_next_sibling = base_type::m_p_root;
-
- if (base_type::m_p_root != NULL)
- base_type::m_p_root->m_p_prev_or_parent = NULL;
-
- base_type::m_p_root = p_nd;
-
- update_max(p_nd);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-fix(node_pointer p_y)
-{
- while (true)
- {
- if (p_y->m_p_prev_or_parent == NULL)
- {
- fix_root(p_y);
-
- return;
- }
- else if (p_y->m_metadata == 1&& p_y->m_p_next_sibling == NULL)
- {
- if (p_y->m_p_l_child != NULL)
- {
- fix_sibling_rank_1_unmarked(p_y);
-
- return;
- }
-
- fix_sibling_rank_1_marked(p_y);
-
- p_y = p_y->m_p_prev_or_parent;
- }
- else if (p_y->m_metadata > p_y->m_p_next_sibling->m_metadata + 1)
- {
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_l_child != NULL);
-
- if (p_y->m_metadata != p_y->m_p_l_child->m_metadata + 2)
- {
- fix_sibling_general_unmarked(p_y);
-
- return;
- }
-
- fix_sibling_general_marked(p_y);
-
- p_y = p_y->m_p_prev_or_parent;
- }
- else if ((p_y->m_p_l_child == NULL&&
- p_y->m_metadata == 2) ||(p_y->m_p_l_child != NULL&&
- p_y->m_metadata == p_y->m_p_l_child->m_metadata + 3))
- {
- node_pointer p_z = p_y->m_p_prev_or_parent;
-
- fix_child(p_y);
-
- p_y = p_z;
- }
- else
- return;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-fix_root(node_pointer p_y)
-{
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent == NULL);
-
- make_root(p_y);
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y, true);)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-fix_sibling_rank_1_unmarked(node_pointer p_y)
-{
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent != NULL);
-
- _GLIBCXX_DEBUG_ONLY(node_pointer p_w = p_y->m_p_l_child;)
- _GLIBCXX_DEBUG_ASSERT(p_w != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_w->m_p_next_sibling == NULL);
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_next_sibling == NULL);
-
- p_y->m_p_next_sibling = p_y->m_p_l_child;
-
- p_y->m_p_next_sibling->m_p_prev_or_parent = p_y;
-
- p_y->m_p_l_child = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y, false);)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-fix_sibling_rank_1_marked(node_pointer p_y)
-{
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_l_child == NULL);
-
- p_y->m_metadata = 0;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y, false);)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-fix_sibling_general_unmarked(node_pointer p_y)
-{
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent != NULL);
-
- node_pointer p_w = p_y->m_p_l_child;
- _GLIBCXX_DEBUG_ASSERT(p_w != NULL);
- _GLIBCXX_DEBUG_ASSERT(p_w->m_p_next_sibling != NULL);
-
- p_y->m_p_l_child = p_w->m_p_next_sibling;
- p_w->m_p_next_sibling->m_p_prev_or_parent = p_y;
-
- p_w->m_p_next_sibling = p_y->m_p_next_sibling;
- _GLIBCXX_DEBUG_ASSERT(p_w->m_p_next_sibling != NULL);
- p_w->m_p_next_sibling->m_p_prev_or_parent = p_w;
-
- p_y->m_p_next_sibling = p_w;
- p_w->m_p_prev_or_parent = p_y;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y, false);)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-fix_sibling_general_marked(node_pointer p_y)
-{
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent != NULL);
-
- --p_y->m_metadata;
-
- _GLIBCXX_DEBUG_ONLY(assert_node_consistent(p_y, false);)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-fix_child(node_pointer p_y)
-{
- _GLIBCXX_DEBUG_ASSERT(p_y->m_p_prev_or_parent != NULL);
-
- if (p_y->m_p_next_sibling != NULL)
- p_y->m_p_next_sibling->m_p_prev_or_parent = p_y->m_p_prev_or_parent;
-
- if (p_y->m_p_prev_or_parent->m_p_l_child == p_y)
- p_y->m_p_prev_or_parent->m_p_l_child = p_y->m_p_next_sibling;
- else
- p_y->m_p_prev_or_parent->m_p_next_sibling = p_y->m_p_next_sibling;
-
- make_root_and_link(p_y);
-}
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-modify(point_iterator it, const_reference r_new_val)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- node_pointer p_nd = it.m_p_nd;
-
- _GLIBCXX_DEBUG_ASSERT(p_nd != NULL);
-
- const bool smaller = Cmp_Fn::operator()(r_new_val, p_nd->m_value);
-
- p_nd->m_value = r_new_val;
-
- if (smaller)
- {
- remove_node(p_nd);
-
- p_nd->m_p_l_child = NULL;
-
- make_root_and_link(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return;
- }
-
- if (p_nd->m_p_prev_or_parent == NULL)
- {
- update_max(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
-
- return;
- }
-
- node_pointer p_y = p_nd->m_p_prev_or_parent;
- _GLIBCXX_DEBUG_ASSERT(p_y != NULL);
-
- if (p_nd->m_p_next_sibling != NULL)
- p_nd->m_p_next_sibling->m_p_prev_or_parent = p_y;
-
- if (p_y->m_p_l_child == p_nd)
- p_y->m_p_l_child = p_nd->m_p_next_sibling;
- else
- p_y->m_p_next_sibling = p_nd->m_p_next_sibling;
-
- fix(p_y);
-
- make_root_and_link(p_nd);
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-update_max(node_pointer p_nd)
-{
- if (m_p_max == NULL || Cmp_Fn::operator()(m_p_max->m_value, p_nd->m_value))
- m_p_max = p_nd;
-}
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
deleted file mode 100644
index a24d0aac0098..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file split_join_fn_imps.hpp
- * Contains an implementation for thin_heap_.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Pred>
-void
-PB_DS_CLASS_C_DEC::
-split(Pred pred, PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- other.clear();
-
- if (base_type::empty())
- {
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- return;
- }
-
- base_type::to_linked_list();
-
- node_pointer p_out = base_type::prune(pred);
-
- while (p_out != NULL)
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_size > 0);
- --base_type::m_size;
-
- ++other.m_size;
-
- node_pointer p_next = p_out->m_p_next_sibling;
-
- other.make_root_and_link(p_out);
-
- p_out = p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- node_pointer p_cur = base_type::m_p_root;
-
- m_p_max = NULL;
-
- base_type::m_p_root = NULL;
-
- while (p_cur != NULL)
- {
- node_pointer p_next = p_cur->m_p_next_sibling;
-
- make_root_and_link(p_cur);
-
- p_cur = p_next;
- }
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-join(PB_DS_CLASS_C_DEC& other)
-{
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
-
- node_pointer p_other = other.m_p_root;
-
- while (p_other != NULL)
- {
- node_pointer p_next = p_other->m_p_next_sibling;
-
- make_root_and_link(p_other);
-
- p_other = p_next;
- }
-
- base_type::m_size += other.m_size;
-
- other.m_p_root = NULL;
- other.m_size = 0;
- other.m_p_max = NULL;
-
- _GLIBCXX_DEBUG_ONLY(assert_valid();)
- _GLIBCXX_DEBUG_ONLY(other.assert_valid();)
- }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
deleted file mode 100644
index 6d1f4ba9ca87..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
+++ /dev/null
@@ -1,357 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file thin_heap_.hpp
- * Contains an implementation class for a thin heap.
- */
-
-#ifndef PB_DS_THIN_HEAP_HPP
-#define PB_DS_THIN_HEAP_HPP
-
-/*
- * Thin heaps.
- * Tarjan and Kaplan.
- */
-
-#include <algorithm>
-#include <ext/pb_ds/detail/cond_dealtor.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp>
-#include <ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp>
-#include <debug/debug.h>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Value_Type, class Cmp_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- thin_heap_<Value_Type, Cmp_Fn, Allocator>
-
-#ifdef _GLIBCXX_DEBUG
-#define PB_DS_BASE_C_DEC \
- left_child_next_sibling_heap_<Value_Type, Cmp_Fn, \
- typename Allocator::size_type, Allocator, true>
-#else
-#define PB_DS_BASE_C_DEC \
- left_child_next_sibling_heap_<Value_Type, Cmp_Fn, \
- typename Allocator::size_type, Allocator>
-#endif
-
- /**
- * class description = "t|-|i|\| h34p">
- **/
- template<typename Value_Type, class Cmp_Fn, class Allocator>
- class thin_heap_ : public PB_DS_BASE_C_DEC
- {
-
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- protected:
- typedef typename base_type::node node;
-
- typedef typename base_type::node_pointer node_pointer;
-
- typedef typename base_type::const_node_pointer const_node_pointer;
-
- public:
-
- typedef typename Allocator::size_type size_type;
-
- typedef typename Allocator::difference_type difference_type;
-
- typedef Value_Type value_type;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::pointer
- pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_pointer
- const_pointer;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::reference
- reference;
-
- typedef
- typename Allocator::template rebind<
- value_type>::other::const_reference
- const_reference;
-
- typedef
- typename PB_DS_BASE_C_DEC::const_point_iterator
- const_point_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::point_iterator point_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::const_iterator const_iterator;
-
- typedef typename PB_DS_BASE_C_DEC::iterator iterator;
-
- typedef Cmp_Fn cmp_fn;
-
- typedef Allocator allocator;
-
- public:
-
- inline point_iterator
- push(const_reference r_val);
-
- void
- modify(point_iterator it, const_reference r_new_val);
-
- inline const_reference
- top() const;
-
- void
- pop();
-
- void
- erase(point_iterator it);
-
- inline void
- clear();
-
- template<typename Pred>
- size_type
- erase_if(Pred pred);
-
- template<typename Pred>
- void
- split(Pred pred, PB_DS_CLASS_C_DEC& other);
-
- void
- join(PB_DS_CLASS_C_DEC& other);
-
- protected:
-
- thin_heap_();
-
- thin_heap_(const Cmp_Fn& r_cmp_fn);
-
- thin_heap_(const PB_DS_CLASS_C_DEC& other);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- ~thin_heap_();
-
- template<typename It>
- void
- copy_from_range(It first_it, It last_it);
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-
- void
- assert_max() const;
-#endif
-
-#ifdef PB_DS_THIN_HEAP_TRACE_
- void
- trace() const;
-#endif
-
- private:
- enum
- {
- max_rank = (sizeof(size_type) << 4) + 2
- };
-
- private:
-
- void
- initialize();
-
- inline void
- update_max(node_pointer p_nd);
-
- inline void
- fix(node_pointer p_nd);
-
- inline void
- fix_root(node_pointer p_y);
-
- inline void
- fix_sibling_rank_1_unmarked(node_pointer p_y);
-
- inline void
- fix_sibling_rank_1_marked(node_pointer p_y);
-
- inline void
- fix_sibling_general_unmarked(node_pointer p_y);
-
- inline void
- fix_sibling_general_marked(node_pointer p_y);
-
- inline void
- fix_child(node_pointer p_y);
-
- inline static void
- make_root(node_pointer p_nd);
-
- inline void
- make_root_and_link(node_pointer p_nd);
-
- inline void
- remove_max_node();
-
- void
- to_aux_except_max();
-
- inline void
- add_to_aux(node_pointer p_nd);
-
- inline void
- make_from_aux();
-
- inline size_type
- rank_bound();
-
- inline void
- make_child_of(node_pointer p_nd, node_pointer p_new_parent);
-
- inline void
- remove_node(node_pointer p_nd);
-
- inline node_pointer
- join(node_pointer p_lhs, node_pointer p_rhs) const;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_node_consistent(const_node_pointer p_nd, bool root) const;
-
- void
- assert_aux_null() const;
-#endif
-
- private:
- node_pointer m_p_max;
-
- node_pointer m_a_aux[max_rank];
- };
-
- enum
- {
- num_distinct_rank_bounds = 48
- };
-
- // Taken from the SGI implementation; acknowledged in the docs.
- static const std::size_t g_a_rank_bounds[num_distinct_rank_bounds] =
- {
- /* Dealing cards... */
- /* 0 */ 0ul,
- /* 1 */ 1ul,
- /* 2 */ 1ul,
- /* 3 */ 2ul,
- /* 4 */ 4ul,
- /* 5 */ 6ul,
- /* 6 */ 11ul,
- /* 7 */ 17ul,
- /* 8 */ 29ul,
- /* 9 */ 46ul,
- /* 10 */ 76ul,
- /* 11 */ 122ul,
- /* 12 */ 199ul,
- /* 13 */ 321ul,
- /* 14 */ 521ul,
- /* 15 */ 842ul,
- /* 16 */ 1364ul,
- /* 17 */ 2206ul,
- /* 18 */ 3571ul,
- /* 19 */ 5777ul,
- /* 20 */ 9349ul,
- /* 21 */ 15126ul,
- /* 22 */ 24476ul,
- /* 23 */ 39602ul,
- /* 24 */ 64079ul,
- /* 25 */ 103681ul,
- /* 26 */ 167761ul,
- /* 27 */ 271442ul,
- /* 28 */ 439204ul,
- /* 29 */ 710646ul,
- /* 30 */ 1149851ul,
- /* 31 */ 1860497ul,
- /* 32 */ 3010349ul,
- /* 33 */ 4870846ul,
- /* 34 */ 7881196ul,
- /* 35 */ 12752042ul,
- /* 36 */ 20633239ul,
- /* 37 */ 33385282ul,
- /* 38 */ 54018521ul,
- /* 39 */ 87403803ul,
- /* 40 */ 141422324ul,
- /* 41 */ 228826127ul,
- /* 42 */ 370248451ul,
- /* 43 */ 599074578ul,
- /* 44 */ 969323029ul,
- /* 45 */ 1568397607ul,
- /* 46 */ 2537720636ul,
- /* 47 */ 4106118243ul
- /* Pot's good, let's play */
- };
-
-#include <ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp>
-#include <ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp>
-#include <ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp>
-#include <ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp>
-#include <ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp>
-#include <ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp>
-#include <ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_BASE_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
deleted file mode 100644
index a4f9c8784ff3..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+++ /dev/null
@@ -1,61 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trace_fn_imps.hpp
- * Contains an implementation class for left_child_next_sibling_heap_.
- */
-
-#ifdef PB_DS_THIN_HEAP_TRACE_
-
-PB_DS_CLASS_T_DEC
-void
-PB_DS_CLASS_C_DEC::
-trace() const
-{
- std::cerr << std::endl;
-
- std::cerr << "m_p_max " << m_p_max << std::endl;
-
- base_type::trace();
-}
-
-#endif // #ifdef PB_DS_THIN_HEAP_TRACE_
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
deleted file mode 100644
index 3fd7dc9ac881..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node_metadata_selector.hpp
- * Contains an implementation class for trees.
- */
-
-#ifndef PB_DS_TREE_NODE_METADATA_SELECTOR_HPP
-#define PB_DS_TREE_NODE_METADATA_SELECTOR_HPP
-
-#include <ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Node_Update, bool Null>
- struct tree_metadata_helper
- {
- typedef typename Node_Update::metadata_type type;
- };
-
- template<typename Node_Update>
- struct tree_metadata_helper<
- Node_Update,
- true>
- {
- typedef null_node_metadata type;
- };
-
- template<typename Key,
- typename Data,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Const_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct tree_node_metadata_selector
- {
- private:
- typedef
- dumconst_node_iterator<
- Key,
- Data,
- Allocator>
- dumconst_node_it;
-
- enum
- {
- null_update =
- is_same<
- Node_Update<
- dumconst_node_it,
- dumconst_node_it,
- Cmp_Fn,
- Allocator>,
- null_tree_node_update<
- dumconst_node_it,
- dumconst_node_it,
- Cmp_Fn,
- Allocator> >::value
- };
-
- public:
- typedef
- typename tree_metadata_helper<
- Node_Update<
- dumconst_node_it,
- dumconst_node_it,
- Cmp_Fn,
- Allocator>,
- null_update>::type
- type;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_TREE_NODE_METADATA_SELECTOR_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp
deleted file mode 100644
index d9c596798c18..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file null_node_update_imp.hpp
- * Contains an implementation of null_node_update.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Const_Node_Iterator_,
- typename Node_Iterator_,
- class Cmp_Fn_,
- typename Allocator_>
-inline void
-PB_DS_CLASS_C_DEC::
-swap(null_tree_node_update< Const_Node_Iterator_, Node_Iterator_, Cmp_Fn_, Allocator_>& /*other*/)
-{ }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
deleted file mode 100644
index 85f4d166a56a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file order_statistics_imp.hpp
- * Contains forward declarations for order_statistics_key
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-find_by_order(size_type order)
-{
- node_iterator it = node_begin();
-
- node_iterator end_it = node_end();
-
- while (it != end_it)
- {
- node_iterator l_it = it.get_l_child();
-
- const size_type o = (l_it == end_it)?
- 0 :
- l_it.get_metadata();
-
- if (order == o)
- return (*it);
- else if (order < o)
- it = l_it;
- else
- {
- order -= o + 1;
-
- it = it.get_r_child();
- }
- }
-
- return (PB_DS_BASE_C_DEC::end_iterator());
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-find_by_order(size_type order) const
-{
- return (const_cast<PB_DS_CLASS_C_DEC* >(this)->find_by_order(order));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-order_of_key(const_key_reference r_key) const
-{
- const_node_iterator it = node_begin();
-
- const_node_iterator end_it = node_end();
-
- const cmp_fn& r_cmp_fn =
- const_cast<PB_DS_CLASS_C_DEC* >(this)->get_cmp_fn();
-
- size_type ord = 0;
-
- while (it != end_it)
- {
- const_node_iterator l_it = it.get_l_child();
-
- if (r_cmp_fn(r_key, extract_key(*(*it))))
- it = l_it;
- else if (r_cmp_fn(extract_key(*(*it)), r_key))
- {
-
- ord += (l_it == end_it)?
- 1 :
- 1 + l_it.get_metadata();
-
- it = it.get_r_child();
- }
- else
- {
- ord += (l_it == end_it)?
- 0 :
- l_it.get_metadata();
-
- it = end_it;
- }
- }
-
- return (ord);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-operator()(node_iterator node_it, const_node_iterator end_nd_it) const
-{
- node_iterator l_child_it = node_it.get_l_child();
- const size_type l_rank =(l_child_it == end_nd_it)? 0 : l_child_it.get_metadata();
-
- node_iterator r_child_it = node_it.get_r_child();
- const size_type r_rank =(r_child_it == end_nd_it)? 0 : r_child_it.get_metadata();
-
- const_cast<metadata_reference>(node_it.get_metadata())=
- 1 + l_rank + r_rank;
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~tree_order_statistics_node_update()
-{ }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
deleted file mode 100644
index 5b7d7c51aace..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_tree_node_update.hpp
- * Contains a samle node update functor.
- */
-
-#ifndef PB_DS_SAMPLE_TREE_NODE_UPDATOR_HPP
-#define PB_DS_SAMPLE_TREE_NODE_UPDATOR_HPP
-
-// A sample node updator.
-template<typename Const_Node_Iterator,
-
- class Node_Iterator,
-
- class Cmp_Fn,
-
- class Allocator
- >
-class sample_tree_node_update
-{
-
-public:
-
- // Metadata type.
- typedef size_t metadata_type;
-
-protected:
-
- // Default constructor.
- sample_tree_node_update();
-
- // Updates the rank of a node through a node_iterator node_it; end_nd_it is the end node iterator.
- inline void
- operator()(node_iterator node_it, const_node_iterator end_nd_it) const;
-
-};
-
-#endif // #ifndef PB_DS_SAMPLE_TREE_NODE_UPDATOR_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/tree_trace_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/tree_trace_base.hpp
deleted file mode 100644
index 791f2fc6f2d2..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/tree_trace_base.hpp
+++ /dev/null
@@ -1,215 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file tree_trace_base.hpp
- * Contains tree-related policies.
- */
-
-#ifndef PB_DS_TREE_TRACE_BASE_HPP
-#define PB_DS_TREE_TRACE_BASE_HPP
-
-#ifdef PB_DS_TREE_TRACE
-
-#include <ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp>
-#include <ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp>
-
-namespace pb_ds
-{
-
- namespace detail
- {
-
-#ifdef PB_DS_TREE_TRACE
-
-#define PB_DS_CLASS_T_DEC \
- template< \
- class Const_Node_Iterator, \
- class Node_Iterator, \
- class Cmp_Fn, \
- bool Node_Based, \
- class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- tree_trace_base< \
- Const_Node_Iterator, \
- Node_Iterator, \
- Cmp_Fn, \
- Node_Based, \
- Allocator>
-
-#define PB_DS_BASE_C_DEC \
- basic_tree_policy_base< \
- Const_Node_Iterator, \
- Node_Iterator, \
- Allocator>
-
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class Cmp_Fn,
- bool Node_Based,
- class Allocator>
- class tree_trace_base : private PB_DS_BASE_C_DEC
- {
- public:
- void
- trace() const;
-
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- typedef Const_Node_Iterator const_node_iterator;
-
- typedef typename Allocator::size_type size_type;
-
- private:
- void
- trace_node(const_node_iterator nd_it, size_type level) const;
-
- virtual bool
- empty() const = 0;
-
- virtual const_node_iterator
- node_begin() const = 0;
-
- virtual const_node_iterator
- node_end() const = 0;
-
- static void
- print_node_pointer(Const_Node_Iterator nd_it, integral_constant<int,true>);
-
- static void
- print_node_pointer(Const_Node_Iterator nd_it, integral_constant<int,false>);
-
- template<typename Metadata_>
- static void
- trace_it_metadata(Const_Node_Iterator nd_it, type_to_type<Metadata_>);
-
- static void
- trace_it_metadata(Const_Node_Iterator, type_to_type<null_node_metadata>);
- };
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- trace() const
- {
- if (empty())
- return;
-
- trace_node(node_begin(), 0);
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- trace_node(const_node_iterator nd_it, size_type level) const
- {
- if (nd_it.get_r_child() != node_end())
- trace_node(nd_it.get_r_child(), level + 1);
-
- for (size_type i = 0; i < level; ++i)
- std::cerr << ' ';
-
- print_node_pointer(nd_it, integral_constant<int,Node_Based>());
- std::cerr << base_type::extract_key(*(*nd_it));
-
- typedef
- type_to_type<
- typename const_node_iterator::metadata_type>
- m_type_ind_t;
-
- trace_it_metadata(nd_it, m_type_ind_t());
-
- std::cerr << std::endl;
-
- if (nd_it.get_l_child() != node_end())
- trace_node(nd_it.get_l_child(), level + 1);
- }
-
- PB_DS_CLASS_T_DEC
- template<typename Metadata_>
- void
- PB_DS_CLASS_C_DEC::
- trace_it_metadata(Const_Node_Iterator nd_it, type_to_type<Metadata_>)
- {
- std::cerr << " (" <<
- static_cast<unsigned long>(nd_it.get_metadata()) << ") ";
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- trace_it_metadata(Const_Node_Iterator, type_to_type<null_node_metadata>)
- { }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- print_node_pointer(Const_Node_Iterator nd_it, integral_constant<int,true>)
- {
- std::cerr << nd_it.m_p_nd << " ";
- }
-
- PB_DS_CLASS_T_DEC
- void
- PB_DS_CLASS_C_DEC::
- print_node_pointer(Const_Node_Iterator nd_it, integral_constant<int,false>)
- {
- std::cerr <<* nd_it << " ";
- }
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_CLASS_C_DEC
-
-#undef PB_DS_BASE_C_DEC
-
-#endif // #ifdef PB_DS_TREE_TRACE
-
- } // namespace detail
-
-} // namespace pb_ds
-
-#endif // #ifdef PB_DS_TREE_TRACE
-
-#endif // #ifndef PB_DS_TREE_TRACE_BASE_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
deleted file mode 100644
index ed9e1aac6e00..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
+++ /dev/null
@@ -1,122 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file node_metadata_selector.hpp
- * Contains an implementation class for tries.
- */
-
-#ifndef PB_DS_TRIE_NODE_METADATA_SELECTOR_HPP
-#define PB_DS_TRIE_NODE_METADATA_SELECTOR_HPP
-
-#include <ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp>
-#include <ext/pb_ds/detail/types_traits.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
- template<typename Node_Update, bool Null>
- struct trie_metadata_helper
- {
- typedef typename Node_Update::metadata_type type;
- };
-
- template<typename Node_Update>
- struct trie_metadata_helper<
- Node_Update,
- true>
- {
- typedef null_node_metadata type;
- };
-
- template<typename Key,
- typename Data,
- class Cmp_Fn,
- template<typename Const_Node_Iterator,
- class Const_Iterator,
- class Cmp_Fn_,
- class Allocator_>
- class Node_Update,
- class Allocator>
- struct trie_node_metadata_selector
- {
- private:
- typedef
- dumconst_node_iterator<
- Key,
- Data,
- Allocator>
- dumconst_node_it;
-
- enum
- {
- null_update =
- is_same<
- Node_Update<
- dumconst_node_it,
- dumconst_node_it,
- Cmp_Fn,
- Allocator>,
- null_trie_node_update<
- dumconst_node_it,
- dumconst_node_it,
- Cmp_Fn,
- Allocator> >::value
- };
-
- public:
- typedef
- typename trie_metadata_helper<
- Node_Update<
- dumconst_node_it,
- dumconst_node_it,
- Cmp_Fn,
- Allocator>,
- null_update>::type
- type;
- };
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_TRIE_NODE_METADATA_SELECTOR_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp
deleted file mode 100644
index cb0b57fa7608..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file null_node_update_imp.hpp
- * Contains an implementation of null_node_update.
- */
-
-PB_DS_CLASS_T_DEC
-template<typename Const_Node_Iterator_,
- typename Node_Iterator_,
- class E_Access_Traits_,
- typename Allocator_>
-inline void
-PB_DS_CLASS_C_DEC::
-swap(null_trie_node_update< Const_Node_Iterator_, Node_Iterator_, E_Access_Traits_, Allocator_>& /*other*/)
-{ }
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
deleted file mode 100644
index 9351217ed1dd..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+++ /dev/null
@@ -1,189 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file order_statistics_imp.hpp
- * Contains forward declarations for order_statistics_key
- */
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::iterator
-PB_DS_CLASS_C_DEC::
-find_by_order(size_type order)
-{
- if (empty())
- return (end());
-
- ++order;
-
- node_iterator nd_it = node_begin();
-
- node_iterator end_nd_it = node_end();
-
- while (true)
- {
- if (order > nd_it.get_metadata())
- return (++base_type::rightmost_it(nd_it));
-
- const size_type num_children = nd_it.num_children();
-
- if (num_children == 0)
- return (*nd_it);
-
- for (size_type i = 0; i < num_children; ++i)
- {
- node_iterator child_nd_it = nd_it.get_child(i);
-
- if (order <= child_nd_it.get_metadata())
- {
- i = num_children;
-
- nd_it = child_nd_it;
- }
- else
- order -= child_nd_it.get_metadata();
- }
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-find_by_order(size_type order) const
-{
- return (const_cast<PB_DS_CLASS_C_DEC* >(this)->find_by_order(order));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-order_of_key(const_key_reference r_key) const
-{
- const E_Access_Traits& r_traits =
- const_cast<PB_DS_CLASS_C_DEC* >(this)->get_e_access_traits();
-
- return (order_of_prefix(
- r_traits.begin(r_key),
- r_traits.end(r_key)));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-order_of_prefix(typename e_access_traits::const_iterator b, typename e_access_traits::const_iterator e) const
-{
- if (empty())
- return (0);
-
- const E_Access_Traits& r_traits =
- const_cast<PB_DS_CLASS_C_DEC* >(this)->get_e_access_traits();
-
- const_node_iterator nd_it = node_begin();
-
- const_node_iterator end_nd_it = node_end();
-
- size_type ord = 0;
-
- while (true)
- {
- const size_type num_children = nd_it.num_children();
-
- if (num_children == 0)
- {
- const_key_reference r_key =
- base_type::extract_key(*(*nd_it));
-
- typename e_access_traits::const_iterator key_b =
- r_traits.begin(r_key);
-
- typename e_access_traits::const_iterator key_e =
- r_traits.end(r_key);
-
- return ((base_type::less( key_b, key_e, b, e, r_traits))?
- ord + 1 :
- ord);
- }
-
- const_node_iterator next_nd_it = end_nd_it;
-
- size_type i = num_children - 1;
-
- do
- {
- const_node_iterator child_nd_it = nd_it.get_child(i);
-
- if (next_nd_it != end_nd_it)
- ord += child_nd_it.get_metadata();
- else if (!base_type::less(
- b, e,
- child_nd_it.valid_prefix().first,
- child_nd_it.valid_prefix().second,
- r_traits))
- next_nd_it = child_nd_it;
- }
- while (i-- > 0);
-
- if (next_nd_it == end_nd_it)
- return (ord);
-
- nd_it = next_nd_it;
- }
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-operator()(node_iterator nd_it, const_node_iterator /*end_nd_it*/) const
-{
- const size_type num_children = nd_it.num_children();
-
- size_type children_rank = 0;
-
- for (size_type i = 0; i < num_children; ++i)
- children_rank += nd_it.get_child(i).get_metadata();
-
- const_cast<size_type& >(nd_it.get_metadata()) =(num_children == 0)? 1 : children_rank;
-}
-
-PB_DS_CLASS_T_DEC
-PB_DS_CLASS_C_DEC::
-~trie_order_statistics_node_update()
-{ }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
deleted file mode 100644
index c74290ebf04c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file prefix_search_node_update_imp.hpp
- * Contains an implementation of prefix_search_node_update.
- */
-
-PB_DS_CLASS_T_DEC
-std::pair<
- typename PB_DS_CLASS_C_DEC::const_iterator,
- typename PB_DS_CLASS_C_DEC::const_iterator>
-PB_DS_CLASS_C_DEC::
-prefix_range(const_key_reference r_key) const
-{
- const e_access_traits& r_traits = get_e_access_traits();
-
- return (prefix_range(
- r_traits.begin(r_key),
- r_traits.end(r_key)));
-}
-
-PB_DS_CLASS_T_DEC
-std::pair<
- typename PB_DS_CLASS_C_DEC::iterator,
- typename PB_DS_CLASS_C_DEC::iterator>
-PB_DS_CLASS_C_DEC::
-prefix_range(const_key_reference r_key)
-{
- return (prefix_range(
- get_e_access_traits().begin(r_key),
- get_e_access_traits().end(r_key)));
-}
-
-PB_DS_CLASS_T_DEC
-std::pair<
- typename PB_DS_CLASS_C_DEC::const_iterator,
- typename PB_DS_CLASS_C_DEC::const_iterator>
-PB_DS_CLASS_C_DEC::
-prefix_range(typename e_access_traits::const_iterator b, typename e_access_traits::const_iterator e) const
-{
- const std::pair<iterator, iterator> non_const_ret =
- const_cast<PB_DS_CLASS_C_DEC* >(this)->prefix_range(b, e);
-
- return (std::make_pair(
- const_iterator(non_const_ret.first),
- const_iterator(non_const_ret.second)));
-}
-
-PB_DS_CLASS_T_DEC
-std::pair<
- typename PB_DS_CLASS_C_DEC::iterator,
- typename PB_DS_CLASS_C_DEC::iterator>
-PB_DS_CLASS_C_DEC::
-prefix_range(typename e_access_traits::const_iterator b, typename e_access_traits::const_iterator e)
-{
- Node_Iterator nd_it = node_begin();
- Node_Iterator end_nd_it = node_end();
-
- const e_access_traits& r_traits =
- get_e_access_traits();
-
- const size_type given_range_length = std::distance(b, e);
-
- while (true)
- {
- if (nd_it == end_nd_it)
- return (std::make_pair(end(), end()));
-
- const size_type common_range_length =
- PB_DS_BASE_C_DEC::common_prefix_len(nd_it, b, e, r_traits);
-
- if (common_range_length >= given_range_length)
- {
- iterator ret_b = leftmost_it(nd_it);
-
- iterator ret_e = rightmost_it(nd_it);
-
- return (std::make_pair(ret_b, ++ret_e));
- }
-
- nd_it = next_child(nd_it, b, e, end_nd_it, r_traits);
- }
-}
-
-PB_DS_CLASS_T_DEC
-typename PB_DS_CLASS_C_DEC::node_iterator
-PB_DS_CLASS_C_DEC::
-next_child(node_iterator nd_it, typename e_access_traits::const_iterator b, typename e_access_traits::const_iterator e, node_iterator end_nd_it, const e_access_traits& r_traits)
-{
- const size_type num_children = nd_it.num_children();
-
- node_iterator ret = end_nd_it;
-
- size_type max_length = 0;
-
- for (size_type i = 0; i < num_children; ++i)
- {
- node_iterator pot = nd_it.get_child(i);
-
- const size_type common_range_length =
- PB_DS_BASE_C_DEC::common_prefix_len( pot, b, e, r_traits);
-
- if (common_range_length > max_length)
- {
- ret = pot;
-
- max_length = common_range_length;
- }
- }
-
- return (ret);
-}
-
-PB_DS_CLASS_T_DEC
-inline void
-PB_DS_CLASS_C_DEC::
-operator()(node_iterator /*nd_it*/, const_node_iterator /*end_nd_it*/) const
-{ }
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp
deleted file mode 100644
index 954f47995c53..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_trie_e_access_traits.hpp
- * Contains a sample probe policy.
- */
-
-#ifndef PB_DS_SAMPLE_TRIE_E_ACCESS_TRAITS_HPP
-#define PB_DS_SAMPLE_TRIE_E_ACCESS_TRAITS_HPP
-
-// A sample trie element-access traits.
-class sample_trie_e_access_traits
-{
-
-public:
-
- // Size type.
- typedef size_t size_type;
-
- // Key type.
- typedef std::string key_type;
-
- // Const key reference type.
- typedef
- typename Allocator::template rebind<
- key_type>::other::const_reference
- const_key_reference;
-
- // Element const iterator type.
- typedef std::string::const_iterator const_iterator;
-
- // Element type.
- typedef char e_type;
-
- enum
- {
- max_size = 4
- };
-
-public:
-
- // Returns a const_iterator to the first element of r_key.
- inline static const_iterator
- begin(const_key_reference r_key);
-
- // Returns a const_iterator to the after-last element of r_key.
- inline static const_iterator
- end(const_key_reference r_key);
-
- // Maps an element to a position.
- inline static size_type
- e_pos(e_type e);
-
-};
-
-#endif // #ifndef PB_DS_SAMPLE_TRIE_E_ACCESS_TRAITS_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
deleted file mode 100644
index 8a884c410b5b..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
+++ /dev/null
@@ -1,78 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file sample_trie_node_update.hpp
- * Contains a samle node update functor.
- */
-
-#ifndef PB_DS_SAMPLE_TRIE_NODE_UPDATOR_HPP
-#define PB_DS_SAMPLE_TRIE_NODE_UPDATOR_HPP
-
-// A sample node updator.
-template<typename Const_Node_Iterator,
-
- class Node_Iterator,
-
- class E_Access_Traits,
-
- class Allocator
- >
-class sample_trie_node_update
-{
-
-public:
-
- // Metadata type.
- typedef size_t metadata_type;
-
-protected:
-
- // Default constructor.
- sample_trie_node_update();
-
- // Updates the rank of a node through a node_iterator node_it; end_nd_it is the end node iterator.
- inline void
- operator()(node_iterator node_it, const_node_iterator end_nd_it) const;
-
-};
-
-#endif // #ifndef PB_DS_SAMPLE_TRIE_NODE_UPDATOR_HPP
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp
deleted file mode 100644
index c2fe1c6ca438..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp
+++ /dev/null
@@ -1,105 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file string_trie_e_access_traits_imp.hpp
- * Contains a policy for extracting character positions from
- * a string for a vector-based PATRICIA tree
- */
-
-PB_DS_CLASS_T_DEC
-detail::integral_constant<int, Reverse> PB_DS_CLASS_C_DEC::s_rev_ind;
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::size_type
-PB_DS_CLASS_C_DEC::
-e_pos(e_type e)
-{
- return (static_cast<size_type>(e - min_e_val));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin(const_key_reference r_key)
-{
- return (begin_imp(r_key, s_rev_ind));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end(const_key_reference r_key)
-{
- return (end_imp(r_key, s_rev_ind));
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin_imp(const_key_reference r_key, detail::false_type)
-{
- return (r_key.begin());
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-begin_imp(const_key_reference r_key, detail::true_type)
-{
- return (r_key.rbegin());
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end_imp(const_key_reference r_key, detail::false_type)
-{
- return (r_key.end());
-}
-
-PB_DS_CLASS_T_DEC
-inline typename PB_DS_CLASS_C_DEC::const_iterator
-PB_DS_CLASS_C_DEC::
-end_imp(const_key_reference r_key, detail::true_type)
-{
- return (r_key.rend());
-}
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
deleted file mode 100644
index a8506ce68156..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
+++ /dev/null
@@ -1,255 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trie_policy_base.hpp
- * Contains an implementation of trie_policy_base.
- */
-
-#ifndef PB_DS_TRIE_POLICY_BASE_HPP
-#define PB_DS_TRIE_POLICY_BASE_HPP
-
-#include <ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp>
-
-namespace pb_ds
-{
- namespace detail
- {
-
-#define PB_DS_CLASS_T_DEC \
- template< \
- class Const_Node_Iterator, \
- class Node_Iterator, \
- class E_Access_Traits, \
- typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- trie_policy_base< \
- Const_Node_Iterator, \
- Node_Iterator, \
- E_Access_Traits, \
- Allocator>
-
-#define PB_DS_BASE_C_DEC \
- basic_tree_policy_base< \
- Const_Node_Iterator, \
- Node_Iterator, \
- Allocator>
-
- template<typename Const_Node_Iterator,
- class Node_Iterator,
- class E_Access_Traits,
- class Allocator>
- class trie_policy_base : public PB_DS_BASE_C_DEC
- {
-
- public:
-
- typedef E_Access_Traits e_access_traits;
-
- typedef Allocator allocator;
-
- typedef typename allocator::size_type size_type;
-
- typedef null_node_metadata metadata_type;
-
- typedef Const_Node_Iterator const_node_iterator;
-
- typedef Node_Iterator node_iterator;
-
- typedef typename const_node_iterator::value_type const_iterator;
-
- typedef typename node_iterator::value_type iterator;
-
- public:
-
- typedef typename PB_DS_BASE_C_DEC::key_type key_type;
-
- typedef
- typename PB_DS_BASE_C_DEC::const_key_reference
- const_key_reference;
-
- protected:
-
- virtual const_iterator
- end() const = 0;
-
- virtual iterator
- end() = 0;
-
- virtual const_node_iterator
- node_begin() const = 0;
-
- virtual node_iterator
- node_begin() = 0;
-
- virtual const_node_iterator
- node_end() const = 0;
-
- virtual node_iterator
- node_end() = 0;
-
- virtual const e_access_traits&
- get_e_access_traits() const = 0;
-
- private:
- typedef
- std::pair<
- typename e_access_traits::const_iterator,
- typename e_access_traits::const_iterator>
- prefix_range_t;
-
- typedef PB_DS_BASE_C_DEC base_type;
-
- protected:
- static size_type
- common_prefix_len(node_iterator nd_it, typename e_access_traits::const_iterator b_r, typename e_access_traits::const_iterator e_r, const e_access_traits& r_traits);
-
- static iterator
- leftmost_it(node_iterator nd_it);
-
- static iterator
- rightmost_it(node_iterator nd_it);
-
- static bool
- less(typename e_access_traits::const_iterator b_l, typename e_access_traits::const_iterator e_l, typename e_access_traits::const_iterator b_r, typename e_access_traits::const_iterator e_r, const e_access_traits& r_traits);
- };
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::size_type
- PB_DS_CLASS_C_DEC::
- common_prefix_len(node_iterator nd_it, typename e_access_traits::const_iterator b_r, typename e_access_traits::const_iterator e_r, const e_access_traits& r_traits)
- {
- prefix_range_t pref_range = nd_it.valid_prefix();
-
- typename e_access_traits::const_iterator b_l = pref_range.first;
- typename e_access_traits::const_iterator e_l = pref_range.second;
-
- const size_type range_length_l =
- std::distance(b_l, e_l);
-
- const size_type range_length_r =
- std::distance(b_r, e_r);
-
- if (range_length_r < range_length_l)
- {
- std::swap(b_l, b_r);
-
- std::swap(e_l, e_r);
- }
-
- size_type ret = 0;
-
- while (b_l != e_l)
- {
- if (r_traits.e_pos(*b_l) != r_traits.e_pos(*b_r))
- return (ret);
-
- ++ret;
-
- ++b_l;
-
- ++b_r;
- }
-
- return (ret);
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::iterator
- PB_DS_CLASS_C_DEC::
- leftmost_it(node_iterator nd_it)
- {
- if (nd_it.num_children() == 0)
- return (*nd_it);
-
- return (leftmost_it(nd_it.get_child(0)));
- }
-
- PB_DS_CLASS_T_DEC
- typename PB_DS_CLASS_C_DEC::iterator
- PB_DS_CLASS_C_DEC::
- rightmost_it(node_iterator nd_it)
- {
- const size_type num_children = nd_it.num_children();
-
- if (num_children == 0)
- return (*nd_it);
-
- return (rightmost_it(nd_it.get_child(num_children - 1)));
- }
-
- PB_DS_CLASS_T_DEC
- bool
- PB_DS_CLASS_C_DEC::
- less(typename e_access_traits::const_iterator b_l, typename e_access_traits::const_iterator e_l, typename e_access_traits::const_iterator b_r, typename e_access_traits::const_iterator e_r, const e_access_traits& r_traits)
- {
- while (b_l != e_l)
- {
- if (b_r == e_r)
- return (false);
-
- size_type l_pos =
- r_traits.e_pos(*b_l);
- size_type r_pos =
- r_traits.e_pos(*b_r);
-
- if (l_pos != r_pos)
- return (l_pos < r_pos);
-
- ++b_l;
- ++b_r;
- }
-
- return (b_r != e_r);
- }
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_CLASS_C_DEC
-
-#undef PB_DS_BASE_C_DEC
-
- } // namespace detail
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_TRIE_POLICY_BASE_HPP
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/type_utils.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/type_utils.hpp
deleted file mode 100644
index e917fac0bdcf..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/type_utils.hpp
+++ /dev/null
@@ -1,165 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file type_utils.hpp
- * Contains utilities for handnling types. All of these classes are based on
- * "Modern C++" by Andrei Alxandrescu.
- */
-
-#ifndef PB_DS_TYPE_UTILS_HPP
-#define PB_DS_TYPE_UTILS_HPP
-
-#include <cstddef>
-#include <utility>
-#include <tr1/type_traits>
-#include <ext/type_traits.h>
-#include <ext/numeric_traits.h>
-
-namespace pb_ds
-{
- namespace detail
- {
- using std::tr1::is_same;
- using std::tr1::is_const;
- using std::tr1::is_pointer;
- using std::tr1::is_reference;
- using std::tr1::is_fundamental;
- using std::tr1::is_member_object_pointer;
- using std::tr1::is_member_pointer;
- using std::tr1::is_base_of;
- using std::tr1::remove_const;
- using std::tr1::remove_reference;
-
- // Need integral_const<bool, true> <-> integral_const<int, 1>, so
- // because of this use the following typedefs instead of importing
- // std::tr1's.
- using std::tr1::integral_constant;
- typedef std::tr1::integral_constant<int, 1> true_type;
- typedef std::tr1::integral_constant<int, 0> false_type;
-
- using __gnu_cxx::__conditional_type;
- using __gnu_cxx::__numeric_traits;
-
- template<typename T>
- struct is_const_pointer
- {
- enum
- {
- value = is_const<T>::value && is_pointer<T>::value
- };
- };
-
- template<typename T>
- struct is_const_reference
- {
- enum
- {
- value = is_const<T>::value && is_reference<T>::value
- };
- };
-
- template<typename T>
- struct is_simple
- {
- enum
- {
- value = is_fundamental<typename remove_const<T>::type>::value
- || is_pointer<typename remove_const<T>::type>::value
- || is_member_pointer<T>::value
- };
- };
-
- template<typename T>
- class is_pair
- {
- private:
- template<typename U>
- struct is_pair_imp
- {
- enum
- {
- value = 0
- };
- };
-
- template<typename U, typename V>
- struct is_pair_imp<std::pair<U,V> >
- {
- enum
- {
- value = 1
- };
- };
-
- public:
- enum
- {
- value = is_pair_imp<T>::value
- };
- };
-
-
- template<bool>
- struct static_assert;
-
- template<>
- struct static_assert<true>
- { };
-
- template<int>
- struct static_assert_dumclass
- {
- enum
- {
- v = 1
- };
- };
-
- template<typename Type>
- struct type_to_type
- {
- typedef Type type;
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/types_traits.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/types_traits.hpp
deleted file mode 100644
index 8272c8a71a4c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/types_traits.hpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file types_traits.hpp
- * Contains a traits class of types used by containers.
- */
-
-#ifndef PB_DS_TYPES_TRAITS_HPP
-#define PB_DS_TYPES_TRAITS_HPP
-
-#include <ext/pb_ds/detail/basic_types.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <utility>
-
-namespace pb_ds
-{
- namespace detail
- {
- template<typename Key, typename Mapped, typename Alloc, bool Store_Extra>
- struct vt_base_selector
- {
- typedef value_type_base<Key, Mapped, Alloc, Store_Extra> type;
- };
-
- template<typename Key, typename Mapped, typename Alloc, bool Store_Extra>
- struct types_traits
- : public vt_base_selector<Key, Mapped, Alloc, Store_Extra>::type
- {
- typedef typename Alloc::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::value_type key_type;
- typedef typename key_allocator::pointer key_pointer;
- typedef typename key_allocator::const_pointer const_key_pointer;
- typedef typename key_allocator::reference key_reference;
- typedef typename key_allocator::const_reference const_key_reference;
- typedef typename Alloc::size_type size_type;
-
- // Extra value (used when the extra value is stored with each value).
- typedef std::pair<size_type, size_type> comp_hash;
-
- integral_constant<int, Store_Extra> m_store_extra_indicator;
- typename no_throw_copies<Key, Mapped>::indicator m_no_throw_copies_indicator;
- };
- } // namespace detail
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
deleted file mode 100644
index 84419e59a5eb..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+++ /dev/null
@@ -1,135 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file const_iterator.hpp
- * Contains an iterator class used for const ranging over the elements of the
- * table.
- */
-
-// Const range-type iterator.
-class const_iterator_ :
- public const_point_iterator_
-
-{
-
-public:
-
- // Category.
- typedef std::forward_iterator_tag iterator_category;
-
- // Difference type.
- typedef typename Allocator::difference_type difference_type;
-
- // Iterator's value type.
- typedef value_type_ value_type;
-
- // Iterator's pointer type.
- typedef pointer_ pointer;
-
- // Iterator's const pointer type.
- typedef const_pointer_ const_pointer;
-
- // Iterator's reference type.
- typedef reference_ reference;
-
- // Iterator's const reference type.
- typedef const_reference_ const_reference;
-
-public:
-
- // Default constructor.
- inline
- const_iterator_()
-
- : m_p_tbl(NULL)
- { }
-
- // Increments.
- inline const_iterator_&
- operator++()
- {
- m_p_tbl->inc_it_state(base_type::m_p_value, m_pos);
-
- return (*this);
- }
-
- // Increments.
- inline const_iterator_
- operator++(int)
- {
- const_iterator_ ret =* this;
-
- m_p_tbl->inc_it_state(base_type::m_p_value, m_pos);
-
- return (ret);
- }
-
-protected:
-
- typedef const_point_iterator_ base_type;
-
-protected:
-
- /**
- * Constructor used by the table to initiate the generalized
- * pointer and position (e.g., this is called from within a find()
- * of a table.
- * */
- inline
- const_iterator_(const_pointer_ p_value, PB_DS_GEN_POS pos, const PB_DS_CLASS_C_DEC* p_tbl) : const_point_iterator_(p_value),
- m_p_tbl(p_tbl),
- m_pos(pos)
- { }
-
-protected:
-
- /**
- * Pointer to the table object which created the iterator (used for
- * incrementing its position.
- * */
- const PB_DS_CLASS_C_DEC* m_p_tbl;
-
- PB_DS_GEN_POS m_pos;
-
- friend class PB_DS_CLASS_C_DEC;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp
deleted file mode 100644
index e1e93a5eed9a..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp
+++ /dev/null
@@ -1,157 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file const_point_iterator.hpp
- * Contains an iterator class returned by the tables' const find and insert
- * methods.
- */
-
-class point_iterator_;
-
-// Const point-type iterator.
-class const_point_iterator_
-{
-
-public:
-
- // Category.
- typedef trivial_iterator_tag iterator_category;
-
- // Difference type.
- typedef trivial_iterator_difference_type difference_type;
-
- // Iterator's value type.
- typedef value_type_ value_type;
-
- // Iterator's pointer type.
- typedef pointer_ pointer;
-
- // Iterator's const pointer type.
- typedef const_pointer_ const_pointer;
-
- // Iterator's reference type.
- typedef reference_ reference;
-
- // Iterator's const reference type.
- typedef const_reference_ const_reference;
-
-public:
-
- inline
- const_point_iterator_(const_pointer p_value) : m_p_value(p_value)
- { }
-
- // Default constructor.
- inline
- const_point_iterator_()
-
- : m_p_value(NULL)
- { }
-
- // Copy constructor.
- inline
- const_point_iterator_(const const_point_iterator_& other)
-
- : m_p_value(other.m_p_value)
- { }
-
- // Copy constructor.
- inline
- const_point_iterator_(const point_iterator_& other)
-
- : m_p_value(other.m_p_value)
- { }
-
- // Access.
- inline const_pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_value != NULL);
-
- return (m_p_value);
- }
-
- // Access.
- inline const_reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_value != NULL);
-
- return (*m_p_value);
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const point_iterator_& other) const
- {
- return (m_p_value == other.m_p_value);
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const const_point_iterator_& other) const
- {
- return (m_p_value == other.m_p_value);
- }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const point_iterator_& other) const
- {
- return (m_p_value != other.m_p_value);
- }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const const_point_iterator_& other) const
- {
- return (m_p_value != other.m_p_value);
- }
-
-protected:
- const_pointer m_p_value;
-
- friend class point_iterator_;
-
- friend class PB_DS_CLASS_C_DEC;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
deleted file mode 100644
index 11afafbbb576..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+++ /dev/null
@@ -1,156 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file iterator.hpp
- * Contains an iterator_ class used for ranging over the elements of the
- * table.
- */
-
-// Range-type iterator.
-class iterator_ :
- public const_iterator_
-
-{
-
-public:
-
- // Category.
- typedef std::forward_iterator_tag iterator_category;
-
- // Difference type.
- typedef typename Allocator::difference_type difference_type;
-
- // Iterator's value type.
- typedef value_type_ value_type;
-
- // Iterator's pointer type.
- typedef pointer_ pointer;
-
- // Iterator's const pointer type.
- typedef const_pointer_ const_pointer;
-
- // Iterator's reference type.
- typedef reference_ reference;
-
- // Iterator's const reference type.
- typedef const_reference_ const_reference;
-
-public:
-
- // Default constructor.
- inline
- iterator_()
-
- : const_iterator_(NULL, PB_DS_GEN_POS(), NULL)
- { }
-
- // Conversion to a point-type iterator.
- inline
- operator point_iterator_()
- {
- return (point_iterator_(
- const_cast<pointer>(const_iterator_::m_p_value)));
- }
-
- // Conversion to a point-type iterator.
- inline
- operator const point_iterator_() const
- {
- return (point_iterator_(
- const_cast<pointer>(const_iterator_::m_p_value)));
- }
-
- // Access.
- inline pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_value != NULL);
-
- return (const_cast<pointer>(base_type::m_p_value));
- }
-
- // Access.
- inline reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(base_type::m_p_value != NULL);
-
- return (const_cast<reference>(*base_type::m_p_value));
- }
-
- // Increments.
- inline iterator_&
- operator++()
- {
- base_type::m_p_tbl->inc_it_state(base_type::m_p_value, base_type::m_pos);
-
- return (*this);
- }
-
- // Increments.
- inline iterator_
- operator++(int)
- {
- iterator_ ret =* this;
-
- base_type::m_p_tbl->inc_it_state(base_type::m_p_value, base_type::m_pos);
-
- return (ret);
- }
-
-protected:
- typedef const_iterator_ base_type;
-
-protected:
-
- /**
- * Constructor used by the table to initiate the generalized
- * pointer and position (e.g., this is called from within a find()
- * of a table.
- * */
- inline
- iterator_(pointer p_value, PB_DS_GEN_POS pos, PB_DS_CLASS_C_DEC* p_tbl) : const_iterator_(p_value, pos, p_tbl)
- { }
-
- friend class PB_DS_CLASS_C_DEC;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp b/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
deleted file mode 100644
index 7b96425b1457..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file point_iterator.hpp
- * Contains an iterator class returned by the tables' find and insert
- * methods.
- */
-
-// Find type iterator.
-class point_iterator_
-{
-
-public:
-
- // Category.
- typedef trivial_iterator_tag iterator_category;
-
- // Difference type.
- typedef trivial_iterator_difference_type difference_type;
-
- // Iterator's value type.
- typedef value_type_ value_type;
-
- // Iterator's pointer type.
- typedef pointer_ pointer;
-
- // Iterator's const pointer type.
- typedef const_pointer_ const_pointer;
-
- // Iterator's reference type.
- typedef reference_ reference;
-
- // Iterator's const reference type.
- typedef const_reference_ const_reference;
-
-public:
-
- // Default constructor.
- inline
- point_iterator_()
-
- : m_p_value(NULL)
- { }
-
- // Copy constructor.
- inline
- point_iterator_(const point_iterator_& other)
-
- : m_p_value(other.m_p_value)
- { }
-
- // Access.
- inline pointer
- operator->() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_value != NULL);
-
- return (m_p_value);
- }
-
- // Access.
- inline reference
- operator*() const
- {
- _GLIBCXX_DEBUG_ASSERT(m_p_value != NULL);
-
- return (*m_p_value);
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const point_iterator_& other) const
- {
- return (m_p_value == other.m_p_value);
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator==(const const_point_iterator_& other) const
- {
- return (m_p_value == other.m_p_value);
- }
-
- // Compares content to a different iterator object.
- inline bool
- operator!=(const point_iterator_& other) const
- {
- return (m_p_value != other.m_p_value);
- }
-
- // Compares content (negatively) to a different iterator object.
- inline bool
- operator!=(const const_point_iterator_& other) const
- {
- return (m_p_value != other.m_p_value);
- }
-
- inline
- point_iterator_(pointer p_value) : m_p_value(p_value)
- { }
-
-protected:
- friend class const_point_iterator_;
-
- friend class PB_DS_CLASS_C_DEC;
-
-protected:
- pointer m_p_value;
-};
-
diff --git a/contrib/libstdc++/include/ext/pb_ds/exception.hpp b/contrib/libstdc++/include/ext/pb_ds/exception.hpp
deleted file mode 100644
index 896ff3918107..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/exception.hpp
+++ /dev/null
@@ -1,108 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file exception.hpp
- * Contains exception classes.
- */
-
-#ifndef PB_DS_EXCEPTION_HPP
-#define PB_DS_EXCEPTION_HPP
-
-#include <stdexcept>
-
-namespace pb_ds
-{
- // Base class for exceptions.
- struct container_error : public std::logic_error
- {
- container_error()
- : std::logic_error(__N("pb_ds::container_error")) { }
- };
-
- // An entry cannot be inserted into a container object for logical
- // reasons (not, e.g., if memory is unabvailable, in which case
- // the allocator's exception will be thrown).
- struct insert_error : public container_error { };
-
- // A join cannot be performed logical reasons (i.e., the ranges of
- // the two container objects being joined overlaps.
- struct join_error : public container_error { };
-
- // A container cannot be resized.
- struct resize_error : public container_error { };
-
-#if __EXCEPTIONS
- void
- __throw_container_error(void)
- { throw container_error(); }
-
- void
- __throw_insert_error(void)
- { throw insert_error(); }
-
- void
- __throw_join_error(void)
- { throw join_error(); }
-
- void
- __throw_resize_error(void)
- { throw resize_error(); }
-#else
- void
- __throw_container_error(void)
- { std::abort(); }
-
- void
- __throw_insert_error(void)
- { std::abort(); }
-
- void
- __throw_join_error(void)
- { std::abort(); }
-
- void
- __throw_resize_error(void)
- { std::abort(); }
-#endif
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/hash_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/hash_policy.hpp
deleted file mode 100644
index c17d97831f8d..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/hash_policy.hpp
+++ /dev/null
@@ -1,610 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file hash_policy.hpp
- * Contains hash-related policies.
- */
-
-#ifndef PB_DS_HASH_POLICY_HPP
-#define PB_DS_HASH_POLICY_HPP
-
-#include <algorithm>
-#include <vector>
-#include <cmath>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp>
-#include <ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp>
-#include <ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp>
-
-namespace pb_ds
-{
- // A null hash function, indicating that the combining hash function
- // is actually a ranged hash function.
- struct null_hash_fn
- { };
-
- // A null probe function, indicating that the combining probe
- // function is actually a ranged probe function.
- struct null_probe_fn
- { };
-
-#define PB_DS_CLASS_T_DEC template<typename Size_Type>
-#define PB_DS_CLASS_C_DEC linear_probe_fn<Size_Type>
-
- // A probe sequence policy using fixed increments.
- template<typename Size_Type = size_t>
- class linear_probe_fn
- {
- public:
- typedef Size_Type size_type;
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- protected:
- // Returns the i-th offset from the hash value.
- inline size_type
- operator()(size_type i) const;
- };
-
-#include <ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<typename Size_Type>
-#define PB_DS_CLASS_C_DEC quadratic_probe_fn<Size_Type>
-
- // A probe sequence policy using square increments.
- template<typename Size_Type = size_t>
- class quadratic_probe_fn
- {
- public:
- typedef Size_Type size_type;
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- protected:
- // Returns the i-th offset from the hash value.
- inline size_type
- operator()(size_type i) const;
- };
-
-#include <ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<typename Size_Type>
-#define PB_DS_CLASS_C_DEC direct_mask_range_hashing<Size_Type>
-
- // A mask range-hashing class (uses a bit-mask).
- template<typename Size_Type = size_t>
- class direct_mask_range_hashing
- : public detail::mask_based_range_hashing<Size_Type>
- {
- private:
- typedef detail::mask_based_range_hashing<Size_Type> mask_based_base;
-
- public:
- typedef Size_Type size_type;
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- protected:
- void
- notify_resized(size_type size);
-
- // Transforms the __hash value hash into a ranged-hash value
- // (using a bit-mask).
- inline size_type
- operator()(size_type hash) const;
- };
-
-#include <ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<typename Size_Type>
-#define PB_DS_CLASS_C_DEC direct_mod_range_hashing<Size_Type>
-
- // A mod range-hashing class (uses the modulo function).
- template<typename Size_Type = size_t>
- class direct_mod_range_hashing
- : public detail::mod_based_range_hashing<Size_Type>
- {
- public:
- typedef Size_Type size_type;
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- protected:
- void
- notify_resized(size_type size);
-
- // Transforms the __hash value hash into a ranged-hash value
- // (using a modulo operation).
- inline size_type
- operator()(size_type hash) const;
-
- private:
- typedef detail::mod_based_range_hashing<size_type> mod_based_base;
- };
-
-#include <ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<bool External_Load_Access, typename Size_Type>
-#define PB_DS_CLASS_C_DEC hash_load_check_resize_trigger<External_Load_Access, Size_Type>
-#define PB_DS_SIZE_BASE_C_DEC detail::hash_load_check_resize_trigger_size_base<Size_Type, External_Load_Access>
-
- // A resize trigger policy based on a load check. It keeps the
- // load factor between some load factors load_min and load_max.
- template<bool External_Load_Access = false, typename Size_Type = size_t>
- class hash_load_check_resize_trigger : private PB_DS_SIZE_BASE_C_DEC
- {
- public:
- typedef Size_Type size_type;
-
- enum
- {
- external_load_access = External_Load_Access
- };
-
- // Default constructor, or constructor taking load_min and
- // load_max load factors between which this policy will keep the
- // actual load.
- hash_load_check_resize_trigger(float load_min = 0.125,
- float load_max = 0.5);
-
- void
- swap(hash_load_check_resize_trigger& other);
-
- virtual
- ~hash_load_check_resize_trigger();
-
- // Returns a pair of the minimal and maximal loads, respectively.
- inline std::pair<float, float>
- get_loads() const;
-
- // Sets the loads through a pair of the minimal and maximal
- // loads, respectively.
- void
- set_loads(std::pair<float, float> load_pair);
-
- protected:
- inline void
- notify_insert_search_start();
-
- inline void
- notify_insert_search_collision();
-
- inline void
- notify_insert_search_end();
-
- inline void
- notify_find_search_start();
-
- inline void
- notify_find_search_collision();
-
- inline void
- notify_find_search_end();
-
- inline void
- notify_erase_search_start();
-
- inline void
- notify_erase_search_collision();
-
- inline void
- notify_erase_search_end();
-
- // Notifies an element was inserted. The total number of entries
- // in the table is num_entries.
- inline void
- notify_inserted(size_type num_entries);
-
- inline void
- notify_erased(size_type num_entries);
-
- // Notifies the table was cleared.
- void
- notify_cleared();
-
- // Notifies the table was resized as a result of this object's
- // signifying that a resize is needed.
- void
- notify_resized(size_type new_size);
-
- void
- notify_externally_resized(size_type new_size);
-
- inline bool
- is_resize_needed() const;
-
- inline bool
- is_grow_needed(size_type size, size_type num_entries) const;
-
- private:
- virtual void
- do_resize(size_type new_size);
-
- typedef PB_DS_SIZE_BASE_C_DEC size_base;
-
-#ifdef _GLIBCXX_DEBUG
- void
- assert_valid() const;
-#endif
-
- float m_load_min;
- float m_load_max;
- size_type m_next_shrink_size;
- size_type m_next_grow_size;
- bool m_resize_needed;
- };
-
-#include <ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_SIZE_BASE_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<bool External_Load_Access, typename Size_Type>
-#define PB_DS_CLASS_C_DEC cc_hash_max_collision_check_resize_trigger<External_Load_Access, Size_Type>
-
- // A resize trigger policy based on collision checks. It keeps the
- // simulated load factor lower than some given load factor.
- template<bool External_Load_Access = false, typename Size_Type = size_t>
- class cc_hash_max_collision_check_resize_trigger
- {
- public:
- typedef Size_Type size_type;
-
- enum
- {
- external_load_access = External_Load_Access
- };
-
- // Default constructor, or constructor taking load, a __load
- // factor which it will attempt to maintain.
- cc_hash_max_collision_check_resize_trigger(float load = 0.5);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- // Returns the current load.
- inline float
- get_load() const;
-
- // Sets the load; does not resize the container.
- void
- set_load(float load);
-
- protected:
- inline void
- notify_insert_search_start();
-
- inline void
- notify_insert_search_collision();
-
- inline void
- notify_insert_search_end();
-
- inline void
- notify_find_search_start();
-
- inline void
- notify_find_search_collision();
-
- inline void
- notify_find_search_end();
-
- inline void
- notify_erase_search_start();
-
- inline void
- notify_erase_search_collision();
-
- inline void
- notify_erase_search_end();
-
- inline void
- notify_inserted(size_type num_entries);
-
- inline void
- notify_erased(size_type num_entries);
-
- void
- notify_cleared();
-
- // Notifies the table was resized as a result of this object's
- // signifying that a resize is needed.
- void
- notify_resized(size_type new_size);
-
- void
- notify_externally_resized(size_type new_size);
-
- inline bool
- is_resize_needed() const;
-
- inline bool
- is_grow_needed(size_type size, size_type num_entries) const;
-
- private:
- void
- calc_max_num_coll();
-
- inline void
- calc_resize_needed();
-
- float m_load;
- size_type m_size;
- size_type m_num_col;
- size_type m_max_col;
- bool m_resize_needed;
- };
-
-#include <ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<typename Size_Type>
-#define PB_DS_CLASS_C_DEC hash_exponential_size_policy<Size_Type>
-
- // A size policy whose sequence of sizes form an exponential
- // sequence (typically powers of 2.
- template<typename Size_Type = size_t>
- class hash_exponential_size_policy
- {
- public:
- typedef Size_Type size_type;
-
- // Default constructor, or onstructor taking a start_size, or
- // constructor taking a start size and grow_factor. The policy
- // will use the sequence of sizes start_size, start_size*
- // grow_factor, start_size* grow_factor^2, ...
- hash_exponential_size_policy(size_type start_size = 8,
- size_type grow_factor = 2);
-
- void
- swap(PB_DS_CLASS_C_DEC& other);
-
- protected:
- size_type
- get_nearest_larger_size(size_type size) const;
-
- size_type
- get_nearest_smaller_size(size_type size) const;
-
- private:
- size_type m_start_size;
- size_type m_grow_factor;
- };
-
-#include <ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC
-#define PB_DS_CLASS_C_DEC hash_prime_size_policy
-
- // A size policy whose sequence of sizes form a nearly-exponential
- // sequence of primes.
- class hash_prime_size_policy
- {
- public:
- // Size type.
- typedef size_t size_type;
-
- // Default constructor, or onstructor taking a start_size The
- // policy will use the sequence of sizes approximately
- // start_size, start_size* 2, start_size* 2^2, ...
- hash_prime_size_policy(size_type start_size = 8);
-
- inline void
- swap(PB_DS_CLASS_C_DEC& other);
-
- protected:
- size_type
- get_nearest_larger_size(size_type size) const;
-
- size_type
- get_nearest_smaller_size(size_type size) const;
-
- private:
- size_type m_start_size;
- };
-
-#include <ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<typename Size_Policy, typename Trigger_Policy, bool External_Size_Access, typename Size_Type>
-
-#define PB_DS_CLASS_C_DEC hash_standard_resize_policy<Size_Policy, Trigger_Policy, External_Size_Access, Size_Type>
-
- // A resize policy which delegates operations to size and trigger policies.
- template<typename Size_Policy = hash_exponential_size_policy<>,
- typename Trigger_Policy = hash_load_check_resize_trigger<>,
- bool External_Size_Access = false,
- typename Size_Type = size_t>
- class hash_standard_resize_policy
- : public Size_Policy, public Trigger_Policy
- {
- public:
- typedef Size_Type size_type;
- typedef Trigger_Policy trigger_policy;
- typedef Size_Policy size_policy;
-
- enum
- {
- external_size_access = External_Size_Access
- };
-
- // Default constructor.
- hash_standard_resize_policy();
-
- // constructor taking some policies r_size_policy will be copied
- // by the Size_Policy object of this object.
- hash_standard_resize_policy(const Size_Policy& r_size_policy);
-
- // constructor taking some policies. r_size_policy will be
- // copied by the Size_Policy object of this
- // object. r_trigger_policy will be copied by the Trigger_Policy
- // object of this object.
- hash_standard_resize_policy(const Size_Policy& r_size_policy,
- const Trigger_Policy& r_trigger_policy);
-
- virtual
- ~hash_standard_resize_policy();
-
- inline void
- swap(PB_DS_CLASS_C_DEC& other);
-
- // Access to the Size_Policy object used.
- Size_Policy&
- get_size_policy();
-
- // Const access to the Size_Policy object used.
- const Size_Policy&
- get_size_policy() const;
-
- // Access to the Trigger_Policy object used.
- Trigger_Policy&
- get_trigger_policy();
-
- // Access to the Trigger_Policy object used.
- const Trigger_Policy&
- get_trigger_policy() const;
-
- // Returns the actual size of the container.
- inline size_type
- get_actual_size() const;
-
- // Resizes the container to suggested_new_size, a suggested size
- // (the actual size will be determined by the Size_Policy
- // object).
- void
- resize(size_type suggested_new_size);
-
- protected:
- inline void
- notify_insert_search_start();
-
- inline void
- notify_insert_search_collision();
-
- inline void
- notify_insert_search_end();
-
- inline void
- notify_find_search_start();
-
- inline void
- notify_find_search_collision();
-
- inline void
- notify_find_search_end();
-
- inline void
- notify_erase_search_start();
-
- inline void
- notify_erase_search_collision();
-
- inline void
- notify_erase_search_end();
-
- inline void
- notify_inserted(size_type num_e);
-
- inline void
- notify_erased(size_type num_e);
-
- void
- notify_cleared();
-
- void
- notify_resized(size_type new_size);
-
- inline bool
- is_resize_needed() const;
-
- // Queries what the new size should be, when the container is
- // resized naturally. The current __size of the container is
- // size, and the number of used entries within the container is
- // num_used_e.
- size_type
- get_new_size(size_type size, size_type num_used_e) const;
-
- private:
- // Resizes to new_size.
- virtual void
- do_resize(size_type new_size);
-
- typedef Trigger_Policy trigger_policy_base;
-
- typedef Size_Policy size_policy_base;
-
- size_type m_size;
- };
-
-#include <ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/list_update_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/list_update_policy.hpp
deleted file mode 100644
index cfe2a2c375e1..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/list_update_policy.hpp
+++ /dev/null
@@ -1,141 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file list_update_policy.hpp
- * Contains policies for list update containers.
- */
-
-#ifndef PB_DS_LU_POLICY_HPP
-#define PB_DS_LU_POLICY_HPP
-
-#include <ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp>
-
-namespace pb_ds
-{
- // A null type that means that each link in a list-based container
- // does not actually need metadata.
- struct null_lu_metadata
- { };
-
-#define PB_DS_CLASS_T_DEC template<typename Allocator>
-#define PB_DS_CLASS_C_DEC move_to_front_lu_policy<Allocator>
-
- // A list-update policy that unconditionally moves elements to the
- // front of the list.
- template<typename Allocator = std::allocator<char> >
- class move_to_front_lu_policy
- {
- public:
- typedef Allocator allocator;
-
- // Metadata on which this functor operates.
- typedef null_lu_metadata metadata_type;
-
- // Reference to metadata on which this functor operates.
- typedef typename allocator::template rebind<metadata_type>::other metadata_rebind;
- typedef typename metadata_rebind::reference metadata_reference;
-
- // Creates a metadata object.
- metadata_type
- operator()() const;
-
- // Decides whether a metadata object should be moved to the front
- // of the list.
- inline bool
- operator()(metadata_reference r_metadata) const;
-
- private:
- static null_lu_metadata s_metadata;
- };
-
-#include <ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC template<size_t Max_Count, class Allocator>
-#define PB_DS_CLASS_C_DEC counter_lu_policy<Max_Count, Allocator>
-
- // A list-update policy that moves elements to the front of the list
- // based on the counter algorithm.
- template<size_t Max_Count = 5, typename Allocator = std::allocator<char> >
- class counter_lu_policy
- : private detail::counter_lu_policy_base<typename Allocator::size_type>
- {
- public:
- typedef Allocator allocator;
-
- enum
- {
- max_count = Max_Count
- };
-
- typedef typename allocator::size_type size_type;
-
- // Metadata on which this functor operates.
- typedef detail::counter_lu_metadata<size_type> metadata_type;
-
- // Reference to metadata on which this functor operates.
- typedef typename Allocator::template rebind<metadata_type>::other metadata_rebind;
- typedef typename metadata_rebind::reference metadata_reference;
-
- // Creates a metadata object.
- metadata_type
- operator()() const;
-
- // Decides whether a metadata object should be moved to the front
- // of the list.
- bool
- operator()(metadata_reference r_metadata) const;
-
- private:
- typedef detail::counter_lu_policy_base<typename Allocator::size_type> base_type;
- };
-
-#include <ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/priority_queue.hpp b/contrib/libstdc++/include/ext/pb_ds/priority_queue.hpp
deleted file mode 100644
index c6373c5d1c95..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/priority_queue.hpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file priority_queue.hpp
- * Contains priority_queues.
- */
-
-#ifndef PB_DS_PRIORITY_QUEUE_HPP
-#define PB_DS_PRIORITY_QUEUE_HPP
-
-#include <ext/pb_ds/tag_and_trait.hpp>
-#include <ext/pb_ds/detail/priority_queue_base_dispatch.hpp>
-#include <ext/pb_ds/detail/standard_policies.hpp>
-
-namespace pb_ds
-{
- // A priority queue.
- template<typename Value_Type,
- typename Cmp_Fn = std::less<Value_Type>,
- typename Tag = pairing_heap_tag,
- typename Allocator = std::allocator<char> >
- class priority_queue
- : public detail::priority_queue_base_dispatch<Value_Type,Cmp_Fn,Tag,Allocator>::type
- {
- private:
- typedef typename detail::priority_queue_base_dispatch<Value_Type,Cmp_Fn,Tag,Allocator>::type base_type;
-
- public:
- typedef Value_Type value_type;
- typedef Cmp_Fn cmp_fn;
- typedef Tag container_category;
- typedef Allocator allocator;
- typedef typename allocator::size_type size_type;
- typedef typename allocator::difference_type difference_type;
-
- typedef typename allocator::template rebind<value_type>::other value_rebind;
- typedef typename value_rebind::reference reference;
- typedef typename value_rebind::const_reference const_reference;
- typedef typename value_rebind::pointer pointer;
- typedef typename value_rebind::const_pointer const_pointer;
-
- typedef typename base_type::const_point_iterator const_point_iterator;
- typedef typename base_type::point_iterator point_iterator;
- typedef typename base_type::const_iterator const_iterator;
- typedef typename base_type::iterator iterator;
-
- priority_queue() { }
-
- // Constructor taking some policy objects. r_cmp_fn will be copied
- // by the Cmp_Fn object of the container object.
- priority_queue(const cmp_fn& r_cmp_fn) : base_type(r_cmp_fn) { }
-
- // Constructor taking __iterators to a range of value_types. The
- // value_types between first_it and last_it will be inserted into
- // the container object.
- template<typename It>
- priority_queue(It first_it, It last_it)
- { base_type::copy_from_range(first_it, last_it); }
-
- // Constructor taking __iterators to a range of value_types and
- // some policy objects The value_types between first_it and
- // last_it will be inserted into the container object. r_cmp_fn
- // will be copied by the cmp_fn object of the container object.
- template<typename It>
- priority_queue(It first_it, It last_it, const cmp_fn& r_cmp_fn)
- : base_type(r_cmp_fn)
- { base_type::copy_from_range(first_it, last_it); }
-
- priority_queue(const priority_queue& other)
- : base_type((const base_type& )other) { }
-
- virtual
- ~priority_queue() { }
-
- priority_queue&
- operator=(const priority_queue& other)
- {
- if (this !=& other)
- {
- priority_queue tmp(other);
- swap(tmp);
- }
- return *this;
- }
-
- void
- swap(priority_queue& other)
- { base_type::swap(other); }
- };
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/tag_and_trait.hpp b/contrib/libstdc++/include/ext/pb_ds/tag_and_trait.hpp
deleted file mode 100644
index 94039af0d80c..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/tag_and_trait.hpp
+++ /dev/null
@@ -1,357 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file tag_and_trait.hpp
- * Contains tags and traits, e.g., ones describing underlying
- * data structures.
- */
-
-#ifndef PB_DS_TAG_AND_TRAIT_HPP
-#define PB_DS_TAG_AND_TRAIT_HPP
-
-#include <ext/pb_ds/detail/type_utils.hpp>
-
-namespace pb_ds
-{
- // A trivial iterator tag. Signifies that the iterators has none of
- // the STL's movement abilities.
- struct trivial_iterator_tag
- { };
-
- // Prohibit moving trivial iterators.
- typedef void trivial_iterator_difference_type;
-
-
- // Signifies a basic invalidation guarantee that any iterator,
- // pointer, or reference to a container object's mapped value type
- // is valid as long as the container is not modified.
- struct basic_invalidation_guarantee
- { };
-
- // Signifies an invalidation guarantee that includes all those of
- // its base, and additionally, that any point-type iterator,
- // pointer, or reference to a container object's mapped value type
- // is valid as long as its corresponding entry has not be erased,
- // regardless of modifications to the container object.
- struct point_invalidation_guarantee : public basic_invalidation_guarantee
- { };
-
- // Signifies an invalidation guarantee that includes all those of
- // its base, and additionally, that any range-type iterator
- // (including the returns of begin() and end()) is in the correct
- // relative positions to other range-type iterators as long as its
- // corresponding entry has not be erased, regardless of
- // modifications to the container object.
- struct range_invalidation_guarantee : public point_invalidation_guarantee
- { };
-
-
- // A mapped-policy indicating that an associative container is a set.
- // XXX should this be a trait of the form is_set<T> ??
- struct null_mapped_type { };
-
-
- // Base data structure tag.
- struct container_tag
- { };
-
- // Basic associative-container.
- struct associative_container_tag : public container_tag { };
-
- // Basic hash.
- struct basic_hash_tag : public associative_container_tag { };
-
- // Collision-chaining hash.
- struct cc_hash_tag : public basic_hash_tag { };
-
- // General-probing hash.
- struct gp_hash_tag : public basic_hash_tag { };
-
- // Basic tree.
- struct basic_tree_tag : public associative_container_tag { };
-
- // tree.
- struct tree_tag : public basic_tree_tag { };
-
- // Red-black tree.
- struct rb_tree_tag : public tree_tag { };
-
- // Splay tree.
- struct splay_tree_tag : public tree_tag { };
-
- // Ordered-vector tree.
- struct ov_tree_tag : public tree_tag { };
-
- // trie.
- struct trie_tag : public basic_tree_tag { };
-
- // PATRICIA trie.
- struct pat_trie_tag : public trie_tag { };
-
- // List-update.
- struct list_update_tag : public associative_container_tag { };
-
- // Basic priority-queue.
- struct priority_queue_tag : public container_tag { };
-
- // Pairing-heap.
- struct pairing_heap_tag : public priority_queue_tag { };
-
- // Binomial-heap.
- struct binomial_heap_tag : public priority_queue_tag { };
-
- // Redundant-counter binomial-heap.
- struct rc_binomial_heap_tag : public priority_queue_tag { };
-
- // Binary-heap (array-based).
- struct binary_heap_tag : public priority_queue_tag { };
-
- // Thin heap.
- struct thin_heap_tag : public priority_queue_tag { };
-
-
- template<typename Tag>
- struct container_traits_base;
-
- template<>
- struct container_traits_base<cc_hash_tag>
- {
- typedef cc_hash_tag container_category;
- typedef point_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = false
- };
- };
-
- template<>
- struct container_traits_base<gp_hash_tag>
- {
- typedef gp_hash_tag container_category;
- typedef basic_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = false
- };
- };
-
- template<>
- struct container_traits_base<rb_tree_tag>
- {
- typedef rb_tree_tag container_category;
- typedef range_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = true,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = true
- };
- };
-
- template<>
- struct container_traits_base<splay_tree_tag>
- {
- typedef splay_tree_tag container_category;
- typedef range_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = true,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = true
- };
- };
-
- template<>
- struct container_traits_base<ov_tree_tag>
- {
- typedef ov_tree_tag container_category;
- typedef basic_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = true,
- erase_can_throw = true,
- split_join_can_throw = true,
- reverse_iteration = false
- };
- };
-
- template<>
- struct container_traits_base<pat_trie_tag>
- {
- typedef pat_trie_tag container_category;
- typedef range_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = true,
- erase_can_throw = false,
- split_join_can_throw = true,
- reverse_iteration = true
- };
- };
-
- template<>
- struct container_traits_base<list_update_tag>
- {
- typedef list_update_tag container_category;
- typedef point_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = false
- };
- };
-
-
- template<>
- struct container_traits_base<pairing_heap_tag>
- {
- typedef pairing_heap_tag container_category;
- typedef point_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = false
- };
- };
-
- template<>
- struct container_traits_base<thin_heap_tag>
- {
- typedef thin_heap_tag container_category;
- typedef point_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = false
- };
- };
-
- template<>
- struct container_traits_base<binomial_heap_tag>
- {
- typedef binomial_heap_tag container_category;
- typedef point_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = false
- };
- };
-
- template<>
- struct container_traits_base<rc_binomial_heap_tag>
- {
- typedef rc_binomial_heap_tag container_category;
- typedef point_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = false,
- reverse_iteration = false
- };
- };
-
- template<>
- struct container_traits_base<binary_heap_tag>
- {
- typedef binary_heap_tag container_category;
- typedef basic_invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = false,
- erase_can_throw = false,
- split_join_can_throw = true,
- reverse_iteration = false
- };
- };
-
-
- // See Matt Austern for the name, S. Meyers MEFC++ #2, others.
- template<typename Cntnr>
- struct container_traits
- : public container_traits_base<typename Cntnr::container_category>
- {
- typedef Cntnr container_type;
- typedef typename Cntnr::container_category container_category;
- typedef container_traits_base<container_category> base_type;
- typedef typename base_type::invalidation_guarantee invalidation_guarantee;
-
- enum
- {
- order_preserving = base_type::order_preserving,
- erase_can_throw = base_type::erase_can_throw,
- split_join_can_throw = base_type::split_join_can_throw,
- reverse_iteration = base_type::reverse_iteration
- };
- };
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/tree_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/tree_policy.hpp
deleted file mode 100644
index 3c80fc6986a9..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/tree_policy.hpp
+++ /dev/null
@@ -1,168 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file tree_policy.hpp
- * Contains tree-related policies.
- */
-
-#ifndef PB_DS_TREE_POLICY_HPP
-#define PB_DS_TREE_POLICY_HPP
-
-#include <iterator>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp>
-
-namespace pb_ds
-{
- // A null node updator, indicating that no node updates are required.
- template<typename Const_Node_Iterator,
- typename Node_Iterator,
- typename Cmp_Fn,
- typename Allocator>
- struct null_tree_node_update
- { };
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Const_Node_Iterator, class Node_Iterator, class Cmp_Fn, class Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- tree_order_statistics_node_update<Const_Node_Iterator, Node_Iterator, Cmp_Fn, Allocator>
-
-#define PB_DS_BASE_C_DEC \
- detail::basic_tree_policy_base<Const_Node_Iterator, Node_Iterator, Allocator>
-
- // Functor updating ranks of entrees.
- template<typename Const_Node_Iterator, typename Node_Iterator,
- typename Cmp_Fn, typename Allocator>
- class tree_order_statistics_node_update : private PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef Cmp_Fn cmp_fn;
- typedef Allocator allocator;
- typedef typename allocator::size_type size_type;
- typedef typename base_type::key_type key_type;
- typedef typename base_type::const_key_reference const_key_reference;
-
- typedef size_type metadata_type;
- typedef Const_Node_Iterator const_node_iterator;
- typedef Node_Iterator node_iterator;
- typedef typename const_node_iterator::value_type const_iterator;
- typedef typename node_iterator::value_type iterator;
-
- // Finds an entry by __order. Returns a const_iterator to the
- // entry with the __order order, or a const_iterator to the
- // container object's end if order is at least the size of the
- // container object.
- inline const_iterator
- find_by_order(size_type order) const;
-
- // Finds an entry by __order. Returns an iterator to the entry
- // with the __order order, or an iterator to the container
- // object's end if order is at least the size of the container
- // object.
- inline iterator
- find_by_order(size_type order);
-
- // Returns the order of a key within a sequence. For exapmle, if
- // r_key is the smallest key, this method will return 0; if r_key
- // is a key between the smallest and next key, this method will
- // return 1; if r_key is a key larger than the largest key, this
- // method will return the size of r_c.
- inline size_type
- order_of_key(const_key_reference r_key) const;
-
- private:
- // Const reference to the container's value-type.
- typedef typename base_type::const_reference const_reference;
-
- // Const pointer to the container's value-type.
- typedef typename base_type::const_pointer const_pointer;
-
- typedef typename allocator::template rebind<metadata_type>::other metadata_rebind;
- // Const metadata reference.
- typedef typename metadata_rebind::const_reference const_metadata_reference;
-
- // Metadata reference.
- typedef typename metadata_rebind::reference metadata_reference;
-
- // Returns the const_node_iterator associated with the tree's root node.
- virtual const_node_iterator
- node_begin() const = 0;
-
- // Returns the node_iterator associated with the tree's root node.
- virtual node_iterator
- node_begin() = 0;
-
- // Returns the const_node_iterator associated with a just-after leaf node.
- virtual const_node_iterator
- node_end() const = 0;
-
- // Returns the node_iterator associated with a just-after leaf node.
- virtual node_iterator
- node_end() = 0;
-
- // Access to the cmp_fn object.
- virtual cmp_fn&
- get_cmp_fn() = 0;
-
- protected:
- // Updates the rank of a node through a node_iterator node_it;
- // end_nd_it is the end node iterator.
- inline void
- operator()(node_iterator node_it, const_node_iterator end_nd_it) const;
-
- virtual
- ~tree_order_statistics_node_update();
- };
-
-#include <ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_BASE_C_DEC
-
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pb_ds/trie_policy.hpp b/contrib/libstdc++/include/ext/pb_ds/trie_policy.hpp
deleted file mode 100644
index d74bed43e7f4..000000000000
--- a/contrib/libstdc++/include/ext/pb_ds/trie_policy.hpp
+++ /dev/null
@@ -1,365 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trie_policy.hpp
- * Contains trie-related policies.
- */
-
-#ifndef PB_DS_TRIE_POLICY_HPP
-#define PB_DS_TRIE_POLICY_HPP
-
-#include <string>
-#include <ext/pb_ds/detail/type_utils.hpp>
-#include <ext/pb_ds/detail/trie_policy/trie_policy_base.hpp>
-
-namespace pb_ds
-{
- // A null node updator, indicating that no node updates are required.
- template<typename Const_Node_Iterator,
- typename Node_Iterator,
- typename E_Access_Traits,
- typename Allocator>
- struct null_trie_node_update
- { };
-
-#define PB_DS_STATIC_ASSERT(UNIQUE, E) \
- typedef detail::static_assert_dumclass<sizeof(detail::static_assert<bool(E)>)> UNIQUE##_static_assert_type
-
-#define PB_DS_CLASS_T_DEC \
- template<typename String, typename String::value_type Min_E_Val, typename String::value_type Max_E_Val, bool Reverse, typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- string_trie_e_access_traits<String, Min_E_Val,Max_E_Val,Reverse,Allocator>
-
- // Element access traits for string types.
- template<typename String = std::string,
- typename String::value_type Min_E_Val = detail::__numeric_traits<typename String::value_type>::__min,
- typename String::value_type Max_E_Val = detail::__numeric_traits<typename String::value_type>::__max,
- bool Reverse = false,
- typename Allocator = std::allocator<char> >
- struct string_trie_e_access_traits
- {
- public:
- typedef typename Allocator::size_type size_type;
- typedef String key_type;
- typedef typename Allocator::template rebind<key_type>::other key_rebind;
- typedef typename key_rebind::const_reference const_key_reference;
-
- enum
- {
- reverse = Reverse
- };
-
- // Element const iterator type.
- typedef typename detail::__conditional_type<Reverse, typename String::const_reverse_iterator, typename String::const_iterator>::__type const_iterator;
-
- // Element type.
- typedef typename std::iterator_traits<const_iterator>::value_type e_type;
-
- enum
- {
- min_e_val = Min_E_Val,
- max_e_val = Max_E_Val,
- max_size = max_e_val - min_e_val + 1
- };
- PB_DS_STATIC_ASSERT(min_max_size, max_size >= 2);
-
- // Returns a const_iterator to the first element of
- // const_key_reference agumnet.
- inline static const_iterator
- begin(const_key_reference);
-
- // Returns a const_iterator to the after-last element of
- // const_key_reference argument.
- inline static const_iterator
- end(const_key_reference);
-
- // Maps an element to a position.
- inline static size_type
- e_pos(e_type e);
-
- private:
-
- inline static const_iterator
- begin_imp(const_key_reference, detail::false_type);
-
- inline static const_iterator
- begin_imp(const_key_reference, detail::true_type);
-
- inline static const_iterator
- end_imp(const_key_reference, detail::false_type);
-
- inline static const_iterator
- end_imp(const_key_reference, detail::true_type);
-
- static detail::integral_constant<int, Reverse> s_rev_ind;
- };
-
-#include <ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Const_Node_Iterator,typename Node_Iterator,class E_Access_Traits, typename Allocator>
-
-#define PB_DS_CLASS_C_DEC \
- trie_prefix_search_node_update<Const_Node_Iterator, Node_Iterator, E_Access_Traits,Allocator>
-
-#define PB_DS_BASE_C_DEC \
- detail::trie_policy_base<Const_Node_Iterator,Node_Iterator,E_Access_Traits, Allocator>
-
- // A node updator that allows tries to be searched for the range of
- // values that match a certain prefix.
- template<typename Const_Node_Iterator,
- typename Node_Iterator,
- typename E_Access_Traits,
- typename Allocator>
- class trie_prefix_search_node_update : private PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef typename base_type::key_type key_type;
- typedef typename base_type::const_key_reference const_key_reference;
-
- // Element access traits.
- typedef E_Access_Traits e_access_traits;
-
- // Const element iterator.
- typedef typename e_access_traits::const_iterator const_e_iterator;
-
- // Allocator type.
- typedef Allocator allocator;
-
- // Size type.
- typedef typename allocator::size_type size_type;
- typedef detail::null_node_metadata metadata_type;
- typedef Const_Node_Iterator const_node_iterator;
- typedef Node_Iterator node_iterator;
- typedef typename const_node_iterator::value_type const_iterator;
- typedef typename node_iterator::value_type iterator;
-
- // Finds the const iterator range corresponding to all values
- // whose prefixes match r_key.
- std::pair<const_iterator, const_iterator>
- prefix_range(const_key_reference) const;
-
- // Finds the iterator range corresponding to all values whose
- // prefixes match r_key.
- std::pair<iterator, iterator>
- prefix_range(const_key_reference);
-
- // Finds the const iterator range corresponding to all values
- // whose prefixes match [b, e).
- std::pair<const_iterator, const_iterator>
- prefix_range(const_e_iterator, const_e_iterator) const;
-
- // Finds the iterator range corresponding to all values whose
- // prefixes match [b, e).
- std::pair<iterator, iterator>
- prefix_range(const_e_iterator, const_e_iterator);
-
- protected:
- // Called to update a node's metadata.
- inline void
- operator()(node_iterator node_it, const_node_iterator end_nd_it) const;
-
- private:
- // Returns the const iterator associated with the just-after last element.
- virtual const_iterator
- end() const = 0;
-
- // Returns the iterator associated with the just-after last element.
- virtual iterator
- end() = 0;
-
- // Returns the const_node_iterator associated with the trie's root node.
- virtual const_node_iterator
- node_begin() const = 0;
-
- // Returns the node_iterator associated with the trie's root node.
- virtual node_iterator
- node_begin() = 0;
-
- // Returns the const_node_iterator associated with a just-after leaf node.
- virtual const_node_iterator
- node_end() const = 0;
-
- // Returns the node_iterator associated with a just-after leaf node.
- virtual node_iterator
- node_end() = 0;
-
- // Access to the cmp_fn object.
- virtual const e_access_traits&
- get_e_access_traits() const = 0;
-
- node_iterator
- next_child(node_iterator, const_e_iterator, const_e_iterator,
- node_iterator, const e_access_traits&);
- };
-
-#include <ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp>
-
-#undef PB_DS_CLASS_C_DEC
-
-#define PB_DS_CLASS_C_DEC \
- trie_order_statistics_node_update<Const_Node_Iterator, Node_Iterator,E_Access_Traits, Allocator>
-
- // Functor updating ranks of entrees.
- template<typename Const_Node_Iterator,
- typename Node_Iterator,
- typename E_Access_Traits,
- typename Allocator>
- class trie_order_statistics_node_update : private PB_DS_BASE_C_DEC
- {
- private:
- typedef PB_DS_BASE_C_DEC base_type;
-
- public:
- typedef E_Access_Traits e_access_traits;
- typedef typename e_access_traits::const_iterator const_e_iterator;
- typedef Allocator allocator;
- typedef typename allocator::size_type size_type;
- typedef typename base_type::key_type key_type;
- typedef typename base_type::const_key_reference const_key_reference;
-
- typedef size_type metadata_type;
- typedef Const_Node_Iterator const_node_iterator;
- typedef Node_Iterator node_iterator;
- typedef typename const_node_iterator::value_type const_iterator;
- typedef typename node_iterator::value_type iterator;
-
- // Finds an entry by __order. Returns a const_iterator to the
- // entry with the __order order, or a const_iterator to the
- // container object's end if order is at least the size of the
- // container object.
- inline const_iterator
- find_by_order(size_type) const;
-
- // Finds an entry by __order. Returns an iterator to the entry
- // with the __order order, or an iterator to the container
- // object's end if order is at least the size of the container
- // object.
- inline iterator
- find_by_order(size_type);
-
- // Returns the order of a key within a sequence. For exapmle, if
- // r_key is the smallest key, this method will return 0; if r_key
- // is a key between the smallest and next key, this method will
- // return 1; if r_key is a key larger than the largest key, this
- // method will return the size of r_c.
- inline size_type
- order_of_key(const_key_reference) const;
-
- // Returns the order of a prefix within a sequence. For exapmle,
- // if [b, e] is the smallest prefix, this method will return 0; if
- // r_key is a key between the smallest and next key, this method
- // will return 1; if r_key is a key larger than the largest key,
- // this method will return the size of r_c.
- inline size_type
- order_of_prefix(const_e_iterator, const_e_iterator) const;
-
- private:
- typedef typename base_type::const_reference const_reference;
- typedef typename base_type::const_pointer const_pointer;
-
- typedef typename Allocator::template rebind<metadata_type>::other metadata_rebind;
- typedef typename metadata_rebind::const_reference const_metadata_reference;
- typedef typename metadata_rebind::reference metadata_reference;
-
- // Returns true if the container is empty.
- virtual bool
- empty() const = 0;
-
- // Returns the iterator associated with the trie's first element.
- virtual iterator
- begin() = 0;
-
- // Returns the iterator associated with the trie's
- // just-after-last element.
- virtual iterator
- end() = 0;
-
- // Returns the const_node_iterator associated with the trie's root node.
- virtual const_node_iterator
- node_begin() const = 0;
-
- // Returns the node_iterator associated with the trie's root node.
- virtual node_iterator
- node_begin() = 0;
-
- // Returns the const_node_iterator associated with a just-after
- // leaf node.
- virtual const_node_iterator
- node_end() const = 0;
-
- // Returns the node_iterator associated with a just-after leaf node.
- virtual node_iterator
- node_end() = 0;
-
- // Access to the cmp_fn object.
- virtual e_access_traits&
- get_e_access_traits() = 0;
-
- protected:
- // Updates the rank of a node through a node_iterator node_it;
- // end_nd_it is the end node iterator.
- inline void
- operator()(node_iterator, const_node_iterator) const;
-
- // Destructor.
- virtual
- ~trie_order_statistics_node_update();
- };
-
-#include <ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp>
-
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-#undef PB_DS_BASE_C_DEC
-#undef PB_DS_STATIC_ASSERT
-
-} // namespace pb_ds
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pod_char_traits.h b/contrib/libstdc++/include/ext/pod_char_traits.h
deleted file mode 100644
index 236e349cd44e..000000000000
--- a/contrib/libstdc++/include/ext/pod_char_traits.h
+++ /dev/null
@@ -1,187 +0,0 @@
-// POD character, std::char_traits specialization -*- C++ -*-
-
-// Copyright (C) 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 ext/pod_char_traits.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-// Gabriel Dos Reis <gdr@integrable-solutions.net>
-// Benjamin Kosnik <bkoz@redhat.com>
-
-#ifndef _POD_CHAR_TRAITS_H
-#define _POD_CHAR_TRAITS_H 1
-
-#include <string>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // POD character abstraction.
- // NB: The char_type parameter is a subset of int_type, as to allow
- // int_type to properly hold the full range of char_type values as
- // well as EOF.
- /// @brief A POD class that serves as a character abstraction class.
- template<typename V, typename I, typename S = mbstate_t>
- struct character
- {
- typedef V value_type;
- typedef I int_type;
- typedef S state_type;
- typedef character<V, I, S> char_type;
-
- value_type value;
-
- template<typename V2>
- static char_type
- from(const V2& v)
- {
- char_type ret = { static_cast<value_type>(v) };
- return ret;
- }
-
- template<typename V2>
- static V2
- to(const char_type& c)
- {
- V2 ret = { static_cast<V2>(c.value) };
- return ret;
- }
-
- };
-
- template<typename V, typename I, typename S>
- inline bool
- operator==(const character<V, I, S>& lhs, const character<V, I, S>& rhs)
- { return lhs.value == rhs.value; }
-
- template<typename V, typename I, typename S>
- inline bool
- operator<(const character<V, I, S>& lhs, const character<V, I, S>& rhs)
- { return lhs.value < rhs.value; }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /// char_traits<__gnu_cxx::character> specialization.
- template<typename V, typename I, typename S>
- struct char_traits<__gnu_cxx::character<V, I, S> >
- {
- typedef __gnu_cxx::character<V, I, S> char_type;
- typedef typename char_type::int_type int_type;
- typedef typename char_type::state_type state_type;
- typedef fpos<state_type> pos_type;
- typedef streamoff off_type;
-
- static void
- assign(char_type& __c1, const char_type& __c2)
- { __c1 = __c2; }
-
- static bool
- eq(const char_type& __c1, const char_type& __c2)
- { return __c1 == __c2; }
-
- static bool
- lt(const char_type& __c1, const char_type& __c2)
- { return __c1 < __c2; }
-
- static int
- compare(const char_type* __s1, const char_type* __s2, size_t __n)
- {
- for (size_t __i = 0; __i < __n; ++__i)
- if (!eq(__s1[__i], __s2[__i]))
- return lt(__s1[__i], __s2[__i]) ? -1 : 1;
- return 0;
- }
-
- static size_t
- length(const char_type* __s)
- {
- const char_type* __p = __s;
- while (__p->value)
- ++__p;
- return (__p - __s);
- }
-
- static const char_type*
- find(const char_type* __s, size_t __n, const char_type& __a)
- {
- for (const char_type* __p = __s; size_t(__p - __s) < __n; ++__p)
- if (*__p == __a)
- return __p;
- return 0;
- }
-
- static char_type*
- move(char_type* __s1, const char_type* __s2, size_t __n)
- {
- return static_cast<char_type*>(std::memmove(__s1, __s2,
- __n * sizeof(char_type)));
- }
-
- static char_type*
- copy(char_type* __s1, const char_type* __s2, size_t __n)
- {
- std::copy(__s2, __s2 + __n, __s1);
- return __s1;
- }
-
- static char_type*
- assign(char_type* __s, size_t __n, char_type __a)
- {
- std::fill_n(__s, __n, __a);
- return __s;
- }
-
- static char_type
- to_char_type(const int_type& __i)
- { return char_type::template from(__i); }
-
- static int_type
- to_int_type(const char_type& __c)
- { return char_type::template to<int_type>(__c); }
-
- static bool
- eq_int_type(const int_type& __c1, const int_type& __c2)
- { return __c1 == __c2; }
-
- static int_type
- eof()
- {
- int_type __r = { -1 };
- return __r;
- }
-
- static int_type
- not_eof(const int_type& __c)
- { return eq_int_type(__c, eof()) ? int_type() : __c; }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/pool_allocator.h b/contrib/libstdc++/include/ext/pool_allocator.h
deleted file mode 100644
index e78bf21778c2..000000000000
--- a/contrib/libstdc++/include/ext/pool_allocator.h
+++ /dev/null
@@ -1,260 +0,0 @@
-// Allocators -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- * Copyright (c) 1996-1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/pool_allocator.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _POOL_ALLOCATOR_H
-#define _POOL_ALLOCATOR_H 1
-
-#include <bits/c++config.h>
-#include <cstdlib>
-#include <new>
-#include <bits/functexcept.h>
-#include <ext/atomicity.h>
-#include <ext/concurrence.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
-
- /**
- * @brief Base class for __pool_alloc.
- *
- * @if maint
- * Uses various allocators to fulfill underlying requests (and makes as
- * few requests as possible when in default high-speed pool mode).
- *
- * Important implementation properties:
- * 0. If globally mandated, then allocate objects from new
- * 1. If the clients request an object of size > _S_max_bytes, the resulting
- * object will be obtained directly from new
- * 2. In all other cases, we allocate an object of size exactly
- * _S_round_up(requested_size). Thus the client has enough size
- * information that we can return the object to the proper free list
- * without permanently losing part of the object.
- *
- * @endif
- */
- class __pool_alloc_base
- {
- protected:
-
- enum { _S_align = 8 };
- enum { _S_max_bytes = 128 };
- enum { _S_free_list_size = (size_t)_S_max_bytes / (size_t)_S_align };
-
- union _Obj
- {
- union _Obj* _M_free_list_link;
- char _M_client_data[1]; // The client sees this.
- };
-
- static _Obj* volatile _S_free_list[_S_free_list_size];
-
- // Chunk allocation state.
- static char* _S_start_free;
- static char* _S_end_free;
- static size_t _S_heap_size;
-
- size_t
- _M_round_up(size_t __bytes)
- { return ((__bytes + (size_t)_S_align - 1) & ~((size_t)_S_align - 1)); }
-
- _Obj* volatile*
- _M_get_free_list(size_t __bytes);
-
- __mutex&
- _M_get_mutex();
-
- // Returns an object of size __n, and optionally adds to size __n
- // free list.
- void*
- _M_refill(size_t __n);
-
- // Allocates a chunk for nobjs of size size. nobjs may be reduced
- // if it is inconvenient to allocate the requested number.
- char*
- _M_allocate_chunk(size_t __n, int& __nobjs);
- };
-
-
- /// @brief class __pool_alloc.
- template<typename _Tp>
- class __pool_alloc : private __pool_alloc_base
- {
- private:
- static _Atomic_word _S_force_new;
-
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef _Tp* pointer;
- typedef const _Tp* const_pointer;
- typedef _Tp& reference;
- typedef const _Tp& const_reference;
- typedef _Tp value_type;
-
- template<typename _Tp1>
- struct rebind
- { typedef __pool_alloc<_Tp1> other; };
-
- __pool_alloc() throw() { }
-
- __pool_alloc(const __pool_alloc&) throw() { }
-
- template<typename _Tp1>
- __pool_alloc(const __pool_alloc<_Tp1>&) throw() { }
-
- ~__pool_alloc() throw() { }
-
- pointer
- address(reference __x) const { return &__x; }
-
- const_pointer
- address(const_reference __x) const { return &__x; }
-
- size_type
- max_size() const throw()
- { return size_t(-1) / sizeof(_Tp); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 402. wrong new expression in [some_] allocator::construct
- void
- construct(pointer __p, const _Tp& __val)
- { ::new(__p) _Tp(__val); }
-
- void
- destroy(pointer __p) { __p->~_Tp(); }
-
- pointer
- allocate(size_type __n, const void* = 0);
-
- void
- deallocate(pointer __p, size_type __n);
- };
-
- template<typename _Tp>
- inline bool
- operator==(const __pool_alloc<_Tp>&, const __pool_alloc<_Tp>&)
- { return true; }
-
- template<typename _Tp>
- inline bool
- operator!=(const __pool_alloc<_Tp>&, const __pool_alloc<_Tp>&)
- { return false; }
-
- template<typename _Tp>
- _Atomic_word
- __pool_alloc<_Tp>::_S_force_new;
-
- template<typename _Tp>
- _Tp*
- __pool_alloc<_Tp>::allocate(size_type __n, const void*)
- {
- pointer __ret = 0;
- if (__builtin_expect(__n != 0, true))
- {
- if (__builtin_expect(__n > this->max_size(), false))
- std::__throw_bad_alloc();
-
- // If there is a race through here, assume answer from getenv
- // will resolve in same direction. Inspired by techniques
- // to efficiently support threading found in basic_string.h.
- if (_S_force_new == 0)
- {
- if (std::getenv("GLIBCXX_FORCE_NEW"))
- __atomic_add_dispatch(&_S_force_new, 1);
- else
- __atomic_add_dispatch(&_S_force_new, -1);
- }
-
- const size_t __bytes = __n * sizeof(_Tp);
- if (__bytes > size_t(_S_max_bytes) || _S_force_new == 1)
- __ret = static_cast<_Tp*>(::operator new(__bytes));
- else
- {
- _Obj* volatile* __free_list = _M_get_free_list(__bytes);
-
- __scoped_lock sentry(_M_get_mutex());
- _Obj* __restrict__ __result = *__free_list;
- if (__builtin_expect(__result == 0, 0))
- __ret = static_cast<_Tp*>(_M_refill(_M_round_up(__bytes)));
- else
- {
- *__free_list = __result->_M_free_list_link;
- __ret = reinterpret_cast<_Tp*>(__result);
- }
- if (__builtin_expect(__ret == 0, 0))
- std::__throw_bad_alloc();
- }
- }
- return __ret;
- }
-
- template<typename _Tp>
- void
- __pool_alloc<_Tp>::deallocate(pointer __p, size_type __n)
- {
- if (__builtin_expect(__n != 0 && __p != 0, true))
- {
- const size_t __bytes = __n * sizeof(_Tp);
- if (__bytes > static_cast<size_t>(_S_max_bytes) || _S_force_new == 1)
- ::operator delete(__p);
- else
- {
- _Obj* volatile* __free_list = _M_get_free_list(__bytes);
- _Obj* __q = reinterpret_cast<_Obj*>(__p);
-
- __scoped_lock sentry(_M_get_mutex());
- __q ->_M_free_list_link = *__free_list;
- *__free_list = __q;
- }
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/rb_tree b/contrib/libstdc++/include/ext/rb_tree
deleted file mode 100644
index 22dd7cd01992..000000000000
--- a/contrib/libstdc++/include/ext/rb_tree
+++ /dev/null
@@ -1,98 +0,0 @@
-// rb_tree extension -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/rb_tree
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _RB_TREE
-#define _RB_TREE 1
-
-#pragma GCC system_header
-
-#include <bits/stl_tree.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::_Rb_tree;
- using std::allocator;
-
- // Class rb_tree is not part of the C++ standard. It is provided for
- // compatibility with the HP STL.
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template <class _Key, class _Value, class _KeyOfValue, class _Compare,
- class _Alloc = allocator<_Value> >
- struct rb_tree
- : public _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc>
- {
- typedef _Rb_tree<_Key, _Value, _KeyOfValue, _Compare, _Alloc> _Base;
- typedef typename _Base::allocator_type allocator_type;
-
- rb_tree(const _Compare& __comp = _Compare(),
- const allocator_type& __a = allocator_type())
- : _Base(__comp, __a) { }
-
- ~rb_tree() { }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/rc_string_base.h b/contrib/libstdc++/include/ext/rc_string_base.h
deleted file mode 100644
index 4eab4c69fb9b..000000000000
--- a/contrib/libstdc++/include/ext/rc_string_base.h
+++ /dev/null
@@ -1,717 +0,0 @@
-// Reference-counted versatile string base -*- C++ -*-
-
-// Copyright (C) 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 ext/rc_string_base.h
- * This file is a GNU extension to the Standard C++ Library.
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _RC_STRING_BASE_H
-#define _RC_STRING_BASE_H 1
-
-#include <ext/atomicity.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- /**
- * @if maint
- * Documentation? What's that?
- * Nathan Myers <ncm@cantrip.org>.
- *
- * A string looks like this:
- *
- * @code
- * [_Rep]
- * _M_length
- * [__rc_string_base<char_type>] _M_capacity
- * _M_dataplus _M_refcount
- * _M_p ----------------> unnamed array of char_type
- * @endcode
- *
- * Where the _M_p points to the first character in the string, and
- * you cast it to a pointer-to-_Rep and subtract 1 to get a
- * pointer to the header.
- *
- * This approach has the enormous advantage that a string object
- * requires only one allocation. All the ugliness is confined
- * within a single pair of inline functions, which each compile to
- * a single "add" instruction: _Rep::_M_refdata(), and
- * __rc_string_base::_M_rep(); and the allocation function which gets a
- * block of raw bytes and with room enough and constructs a _Rep
- * object at the front.
- *
- * The reason you want _M_data pointing to the character array and
- * not the _Rep is so that the debugger can see the string
- * contents. (Probably we should add a non-inline member to get
- * the _Rep for the debugger to use, so users can check the actual
- * string length.)
- *
- * Note that the _Rep object is a POD so that you can have a
- * static "empty string" _Rep object already "constructed" before
- * static constructors have run. The reference-count encoding is
- * chosen so that a 0 indicates one reference, so you never try to
- * destroy the empty-string _Rep object.
- *
- * All but the last paragraph is considered pretty conventional
- * for a C++ string implementation.
- * @endif
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- class __rc_string_base
- : protected __vstring_utility<_CharT, _Traits, _Alloc>
- {
- public:
- typedef _Traits traits_type;
- typedef typename _Traits::char_type value_type;
- typedef _Alloc allocator_type;
-
- typedef __vstring_utility<_CharT, _Traits, _Alloc> _Util_Base;
- typedef typename _Util_Base::_CharT_alloc_type _CharT_alloc_type;
- typedef typename _CharT_alloc_type::size_type size_type;
-
- private:
- // _Rep: string representation
- // Invariants:
- // 1. String really contains _M_length + 1 characters: due to 21.3.4
- // must be kept null-terminated.
- // 2. _M_capacity >= _M_length
- // Allocated memory is always (_M_capacity + 1) * sizeof(_CharT).
- // 3. _M_refcount has three states:
- // -1: leaked, one reference, no ref-copies allowed, non-const.
- // 0: one reference, non-const.
- // n>0: n + 1 references, operations require a lock, const.
- // 4. All fields == 0 is an empty string, given the extra storage
- // beyond-the-end for a null terminator; thus, the shared
- // empty string representation needs no constructor.
- struct _Rep
- {
- union
- {
- struct
- {
- size_type _M_length;
- size_type _M_capacity;
- _Atomic_word _M_refcount;
- } _M_info;
-
- // Only for alignment purposes.
- _CharT _M_align;
- };
-
- typedef typename _Alloc::template rebind<_Rep>::other _Rep_alloc_type;
-
- _CharT*
- _M_refdata() throw()
- { return reinterpret_cast<_CharT*>(this + 1); }
-
- _CharT*
- _M_refcopy() throw()
- {
- __atomic_add_dispatch(&_M_info._M_refcount, 1);
- return _M_refdata();
- } // XXX MT
-
- void
- _M_set_length(size_type __n)
- {
- _M_info._M_refcount = 0; // One reference.
- _M_info._M_length = __n;
- // grrr. (per 21.3.4)
- // You cannot leave those LWG people alone for a second.
- traits_type::assign(_M_refdata()[__n], _CharT());
- }
-
- // Create & Destroy
- static _Rep*
- _S_create(size_type, size_type, const _Alloc&);
-
- void
- _M_destroy(const _Alloc&) throw();
-
- _CharT*
- _M_clone(const _Alloc&, size_type __res = 0);
- };
-
- struct _Rep_empty
- : public _Rep
- {
- _CharT _M_terminal;
- };
-
- static _Rep_empty _S_empty_rep;
-
- // The maximum number of individual char_type elements of an
- // individual string is determined by _S_max_size. This is the
- // value that will be returned by max_size(). (Whereas npos
- // is the maximum number of bytes the allocator can allocate.)
- // If one was to divvy up the theoretical largest size string,
- // with a terminating character and m _CharT elements, it'd
- // look like this:
- // npos = sizeof(_Rep) + (m * sizeof(_CharT)) + sizeof(_CharT)
- // + sizeof(_Rep) - 1
- // (NB: last two terms for rounding reasons, see _M_create below)
- // Solving for m:
- // m = ((npos - 2 * sizeof(_Rep) + 1) / sizeof(_CharT)) - 1
- // In addition, this implementation halfs this amount.
- enum { _S_max_size = (((static_cast<size_type>(-1) - 2 * sizeof(_Rep)
- + 1) / sizeof(_CharT)) - 1) / 2 };
-
- // Data Member (private):
- mutable typename _Util_Base::template _Alloc_hider<_Alloc> _M_dataplus;
-
- void
- _M_data(_CharT* __p)
- { _M_dataplus._M_p = __p; }
-
- _Rep*
- _M_rep() const
- { return &((reinterpret_cast<_Rep*>(_M_data()))[-1]); }
-
- _CharT*
- _M_grab(const _Alloc& __alloc) const
- {
- return (!_M_is_leaked() && _M_get_allocator() == __alloc)
- ? _M_rep()->_M_refcopy() : _M_rep()->_M_clone(__alloc);
- }
-
- void
- _M_dispose()
- {
- if (__exchange_and_add_dispatch(&_M_rep()->_M_info._M_refcount,
- -1) <= 0)
- _M_rep()->_M_destroy(_M_get_allocator());
- } // XXX MT
-
- bool
- _M_is_leaked() const
- { return _M_rep()->_M_info._M_refcount < 0; }
-
- void
- _M_set_sharable()
- { _M_rep()->_M_info._M_refcount = 0; }
-
- void
- _M_leak_hard();
-
- // _S_construct_aux is used to implement the 21.3.1 para 15 which
- // requires special behaviour if _InIterator is an integral type
- template<typename _InIterator>
- static _CharT*
- _S_construct_aux(_InIterator __beg, _InIterator __end,
- const _Alloc& __a, std::__false_type)
- {
- typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
- return _S_construct(__beg, __end, __a, _Tag());
- }
-
- template<typename _InIterator>
- static _CharT*
- _S_construct_aux(_InIterator __beg, _InIterator __end,
- const _Alloc& __a, std::__true_type)
- { return _S_construct(static_cast<size_type>(__beg),
- static_cast<value_type>(__end), __a); }
-
- template<typename _InIterator>
- static _CharT*
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a)
- {
- typedef typename std::__is_integer<_InIterator>::__type _Integral;
- return _S_construct_aux(__beg, __end, __a, _Integral());
- }
-
- // For Input Iterators, used in istreambuf_iterators, etc.
- template<typename _InIterator>
- static _CharT*
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
- std::input_iterator_tag);
-
- // For forward_iterators up to random_access_iterators, used for
- // string::iterator, _CharT*, etc.
- template<typename _FwdIterator>
- static _CharT*
- _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a,
- std::forward_iterator_tag);
-
- static _CharT*
- _S_construct(size_type __req, _CharT __c, const _Alloc& __a);
-
- public:
- size_type
- _M_max_size() const
- { return size_type(_S_max_size); }
-
- _CharT*
- _M_data() const
- { return _M_dataplus._M_p; }
-
- size_type
- _M_length() const
- { return _M_rep()->_M_info._M_length; }
-
- size_type
- _M_capacity() const
- { return _M_rep()->_M_info._M_capacity; }
-
- bool
- _M_is_shared() const
- { return _M_rep()->_M_info._M_refcount > 0; }
-
- void
- _M_set_leaked()
- { _M_rep()->_M_info._M_refcount = -1; }
-
- void
- _M_leak() // for use in begin() & non-const op[]
- {
- if (!_M_is_leaked())
- _M_leak_hard();
- }
-
- void
- _M_set_length(size_type __n)
- { _M_rep()->_M_set_length(__n); }
-
- __rc_string_base()
- : _M_dataplus(_Alloc(), _S_empty_rep._M_refcopy()) { }
-
- __rc_string_base(const _Alloc& __a);
-
- __rc_string_base(const __rc_string_base& __rcs);
-
- __rc_string_base(size_type __n, _CharT __c, const _Alloc& __a);
-
- template<typename _InputIterator>
- __rc_string_base(_InputIterator __beg, _InputIterator __end,
- const _Alloc& __a);
-
- ~__rc_string_base()
- { _M_dispose(); }
-
- allocator_type&
- _M_get_allocator()
- { return _M_dataplus; }
-
- const allocator_type&
- _M_get_allocator() const
- { return _M_dataplus; }
-
- void
- _M_swap(__rc_string_base& __rcs);
-
- void
- _M_assign(const __rc_string_base& __rcs);
-
- void
- _M_reserve(size_type __res);
-
- void
- _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
- size_type __len2);
-
- void
- _M_erase(size_type __pos, size_type __n);
-
- void
- _M_clear()
- { _M_erase(size_type(0), _M_length()); }
-
- bool
- _M_compare(const __rc_string_base&) const
- { return false; }
- };
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename __rc_string_base<_CharT, _Traits, _Alloc>::_Rep_empty
- __rc_string_base<_CharT, _Traits, _Alloc>::_S_empty_rep;
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- typename __rc_string_base<_CharT, _Traits, _Alloc>::_Rep*
- __rc_string_base<_CharT, _Traits, _Alloc>::_Rep::
- _S_create(size_type __capacity, size_type __old_capacity,
- const _Alloc& __alloc)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 83. String::npos vs. string::max_size()
- if (__capacity > size_type(_S_max_size))
- std::__throw_length_error(__N("__rc_string_base::_Rep::_S_create"));
-
- // The standard places no restriction on allocating more memory
- // than is strictly needed within this layer at the moment or as
- // requested by an explicit application call to reserve().
-
- // Many malloc implementations perform quite poorly when an
- // application attempts to allocate memory in a stepwise fashion
- // growing each allocation size by only 1 char. Additionally,
- // it makes little sense to allocate less linear memory than the
- // natural blocking size of the malloc implementation.
- // Unfortunately, we would need a somewhat low-level calculation
- // with tuned parameters to get this perfect for any particular
- // malloc implementation. Fortunately, generalizations about
- // common features seen among implementations seems to suffice.
-
- // __pagesize need not match the actual VM page size for good
- // results in practice, thus we pick a common value on the low
- // side. __malloc_header_size is an estimate of the amount of
- // overhead per memory allocation (in practice seen N * sizeof
- // (void*) where N is 0, 2 or 4). According to folklore,
- // picking this value on the high side is better than
- // low-balling it (especially when this algorithm is used with
- // malloc implementations that allocate memory blocks rounded up
- // to a size which is a power of 2).
- const size_type __pagesize = 4096;
- const size_type __malloc_header_size = 4 * sizeof(void*);
-
- // The below implements an exponential growth policy, necessary to
- // meet amortized linear time requirements of the library: see
- // http://gcc.gnu.org/ml/libstdc++/2001-07/msg00085.html.
- if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
- {
- __capacity = 2 * __old_capacity;
- // Never allocate a string bigger than _S_max_size.
- if (__capacity > size_type(_S_max_size))
- __capacity = size_type(_S_max_size);
- }
-
- // NB: Need an array of char_type[__capacity], plus a terminating
- // null char_type() element, plus enough for the _Rep data structure,
- // plus sizeof(_Rep) - 1 to upper round to a size multiple of
- // sizeof(_Rep).
- // Whew. Seemingly so needy, yet so elemental.
- size_type __size = ((__capacity + 1) * sizeof(_CharT)
- + 2 * sizeof(_Rep) - 1);
-
- const size_type __adj_size = __size + __malloc_header_size;
- if (__adj_size > __pagesize && __capacity > __old_capacity)
- {
- const size_type __extra = __pagesize - __adj_size % __pagesize;
- __capacity += __extra / sizeof(_CharT);
- if (__capacity > size_type(_S_max_size))
- __capacity = size_type(_S_max_size);
- __size = (__capacity + 1) * sizeof(_CharT) + 2 * sizeof(_Rep) - 1;
- }
-
- // NB: Might throw, but no worries about a leak, mate: _Rep()
- // does not throw.
- _Rep* __place = _Rep_alloc_type(__alloc).allocate(__size / sizeof(_Rep));
- _Rep* __p = new (__place) _Rep;
- __p->_M_info._M_capacity = __capacity;
- return __p;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __rc_string_base<_CharT, _Traits, _Alloc>::_Rep::
- _M_destroy(const _Alloc& __a) throw ()
- {
- const size_type __size = ((_M_info._M_capacity + 1) * sizeof(_CharT)
- + 2 * sizeof(_Rep) - 1);
- _Rep_alloc_type(__a).deallocate(this, __size / sizeof(_Rep));
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- _CharT*
- __rc_string_base<_CharT, _Traits, _Alloc>::_Rep::
- _M_clone(const _Alloc& __alloc, size_type __res)
- {
- // Requested capacity of the clone.
- const size_type __requested_cap = _M_info._M_length + __res;
- _Rep* __r = _Rep::_S_create(__requested_cap, _M_info._M_capacity,
- __alloc);
-
- if (_M_info._M_length)
- _S_copy(__r->_M_refdata(), _M_refdata(), _M_info._M_length);
-
- __r->_M_set_length(_M_info._M_length);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- __rc_string_base<_CharT, _Traits, _Alloc>::
- __rc_string_base(const _Alloc& __a)
- : _M_dataplus(__a, _S_construct(size_type(), _CharT(), __a)) { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- __rc_string_base<_CharT, _Traits, _Alloc>::
- __rc_string_base(const __rc_string_base& __rcs)
- : _M_dataplus(__rcs._M_get_allocator(),
- __rcs._M_grab(__rcs._M_get_allocator())) { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- __rc_string_base<_CharT, _Traits, _Alloc>::
- __rc_string_base(size_type __n, _CharT __c, const _Alloc& __a)
- : _M_dataplus(__a, _S_construct(__n, __c, __a)) { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InputIterator>
- __rc_string_base<_CharT, _Traits, _Alloc>::
- __rc_string_base(_InputIterator __beg, _InputIterator __end,
- const _Alloc& __a)
- : _M_dataplus(__a, _S_construct(__beg, __end, __a)) { }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _M_leak_hard()
- {
- if (_M_is_shared())
- _M_erase(0, 0);
- _M_set_leaked();
- }
-
- // NB: This is the special case for Input Iterators, used in
- // istreambuf_iterators, etc.
- // Input Iterators have a cost structure very different from
- // pointers, calling for a different coding style.
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InIterator>
- _CharT*
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
- std::input_iterator_tag)
- {
- if (__beg == __end && __a == _Alloc())
- return _S_empty_rep._M_refcopy();
-
- // Avoid reallocation for common case.
- _CharT __buf[128];
- size_type __len = 0;
- while (__beg != __end && __len < sizeof(__buf) / sizeof(_CharT))
- {
- __buf[__len++] = *__beg;
- ++__beg;
- }
- _Rep* __r = _Rep::_S_create(__len, size_type(0), __a);
- _S_copy(__r->_M_refdata(), __buf, __len);
- try
- {
- while (__beg != __end)
- {
- if (__len == __r->_M_info._M_capacity)
- {
- // Allocate more space.
- _Rep* __another = _Rep::_S_create(__len + 1, __len, __a);
- _S_copy(__another->_M_refdata(), __r->_M_refdata(), __len);
- __r->_M_destroy(__a);
- __r = __another;
- }
- __r->_M_refdata()[__len++] = *__beg;
- ++__beg;
- }
- }
- catch(...)
- {
- __r->_M_destroy(__a);
- __throw_exception_again;
- }
- __r->_M_set_length(__len);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InIterator>
- _CharT*
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
- std::forward_iterator_tag)
- {
- if (__beg == __end && __a == _Alloc())
- return _S_empty_rep._M_refcopy();
-
- // NB: Not required, but considered best practice.
- if (__builtin_expect(_S_is_null_pointer(__beg) && __beg != __end, 0))
- std::__throw_logic_error(__N("__rc_string_base::"
- "_S_construct NULL not valid"));
-
- const size_type __dnew = static_cast<size_type>(std::distance(__beg,
- __end));
- // Check for out_of_range and length_error exceptions.
- _Rep* __r = _Rep::_S_create(__dnew, size_type(0), __a);
- try
- { _S_copy_chars(__r->_M_refdata(), __beg, __end); }
- catch(...)
- {
- __r->_M_destroy(__a);
- __throw_exception_again;
- }
- __r->_M_set_length(__dnew);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- _CharT*
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _S_construct(size_type __n, _CharT __c, const _Alloc& __a)
- {
- if (__n == 0 && __a == _Alloc())
- return _S_empty_rep._M_refcopy();
-
- // Check for out_of_range and length_error exceptions.
- _Rep* __r = _Rep::_S_create(__n, size_type(0), __a);
- if (__n)
- _S_assign(__r->_M_refdata(), __n, __c);
-
- __r->_M_set_length(__n);
- return __r->_M_refdata();
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _M_swap(__rc_string_base& __rcs)
- {
- if (_M_is_leaked())
- _M_set_sharable();
- if (__rcs._M_is_leaked())
- __rcs._M_set_sharable();
-
- _CharT* __tmp = _M_data();
- _M_data(__rcs._M_data());
- __rcs._M_data(__tmp);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<allocator_type>::_S_do_it(_M_get_allocator(),
- __rcs._M_get_allocator());
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _M_assign(const __rc_string_base& __rcs)
- {
- if (_M_rep() != __rcs._M_rep())
- {
- _CharT* __tmp = __rcs._M_grab(_M_get_allocator());
- _M_dispose();
- _M_data(__tmp);
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _M_reserve(size_type __res)
- {
- // Make sure we don't shrink below the current size.
- if (__res < _M_length())
- __res = _M_length();
-
- if (__res != _M_capacity() || _M_is_shared())
- {
- _CharT* __tmp = _M_rep()->_M_clone(_M_get_allocator(),
- __res - _M_length());
- _M_dispose();
- _M_data(__tmp);
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
- size_type __len2)
- {
- const size_type __how_much = _M_length() - __pos - __len1;
-
- _Rep* __r = _Rep::_S_create(_M_length() + __len2 - __len1,
- _M_capacity(), _M_get_allocator());
-
- if (__pos)
- _S_copy(__r->_M_refdata(), _M_data(), __pos);
- if (__s && __len2)
- _S_copy(__r->_M_refdata() + __pos, __s, __len2);
- if (__how_much)
- _S_copy(__r->_M_refdata() + __pos + __len2,
- _M_data() + __pos + __len1, __how_much);
-
- _M_dispose();
- _M_data(__r->_M_refdata());
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __rc_string_base<_CharT, _Traits, _Alloc>::
- _M_erase(size_type __pos, size_type __n)
- {
- const size_type __new_size = _M_length() - __n;
- const size_type __how_much = _M_length() - __pos - __n;
-
- if (_M_is_shared())
- {
- // Must reallocate.
- _Rep* __r = _Rep::_S_create(__new_size, _M_capacity(),
- _M_get_allocator());
-
- if (__pos)
- _S_copy(__r->_M_refdata(), _M_data(), __pos);
- if (__how_much)
- _S_copy(__r->_M_refdata() + __pos,
- _M_data() + __pos + __n, __how_much);
-
- _M_dispose();
- _M_data(__r->_M_refdata());
- }
- else if (__how_much && __n)
- {
- // Work in-place.
- _S_move(_M_data() + __pos,
- _M_data() + __pos + __n, __how_much);
- }
-
- _M_rep()->_M_set_length(__new_size);
- }
-
- template<>
- inline bool
- __rc_string_base<char, std::char_traits<char>,
- std::allocator<char> >::
- _M_compare(const __rc_string_base& __rcs) const
- {
- if (_M_rep() == __rcs._M_rep())
- return true;
- return false;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- inline bool
- __rc_string_base<wchar_t, std::char_traits<wchar_t>,
- std::allocator<wchar_t> >::
- _M_compare(const __rc_string_base& __rcs) const
- {
- if (_M_rep() == __rcs._M_rep())
- return true;
- return false;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _RC_STRING_BASE_H */
diff --git a/contrib/libstdc++/include/ext/rope b/contrib/libstdc++/include/ext/rope
deleted file mode 100644
index 0cfd21e44625..000000000000
--- a/contrib/libstdc++/include/ext/rope
+++ /dev/null
@@ -1,2913 +0,0 @@
-// SGI's rope class -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ext/rope
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _ROPE
-#define _ROPE 1
-
-#include <bits/stl_algobase.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <bits/stl_algo.h>
-#include <bits/stl_function.h>
-#include <bits/stl_numeric.h>
-#include <bits/allocator.h>
-#include <ext/hash_fun.h>
-
-# ifdef __GC
-# define __GC_CONST const
-# else
-# include <bits/gthr.h>
-# define __GC_CONST // constant except for deallocation
-# endif
-
-#include <ext/memory> // For uninitialized_copy_n
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- namespace __detail
- {
- enum { _S_max_rope_depth = 45 };
- enum _Tag {_S_leaf, _S_concat, _S_substringfn, _S_function};
- } // namespace __detail
-
- using std::size_t;
- using std::ptrdiff_t;
- using std::allocator;
- using std::iterator;
- using std::reverse_iterator;
- using std::_Destroy;
-
- // The _S_eos function is used for those functions that
- // convert to/from C-like strings to detect the end of the string.
-
- // The end-of-C-string character.
- // This is what the draft standard says it should be.
- template <class _CharT>
- inline _CharT
- _S_eos(_CharT*)
- { return _CharT(); }
-
- // Test for basic character types.
- // For basic character types leaves having a trailing eos.
- template <class _CharT>
- inline bool
- _S_is_basic_char_type(_CharT*)
- { return false; }
-
- template <class _CharT>
- inline bool
- _S_is_one_byte_char_type(_CharT*)
- { return false; }
-
- inline bool
- _S_is_basic_char_type(char*)
- { return true; }
-
- inline bool
- _S_is_one_byte_char_type(char*)
- { return true; }
-
- inline bool
- _S_is_basic_char_type(wchar_t*)
- { return true; }
-
- // Store an eos iff _CharT is a basic character type.
- // Do not reference _S_eos if it isn't.
- template <class _CharT>
- inline void
- _S_cond_store_eos(_CharT&) { }
-
- inline void
- _S_cond_store_eos(char& __c)
- { __c = 0; }
-
- inline void
- _S_cond_store_eos(wchar_t& __c)
- { __c = 0; }
-
- // char_producers are logically functions that generate a section of
- // a string. These can be convereted to ropes. The resulting rope
- // invokes the char_producer on demand. This allows, for example,
- // files to be viewed as ropes without reading the entire file.
- template <class _CharT>
- class char_producer
- {
- public:
- virtual ~char_producer() { };
-
- virtual void
- operator()(size_t __start_pos, size_t __len,
- _CharT* __buffer) = 0;
- // Buffer should really be an arbitrary output iterator.
- // That way we could flatten directly into an ostream, etc.
- // This is thoroughly impossible, since iterator types don't
- // have runtime descriptions.
- };
-
- // Sequence buffers:
- //
- // Sequence must provide an append operation that appends an
- // array to the sequence. Sequence buffers are useful only if
- // appending an entire array is cheaper than appending element by element.
- // This is true for many string representations.
- // This should perhaps inherit from ostream<sequence::value_type>
- // and be implemented correspondingly, so that they can be used
- // for formatted. For the sake of portability, we don't do this yet.
- //
- // For now, sequence buffers behave as output iterators. But they also
- // behave a little like basic_ostringstream<sequence::value_type> and a
- // little like containers.
-
- template<class _Sequence, size_t _Buf_sz = 100>
- class sequence_buffer
- : public iterator<std::output_iterator_tag, void, void, void, void>
- {
- public:
- typedef typename _Sequence::value_type value_type;
- protected:
- _Sequence* _M_prefix;
- value_type _M_buffer[_Buf_sz];
- size_t _M_buf_count;
- public:
-
- void
- flush()
- {
- _M_prefix->append(_M_buffer, _M_buffer + _M_buf_count);
- _M_buf_count = 0;
- }
-
- ~sequence_buffer()
- { flush(); }
-
- sequence_buffer()
- : _M_prefix(0), _M_buf_count(0) { }
-
- sequence_buffer(const sequence_buffer& __x)
- {
- _M_prefix = __x._M_prefix;
- _M_buf_count = __x._M_buf_count;
- std::copy(__x._M_buffer, __x._M_buffer + __x._M_buf_count, _M_buffer);
- }
-
- sequence_buffer(sequence_buffer& __x)
- {
- __x.flush();
- _M_prefix = __x._M_prefix;
- _M_buf_count = 0;
- }
-
- sequence_buffer(_Sequence& __s)
- : _M_prefix(&__s), _M_buf_count(0) { }
-
- sequence_buffer&
- operator=(sequence_buffer& __x)
- {
- __x.flush();
- _M_prefix = __x._M_prefix;
- _M_buf_count = 0;
- return *this;
- }
-
- sequence_buffer&
- operator=(const sequence_buffer& __x)
- {
- _M_prefix = __x._M_prefix;
- _M_buf_count = __x._M_buf_count;
- std::copy(__x._M_buffer, __x._M_buffer + __x._M_buf_count, _M_buffer);
- return *this;
- }
-
- void
- push_back(value_type __x)
- {
- if (_M_buf_count < _Buf_sz)
- {
- _M_buffer[_M_buf_count] = __x;
- ++_M_buf_count;
- }
- else
- {
- flush();
- _M_buffer[0] = __x;
- _M_buf_count = 1;
- }
- }
-
- void
- append(value_type* __s, size_t __len)
- {
- if (__len + _M_buf_count <= _Buf_sz)
- {
- size_t __i = _M_buf_count;
- for (size_t __j = 0; __j < __len; __i++, __j++)
- _M_buffer[__i] = __s[__j];
- _M_buf_count += __len;
- }
- else if (0 == _M_buf_count)
- _M_prefix->append(__s, __s + __len);
- else
- {
- flush();
- append(__s, __len);
- }
- }
-
- sequence_buffer&
- write(value_type* __s, size_t __len)
- {
- append(__s, __len);
- return *this;
- }
-
- sequence_buffer&
- put(value_type __x)
- {
- push_back(__x);
- return *this;
- }
-
- sequence_buffer&
- operator=(const value_type& __rhs)
- {
- push_back(__rhs);
- return *this;
- }
-
- sequence_buffer&
- operator*()
- { return *this; }
-
- sequence_buffer&
- operator++()
- { return *this; }
-
- sequence_buffer
- operator++(int)
- { return *this; }
- };
-
- // The following should be treated as private, at least for now.
- template<class _CharT>
- class _Rope_char_consumer
- {
- public:
- // If we had member templates, these should not be virtual.
- // For now we need to use run-time parametrization where
- // compile-time would do. Hence this should all be private
- // for now.
- // The symmetry with char_producer is accidental and temporary.
- virtual ~_Rope_char_consumer() { };
-
- virtual bool
- operator()(const _CharT* __buffer, size_t __len) = 0;
- };
-
- // First a lot of forward declarations. The standard seems to require
- // much stricter "declaration before use" than many of the implementations
- // that preceded it.
- template<class _CharT, class _Alloc = allocator<_CharT> >
- class rope;
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeConcatenation;
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeLeaf;
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeFunction;
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeSubstring;
-
- template<class _CharT, class _Alloc>
- class _Rope_iterator;
-
- template<class _CharT, class _Alloc>
- class _Rope_const_iterator;
-
- template<class _CharT, class _Alloc>
- class _Rope_char_ref_proxy;
-
- template<class _CharT, class _Alloc>
- class _Rope_char_ptr_proxy;
-
- template<class _CharT, class _Alloc>
- bool
- operator==(const _Rope_char_ptr_proxy<_CharT, _Alloc>& __x,
- const _Rope_char_ptr_proxy<_CharT, _Alloc>& __y);
-
- template<class _CharT, class _Alloc>
- _Rope_const_iterator<_CharT, _Alloc>
- operator-(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- ptrdiff_t __n);
-
- template<class _CharT, class _Alloc>
- _Rope_const_iterator<_CharT, _Alloc>
- operator+(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- ptrdiff_t __n);
-
- template<class _CharT, class _Alloc>
- _Rope_const_iterator<_CharT, _Alloc>
- operator+(ptrdiff_t __n,
- const _Rope_const_iterator<_CharT, _Alloc>& __x);
-
- template<class _CharT, class _Alloc>
- bool
- operator==(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y);
-
- template<class _CharT, class _Alloc>
- bool
- operator<(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y);
-
- template<class _CharT, class _Alloc>
- ptrdiff_t
- operator-(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y);
-
- template<class _CharT, class _Alloc>
- _Rope_iterator<_CharT, _Alloc>
- operator-(const _Rope_iterator<_CharT, _Alloc>& __x, ptrdiff_t __n);
-
- template<class _CharT, class _Alloc>
- _Rope_iterator<_CharT, _Alloc>
- operator+(const _Rope_iterator<_CharT, _Alloc>& __x, ptrdiff_t __n);
-
- template<class _CharT, class _Alloc>
- _Rope_iterator<_CharT, _Alloc>
- operator+(ptrdiff_t __n, const _Rope_iterator<_CharT, _Alloc>& __x);
-
- template<class _CharT, class _Alloc>
- bool
- operator==(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y);
-
- template<class _CharT, class _Alloc>
- bool
- operator<(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y);
-
- template<class _CharT, class _Alloc>
- ptrdiff_t
- operator-(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y);
-
- template<class _CharT, class _Alloc>
- rope<_CharT, _Alloc>
- operator+(const rope<_CharT, _Alloc>& __left,
- const rope<_CharT, _Alloc>& __right);
-
- template<class _CharT, class _Alloc>
- rope<_CharT, _Alloc>
- operator+(const rope<_CharT, _Alloc>& __left, const _CharT* __right);
-
- template<class _CharT, class _Alloc>
- rope<_CharT, _Alloc>
- operator+(const rope<_CharT, _Alloc>& __left, _CharT __right);
-
- // Some helpers, so we can use power on ropes.
- // See below for why this isn't local to the implementation.
-
- // This uses a nonstandard refcount convention.
- // The result has refcount 0.
- template<class _CharT, class _Alloc>
- struct _Rope_Concat_fn
- : public std::binary_function<rope<_CharT, _Alloc>, rope<_CharT, _Alloc>,
- rope<_CharT, _Alloc> >
- {
- rope<_CharT, _Alloc>
- operator()(const rope<_CharT, _Alloc>& __x,
- const rope<_CharT, _Alloc>& __y)
- { return __x + __y; }
- };
-
- template <class _CharT, class _Alloc>
- inline rope<_CharT, _Alloc>
- identity_element(_Rope_Concat_fn<_CharT, _Alloc>)
- { return rope<_CharT, _Alloc>(); }
-
- // Class _Refcount_Base provides a type, _RC_t, a data member,
- // _M_ref_count, and member functions _M_incr and _M_decr, which perform
- // atomic preincrement/predecrement. The constructor initializes
- // _M_ref_count.
- struct _Refcount_Base
- {
- // The type _RC_t
- typedef size_t _RC_t;
-
- // The data member _M_ref_count
- volatile _RC_t _M_ref_count;
-
- // Constructor
- __gthread_mutex_t _M_ref_count_lock;
-
- _Refcount_Base(_RC_t __n) : _M_ref_count(__n), _M_ref_count_lock()
- {
-#ifdef __GTHREAD_MUTEX_INIT
- __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
- _M_ref_count_lock = __tmp;
-#elif defined(__GTHREAD_MUTEX_INIT_FUNCTION)
- __GTHREAD_MUTEX_INIT_FUNCTION (&_M_ref_count_lock);
-#else
-#error __GTHREAD_MUTEX_INIT or __GTHREAD_MUTEX_INIT_FUNCTION should be defined by gthr.h abstraction layer, report problem to libstdc++@gcc.gnu.org.
-#endif
- }
-
- void
- _M_incr()
- {
- __gthread_mutex_lock(&_M_ref_count_lock);
- ++_M_ref_count;
- __gthread_mutex_unlock(&_M_ref_count_lock);
- }
-
- _RC_t
- _M_decr()
- {
- __gthread_mutex_lock(&_M_ref_count_lock);
- volatile _RC_t __tmp = --_M_ref_count;
- __gthread_mutex_unlock(&_M_ref_count_lock);
- return __tmp;
- }
- };
-
- //
- // What follows should really be local to rope. Unfortunately,
- // that doesn't work, since it makes it impossible to define generic
- // equality on rope iterators. According to the draft standard, the
- // template parameters for such an equality operator cannot be inferred
- // from the occurrence of a member class as a parameter.
- // (SGI compilers in fact allow this, but the __result wouldn't be
- // portable.)
- // Similarly, some of the static member functions are member functions
- // only to avoid polluting the global namespace, and to circumvent
- // restrictions on type inference for template functions.
- //
-
- //
- // The internal data structure for representing a rope. This is
- // private to the implementation. A rope is really just a pointer
- // to one of these.
- //
- // A few basic functions for manipulating this data structure
- // are members of _RopeRep. Most of the more complex algorithms
- // are implemented as rope members.
- //
- // Some of the static member functions of _RopeRep have identically
- // named functions in rope that simply invoke the _RopeRep versions.
-
-#define __ROPE_DEFINE_ALLOCS(__a) \
- __ROPE_DEFINE_ALLOC(_CharT,_Data) /* character data */ \
- typedef _Rope_RopeConcatenation<_CharT,__a> __C; \
- __ROPE_DEFINE_ALLOC(__C,_C) \
- typedef _Rope_RopeLeaf<_CharT,__a> __L; \
- __ROPE_DEFINE_ALLOC(__L,_L) \
- typedef _Rope_RopeFunction<_CharT,__a> __F; \
- __ROPE_DEFINE_ALLOC(__F,_F) \
- typedef _Rope_RopeSubstring<_CharT,__a> __S; \
- __ROPE_DEFINE_ALLOC(__S,_S)
-
- // Internal rope nodes potentially store a copy of the allocator
- // instance used to allocate them. This is mostly redundant.
- // But the alternative would be to pass allocator instances around
- // in some form to nearly all internal functions, since any pointer
- // assignment may result in a zero reference count and thus require
- // deallocation.
-
-#define __STATIC_IF_SGI_ALLOC /* not static */
-
- template <class _CharT, class _Alloc>
- struct _Rope_rep_base
- : public _Alloc
- {
- typedef _Alloc allocator_type;
-
- allocator_type
- get_allocator() const
- { return *static_cast<const _Alloc*>(this); }
-
- _Rope_rep_base(size_t __size, const allocator_type&)
- : _M_size(__size) { }
-
- size_t _M_size;
-
-# define __ROPE_DEFINE_ALLOC(_Tp, __name) \
- typedef typename \
- _Alloc::template rebind<_Tp>::other __name##Alloc; \
- static _Tp* __name##_allocate(size_t __n) \
- { return __name##Alloc().allocate(__n); } \
- static void __name##_deallocate(_Tp *__p, size_t __n) \
- { __name##Alloc().deallocate(__p, __n); }
- __ROPE_DEFINE_ALLOCS(_Alloc)
-# undef __ROPE_DEFINE_ALLOC
- };
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeRep
- : public _Rope_rep_base<_CharT, _Alloc>
-# ifndef __GC
- , _Refcount_Base
-# endif
- {
- public:
- __detail::_Tag _M_tag:8;
- bool _M_is_balanced:8;
- unsigned char _M_depth;
- __GC_CONST _CharT* _M_c_string;
- __gthread_mutex_t _M_c_string_lock;
- /* Flattened version of string, if needed. */
- /* typically 0. */
- /* If it's not 0, then the memory is owned */
- /* by this node. */
- /* In the case of a leaf, this may point to */
- /* the same memory as the data field. */
- typedef typename _Rope_rep_base<_CharT, _Alloc>::allocator_type
- allocator_type;
-
- using _Rope_rep_base<_CharT, _Alloc>::get_allocator;
-
- _Rope_RopeRep(__detail::_Tag __t, int __d, bool __b, size_t __size,
- allocator_type __a)
- : _Rope_rep_base<_CharT, _Alloc>(__size, __a),
-#ifndef __GC
- _Refcount_Base(1),
-#endif
- _M_tag(__t), _M_is_balanced(__b), _M_depth(__d), _M_c_string(0)
-#ifdef __GTHREAD_MUTEX_INIT
- {
- // Do not copy a POSIX/gthr mutex once in use. However, bits are bits.
- __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
- _M_c_string_lock = __tmp;
- }
-#else
- { __GTHREAD_MUTEX_INIT_FUNCTION (&_M_c_string_lock); }
-#endif
-#ifdef __GC
- void
- _M_incr () { }
-#endif
- static void
- _S_free_string(__GC_CONST _CharT*, size_t __len,
- allocator_type __a);
-#define __STL_FREE_STRING(__s, __l, __a) _S_free_string(__s, __l, __a);
- // Deallocate data section of a leaf.
- // This shouldn't be a member function.
- // But its hard to do anything else at the
- // moment, because it's templatized w.r.t.
- // an allocator.
- // Does nothing if __GC is defined.
-#ifndef __GC
- void _M_free_c_string();
- void _M_free_tree();
- // Deallocate t. Assumes t is not 0.
- void
- _M_unref_nonnil()
- {
- if (0 == _M_decr())
- _M_free_tree();
- }
-
- void
- _M_ref_nonnil()
- { _M_incr(); }
-
- static void
- _S_unref(_Rope_RopeRep* __t)
- {
- if (0 != __t)
- __t->_M_unref_nonnil();
- }
-
- static void
- _S_ref(_Rope_RopeRep* __t)
- {
- if (0 != __t)
- __t->_M_incr();
- }
-
- static void
- _S_free_if_unref(_Rope_RopeRep* __t)
- {
- if (0 != __t && 0 == __t->_M_ref_count)
- __t->_M_free_tree();
- }
-# else /* __GC */
- void _M_unref_nonnil() { }
- void _M_ref_nonnil() { }
- static void _S_unref(_Rope_RopeRep*) { }
- static void _S_ref(_Rope_RopeRep*) { }
- static void _S_free_if_unref(_Rope_RopeRep*) { }
-# endif
-protected:
- _Rope_RopeRep&
- operator=(const _Rope_RopeRep&);
-
- _Rope_RopeRep(const _Rope_RopeRep&);
- };
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeLeaf
- : public _Rope_RopeRep<_CharT, _Alloc>
- {
- public:
- // Apparently needed by VC++
- // The data fields of leaves are allocated with some
- // extra space, to accommodate future growth and for basic
- // character types, to hold a trailing eos character.
- enum { _S_alloc_granularity = 8 };
-
- static size_t
- _S_rounded_up_size(size_t __n)
- {
- size_t __size_with_eos;
-
- if (_S_is_basic_char_type((_CharT*)0))
- __size_with_eos = __n + 1;
- else
- __size_with_eos = __n;
-#ifdef __GC
- return __size_with_eos;
-#else
- // Allow slop for in-place expansion.
- return ((__size_with_eos + size_t(_S_alloc_granularity) - 1)
- &~ (size_t(_S_alloc_granularity) - 1));
-#endif
- }
- __GC_CONST _CharT* _M_data; /* Not necessarily 0 terminated. */
- /* The allocated size is */
- /* _S_rounded_up_size(size), except */
- /* in the GC case, in which it */
- /* doesn't matter. */
- typedef typename _Rope_rep_base<_CharT,_Alloc>::allocator_type
- allocator_type;
-
- _Rope_RopeLeaf(__GC_CONST _CharT* __d, size_t __size,
- allocator_type __a)
- : _Rope_RopeRep<_CharT, _Alloc>(__detail::_S_leaf, 0, true,
- __size, __a), _M_data(__d)
- {
- if (_S_is_basic_char_type((_CharT *)0))
- {
- // already eos terminated.
- this->_M_c_string = __d;
- }
- }
- // The constructor assumes that d has been allocated with
- // the proper allocator and the properly padded size.
- // In contrast, the destructor deallocates the data:
-#ifndef __GC
- ~_Rope_RopeLeaf() throw()
- {
- if (_M_data != this->_M_c_string)
- this->_M_free_c_string();
-
- __STL_FREE_STRING(_M_data, this->_M_size, this->get_allocator());
- }
-#endif
-protected:
- _Rope_RopeLeaf&
- operator=(const _Rope_RopeLeaf&);
-
- _Rope_RopeLeaf(const _Rope_RopeLeaf&);
- };
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeConcatenation
- : public _Rope_RopeRep<_CharT, _Alloc>
- {
- public:
- _Rope_RopeRep<_CharT, _Alloc>* _M_left;
- _Rope_RopeRep<_CharT, _Alloc>* _M_right;
-
- typedef typename _Rope_rep_base<_CharT, _Alloc>::allocator_type
- allocator_type;
-
- _Rope_RopeConcatenation(_Rope_RopeRep<_CharT, _Alloc>* __l,
- _Rope_RopeRep<_CharT, _Alloc>* __r,
- allocator_type __a)
- : _Rope_RopeRep<_CharT, _Alloc>(__detail::_S_concat,
- std::max(__l->_M_depth,
- __r->_M_depth) + 1,
- false,
- __l->_M_size + __r->_M_size, __a),
- _M_left(__l), _M_right(__r)
- { }
-#ifndef __GC
- ~_Rope_RopeConcatenation() throw()
- {
- this->_M_free_c_string();
- _M_left->_M_unref_nonnil();
- _M_right->_M_unref_nonnil();
- }
-#endif
-protected:
- _Rope_RopeConcatenation&
- operator=(const _Rope_RopeConcatenation&);
-
- _Rope_RopeConcatenation(const _Rope_RopeConcatenation&);
- };
-
- template<class _CharT, class _Alloc>
- struct _Rope_RopeFunction
- : public _Rope_RopeRep<_CharT, _Alloc>
- {
- public:
- char_producer<_CharT>* _M_fn;
-#ifndef __GC
- bool _M_delete_when_done; // Char_producer is owned by the
- // rope and should be explicitly
- // deleted when the rope becomes
- // inaccessible.
-#else
- // In the GC case, we either register the rope for
- // finalization, or not. Thus the field is unnecessary;
- // the information is stored in the collector data structures.
- // We do need a finalization procedure to be invoked by the
- // collector.
- static void
- _S_fn_finalization_proc(void * __tree, void *)
- { delete ((_Rope_RopeFunction *)__tree) -> _M_fn; }
-#endif
- typedef typename _Rope_rep_base<_CharT, _Alloc>::allocator_type
- allocator_type;
-
- _Rope_RopeFunction(char_producer<_CharT>* __f, size_t __size,
- bool __d, allocator_type __a)
- : _Rope_RopeRep<_CharT, _Alloc>(__detail::_S_function, 0, true, __size, __a)
- , _M_fn(__f)
-#ifndef __GC
- , _M_delete_when_done(__d)
-#endif
- {
-#ifdef __GC
- if (__d)
- {
- GC_REGISTER_FINALIZER(this, _Rope_RopeFunction::
- _S_fn_finalization_proc, 0, 0, 0);
- }
-#endif
- }
-#ifndef __GC
- ~_Rope_RopeFunction() throw()
- {
- this->_M_free_c_string();
- if (_M_delete_when_done)
- delete _M_fn;
- }
-# endif
- protected:
- _Rope_RopeFunction&
- operator=(const _Rope_RopeFunction&);
-
- _Rope_RopeFunction(const _Rope_RopeFunction&);
- };
- // Substring results are usually represented using just
- // concatenation nodes. But in the case of very long flat ropes
- // or ropes with a functional representation that isn't practical.
- // In that case, we represent the __result as a special case of
- // RopeFunction, whose char_producer points back to the rope itself.
- // In all cases except repeated substring operations and
- // deallocation, we treat the __result as a RopeFunction.
- template<class _CharT, class _Alloc>
- struct _Rope_RopeSubstring
- : public _Rope_RopeFunction<_CharT, _Alloc>,
- public char_producer<_CharT>
- {
- public:
- // XXX this whole class should be rewritten.
- _Rope_RopeRep<_CharT,_Alloc>* _M_base; // not 0
- size_t _M_start;
-
- virtual void
- operator()(size_t __start_pos, size_t __req_len,
- _CharT* __buffer)
- {
- switch(_M_base->_M_tag)
- {
- case __detail::_S_function:
- case __detail::_S_substringfn:
- {
- char_producer<_CharT>* __fn =
- ((_Rope_RopeFunction<_CharT,_Alloc>*)_M_base)->_M_fn;
- (*__fn)(__start_pos + _M_start, __req_len, __buffer);
- }
- break;
- case __detail::_S_leaf:
- {
- __GC_CONST _CharT* __s =
- ((_Rope_RopeLeaf<_CharT,_Alloc>*)_M_base)->_M_data;
- uninitialized_copy_n(__s + __start_pos + _M_start, __req_len,
- __buffer);
- }
- break;
- default:
- break;
- }
- }
-
- typedef typename _Rope_rep_base<_CharT, _Alloc>::allocator_type
- allocator_type;
-
- _Rope_RopeSubstring(_Rope_RopeRep<_CharT, _Alloc>* __b, size_t __s,
- size_t __l, allocator_type __a)
- : _Rope_RopeFunction<_CharT, _Alloc>(this, __l, false, __a),
- char_producer<_CharT>(), _M_base(__b), _M_start(__s)
- {
-#ifndef __GC
- _M_base->_M_ref_nonnil();
-#endif
- this->_M_tag = __detail::_S_substringfn;
- }
- virtual ~_Rope_RopeSubstring() throw()
- {
-#ifndef __GC
- _M_base->_M_unref_nonnil();
- // _M_free_c_string(); -- done by parent class
-#endif
- }
- };
-
- // Self-destructing pointers to Rope_rep.
- // These are not conventional smart pointers. Their
- // only purpose in life is to ensure that unref is called
- // on the pointer either at normal exit or if an exception
- // is raised. It is the caller's responsibility to
- // adjust reference counts when these pointers are initialized
- // or assigned to. (This convention significantly reduces
- // the number of potentially expensive reference count
- // updates.)
-#ifndef __GC
- template<class _CharT, class _Alloc>
- struct _Rope_self_destruct_ptr
- {
- _Rope_RopeRep<_CharT, _Alloc>* _M_ptr;
-
- ~_Rope_self_destruct_ptr()
- { _Rope_RopeRep<_CharT, _Alloc>::_S_unref(_M_ptr); }
-#ifdef __EXCEPTIONS
- _Rope_self_destruct_ptr() : _M_ptr(0) { };
-#else
- _Rope_self_destruct_ptr() { };
-#endif
- _Rope_self_destruct_ptr(_Rope_RopeRep<_CharT, _Alloc>* __p)
- : _M_ptr(__p) { }
-
- _Rope_RopeRep<_CharT, _Alloc>&
- operator*()
- { return *_M_ptr; }
-
- _Rope_RopeRep<_CharT, _Alloc>*
- operator->()
- { return _M_ptr; }
-
- operator _Rope_RopeRep<_CharT, _Alloc>*()
- { return _M_ptr; }
-
- _Rope_self_destruct_ptr&
- operator=(_Rope_RopeRep<_CharT, _Alloc>* __x)
- { _M_ptr = __x; return *this; }
- };
-#endif
-
- // Dereferencing a nonconst iterator has to return something
- // that behaves almost like a reference. It's not possible to
- // return an actual reference since assignment requires extra
- // work. And we would get into the same problems as with the
- // CD2 version of basic_string.
- template<class _CharT, class _Alloc>
- class _Rope_char_ref_proxy
- {
- friend class rope<_CharT, _Alloc>;
- friend class _Rope_iterator<_CharT, _Alloc>;
- friend class _Rope_char_ptr_proxy<_CharT, _Alloc>;
-#ifdef __GC
- typedef _Rope_RopeRep<_CharT, _Alloc>* _Self_destruct_ptr;
-#else
- typedef _Rope_self_destruct_ptr<_CharT, _Alloc> _Self_destruct_ptr;
-#endif
- typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep;
- typedef rope<_CharT, _Alloc> _My_rope;
- size_t _M_pos;
- _CharT _M_current;
- bool _M_current_valid;
- _My_rope* _M_root; // The whole rope.
- public:
- _Rope_char_ref_proxy(_My_rope* __r, size_t __p)
- : _M_pos(__p), _M_current(), _M_current_valid(false), _M_root(__r) { }
-
- _Rope_char_ref_proxy(const _Rope_char_ref_proxy& __x)
- : _M_pos(__x._M_pos), _M_current(__x._M_current),
- _M_current_valid(false), _M_root(__x._M_root) { }
-
- // Don't preserve cache if the reference can outlive the
- // expression. We claim that's not possible without calling
- // a copy constructor or generating reference to a proxy
- // reference. We declare the latter to have undefined semantics.
- _Rope_char_ref_proxy(_My_rope* __r, size_t __p, _CharT __c)
- : _M_pos(__p), _M_current(__c), _M_current_valid(true), _M_root(__r) { }
-
- inline operator _CharT () const;
-
- _Rope_char_ref_proxy&
- operator=(_CharT __c);
-
- _Rope_char_ptr_proxy<_CharT, _Alloc> operator&() const;
-
- _Rope_char_ref_proxy&
- operator=(const _Rope_char_ref_proxy& __c)
- { return operator=((_CharT)__c); }
- };
-
- template<class _CharT, class __Alloc>
- inline void
- swap(_Rope_char_ref_proxy <_CharT, __Alloc > __a,
- _Rope_char_ref_proxy <_CharT, __Alloc > __b)
- {
- _CharT __tmp = __a;
- __a = __b;
- __b = __tmp;
- }
-
- template<class _CharT, class _Alloc>
- class _Rope_char_ptr_proxy
- {
- // XXX this class should be rewritten.
- friend class _Rope_char_ref_proxy<_CharT, _Alloc>;
- size_t _M_pos;
- rope<_CharT,_Alloc>* _M_root; // The whole rope.
- public:
- _Rope_char_ptr_proxy(const _Rope_char_ref_proxy<_CharT,_Alloc>& __x)
- : _M_pos(__x._M_pos), _M_root(__x._M_root) { }
-
- _Rope_char_ptr_proxy(const _Rope_char_ptr_proxy& __x)
- : _M_pos(__x._M_pos), _M_root(__x._M_root) { }
-
- _Rope_char_ptr_proxy() { }
-
- _Rope_char_ptr_proxy(_CharT* __x)
- : _M_root(0), _M_pos(0) { }
-
- _Rope_char_ptr_proxy&
- operator=(const _Rope_char_ptr_proxy& __x)
- {
- _M_pos = __x._M_pos;
- _M_root = __x._M_root;
- return *this;
- }
-
- template<class _CharT2, class _Alloc2>
- friend bool
- operator==(const _Rope_char_ptr_proxy<_CharT2, _Alloc2>& __x,
- const _Rope_char_ptr_proxy<_CharT2, _Alloc2>& __y);
-
- _Rope_char_ref_proxy<_CharT, _Alloc> operator*() const
- { return _Rope_char_ref_proxy<_CharT, _Alloc>(_M_root, _M_pos); }
- };
-
- // Rope iterators:
- // Unlike in the C version, we cache only part of the stack
- // for rope iterators, since they must be efficiently copyable.
- // When we run out of cache, we have to reconstruct the iterator
- // value.
- // Pointers from iterators are not included in reference counts.
- // Iterators are assumed to be thread private. Ropes can
- // be shared.
-
- template<class _CharT, class _Alloc>
- class _Rope_iterator_base
- : public iterator<std::random_access_iterator_tag, _CharT>
- {
- friend class rope<_CharT, _Alloc>;
- public:
- typedef _Alloc _allocator_type; // used in _Rope_rotate, VC++ workaround
- typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep;
- // Borland doesn't want this to be protected.
- protected:
- enum { _S_path_cache_len = 4 }; // Must be <= 9.
- enum { _S_iterator_buf_len = 15 };
- size_t _M_current_pos;
- _RopeRep* _M_root; // The whole rope.
- size_t _M_leaf_pos; // Starting position for current leaf
- __GC_CONST _CharT* _M_buf_start;
- // Buffer possibly
- // containing current char.
- __GC_CONST _CharT* _M_buf_ptr;
- // Pointer to current char in buffer.
- // != 0 ==> buffer valid.
- __GC_CONST _CharT* _M_buf_end;
- // One past __last valid char in buffer.
- // What follows is the path cache. We go out of our
- // way to make this compact.
- // Path_end contains the bottom section of the path from
- // the root to the current leaf.
- const _RopeRep* _M_path_end[_S_path_cache_len];
- int _M_leaf_index; // Last valid __pos in path_end;
- // _M_path_end[0] ... _M_path_end[leaf_index-1]
- // point to concatenation nodes.
- unsigned char _M_path_directions;
- // (path_directions >> __i) & 1 is 1
- // iff we got from _M_path_end[leaf_index - __i - 1]
- // to _M_path_end[leaf_index - __i] by going to the
- // __right. Assumes path_cache_len <= 9.
- _CharT _M_tmp_buf[_S_iterator_buf_len];
- // Short buffer for surrounding chars.
- // This is useful primarily for
- // RopeFunctions. We put the buffer
- // here to avoid locking in the
- // multithreaded case.
- // The cached path is generally assumed to be valid
- // only if the buffer is valid.
- static void _S_setbuf(_Rope_iterator_base& __x);
- // Set buffer contents given
- // path cache.
- static void _S_setcache(_Rope_iterator_base& __x);
- // Set buffer contents and
- // path cache.
- static void _S_setcache_for_incr(_Rope_iterator_base& __x);
- // As above, but assumes path
- // cache is valid for previous posn.
- _Rope_iterator_base() { }
-
- _Rope_iterator_base(_RopeRep* __root, size_t __pos)
- : _M_current_pos(__pos), _M_root(__root), _M_buf_ptr(0) { }
-
- void _M_incr(size_t __n);
- void _M_decr(size_t __n);
- public:
- size_t
- index() const
- { return _M_current_pos; }
-
- _Rope_iterator_base(const _Rope_iterator_base& __x)
- {
- if (0 != __x._M_buf_ptr)
- *this = __x;
- else
- {
- _M_current_pos = __x._M_current_pos;
- _M_root = __x._M_root;
- _M_buf_ptr = 0;
- }
- }
- };
-
- template<class _CharT, class _Alloc>
- class _Rope_iterator;
-
- template<class _CharT, class _Alloc>
- class _Rope_const_iterator
- : public _Rope_iterator_base<_CharT, _Alloc>
- {
- friend class rope<_CharT, _Alloc>;
- protected:
- typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep;
- // The one from the base class may not be directly visible.
- _Rope_const_iterator(const _RopeRep* __root, size_t __pos)
- : _Rope_iterator_base<_CharT, _Alloc>(const_cast<_RopeRep*>(__root),
- __pos)
- // Only nonconst iterators modify root ref count
- { }
- public:
- typedef _CharT reference; // Really a value. Returning a reference
- // Would be a mess, since it would have
- // to be included in refcount.
- typedef const _CharT* pointer;
-
- public:
- _Rope_const_iterator() { };
-
- _Rope_const_iterator(const _Rope_const_iterator& __x)
- : _Rope_iterator_base<_CharT,_Alloc>(__x) { }
-
- _Rope_const_iterator(const _Rope_iterator<_CharT,_Alloc>& __x);
-
- _Rope_const_iterator(const rope<_CharT, _Alloc>& __r, size_t __pos)
- : _Rope_iterator_base<_CharT,_Alloc>(__r._M_tree_ptr, __pos) { }
-
- _Rope_const_iterator&
- operator=(const _Rope_const_iterator& __x)
- {
- if (0 != __x._M_buf_ptr)
- *(static_cast<_Rope_iterator_base<_CharT, _Alloc>*>(this)) = __x;
- else
- {
- this->_M_current_pos = __x._M_current_pos;
- this->_M_root = __x._M_root;
- this->_M_buf_ptr = 0;
- }
- return(*this);
- }
-
- reference
- operator*()
- {
- if (0 == this->_M_buf_ptr)
- _S_setcache(*this);
- return *this->_M_buf_ptr;
- }
-
- // Without this const version, Rope iterators do not meet the
- // requirements of an Input Iterator.
- reference
- operator*() const
- {
- return *const_cast<_Rope_const_iterator&>(*this);
- }
-
- _Rope_const_iterator&
- operator++()
- {
- __GC_CONST _CharT* __next;
- if (0 != this->_M_buf_ptr
- && (__next = this->_M_buf_ptr + 1) < this->_M_buf_end)
- {
- this->_M_buf_ptr = __next;
- ++this->_M_current_pos;
- }
- else
- this->_M_incr(1);
- return *this;
- }
-
- _Rope_const_iterator&
- operator+=(ptrdiff_t __n)
- {
- if (__n >= 0)
- this->_M_incr(__n);
- else
- this->_M_decr(-__n);
- return *this;
- }
-
- _Rope_const_iterator&
- operator--()
- {
- this->_M_decr(1);
- return *this;
- }
-
- _Rope_const_iterator&
- operator-=(ptrdiff_t __n)
- {
- if (__n >= 0)
- this->_M_decr(__n);
- else
- this->_M_incr(-__n);
- return *this;
- }
-
- _Rope_const_iterator
- operator++(int)
- {
- size_t __old_pos = this->_M_current_pos;
- this->_M_incr(1);
- return _Rope_const_iterator<_CharT,_Alloc>(this->_M_root, __old_pos);
- // This makes a subsequent dereference expensive.
- // Perhaps we should instead copy the iterator
- // if it has a valid cache?
- }
-
- _Rope_const_iterator
- operator--(int)
- {
- size_t __old_pos = this->_M_current_pos;
- this->_M_decr(1);
- return _Rope_const_iterator<_CharT,_Alloc>(this->_M_root, __old_pos);
- }
-
- template<class _CharT2, class _Alloc2>
- friend _Rope_const_iterator<_CharT2, _Alloc2>
- operator-(const _Rope_const_iterator<_CharT2, _Alloc2>& __x,
- ptrdiff_t __n);
-
- template<class _CharT2, class _Alloc2>
- friend _Rope_const_iterator<_CharT2, _Alloc2>
- operator+(const _Rope_const_iterator<_CharT2, _Alloc2>& __x,
- ptrdiff_t __n);
-
- template<class _CharT2, class _Alloc2>
- friend _Rope_const_iterator<_CharT2, _Alloc2>
- operator+(ptrdiff_t __n,
- const _Rope_const_iterator<_CharT2, _Alloc2>& __x);
-
- reference
- operator[](size_t __n)
- { return rope<_CharT, _Alloc>::_S_fetch(this->_M_root,
- this->_M_current_pos + __n); }
-
- template<class _CharT2, class _Alloc2>
- friend bool
- operator==(const _Rope_const_iterator<_CharT2, _Alloc2>& __x,
- const _Rope_const_iterator<_CharT2, _Alloc2>& __y);
-
- template<class _CharT2, class _Alloc2>
- friend bool
- operator<(const _Rope_const_iterator<_CharT2, _Alloc2>& __x,
- const _Rope_const_iterator<_CharT2, _Alloc2>& __y);
-
- template<class _CharT2, class _Alloc2>
- friend ptrdiff_t
- operator-(const _Rope_const_iterator<_CharT2, _Alloc2>& __x,
- const _Rope_const_iterator<_CharT2, _Alloc2>& __y);
- };
-
- template<class _CharT, class _Alloc>
- class _Rope_iterator
- : public _Rope_iterator_base<_CharT, _Alloc>
- {
- friend class rope<_CharT, _Alloc>;
- protected:
- typedef typename _Rope_iterator_base<_CharT, _Alloc>::_RopeRep _RopeRep;
- rope<_CharT, _Alloc>* _M_root_rope;
-
- // root is treated as a cached version of this, and is used to
- // detect changes to the underlying rope.
-
- // Root is included in the reference count. This is necessary
- // so that we can detect changes reliably. Unfortunately, it
- // requires careful bookkeeping for the nonGC case.
- _Rope_iterator(rope<_CharT, _Alloc>* __r, size_t __pos)
- : _Rope_iterator_base<_CharT, _Alloc>(__r->_M_tree_ptr, __pos),
- _M_root_rope(__r)
- { _RopeRep::_S_ref(this->_M_root);
- if (!(__r -> empty()))
- _S_setcache(*this);
- }
-
- void _M_check();
- public:
- typedef _Rope_char_ref_proxy<_CharT, _Alloc> reference;
- typedef _Rope_char_ref_proxy<_CharT, _Alloc>* pointer;
-
- rope<_CharT, _Alloc>&
- container()
- { return *_M_root_rope; }
-
- _Rope_iterator()
- {
- this->_M_root = 0; // Needed for reference counting.
- };
-
- _Rope_iterator(const _Rope_iterator& __x)
- : _Rope_iterator_base<_CharT, _Alloc>(__x)
- {
- _M_root_rope = __x._M_root_rope;
- _RopeRep::_S_ref(this->_M_root);
- }
-
- _Rope_iterator(rope<_CharT, _Alloc>& __r, size_t __pos);
-
- ~_Rope_iterator()
- { _RopeRep::_S_unref(this->_M_root); }
-
- _Rope_iterator&
- operator=(const _Rope_iterator& __x)
- {
- _RopeRep* __old = this->_M_root;
-
- _RopeRep::_S_ref(__x._M_root);
- if (0 != __x._M_buf_ptr)
- {
- _M_root_rope = __x._M_root_rope;
- *(static_cast<_Rope_iterator_base<_CharT, _Alloc>*>(this)) = __x;
- }
- else
- {
- this->_M_current_pos = __x._M_current_pos;
- this->_M_root = __x._M_root;
- _M_root_rope = __x._M_root_rope;
- this->_M_buf_ptr = 0;
- }
- _RopeRep::_S_unref(__old);
- return(*this);
- }
-
- reference
- operator*()
- {
- _M_check();
- if (0 == this->_M_buf_ptr)
- return _Rope_char_ref_proxy<_CharT, _Alloc>(_M_root_rope,
- this->_M_current_pos);
- else
- return _Rope_char_ref_proxy<_CharT, _Alloc>(_M_root_rope,
- this->_M_current_pos,
- *this->_M_buf_ptr);
- }
-
- // See above comment.
- reference
- operator*() const
- {
- return *const_cast<_Rope_iterator&>(*this);
- }
-
- _Rope_iterator&
- operator++()
- {
- this->_M_incr(1);
- return *this;
- }
-
- _Rope_iterator&
- operator+=(ptrdiff_t __n)
- {
- if (__n >= 0)
- this->_M_incr(__n);
- else
- this->_M_decr(-__n);
- return *this;
- }
-
- _Rope_iterator&
- operator--()
- {
- this->_M_decr(1);
- return *this;
- }
-
- _Rope_iterator&
- operator-=(ptrdiff_t __n)
- {
- if (__n >= 0)
- this->_M_decr(__n);
- else
- this->_M_incr(-__n);
- return *this;
- }
-
- _Rope_iterator
- operator++(int)
- {
- size_t __old_pos = this->_M_current_pos;
- this->_M_incr(1);
- return _Rope_iterator<_CharT,_Alloc>(_M_root_rope, __old_pos);
- }
-
- _Rope_iterator
- operator--(int)
- {
- size_t __old_pos = this->_M_current_pos;
- this->_M_decr(1);
- return _Rope_iterator<_CharT,_Alloc>(_M_root_rope, __old_pos);
- }
-
- reference
- operator[](ptrdiff_t __n)
- { return _Rope_char_ref_proxy<_CharT, _Alloc>(_M_root_rope,
- this->_M_current_pos
- + __n); }
-
- template<class _CharT2, class _Alloc2>
- friend bool
- operator==(const _Rope_iterator<_CharT2, _Alloc2>& __x,
- const _Rope_iterator<_CharT2, _Alloc2>& __y);
-
- template<class _CharT2, class _Alloc2>
- friend bool
- operator<(const _Rope_iterator<_CharT2, _Alloc2>& __x,
- const _Rope_iterator<_CharT2, _Alloc2>& __y);
-
- template<class _CharT2, class _Alloc2>
- friend ptrdiff_t
- operator-(const _Rope_iterator<_CharT2, _Alloc2>& __x,
- const _Rope_iterator<_CharT2, _Alloc2>& __y);
-
- template<class _CharT2, class _Alloc2>
- friend _Rope_iterator<_CharT2, _Alloc2>
- operator-(const _Rope_iterator<_CharT2, _Alloc2>& __x, ptrdiff_t __n);
-
- template<class _CharT2, class _Alloc2>
- friend _Rope_iterator<_CharT2, _Alloc2>
- operator+(const _Rope_iterator<_CharT2, _Alloc2>& __x, ptrdiff_t __n);
-
- template<class _CharT2, class _Alloc2>
- friend _Rope_iterator<_CharT2, _Alloc2>
- operator+(ptrdiff_t __n, const _Rope_iterator<_CharT2, _Alloc2>& __x);
- };
-
-
- template <class _CharT, class _Alloc>
- struct _Rope_base
- : public _Alloc
- {
- typedef _Alloc allocator_type;
-
- allocator_type
- get_allocator() const
- { return *static_cast<const _Alloc*>(this); }
-
- typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep;
- // The one in _Base may not be visible due to template rules.
-
- _Rope_base(_RopeRep* __t, const allocator_type&)
- : _M_tree_ptr(__t) { }
-
- _Rope_base(const allocator_type&) { }
-
- // The only data member of a rope:
- _RopeRep *_M_tree_ptr;
-
-#define __ROPE_DEFINE_ALLOC(_Tp, __name) \
- typedef typename \
- _Alloc::template rebind<_Tp>::other __name##Alloc; \
- static _Tp* __name##_allocate(size_t __n) \
- { return __name##Alloc().allocate(__n); } \
- static void __name##_deallocate(_Tp *__p, size_t __n) \
- { __name##Alloc().deallocate(__p, __n); }
- __ROPE_DEFINE_ALLOCS(_Alloc)
-#undef __ROPE_DEFINE_ALLOC
-
- protected:
- _Rope_base&
- operator=(const _Rope_base&);
-
- _Rope_base(const _Rope_base&);
- };
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template <class _CharT, class _Alloc>
- class rope : public _Rope_base<_CharT, _Alloc>
- {
- public:
- typedef _CharT value_type;
- typedef ptrdiff_t difference_type;
- typedef size_t size_type;
- typedef _CharT const_reference;
- typedef const _CharT* const_pointer;
- typedef _Rope_iterator<_CharT, _Alloc> iterator;
- typedef _Rope_const_iterator<_CharT, _Alloc> const_iterator;
- typedef _Rope_char_ref_proxy<_CharT, _Alloc> reference;
- typedef _Rope_char_ptr_proxy<_CharT, _Alloc> pointer;
-
- friend class _Rope_iterator<_CharT, _Alloc>;
- friend class _Rope_const_iterator<_CharT, _Alloc>;
- friend struct _Rope_RopeRep<_CharT, _Alloc>;
- friend class _Rope_iterator_base<_CharT, _Alloc>;
- friend class _Rope_char_ptr_proxy<_CharT, _Alloc>;
- friend class _Rope_char_ref_proxy<_CharT, _Alloc>;
- friend struct _Rope_RopeSubstring<_CharT, _Alloc>;
-
- protected:
- typedef _Rope_base<_CharT, _Alloc> _Base;
- typedef typename _Base::allocator_type allocator_type;
- using _Base::_M_tree_ptr;
- using _Base::get_allocator;
- typedef __GC_CONST _CharT* _Cstrptr;
-
- static _CharT _S_empty_c_str[1];
-
- static bool
- _S_is0(_CharT __c)
- { return __c == _S_eos((_CharT*)0); }
-
- enum { _S_copy_max = 23 };
- // For strings shorter than _S_copy_max, we copy to
- // concatenate.
-
- typedef _Rope_RopeRep<_CharT, _Alloc> _RopeRep;
- typedef _Rope_RopeConcatenation<_CharT, _Alloc> _RopeConcatenation;
- typedef _Rope_RopeLeaf<_CharT, _Alloc> _RopeLeaf;
- typedef _Rope_RopeFunction<_CharT, _Alloc> _RopeFunction;
- typedef _Rope_RopeSubstring<_CharT, _Alloc> _RopeSubstring;
-
- // Retrieve a character at the indicated position.
- static _CharT _S_fetch(_RopeRep* __r, size_type __pos);
-
-#ifndef __GC
- // Obtain a pointer to the character at the indicated position.
- // The pointer can be used to change the character.
- // If such a pointer cannot be produced, as is frequently the
- // case, 0 is returned instead.
- // (Returns nonzero only if all nodes in the path have a refcount
- // of 1.)
- static _CharT* _S_fetch_ptr(_RopeRep* __r, size_type __pos);
-#endif
-
- static bool
- _S_apply_to_pieces(// should be template parameter
- _Rope_char_consumer<_CharT>& __c,
- const _RopeRep* __r,
- size_t __begin, size_t __end);
- // begin and end are assumed to be in range.
-
-#ifndef __GC
- static void
- _S_unref(_RopeRep* __t)
- { _RopeRep::_S_unref(__t); }
-
- static void
- _S_ref(_RopeRep* __t)
- { _RopeRep::_S_ref(__t); }
-
-#else /* __GC */
- static void _S_unref(_RopeRep*) { }
- static void _S_ref(_RopeRep*) { }
-#endif
-
-#ifdef __GC
- typedef _Rope_RopeRep<_CharT, _Alloc>* _Self_destruct_ptr;
-#else
- typedef _Rope_self_destruct_ptr<_CharT, _Alloc> _Self_destruct_ptr;
-#endif
-
- // _Result is counted in refcount.
- static _RopeRep* _S_substring(_RopeRep* __base,
- size_t __start, size_t __endp1);
-
- static _RopeRep* _S_concat_char_iter(_RopeRep* __r,
- const _CharT* __iter, size_t __slen);
- // Concatenate rope and char ptr, copying __s.
- // Should really take an arbitrary iterator.
- // Result is counted in refcount.
- static _RopeRep* _S_destr_concat_char_iter(_RopeRep* __r,
- const _CharT* __iter,
- size_t __slen)
- // As above, but one reference to __r is about to be
- // destroyed. Thus the pieces may be recycled if all
- // relevant reference counts are 1.
-#ifdef __GC
- // We can't really do anything since refcounts are unavailable.
- { return _S_concat_char_iter(__r, __iter, __slen); }
-#else
- ;
-#endif
-
- static _RopeRep* _S_concat(_RopeRep* __left, _RopeRep* __right);
- // General concatenation on _RopeRep. _Result
- // has refcount of 1. Adjusts argument refcounts.
-
- public:
- void
- apply_to_pieces(size_t __begin, size_t __end,
- _Rope_char_consumer<_CharT>& __c) const
- { _S_apply_to_pieces(__c, this->_M_tree_ptr, __begin, __end); }
-
- protected:
-
- static size_t
- _S_rounded_up_size(size_t __n)
- { return _RopeLeaf::_S_rounded_up_size(__n); }
-
- static size_t
- _S_allocated_capacity(size_t __n)
- {
- if (_S_is_basic_char_type((_CharT*)0))
- return _S_rounded_up_size(__n) - 1;
- else
- return _S_rounded_up_size(__n);
-
- }
-
- // Allocate and construct a RopeLeaf using the supplied allocator
- // Takes ownership of s instead of copying.
- static _RopeLeaf*
- _S_new_RopeLeaf(__GC_CONST _CharT *__s,
- size_t __size, allocator_type __a)
- {
- _RopeLeaf* __space = typename _Base::_LAlloc(__a).allocate(1);
- return new(__space) _RopeLeaf(__s, __size, __a);
- }
-
- static _RopeConcatenation*
- _S_new_RopeConcatenation(_RopeRep* __left, _RopeRep* __right,
- allocator_type __a)
- {
- _RopeConcatenation* __space = typename _Base::_CAlloc(__a).allocate(1);
- return new(__space) _RopeConcatenation(__left, __right, __a);
- }
-
- static _RopeFunction*
- _S_new_RopeFunction(char_producer<_CharT>* __f,
- size_t __size, bool __d, allocator_type __a)
- {
- _RopeFunction* __space = typename _Base::_FAlloc(__a).allocate(1);
- return new(__space) _RopeFunction(__f, __size, __d, __a);
- }
-
- static _RopeSubstring*
- _S_new_RopeSubstring(_Rope_RopeRep<_CharT,_Alloc>* __b, size_t __s,
- size_t __l, allocator_type __a)
- {
- _RopeSubstring* __space = typename _Base::_SAlloc(__a).allocate(1);
- return new(__space) _RopeSubstring(__b, __s, __l, __a);
- }
-
- static _RopeLeaf*
- _S_RopeLeaf_from_unowned_char_ptr(const _CharT *__s,
- size_t __size, allocator_type __a)
-#define __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __size, __a) \
- _S_RopeLeaf_from_unowned_char_ptr(__s, __size, __a)
- {
- if (0 == __size)
- return 0;
- _CharT* __buf = __a.allocate(_S_rounded_up_size(__size));
-
- __uninitialized_copy_n_a(__s, __size, __buf, __a);
- _S_cond_store_eos(__buf[__size]);
- try
- { return _S_new_RopeLeaf(__buf, __size, __a); }
- catch(...)
- {
- _RopeRep::__STL_FREE_STRING(__buf, __size, __a);
- __throw_exception_again;
- }
- }
-
- // Concatenation of nonempty strings.
- // Always builds a concatenation node.
- // Rebalances if the result is too deep.
- // Result has refcount 1.
- // Does not increment left and right ref counts even though
- // they are referenced.
- static _RopeRep*
- _S_tree_concat(_RopeRep* __left, _RopeRep* __right);
-
- // Concatenation helper functions
- static _RopeLeaf*
- _S_leaf_concat_char_iter(_RopeLeaf* __r,
- const _CharT* __iter, size_t __slen);
- // Concatenate by copying leaf.
- // should take an arbitrary iterator
- // result has refcount 1.
-#ifndef __GC
- static _RopeLeaf*
- _S_destr_leaf_concat_char_iter(_RopeLeaf* __r,
- const _CharT* __iter, size_t __slen);
- // A version that potentially clobbers __r if __r->_M_ref_count == 1.
-#endif
-
- private:
-
- static size_t _S_char_ptr_len(const _CharT* __s);
- // slightly generalized strlen
-
- rope(_RopeRep* __t, const allocator_type& __a = allocator_type())
- : _Base(__t, __a) { }
-
-
- // Copy __r to the _CharT buffer.
- // Returns __buffer + __r->_M_size.
- // Assumes that buffer is uninitialized.
- static _CharT* _S_flatten(_RopeRep* __r, _CharT* __buffer);
-
- // Again, with explicit starting position and length.
- // Assumes that buffer is uninitialized.
- static _CharT* _S_flatten(_RopeRep* __r,
- size_t __start, size_t __len,
- _CharT* __buffer);
-
- static const unsigned long
- _S_min_len[__detail::_S_max_rope_depth + 1];
-
- static bool
- _S_is_balanced(_RopeRep* __r)
- { return (__r->_M_size >= _S_min_len[__r->_M_depth]); }
-
- static bool
- _S_is_almost_balanced(_RopeRep* __r)
- { return (__r->_M_depth == 0
- || __r->_M_size >= _S_min_len[__r->_M_depth - 1]); }
-
- static bool
- _S_is_roughly_balanced(_RopeRep* __r)
- { return (__r->_M_depth <= 1
- || __r->_M_size >= _S_min_len[__r->_M_depth - 2]); }
-
- // Assumes the result is not empty.
- static _RopeRep*
- _S_concat_and_set_balanced(_RopeRep* __left, _RopeRep* __right)
- {
- _RopeRep* __result = _S_concat(__left, __right);
- if (_S_is_balanced(__result))
- __result->_M_is_balanced = true;
- return __result;
- }
-
- // The basic rebalancing operation. Logically copies the
- // rope. The result has refcount of 1. The client will
- // usually decrement the reference count of __r.
- // The result is within height 2 of balanced by the above
- // definition.
- static _RopeRep* _S_balance(_RopeRep* __r);
-
- // Add all unbalanced subtrees to the forest of balanceed trees.
- // Used only by balance.
- static void _S_add_to_forest(_RopeRep*__r, _RopeRep** __forest);
-
- // Add __r to forest, assuming __r is already balanced.
- static void _S_add_leaf_to_forest(_RopeRep* __r, _RopeRep** __forest);
-
- // Print to stdout, exposing structure
- static void _S_dump(_RopeRep* __r, int __indent = 0);
-
- // Return -1, 0, or 1 if __x < __y, __x == __y, or __x > __y resp.
- static int _S_compare(const _RopeRep* __x, const _RopeRep* __y);
-
- public:
- bool
- empty() const
- { return 0 == this->_M_tree_ptr; }
-
- // Comparison member function. This is public only for those
- // clients that need a ternary comparison. Others
- // should use the comparison operators below.
- int
- compare(const rope& __y) const
- { return _S_compare(this->_M_tree_ptr, __y._M_tree_ptr); }
-
- rope(const _CharT* __s, const allocator_type& __a = allocator_type())
- : _Base(__STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, _S_char_ptr_len(__s),
- __a), __a)
- { }
-
- rope(const _CharT* __s, size_t __len,
- const allocator_type& __a = allocator_type())
- : _Base(__STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __len, __a), __a)
- { }
-
- // Should perhaps be templatized with respect to the iterator type
- // and use Sequence_buffer. (It should perhaps use sequence_buffer
- // even now.)
- rope(const _CharT *__s, const _CharT *__e,
- const allocator_type& __a = allocator_type())
- : _Base(__STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __e - __s, __a), __a)
- { }
-
- rope(const const_iterator& __s, const const_iterator& __e,
- const allocator_type& __a = allocator_type())
- : _Base(_S_substring(__s._M_root, __s._M_current_pos,
- __e._M_current_pos), __a)
- { }
-
- rope(const iterator& __s, const iterator& __e,
- const allocator_type& __a = allocator_type())
- : _Base(_S_substring(__s._M_root, __s._M_current_pos,
- __e._M_current_pos), __a)
- { }
-
- rope(_CharT __c, const allocator_type& __a = allocator_type())
- : _Base(__a)
- {
- _CharT* __buf = this->_Data_allocate(_S_rounded_up_size(1));
-
- get_allocator().construct(__buf, __c);
- try
- { this->_M_tree_ptr = _S_new_RopeLeaf(__buf, 1, __a); }
- catch(...)
- {
- _RopeRep::__STL_FREE_STRING(__buf, 1, __a);
- __throw_exception_again;
- }
- }
-
- rope(size_t __n, _CharT __c,
- const allocator_type& __a = allocator_type());
-
- rope(const allocator_type& __a = allocator_type())
- : _Base(0, __a) { }
-
- // Construct a rope from a function that can compute its members
- rope(char_producer<_CharT> *__fn, size_t __len, bool __delete_fn,
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- {
- this->_M_tree_ptr = (0 == __len) ?
- 0 : _S_new_RopeFunction(__fn, __len, __delete_fn, __a);
- }
-
- rope(const rope& __x, const allocator_type& __a = allocator_type())
- : _Base(__x._M_tree_ptr, __a)
- { _S_ref(this->_M_tree_ptr); }
-
- ~rope() throw()
- { _S_unref(this->_M_tree_ptr); }
-
- rope&
- operator=(const rope& __x)
- {
- _RopeRep* __old = this->_M_tree_ptr;
- this->_M_tree_ptr = __x._M_tree_ptr;
- _S_ref(this->_M_tree_ptr);
- _S_unref(__old);
- return *this;
- }
-
- void
- clear()
- {
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = 0;
- }
-
- void
- push_back(_CharT __x)
- {
- _RopeRep* __old = this->_M_tree_ptr;
- this->_M_tree_ptr
- = _S_destr_concat_char_iter(this->_M_tree_ptr, &__x, 1);
- _S_unref(__old);
- }
-
- void
- pop_back()
- {
- _RopeRep* __old = this->_M_tree_ptr;
- this->_M_tree_ptr = _S_substring(this->_M_tree_ptr,
- 0, this->_M_tree_ptr->_M_size - 1);
- _S_unref(__old);
- }
-
- _CharT
- back() const
- { return _S_fetch(this->_M_tree_ptr, this->_M_tree_ptr->_M_size - 1); }
-
- void
- push_front(_CharT __x)
- {
- _RopeRep* __old = this->_M_tree_ptr;
- _RopeRep* __left =
- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(&__x, 1, this->get_allocator());
- try
- {
- this->_M_tree_ptr = _S_concat(__left, this->_M_tree_ptr);
- _S_unref(__old);
- _S_unref(__left);
- }
- catch(...)
- {
- _S_unref(__left);
- __throw_exception_again;
- }
- }
-
- void
- pop_front()
- {
- _RopeRep* __old = this->_M_tree_ptr;
- this->_M_tree_ptr
- = _S_substring(this->_M_tree_ptr, 1, this->_M_tree_ptr->_M_size);
- _S_unref(__old);
- }
-
- _CharT
- front() const
- { return _S_fetch(this->_M_tree_ptr, 0); }
-
- void
- balance()
- {
- _RopeRep* __old = this->_M_tree_ptr;
- this->_M_tree_ptr = _S_balance(this->_M_tree_ptr);
- _S_unref(__old);
- }
-
- void
- copy(_CharT* __buffer) const
- {
- _Destroy(__buffer, __buffer + size(), get_allocator());
- _S_flatten(this->_M_tree_ptr, __buffer);
- }
-
- // This is the copy function from the standard, but
- // with the arguments reordered to make it consistent with the
- // rest of the interface.
- // Note that this guaranteed not to compile if the draft standard
- // order is assumed.
- size_type
- copy(size_type __pos, size_type __n, _CharT* __buffer) const
- {
- size_t __size = size();
- size_t __len = (__pos + __n > __size? __size - __pos : __n);
-
- _Destroy(__buffer, __buffer + __len, get_allocator());
- _S_flatten(this->_M_tree_ptr, __pos, __len, __buffer);
- return __len;
- }
-
- // Print to stdout, exposing structure. May be useful for
- // performance debugging.
- void
- dump()
- { _S_dump(this->_M_tree_ptr); }
-
- // Convert to 0 terminated string in new allocated memory.
- // Embedded 0s in the input do not terminate the copy.
- const _CharT* c_str() const;
-
- // As above, but lso use the flattened representation as the
- // the new rope representation.
- const _CharT* replace_with_c_str();
-
- // Reclaim memory for the c_str generated flattened string.
- // Intentionally undocumented, since it's hard to say when this
- // is safe for multiple threads.
- void
- delete_c_str ()
- {
- if (0 == this->_M_tree_ptr)
- return;
- if (__detail::_S_leaf == this->_M_tree_ptr->_M_tag &&
- ((_RopeLeaf*)this->_M_tree_ptr)->_M_data ==
- this->_M_tree_ptr->_M_c_string)
- {
- // Representation shared
- return;
- }
-#ifndef __GC
- this->_M_tree_ptr->_M_free_c_string();
-#endif
- this->_M_tree_ptr->_M_c_string = 0;
- }
-
- _CharT
- operator[] (size_type __pos) const
- { return _S_fetch(this->_M_tree_ptr, __pos); }
-
- _CharT
- at(size_type __pos) const
- {
- // if (__pos >= size()) throw out_of_range; // XXX
- return (*this)[__pos];
- }
-
- const_iterator
- begin() const
- { return(const_iterator(this->_M_tree_ptr, 0)); }
-
- // An easy way to get a const iterator from a non-const container.
- const_iterator
- const_begin() const
- { return(const_iterator(this->_M_tree_ptr, 0)); }
-
- const_iterator
- end() const
- { return(const_iterator(this->_M_tree_ptr, size())); }
-
- const_iterator
- const_end() const
- { return(const_iterator(this->_M_tree_ptr, size())); }
-
- size_type
- size() const
- { return(0 == this->_M_tree_ptr? 0 : this->_M_tree_ptr->_M_size); }
-
- size_type
- length() const
- { return size(); }
-
- size_type
- max_size() const
- {
- return _S_min_len[int(__detail::_S_max_rope_depth) - 1] - 1;
- // Guarantees that the result can be sufficirntly
- // balanced. Longer ropes will probably still work,
- // but it's harder to make guarantees.
- }
-
- typedef reverse_iterator<const_iterator> const_reverse_iterator;
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- const_reverse_iterator
- const_rbegin() const
- { return const_reverse_iterator(end()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- const_reverse_iterator
- const_rend() const
- { return const_reverse_iterator(begin()); }
-
- template<class _CharT2, class _Alloc2>
- friend rope<_CharT2, _Alloc2>
- operator+(const rope<_CharT2, _Alloc2>& __left,
- const rope<_CharT2, _Alloc2>& __right);
-
- template<class _CharT2, class _Alloc2>
- friend rope<_CharT2, _Alloc2>
- operator+(const rope<_CharT2, _Alloc2>& __left, const _CharT2* __right);
-
- template<class _CharT2, class _Alloc2>
- friend rope<_CharT2, _Alloc2>
- operator+(const rope<_CharT2, _Alloc2>& __left, _CharT2 __right);
-
- // The symmetric cases are intentionally omitted, since they're
- // presumed to be less common, and we don't handle them as well.
-
- // The following should really be templatized. The first
- // argument should be an input iterator or forward iterator with
- // value_type _CharT.
- rope&
- append(const _CharT* __iter, size_t __n)
- {
- _RopeRep* __result =
- _S_destr_concat_char_iter(this->_M_tree_ptr, __iter, __n);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- return *this;
- }
-
- rope&
- append(const _CharT* __c_string)
- {
- size_t __len = _S_char_ptr_len(__c_string);
- append(__c_string, __len);
- return(*this);
- }
-
- rope&
- append(const _CharT* __s, const _CharT* __e)
- {
- _RopeRep* __result =
- _S_destr_concat_char_iter(this->_M_tree_ptr, __s, __e - __s);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- return *this;
- }
-
- rope&
- append(const_iterator __s, const_iterator __e)
- {
- _Self_destruct_ptr __appendee(_S_substring(__s._M_root,
- __s._M_current_pos,
- __e._M_current_pos));
- _RopeRep* __result = _S_concat(this->_M_tree_ptr,
- (_RopeRep*)__appendee);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- return *this;
- }
-
- rope&
- append(_CharT __c)
- {
- _RopeRep* __result =
- _S_destr_concat_char_iter(this->_M_tree_ptr, &__c, 1);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- return *this;
- }
-
- rope&
- append()
- { return append(_CharT()); } // XXX why?
-
- rope&
- append(const rope& __y)
- {
- _RopeRep* __result = _S_concat(this->_M_tree_ptr, __y._M_tree_ptr);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- return *this;
- }
-
- rope&
- append(size_t __n, _CharT __c)
- {
- rope<_CharT,_Alloc> __last(__n, __c);
- return append(__last);
- }
-
- void
- swap(rope& __b)
- {
- _RopeRep* __tmp = this->_M_tree_ptr;
- this->_M_tree_ptr = __b._M_tree_ptr;
- __b._M_tree_ptr = __tmp;
- }
-
- protected:
- // Result is included in refcount.
- static _RopeRep*
- replace(_RopeRep* __old, size_t __pos1,
- size_t __pos2, _RopeRep* __r)
- {
- if (0 == __old)
- {
- _S_ref(__r);
- return __r;
- }
- _Self_destruct_ptr __left(_S_substring(__old, 0, __pos1));
- _Self_destruct_ptr __right(_S_substring(__old, __pos2, __old->_M_size));
- _RopeRep* __result;
-
- if (0 == __r)
- __result = _S_concat(__left, __right);
- else
- {
- _Self_destruct_ptr __left_result(_S_concat(__left, __r));
- __result = _S_concat(__left_result, __right);
- }
- return __result;
- }
-
- public:
- void
- insert(size_t __p, const rope& __r)
- {
- _RopeRep* __result =
- replace(this->_M_tree_ptr, __p, __p, __r._M_tree_ptr);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- }
-
- void
- insert(size_t __p, size_t __n, _CharT __c)
- {
- rope<_CharT,_Alloc> __r(__n,__c);
- insert(__p, __r);
- }
-
- void
- insert(size_t __p, const _CharT* __i, size_t __n)
- {
- _Self_destruct_ptr __left(_S_substring(this->_M_tree_ptr, 0, __p));
- _Self_destruct_ptr __right(_S_substring(this->_M_tree_ptr,
- __p, size()));
- _Self_destruct_ptr __left_result(_S_concat_char_iter(__left, __i, __n));
- // _S_ destr_concat_char_iter should be safe here.
- // But as it stands it's probably not a win, since __left
- // is likely to have additional references.
- _RopeRep* __result = _S_concat(__left_result, __right);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- }
-
- void
- insert(size_t __p, const _CharT* __c_string)
- { insert(__p, __c_string, _S_char_ptr_len(__c_string)); }
-
- void
- insert(size_t __p, _CharT __c)
- { insert(__p, &__c, 1); }
-
- void
- insert(size_t __p)
- {
- _CharT __c = _CharT();
- insert(__p, &__c, 1);
- }
-
- void
- insert(size_t __p, const _CharT* __i, const _CharT* __j)
- {
- rope __r(__i, __j);
- insert(__p, __r);
- }
-
- void
- insert(size_t __p, const const_iterator& __i,
- const const_iterator& __j)
- {
- rope __r(__i, __j);
- insert(__p, __r);
- }
-
- void
- insert(size_t __p, const iterator& __i,
- const iterator& __j)
- {
- rope __r(__i, __j);
- insert(__p, __r);
- }
-
- // (position, length) versions of replace operations:
-
- void
- replace(size_t __p, size_t __n, const rope& __r)
- {
- _RopeRep* __result =
- replace(this->_M_tree_ptr, __p, __p + __n, __r._M_tree_ptr);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- }
-
- void
- replace(size_t __p, size_t __n,
- const _CharT* __i, size_t __i_len)
- {
- rope __r(__i, __i_len);
- replace(__p, __n, __r);
- }
-
- void
- replace(size_t __p, size_t __n, _CharT __c)
- {
- rope __r(__c);
- replace(__p, __n, __r);
- }
-
- void
- replace(size_t __p, size_t __n, const _CharT* __c_string)
- {
- rope __r(__c_string);
- replace(__p, __n, __r);
- }
-
- void
- replace(size_t __p, size_t __n,
- const _CharT* __i, const _CharT* __j)
- {
- rope __r(__i, __j);
- replace(__p, __n, __r);
- }
-
- void
- replace(size_t __p, size_t __n,
- const const_iterator& __i, const const_iterator& __j)
- {
- rope __r(__i, __j);
- replace(__p, __n, __r);
- }
-
- void
- replace(size_t __p, size_t __n,
- const iterator& __i, const iterator& __j)
- {
- rope __r(__i, __j);
- replace(__p, __n, __r);
- }
-
- // Single character variants:
- void
- replace(size_t __p, _CharT __c)
- {
- iterator __i(this, __p);
- *__i = __c;
- }
-
- void
- replace(size_t __p, const rope& __r)
- { replace(__p, 1, __r); }
-
- void
- replace(size_t __p, const _CharT* __i, size_t __i_len)
- { replace(__p, 1, __i, __i_len); }
-
- void
- replace(size_t __p, const _CharT* __c_string)
- { replace(__p, 1, __c_string); }
-
- void
- replace(size_t __p, const _CharT* __i, const _CharT* __j)
- { replace(__p, 1, __i, __j); }
-
- void
- replace(size_t __p, const const_iterator& __i,
- const const_iterator& __j)
- { replace(__p, 1, __i, __j); }
-
- void
- replace(size_t __p, const iterator& __i,
- const iterator& __j)
- { replace(__p, 1, __i, __j); }
-
- // Erase, (position, size) variant.
- void
- erase(size_t __p, size_t __n)
- {
- _RopeRep* __result = replace(this->_M_tree_ptr, __p,
- __p + __n, 0);
- _S_unref(this->_M_tree_ptr);
- this->_M_tree_ptr = __result;
- }
-
- // Erase, single character
- void
- erase(size_t __p)
- { erase(__p, __p + 1); }
-
- // Insert, iterator variants.
- iterator
- insert(const iterator& __p, const rope& __r)
- {
- insert(__p.index(), __r);
- return __p;
- }
-
- iterator
- insert(const iterator& __p, size_t __n, _CharT __c)
- {
- insert(__p.index(), __n, __c);
- return __p;
- }
-
- iterator insert(const iterator& __p, _CharT __c)
- {
- insert(__p.index(), __c);
- return __p;
- }
-
- iterator
- insert(const iterator& __p )
- {
- insert(__p.index());
- return __p;
- }
-
- iterator
- insert(const iterator& __p, const _CharT* c_string)
- {
- insert(__p.index(), c_string);
- return __p;
- }
-
- iterator
- insert(const iterator& __p, const _CharT* __i, size_t __n)
- {
- insert(__p.index(), __i, __n);
- return __p;
- }
-
- iterator
- insert(const iterator& __p, const _CharT* __i,
- const _CharT* __j)
- {
- insert(__p.index(), __i, __j);
- return __p;
- }
-
- iterator
- insert(const iterator& __p,
- const const_iterator& __i, const const_iterator& __j)
- {
- insert(__p.index(), __i, __j);
- return __p;
- }
-
- iterator
- insert(const iterator& __p,
- const iterator& __i, const iterator& __j)
- {
- insert(__p.index(), __i, __j);
- return __p;
- }
-
- // Replace, range variants.
- void
- replace(const iterator& __p, const iterator& __q, const rope& __r)
- { replace(__p.index(), __q.index() - __p.index(), __r); }
-
- void
- replace(const iterator& __p, const iterator& __q, _CharT __c)
- { replace(__p.index(), __q.index() - __p.index(), __c); }
-
- void
- replace(const iterator& __p, const iterator& __q,
- const _CharT* __c_string)
- { replace(__p.index(), __q.index() - __p.index(), __c_string); }
-
- void
- replace(const iterator& __p, const iterator& __q,
- const _CharT* __i, size_t __n)
- { replace(__p.index(), __q.index() - __p.index(), __i, __n); }
-
- void
- replace(const iterator& __p, const iterator& __q,
- const _CharT* __i, const _CharT* __j)
- { replace(__p.index(), __q.index() - __p.index(), __i, __j); }
-
- void
- replace(const iterator& __p, const iterator& __q,
- const const_iterator& __i, const const_iterator& __j)
- { replace(__p.index(), __q.index() - __p.index(), __i, __j); }
-
- void
- replace(const iterator& __p, const iterator& __q,
- const iterator& __i, const iterator& __j)
- { replace(__p.index(), __q.index() - __p.index(), __i, __j); }
-
- // Replace, iterator variants.
- void
- replace(const iterator& __p, const rope& __r)
- { replace(__p.index(), __r); }
-
- void
- replace(const iterator& __p, _CharT __c)
- { replace(__p.index(), __c); }
-
- void
- replace(const iterator& __p, const _CharT* __c_string)
- { replace(__p.index(), __c_string); }
-
- void
- replace(const iterator& __p, const _CharT* __i, size_t __n)
- { replace(__p.index(), __i, __n); }
-
- void
- replace(const iterator& __p, const _CharT* __i, const _CharT* __j)
- { replace(__p.index(), __i, __j); }
-
- void
- replace(const iterator& __p, const_iterator __i, const_iterator __j)
- { replace(__p.index(), __i, __j); }
-
- void
- replace(const iterator& __p, iterator __i, iterator __j)
- { replace(__p.index(), __i, __j); }
-
- // Iterator and range variants of erase
- iterator
- erase(const iterator& __p, const iterator& __q)
- {
- size_t __p_index = __p.index();
- erase(__p_index, __q.index() - __p_index);
- return iterator(this, __p_index);
- }
-
- iterator
- erase(const iterator& __p)
- {
- size_t __p_index = __p.index();
- erase(__p_index, 1);
- return iterator(this, __p_index);
- }
-
- rope
- substr(size_t __start, size_t __len = 1) const
- {
- return rope<_CharT, _Alloc>(_S_substring(this->_M_tree_ptr,
- __start,
- __start + __len));
- }
-
- rope
- substr(iterator __start, iterator __end) const
- {
- return rope<_CharT, _Alloc>(_S_substring(this->_M_tree_ptr,
- __start.index(),
- __end.index()));
- }
-
- rope
- substr(iterator __start) const
- {
- size_t __pos = __start.index();
- return rope<_CharT, _Alloc>(_S_substring(this->_M_tree_ptr,
- __pos, __pos + 1));
- }
-
- rope
- substr(const_iterator __start, const_iterator __end) const
- {
- // This might eventually take advantage of the cache in the
- // iterator.
- return rope<_CharT, _Alloc>(_S_substring(this->_M_tree_ptr,
- __start.index(),
- __end.index()));
- }
-
- rope<_CharT, _Alloc>
- substr(const_iterator __start)
- {
- size_t __pos = __start.index();
- return rope<_CharT, _Alloc>(_S_substring(this->_M_tree_ptr,
- __pos, __pos + 1));
- }
-
- static const size_type npos;
-
- size_type find(_CharT __c, size_type __pos = 0) const;
-
- size_type
- find(const _CharT* __s, size_type __pos = 0) const
- {
- size_type __result_pos;
- const_iterator __result =
- std::search(const_begin() + __pos, const_end(),
- __s, __s + _S_char_ptr_len(__s));
- __result_pos = __result.index();
-#ifndef __STL_OLD_ROPE_SEMANTICS
- if (__result_pos == size())
- __result_pos = npos;
-#endif
- return __result_pos;
- }
-
- iterator
- mutable_begin()
- { return(iterator(this, 0)); }
-
- iterator
- mutable_end()
- { return(iterator(this, size())); }
-
- typedef reverse_iterator<iterator> reverse_iterator;
-
- reverse_iterator
- mutable_rbegin()
- { return reverse_iterator(mutable_end()); }
-
- reverse_iterator
- mutable_rend()
- { return reverse_iterator(mutable_begin()); }
-
- reference
- mutable_reference_at(size_type __pos)
- { return reference(this, __pos); }
-
-#ifdef __STD_STUFF
- reference
- operator[] (size_type __pos)
- { return _char_ref_proxy(this, __pos); }
-
- reference
- at(size_type __pos)
- {
- // if (__pos >= size()) throw out_of_range; // XXX
- return (*this)[__pos];
- }
-
- void resize(size_type __n, _CharT __c) { }
- void resize(size_type __n) { }
- void reserve(size_type __res_arg = 0) { }
-
- size_type
- capacity() const
- { return max_size(); }
-
- // Stuff below this line is dangerous because it's error prone.
- // I would really like to get rid of it.
- // copy function with funny arg ordering.
- size_type
- copy(_CharT* __buffer, size_type __n,
- size_type __pos = 0) const
- { return copy(__pos, __n, __buffer); }
-
- iterator
- end()
- { return mutable_end(); }
-
- iterator
- begin()
- { return mutable_begin(); }
-
- reverse_iterator
- rend()
- { return mutable_rend(); }
-
- reverse_iterator
- rbegin()
- { return mutable_rbegin(); }
-
-#else
- const_iterator
- end()
- { return const_end(); }
-
- const_iterator
- begin()
- { return const_begin(); }
-
- const_reverse_iterator
- rend()
- { return const_rend(); }
-
- const_reverse_iterator
- rbegin()
- { return const_rbegin(); }
-
-#endif
- };
-
- template <class _CharT, class _Alloc>
- const typename rope<_CharT, _Alloc>::size_type
- rope<_CharT, _Alloc>::npos = (size_type)(-1);
-
- template <class _CharT, class _Alloc>
- inline bool operator==(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y)
- { return (__x._M_current_pos == __y._M_current_pos
- && __x._M_root == __y._M_root); }
-
- template <class _CharT, class _Alloc>
- inline bool operator<(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y)
- { return (__x._M_current_pos < __y._M_current_pos); }
-
- template <class _CharT, class _Alloc>
- inline bool operator!=(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y)
- { return !(__x == __y); }
-
- template <class _CharT, class _Alloc>
- inline bool operator>(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y)
- { return __y < __x; }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator<=(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y)
- { return !(__y < __x); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator>=(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y)
- { return !(__x < __y); }
-
- template <class _CharT, class _Alloc>
- inline ptrdiff_t
- operator-(const _Rope_const_iterator<_CharT, _Alloc>& __x,
- const _Rope_const_iterator<_CharT, _Alloc>& __y)
- { return (ptrdiff_t)__x._M_current_pos - (ptrdiff_t)__y._M_current_pos; }
-
- template <class _CharT, class _Alloc>
- inline _Rope_const_iterator<_CharT, _Alloc>
- operator-(const _Rope_const_iterator<_CharT, _Alloc>& __x, ptrdiff_t __n)
- { return _Rope_const_iterator<_CharT, _Alloc>(__x._M_root,
- __x._M_current_pos - __n); }
-
- template <class _CharT, class _Alloc>
- inline _Rope_const_iterator<_CharT, _Alloc>
- operator+(const _Rope_const_iterator<_CharT, _Alloc>& __x, ptrdiff_t __n)
- { return _Rope_const_iterator<_CharT, _Alloc>(__x._M_root,
- __x._M_current_pos + __n); }
-
- template <class _CharT, class _Alloc>
- inline _Rope_const_iterator<_CharT, _Alloc>
- operator+(ptrdiff_t __n, const _Rope_const_iterator<_CharT, _Alloc>& __x)
- { return _Rope_const_iterator<_CharT, _Alloc>(__x._M_root,
- __x._M_current_pos + __n); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator==(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y)
- {return (__x._M_current_pos == __y._M_current_pos
- && __x._M_root_rope == __y._M_root_rope); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator<(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y)
- { return (__x._M_current_pos < __y._M_current_pos); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator!=(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y)
- { return !(__x == __y); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator>(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y)
- { return __y < __x; }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator<=(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y)
- { return !(__y < __x); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator>=(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y)
- { return !(__x < __y); }
-
- template <class _CharT, class _Alloc>
- inline ptrdiff_t
- operator-(const _Rope_iterator<_CharT, _Alloc>& __x,
- const _Rope_iterator<_CharT, _Alloc>& __y)
- { return ((ptrdiff_t)__x._M_current_pos
- - (ptrdiff_t)__y._M_current_pos); }
-
- template <class _CharT, class _Alloc>
- inline _Rope_iterator<_CharT, _Alloc>
- operator-(const _Rope_iterator<_CharT, _Alloc>& __x,
- ptrdiff_t __n)
- { return _Rope_iterator<_CharT, _Alloc>(__x._M_root_rope,
- __x._M_current_pos - __n); }
-
- template <class _CharT, class _Alloc>
- inline _Rope_iterator<_CharT, _Alloc>
- operator+(const _Rope_iterator<_CharT, _Alloc>& __x, ptrdiff_t __n)
- { return _Rope_iterator<_CharT, _Alloc>(__x._M_root_rope,
- __x._M_current_pos + __n); }
-
- template <class _CharT, class _Alloc>
- inline _Rope_iterator<_CharT, _Alloc>
- operator+(ptrdiff_t __n, const _Rope_iterator<_CharT, _Alloc>& __x)
- { return _Rope_iterator<_CharT, _Alloc>(__x._M_root_rope,
- __x._M_current_pos + __n); }
-
- template <class _CharT, class _Alloc>
- inline rope<_CharT, _Alloc>
- operator+(const rope<_CharT, _Alloc>& __left,
- const rope<_CharT, _Alloc>& __right)
- {
- // Inlining this should make it possible to keep __left and
- // __right in registers.
- typedef rope<_CharT, _Alloc> rope_type;
- return rope_type(rope_type::_S_concat(__left._M_tree_ptr,
- __right._M_tree_ptr));
- }
-
- template <class _CharT, class _Alloc>
- inline rope<_CharT, _Alloc>&
- operator+=(rope<_CharT, _Alloc>& __left,
- const rope<_CharT, _Alloc>& __right)
- {
- __left.append(__right);
- return __left;
- }
-
- template <class _CharT, class _Alloc>
- inline rope<_CharT, _Alloc>
- operator+(const rope<_CharT, _Alloc>& __left,
- const _CharT* __right)
- {
- typedef rope<_CharT, _Alloc> rope_type;
- size_t __rlen = rope_type::_S_char_ptr_len(__right);
- return rope_type(rope_type::_S_concat_char_iter(__left._M_tree_ptr,
- __right, __rlen));
- }
-
- template <class _CharT, class _Alloc>
- inline rope<_CharT, _Alloc>&
- operator+=(rope<_CharT, _Alloc>& __left,
- const _CharT* __right)
- {
- __left.append(__right);
- return __left;
- }
-
- template <class _CharT, class _Alloc>
- inline rope<_CharT, _Alloc>
- operator+(const rope<_CharT, _Alloc>& __left, _CharT __right)
- {
- typedef rope<_CharT, _Alloc> rope_type;
- return rope_type(rope_type::_S_concat_char_iter(__left._M_tree_ptr,
- &__right, 1));
- }
-
- template <class _CharT, class _Alloc>
- inline rope<_CharT, _Alloc>&
- operator+=(rope<_CharT, _Alloc>& __left, _CharT __right)
- {
- __left.append(__right);
- return __left;
- }
-
- template <class _CharT, class _Alloc>
- bool
- operator<(const rope<_CharT, _Alloc>& __left,
- const rope<_CharT, _Alloc>& __right)
- { return __left.compare(__right) < 0; }
-
- template <class _CharT, class _Alloc>
- bool
- operator==(const rope<_CharT, _Alloc>& __left,
- const rope<_CharT, _Alloc>& __right)
- { return __left.compare(__right) == 0; }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator==(const _Rope_char_ptr_proxy<_CharT, _Alloc>& __x,
- const _Rope_char_ptr_proxy<_CharT, _Alloc>& __y)
- { return (__x._M_pos == __y._M_pos && __x._M_root == __y._M_root); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator!=(const rope<_CharT, _Alloc>& __x,
- const rope<_CharT, _Alloc>& __y)
- { return !(__x == __y); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator>(const rope<_CharT, _Alloc>& __x,
- const rope<_CharT, _Alloc>& __y)
- { return __y < __x; }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator<=(const rope<_CharT, _Alloc>& __x,
- const rope<_CharT, _Alloc>& __y)
- { return !(__y < __x); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator>=(const rope<_CharT, _Alloc>& __x,
- const rope<_CharT, _Alloc>& __y)
- { return !(__x < __y); }
-
- template <class _CharT, class _Alloc>
- inline bool
- operator!=(const _Rope_char_ptr_proxy<_CharT, _Alloc>& __x,
- const _Rope_char_ptr_proxy<_CharT, _Alloc>& __y)
- { return !(__x == __y); }
-
- template<class _CharT, class _Traits, class _Alloc>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __o,
- const rope<_CharT, _Alloc>& __r);
-
- typedef rope<char> crope;
- typedef rope<wchar_t> wrope;
-
- inline crope::reference
- __mutable_reference_at(crope& __c, size_t __i)
- { return __c.mutable_reference_at(__i); }
-
- inline wrope::reference
- __mutable_reference_at(wrope& __c, size_t __i)
- { return __c.mutable_reference_at(__i); }
-
- template <class _CharT, class _Alloc>
- inline void
- swap(rope<_CharT, _Alloc>& __x, rope<_CharT, _Alloc>& __y)
- { __x.swap(__y); }
-
- // Hash functions should probably be revisited later:
- template<>
- struct hash<crope>
- {
- size_t
- operator()(const crope& __str) const
- {
- size_t __size = __str.size();
- if (0 == __size)
- return 0;
- return 13 * __str[0] + 5 * __str[__size - 1] + __size;
- }
- };
-
-
- template<>
- struct hash<wrope>
- {
- size_t
- operator()(const wrope& __str) const
- {
- size_t __size = __str.size();
- if (0 == __size)
- return 0;
- return 13 * __str[0] + 5 * __str[__size - 1] + __size;
- }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-# include <ext/ropeimpl.h>
-
-#endif
diff --git a/contrib/libstdc++/include/ext/ropeimpl.h b/contrib/libstdc++/include/ext/ropeimpl.h
deleted file mode 100644
index 44d1dd0707c9..000000000000
--- a/contrib/libstdc++/include/ext/ropeimpl.h
+++ /dev/null
@@ -1,1702 +0,0 @@
-// SGI's rope class implementation -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file ropeimpl.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#include <cstdio>
-#include <ostream>
-#include <bits/functexcept.h>
-
-#include <ext/algorithm> // For copy_n and lexicographical_compare_3way
-#include <ext/memory> // For uninitialized_copy_n
-#include <ext/numeric> // For power
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::printf;
- using std::basic_ostream;
- using std::__throw_length_error;
- using std::_Destroy;
- using std::uninitialized_fill_n;
-
- // Set buf_start, buf_end, and buf_ptr appropriately, filling tmp_buf
- // if necessary. Assumes _M_path_end[leaf_index] and leaf_pos are correct.
- // Results in a valid buf_ptr if the iterator can be legitimately
- // dereferenced.
- template <class _CharT, class _Alloc>
- void
- _Rope_iterator_base<_CharT, _Alloc>::
- _S_setbuf(_Rope_iterator_base<_CharT, _Alloc>& __x)
- {
- const _RopeRep* __leaf = __x._M_path_end[__x._M_leaf_index];
- size_t __leaf_pos = __x._M_leaf_pos;
- size_t __pos = __x._M_current_pos;
-
- switch(__leaf->_M_tag)
- {
- case __detail::_S_leaf:
- __x._M_buf_start = ((_Rope_RopeLeaf<_CharT, _Alloc>*)__leaf)->_M_data;
- __x._M_buf_ptr = __x._M_buf_start + (__pos - __leaf_pos);
- __x._M_buf_end = __x._M_buf_start + __leaf->_M_size;
- break;
- case __detail::_S_function:
- case __detail::_S_substringfn:
- {
- size_t __len = _S_iterator_buf_len;
- size_t __buf_start_pos = __leaf_pos;
- size_t __leaf_end = __leaf_pos + __leaf->_M_size;
- char_producer<_CharT>* __fn = ((_Rope_RopeFunction<_CharT,
- _Alloc>*)__leaf)->_M_fn;
- if (__buf_start_pos + __len <= __pos)
- {
- __buf_start_pos = __pos - __len / 4;
- if (__buf_start_pos + __len > __leaf_end)
- __buf_start_pos = __leaf_end - __len;
- }
- if (__buf_start_pos + __len > __leaf_end)
- __len = __leaf_end - __buf_start_pos;
- (*__fn)(__buf_start_pos - __leaf_pos, __len, __x._M_tmp_buf);
- __x._M_buf_ptr = __x._M_tmp_buf + (__pos - __buf_start_pos);
- __x._M_buf_start = __x._M_tmp_buf;
- __x._M_buf_end = __x._M_tmp_buf + __len;
- }
- break;
- default:
- break;
- }
- }
-
- // Set path and buffer inside a rope iterator. We assume that
- // pos and root are already set.
- template <class _CharT, class _Alloc>
- void
- _Rope_iterator_base<_CharT, _Alloc>::
- _S_setcache(_Rope_iterator_base<_CharT, _Alloc>& __x)
- {
- const _RopeRep* __path[int(__detail::_S_max_rope_depth) + 1];
- const _RopeRep* __curr_rope;
- int __curr_depth = -1; /* index into path */
- size_t __curr_start_pos = 0;
- size_t __pos = __x._M_current_pos;
- unsigned char __dirns = 0; // Bit vector marking right turns in the path
-
- if (__pos >= __x._M_root->_M_size)
- {
- __x._M_buf_ptr = 0;
- return;
- }
- __curr_rope = __x._M_root;
- if (0 != __curr_rope->_M_c_string)
- {
- /* Treat the root as a leaf. */
- __x._M_buf_start = __curr_rope->_M_c_string;
- __x._M_buf_end = __curr_rope->_M_c_string + __curr_rope->_M_size;
- __x._M_buf_ptr = __curr_rope->_M_c_string + __pos;
- __x._M_path_end[0] = __curr_rope;
- __x._M_leaf_index = 0;
- __x._M_leaf_pos = 0;
- return;
- }
- for(;;)
- {
- ++__curr_depth;
- __path[__curr_depth] = __curr_rope;
- switch(__curr_rope->_M_tag)
- {
- case __detail::_S_leaf:
- case __detail::_S_function:
- case __detail::_S_substringfn:
- __x._M_leaf_pos = __curr_start_pos;
- goto done;
- case __detail::_S_concat:
- {
- _Rope_RopeConcatenation<_CharT, _Alloc>* __c =
- (_Rope_RopeConcatenation<_CharT, _Alloc>*)__curr_rope;
- _RopeRep* __left = __c->_M_left;
- size_t __left_len = __left->_M_size;
-
- __dirns <<= 1;
- if (__pos >= __curr_start_pos + __left_len)
- {
- __dirns |= 1;
- __curr_rope = __c->_M_right;
- __curr_start_pos += __left_len;
- }
- else
- __curr_rope = __left;
- }
- break;
- }
- }
- done:
- // Copy last section of path into _M_path_end.
- {
- int __i = -1;
- int __j = __curr_depth + 1 - int(_S_path_cache_len);
-
- if (__j < 0) __j = 0;
- while (__j <= __curr_depth)
- __x._M_path_end[++__i] = __path[__j++];
- __x._M_leaf_index = __i;
- }
- __x._M_path_directions = __dirns;
- _S_setbuf(__x);
- }
-
- // Specialized version of the above. Assumes that
- // the path cache is valid for the previous position.
- template <class _CharT, class _Alloc>
- void
- _Rope_iterator_base<_CharT, _Alloc>::
- _S_setcache_for_incr(_Rope_iterator_base<_CharT, _Alloc>& __x)
- {
- int __current_index = __x._M_leaf_index;
- const _RopeRep* __current_node = __x._M_path_end[__current_index];
- size_t __len = __current_node->_M_size;
- size_t __node_start_pos = __x._M_leaf_pos;
- unsigned char __dirns = __x._M_path_directions;
- _Rope_RopeConcatenation<_CharT, _Alloc>* __c;
-
- if (__x._M_current_pos - __node_start_pos < __len)
- {
- /* More stuff in this leaf, we just didn't cache it. */
- _S_setbuf(__x);
- return;
- }
- // node_start_pos is starting position of last_node.
- while (--__current_index >= 0)
- {
- if (!(__dirns & 1) /* Path turned left */)
- break;
- __current_node = __x._M_path_end[__current_index];
- __c = (_Rope_RopeConcatenation<_CharT, _Alloc>*)__current_node;
- // Otherwise we were in the right child. Thus we should pop
- // the concatenation node.
- __node_start_pos -= __c->_M_left->_M_size;
- __dirns >>= 1;
- }
- if (__current_index < 0)
- {
- // We underflowed the cache. Punt.
- _S_setcache(__x);
- return;
- }
- __current_node = __x._M_path_end[__current_index];
- __c = (_Rope_RopeConcatenation<_CharT, _Alloc>*)__current_node;
- // current_node is a concatenation node. We are positioned on the first
- // character in its right child.
- // node_start_pos is starting position of current_node.
- __node_start_pos += __c->_M_left->_M_size;
- __current_node = __c->_M_right;
- __x._M_path_end[++__current_index] = __current_node;
- __dirns |= 1;
- while (__detail::_S_concat == __current_node->_M_tag)
- {
- ++__current_index;
- if (int(_S_path_cache_len) == __current_index)
- {
- int __i;
- for (__i = 0; __i < int(_S_path_cache_len) - 1; __i++)
- __x._M_path_end[__i] = __x._M_path_end[__i+1];
- --__current_index;
- }
- __current_node =
- ((_Rope_RopeConcatenation<_CharT, _Alloc>*)__current_node)->_M_left;
- __x._M_path_end[__current_index] = __current_node;
- __dirns <<= 1;
- // node_start_pos is unchanged.
- }
- __x._M_leaf_index = __current_index;
- __x._M_leaf_pos = __node_start_pos;
- __x._M_path_directions = __dirns;
- _S_setbuf(__x);
- }
-
- template <class _CharT, class _Alloc>
- void
- _Rope_iterator_base<_CharT, _Alloc>::
- _M_incr(size_t __n)
- {
- _M_current_pos += __n;
- if (0 != _M_buf_ptr)
- {
- size_t __chars_left = _M_buf_end - _M_buf_ptr;
- if (__chars_left > __n)
- _M_buf_ptr += __n;
- else if (__chars_left == __n)
- {
- _M_buf_ptr += __n;
- _S_setcache_for_incr(*this);
- }
- else
- _M_buf_ptr = 0;
- }
- }
-
- template <class _CharT, class _Alloc>
- void
- _Rope_iterator_base<_CharT, _Alloc>::
- _M_decr(size_t __n)
- {
- if (0 != _M_buf_ptr)
- {
- size_t __chars_left = _M_buf_ptr - _M_buf_start;
- if (__chars_left >= __n)
- _M_buf_ptr -= __n;
- else
- _M_buf_ptr = 0;
- }
- _M_current_pos -= __n;
- }
-
- template <class _CharT, class _Alloc>
- void
- _Rope_iterator<_CharT, _Alloc>::
- _M_check()
- {
- if (_M_root_rope->_M_tree_ptr != this->_M_root)
- {
- // _Rope was modified. Get things fixed up.
- _RopeRep::_S_unref(this->_M_root);
- this->_M_root = _M_root_rope->_M_tree_ptr;
- _RopeRep::_S_ref(this->_M_root);
- this->_M_buf_ptr = 0;
- }
- }
-
- template <class _CharT, class _Alloc>
- inline
- _Rope_const_iterator<_CharT, _Alloc>::
- _Rope_const_iterator(const _Rope_iterator<_CharT, _Alloc>& __x)
- : _Rope_iterator_base<_CharT, _Alloc>(__x)
- { }
-
- template <class _CharT, class _Alloc>
- inline
- _Rope_iterator<_CharT, _Alloc>::
- _Rope_iterator(rope<_CharT, _Alloc>& __r, size_t __pos)
- : _Rope_iterator_base<_CharT,_Alloc>(__r._M_tree_ptr, __pos),
- _M_root_rope(&__r)
- { _RopeRep::_S_ref(this->_M_root); }
-
- template <class _CharT, class _Alloc>
- inline size_t
- rope<_CharT, _Alloc>::
- _S_char_ptr_len(const _CharT* __s)
- {
- const _CharT* __p = __s;
-
- while (!_S_is0(*__p))
- ++__p;
- return (__p - __s);
- }
-
-
-#ifndef __GC
-
- template <class _CharT, class _Alloc>
- inline void
- _Rope_RopeRep<_CharT, _Alloc>::
- _M_free_c_string()
- {
- _CharT* __cstr = _M_c_string;
- if (0 != __cstr)
- {
- size_t __size = this->_M_size + 1;
- _Destroy(__cstr, __cstr + __size, get_allocator());
- this->_Data_deallocate(__cstr, __size);
- }
- }
-
- template <class _CharT, class _Alloc>
- inline void
- _Rope_RopeRep<_CharT, _Alloc>::
- _S_free_string(_CharT* __s, size_t __n, allocator_type __a)
- {
- if (!_S_is_basic_char_type((_CharT*)0))
- _Destroy(__s, __s + __n, __a);
-
- // This has to be a static member, so this gets a bit messy
- __a.deallocate(__s,
- _Rope_RopeLeaf<_CharT, _Alloc>::_S_rounded_up_size(__n));
- }
-
- // There are several reasons for not doing this with virtual destructors
- // and a class specific delete operator:
- // - A class specific delete operator can't easily get access to
- // allocator instances if we need them.
- // - Any virtual function would need a 4 or byte vtable pointer;
- // this only requires a one byte tag per object.
- template <class _CharT, class _Alloc>
- void
- _Rope_RopeRep<_CharT, _Alloc>::
- _M_free_tree()
- {
- switch(_M_tag)
- {
- case __detail::_S_leaf:
- {
- _Rope_RopeLeaf<_CharT, _Alloc>* __l
- = (_Rope_RopeLeaf<_CharT, _Alloc>*)this;
- __l->template _Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf();
- _L_deallocate(__l, 1);
- break;
- }
- case __detail::_S_concat:
- {
- _Rope_RopeConcatenation<_CharT,_Alloc>* __c
- = (_Rope_RopeConcatenation<_CharT, _Alloc>*)this;
- __c->template _Rope_RopeConcatenation<_CharT, _Alloc>::
- ~_Rope_RopeConcatenation();
- _C_deallocate(__c, 1);
- break;
- }
- case __detail::_S_function:
- {
- _Rope_RopeFunction<_CharT, _Alloc>* __f
- = (_Rope_RopeFunction<_CharT, _Alloc>*)this;
- __f->template _Rope_RopeFunction<_CharT, _Alloc>::~_Rope_RopeFunction();
- _F_deallocate(__f, 1);
- break;
- }
- case __detail::_S_substringfn:
- {
- _Rope_RopeSubstring<_CharT, _Alloc>* __ss =
- (_Rope_RopeSubstring<_CharT, _Alloc>*)this;
- __ss->template _Rope_RopeSubstring<_CharT, _Alloc>::
- ~_Rope_RopeSubstring();
- _S_deallocate(__ss, 1);
- break;
- }
- }
- }
-#else
-
- template <class _CharT, class _Alloc>
- inline void
- _Rope_RopeRep<_CharT, _Alloc>::
- _S_free_string(const _CharT*, size_t, allocator_type)
- { }
-
-#endif
-
- // Concatenate a C string onto a leaf rope by copying the rope data.
- // Used for short ropes.
- template <class _CharT, class _Alloc>
- typename rope<_CharT, _Alloc>::_RopeLeaf*
- rope<_CharT, _Alloc>::
- _S_leaf_concat_char_iter(_RopeLeaf* __r, const _CharT* __iter, size_t __len)
- {
- size_t __old_len = __r->_M_size;
- _CharT* __new_data = (_CharT*)
- _Rope_rep_base<_CharT, _Alloc>::_Data_allocate(_S_rounded_up_size(__old_len + __len));
- _RopeLeaf* __result;
-
- uninitialized_copy_n(__r->_M_data, __old_len, __new_data);
- uninitialized_copy_n(__iter, __len, __new_data + __old_len);
- _S_cond_store_eos(__new_data[__old_len + __len]);
- try
- {
- __result = _S_new_RopeLeaf(__new_data, __old_len + __len,
- __r->get_allocator());
- }
- catch(...)
- {
- _RopeRep::__STL_FREE_STRING(__new_data, __old_len + __len,
- __r->get_allocator());
- __throw_exception_again;
- }
- return __result;
- }
-
-#ifndef __GC
- // As above, but it's OK to clobber original if refcount is 1
- template <class _CharT, class _Alloc>
- typename rope<_CharT,_Alloc>::_RopeLeaf*
- rope<_CharT, _Alloc>::
- _S_destr_leaf_concat_char_iter(_RopeLeaf* __r, const _CharT* __iter,
- size_t __len)
- {
- if (__r->_M_ref_count > 1)
- return _S_leaf_concat_char_iter(__r, __iter, __len);
- size_t __old_len = __r->_M_size;
- if (_S_allocated_capacity(__old_len) >= __old_len + __len)
- {
- // The space has been partially initialized for the standard
- // character types. But that doesn't matter for those types.
- uninitialized_copy_n(__iter, __len, __r->_M_data + __old_len);
- if (_S_is_basic_char_type((_CharT*)0))
- _S_cond_store_eos(__r->_M_data[__old_len + __len]);
- else if (__r->_M_c_string != __r->_M_data && 0 != __r->_M_c_string)
- {
- __r->_M_free_c_string();
- __r->_M_c_string = 0;
- }
- __r->_M_size = __old_len + __len;
- __r->_M_ref_count = 2;
- return __r;
- }
- else
- {
- _RopeLeaf* __result = _S_leaf_concat_char_iter(__r, __iter, __len);
- return __result;
- }
- }
-#endif
-
- // Assumes left and right are not 0.
- // Does not increment (nor decrement on exception) child reference counts.
- // Result has ref count 1.
- template <class _CharT, class _Alloc>
- typename rope<_CharT, _Alloc>::_RopeRep*
- rope<_CharT, _Alloc>::
- _S_tree_concat(_RopeRep* __left, _RopeRep* __right)
- {
- _RopeConcatenation* __result = _S_new_RopeConcatenation(__left, __right,
- __left->
- get_allocator());
- size_t __depth = __result->_M_depth;
-
- if (__depth > 20
- && (__result->_M_size < 1000
- || __depth > size_t(__detail::_S_max_rope_depth)))
- {
- _RopeRep* __balanced;
-
- try
- {
- __balanced = _S_balance(__result);
- __result->_M_unref_nonnil();
- }
- catch(...)
- {
- _C_deallocate(__result,1);
- __throw_exception_again;
- }
- // In case of exception, we need to deallocate
- // otherwise dangling result node. But caller
- // still owns its children. Thus unref is
- // inappropriate.
- return __balanced;
- }
- else
- return __result;
- }
-
- template <class _CharT, class _Alloc>
- typename rope<_CharT, _Alloc>::_RopeRep*
- rope<_CharT, _Alloc>::
- _S_concat_char_iter(_RopeRep* __r, const _CharT*__s, size_t __slen)
- {
- _RopeRep* __result;
- if (0 == __slen)
- {
- _S_ref(__r);
- return __r;
- }
- if (0 == __r)
- return __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen,
- __r->get_allocator());
- if (__r->_M_tag == __detail::_S_leaf
- && __r->_M_size + __slen <= size_t(_S_copy_max))
- {
- __result = _S_leaf_concat_char_iter((_RopeLeaf*)__r, __s, __slen);
- return __result;
- }
- if (__detail::_S_concat == __r->_M_tag
- && __detail::_S_leaf == ((_RopeConcatenation*) __r)->_M_right->_M_tag)
- {
- _RopeLeaf* __right =
- (_RopeLeaf* )(((_RopeConcatenation* )__r)->_M_right);
- if (__right->_M_size + __slen <= size_t(_S_copy_max))
- {
- _RopeRep* __left = ((_RopeConcatenation*)__r)->_M_left;
- _RopeRep* __nright =
- _S_leaf_concat_char_iter((_RopeLeaf*)__right, __s, __slen);
- __left->_M_ref_nonnil();
- try
- { __result = _S_tree_concat(__left, __nright); }
- catch(...)
- {
- _S_unref(__left);
- _S_unref(__nright);
- __throw_exception_again;
- }
- return __result;
- }
- }
- _RopeRep* __nright =
- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator());
- try
- {
- __r->_M_ref_nonnil();
- __result = _S_tree_concat(__r, __nright);
- }
- catch(...)
- {
- _S_unref(__r);
- _S_unref(__nright);
- __throw_exception_again;
- }
- return __result;
- }
-
-#ifndef __GC
- template <class _CharT, class _Alloc>
- typename rope<_CharT,_Alloc>::_RopeRep*
- rope<_CharT,_Alloc>::
- _S_destr_concat_char_iter(_RopeRep* __r, const _CharT* __s, size_t __slen)
- {
- _RopeRep* __result;
- if (0 == __r)
- return __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen,
- __r->get_allocator());
- size_t __count = __r->_M_ref_count;
- size_t __orig_size = __r->_M_size;
- if (__count > 1)
- return _S_concat_char_iter(__r, __s, __slen);
- if (0 == __slen)
- {
- __r->_M_ref_count = 2; // One more than before
- return __r;
- }
- if (__orig_size + __slen <= size_t(_S_copy_max)
- && __detail::_S_leaf == __r->_M_tag)
- {
- __result = _S_destr_leaf_concat_char_iter((_RopeLeaf*)__r, __s,
- __slen);
- return __result;
- }
- if (__detail::_S_concat == __r->_M_tag)
- {
- _RopeLeaf* __right = (_RopeLeaf*)(((_RopeConcatenation*)
- __r)->_M_right);
- if (__detail::_S_leaf == __right->_M_tag
- && __right->_M_size + __slen <= size_t(_S_copy_max))
- {
- _RopeRep* __new_right =
- _S_destr_leaf_concat_char_iter(__right, __s, __slen);
- if (__right == __new_right)
- __new_right->_M_ref_count = 1;
- else
- __right->_M_unref_nonnil();
- __r->_M_ref_count = 2; // One more than before.
- ((_RopeConcatenation*)__r)->_M_right = __new_right;
- __r->_M_size = __orig_size + __slen;
- if (0 != __r->_M_c_string)
- {
- __r->_M_free_c_string();
- __r->_M_c_string = 0;
- }
- return __r;
- }
- }
- _RopeRep* __right =
- __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__s, __slen, __r->get_allocator());
- __r->_M_ref_nonnil();
- try
- { __result = _S_tree_concat(__r, __right); }
- catch(...)
- {
- _S_unref(__r);
- _S_unref(__right);
- __throw_exception_again;
- }
- return __result;
- }
-#endif /* !__GC */
-
- template <class _CharT, class _Alloc>
- typename rope<_CharT, _Alloc>::_RopeRep*
- rope<_CharT, _Alloc>::
- _S_concat(_RopeRep* __left, _RopeRep* __right)
- {
- if (0 == __left)
- {
- _S_ref(__right);
- return __right;
- }
- if (0 == __right)
- {
- __left->_M_ref_nonnil();
- return __left;
- }
- if (__detail::_S_leaf == __right->_M_tag)
- {
- if (__detail::_S_leaf == __left->_M_tag)
- {
- if (__right->_M_size + __left->_M_size <= size_t(_S_copy_max))
- return _S_leaf_concat_char_iter((_RopeLeaf*)__left,
- ((_RopeLeaf*)__right)->_M_data,
- __right->_M_size);
- }
- else if (__detail::_S_concat == __left->_M_tag
- && __detail::_S_leaf == ((_RopeConcatenation*)
- __left)->_M_right->_M_tag)
- {
- _RopeLeaf* __leftright =
- (_RopeLeaf*)(((_RopeConcatenation*)__left)->_M_right);
- if (__leftright->_M_size
- + __right->_M_size <= size_t(_S_copy_max))
- {
- _RopeRep* __leftleft = ((_RopeConcatenation*)__left)->_M_left;
- _RopeRep* __rest = _S_leaf_concat_char_iter(__leftright,
- ((_RopeLeaf*)
- __right)->
- _M_data,
- __right->_M_size);
- __leftleft->_M_ref_nonnil();
- try
- { return(_S_tree_concat(__leftleft, __rest)); }
- catch(...)
- {
- _S_unref(__leftleft);
- _S_unref(__rest);
- __throw_exception_again;
- }
- }
- }
- }
- __left->_M_ref_nonnil();
- __right->_M_ref_nonnil();
- try
- { return(_S_tree_concat(__left, __right)); }
- catch(...)
- {
- _S_unref(__left);
- _S_unref(__right);
- __throw_exception_again;
- }
- }
-
- template <class _CharT, class _Alloc>
- typename rope<_CharT, _Alloc>::_RopeRep*
- rope<_CharT, _Alloc>::
- _S_substring(_RopeRep* __base, size_t __start, size_t __endp1)
- {
- if (0 == __base)
- return 0;
- size_t __len = __base->_M_size;
- size_t __adj_endp1;
- const size_t __lazy_threshold = 128;
-
- if (__endp1 >= __len)
- {
- if (0 == __start)
- {
- __base->_M_ref_nonnil();
- return __base;
- }
- else
- __adj_endp1 = __len;
-
- }
- else
- __adj_endp1 = __endp1;
-
- switch(__base->_M_tag)
- {
- case __detail::_S_concat:
- {
- _RopeConcatenation* __c = (_RopeConcatenation*)__base;
- _RopeRep* __left = __c->_M_left;
- _RopeRep* __right = __c->_M_right;
- size_t __left_len = __left->_M_size;
- _RopeRep* __result;
-
- if (__adj_endp1 <= __left_len)
- return _S_substring(__left, __start, __endp1);
- else if (__start >= __left_len)
- return _S_substring(__right, __start - __left_len,
- __adj_endp1 - __left_len);
- _Self_destruct_ptr __left_result(_S_substring(__left,
- __start,
- __left_len));
- _Self_destruct_ptr __right_result(_S_substring(__right, 0,
- __endp1
- - __left_len));
- __result = _S_concat(__left_result, __right_result);
- return __result;
- }
- case __detail::_S_leaf:
- {
- _RopeLeaf* __l = (_RopeLeaf*)__base;
- _RopeLeaf* __result;
- size_t __result_len;
- if (__start >= __adj_endp1)
- return 0;
- __result_len = __adj_endp1 - __start;
- if (__result_len > __lazy_threshold)
- goto lazy;
-#ifdef __GC
- const _CharT* __section = __l->_M_data + __start;
- __result = _S_new_RopeLeaf(__section, __result_len,
- __base->get_allocator());
- __result->_M_c_string = 0; // Not eos terminated.
-#else
- // We should sometimes create substring node instead.
- __result = __STL_ROPE_FROM_UNOWNED_CHAR_PTR(__l->_M_data + __start,
- __result_len,
- __base->
- get_allocator());
-#endif
- return __result;
- }
- case __detail::_S_substringfn:
- // Avoid introducing multiple layers of substring nodes.
- {
- _RopeSubstring* __old = (_RopeSubstring*)__base;
- size_t __result_len;
- if (__start >= __adj_endp1)
- return 0;
- __result_len = __adj_endp1 - __start;
- if (__result_len > __lazy_threshold)
- {
- _RopeSubstring* __result =
- _S_new_RopeSubstring(__old->_M_base,
- __start + __old->_M_start,
- __adj_endp1 - __start,
- __base->get_allocator());
- return __result;
-
- } // *** else fall through: ***
- }
- case __detail::_S_function:
- {
- _RopeFunction* __f = (_RopeFunction*)__base;
- _CharT* __section;
- size_t __result_len;
- if (__start >= __adj_endp1)
- return 0;
- __result_len = __adj_endp1 - __start;
-
- if (__result_len > __lazy_threshold)
- goto lazy;
- __section = (_CharT*)
- _Rope_rep_base<_CharT, _Alloc>::_Data_allocate(_S_rounded_up_size(__result_len));
- try
- { (*(__f->_M_fn))(__start, __result_len, __section); }
- catch(...)
- {
- _RopeRep::__STL_FREE_STRING(__section, __result_len,
- __base->get_allocator());
- __throw_exception_again;
- }
- _S_cond_store_eos(__section[__result_len]);
- return _S_new_RopeLeaf(__section, __result_len,
- __base->get_allocator());
- }
- }
- lazy:
- {
- // Create substring node.
- return _S_new_RopeSubstring(__base, __start, __adj_endp1 - __start,
- __base->get_allocator());
- }
- }
-
- template<class _CharT>
- class _Rope_flatten_char_consumer
- : public _Rope_char_consumer<_CharT>
- {
- private:
- _CharT* _M_buf_ptr;
- public:
-
- _Rope_flatten_char_consumer(_CharT* __buffer)
- { _M_buf_ptr = __buffer; };
-
- ~_Rope_flatten_char_consumer() {}
-
- bool
- operator()(const _CharT* __leaf, size_t __n)
- {
- uninitialized_copy_n(__leaf, __n, _M_buf_ptr);
- _M_buf_ptr += __n;
- return true;
- }
- };
-
- template<class _CharT>
- class _Rope_find_char_char_consumer
- : public _Rope_char_consumer<_CharT>
- {
- private:
- _CharT _M_pattern;
- public:
- size_t _M_count; // Number of nonmatching characters
-
- _Rope_find_char_char_consumer(_CharT __p)
- : _M_pattern(__p), _M_count(0) {}
-
- ~_Rope_find_char_char_consumer() {}
-
- bool
- operator()(const _CharT* __leaf, size_t __n)
- {
- size_t __i;
- for (__i = 0; __i < __n; __i++)
- {
- if (__leaf[__i] == _M_pattern)
- {
- _M_count += __i;
- return false;
- }
- }
- _M_count += __n; return true;
- }
- };
-
- template<class _CharT, class _Traits>
- // Here _CharT is both the stream and rope character type.
- class _Rope_insert_char_consumer
- : public _Rope_char_consumer<_CharT>
- {
- private:
- typedef basic_ostream<_CharT,_Traits> _Insert_ostream;
- _Insert_ostream& _M_o;
- public:
- _Rope_insert_char_consumer(_Insert_ostream& __writer)
- : _M_o(__writer) {};
- ~_Rope_insert_char_consumer() { };
- // Caller is presumed to own the ostream
- bool operator() (const _CharT* __leaf, size_t __n);
- // Returns true to continue traversal.
- };
-
- template<class _CharT, class _Traits>
- bool
- _Rope_insert_char_consumer<_CharT, _Traits>::
- operator()(const _CharT* __leaf, size_t __n)
- {
- size_t __i;
- // We assume that formatting is set up correctly for each element.
- for (__i = 0; __i < __n; __i++)
- _M_o.put(__leaf[__i]);
- return true;
- }
-
- template <class _CharT, class _Alloc>
- bool
- rope<_CharT, _Alloc>::
- _S_apply_to_pieces(_Rope_char_consumer<_CharT>& __c,
- const _RopeRep* __r, size_t __begin, size_t __end)
- {
- if (0 == __r)
- return true;
- switch(__r->_M_tag)
- {
- case __detail::_S_concat:
- {
- _RopeConcatenation* __conc = (_RopeConcatenation*)__r;
- _RopeRep* __left = __conc->_M_left;
- size_t __left_len = __left->_M_size;
- if (__begin < __left_len)
- {
- size_t __left_end = std::min(__left_len, __end);
- if (!_S_apply_to_pieces(__c, __left, __begin, __left_end))
- return false;
- }
- if (__end > __left_len)
- {
- _RopeRep* __right = __conc->_M_right;
- size_t __right_start = std::max(__left_len, __begin);
- if (!_S_apply_to_pieces(__c, __right,
- __right_start - __left_len,
- __end - __left_len))
- return false;
- }
- }
- return true;
- case __detail::_S_leaf:
- {
- _RopeLeaf* __l = (_RopeLeaf*)__r;
- return __c(__l->_M_data + __begin, __end - __begin);
- }
- case __detail::_S_function:
- case __detail::_S_substringfn:
- {
- _RopeFunction* __f = (_RopeFunction*)__r;
- size_t __len = __end - __begin;
- bool __result;
- _CharT* __buffer =
- (_CharT*)_Alloc().allocate(__len * sizeof(_CharT));
- try
- {
- (*(__f->_M_fn))(__begin, __len, __buffer);
- __result = __c(__buffer, __len);
- _Alloc().deallocate(__buffer, __len * sizeof(_CharT));
- }
- catch(...)
- {
- _Alloc().deallocate(__buffer, __len * sizeof(_CharT));
- __throw_exception_again;
- }
- return __result;
- }
- default:
- return false;
- }
- }
-
- template<class _CharT, class _Traits>
- inline void
- _Rope_fill(basic_ostream<_CharT, _Traits>& __o, size_t __n)
- {
- char __f = __o.fill();
- size_t __i;
-
- for (__i = 0; __i < __n; __i++)
- __o.put(__f);
- }
-
-
- template <class _CharT>
- inline bool
- _Rope_is_simple(_CharT*)
- { return false; }
-
- inline bool
- _Rope_is_simple(char*)
- { return true; }
-
- inline bool
- _Rope_is_simple(wchar_t*)
- { return true; }
-
- template<class _CharT, class _Traits, class _Alloc>
- basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __o,
- const rope<_CharT, _Alloc>& __r)
- {
- size_t __w = __o.width();
- bool __left = bool(__o.flags() & std::ios::left);
- size_t __pad_len;
- size_t __rope_len = __r.size();
- _Rope_insert_char_consumer<_CharT, _Traits> __c(__o);
- bool __is_simple = _Rope_is_simple((_CharT*)0);
-
- if (__rope_len < __w)
- __pad_len = __w - __rope_len;
- else
- __pad_len = 0;
-
- if (!__is_simple)
- __o.width(__w / __rope_len);
- try
- {
- if (__is_simple && !__left && __pad_len > 0)
- _Rope_fill(__o, __pad_len);
- __r.apply_to_pieces(0, __r.size(), __c);
- if (__is_simple && __left && __pad_len > 0)
- _Rope_fill(__o, __pad_len);
- if (!__is_simple)
- __o.width(__w);
- }
- catch(...)
- {
- if (!__is_simple)
- __o.width(__w);
- __throw_exception_again;
- }
- return __o;
- }
-
- template <class _CharT, class _Alloc>
- _CharT*
- rope<_CharT, _Alloc>::
- _S_flatten(_RopeRep* __r, size_t __start, size_t __len,
- _CharT* __buffer)
- {
- _Rope_flatten_char_consumer<_CharT> __c(__buffer);
- _S_apply_to_pieces(__c, __r, __start, __start + __len);
- return(__buffer + __len);
- }
-
- template <class _CharT, class _Alloc>
- size_t
- rope<_CharT, _Alloc>::
- find(_CharT __pattern, size_t __start) const
- {
- _Rope_find_char_char_consumer<_CharT> __c(__pattern);
- _S_apply_to_pieces(__c, this->_M_tree_ptr, __start, size());
- size_type __result_pos = __start + __c._M_count;
-#ifndef __STL_OLD_ROPE_SEMANTICS
- if (__result_pos == size())
- __result_pos = npos;
-#endif
- return __result_pos;
- }
-
- template <class _CharT, class _Alloc>
- _CharT*
- rope<_CharT, _Alloc>::
- _S_flatten(_RopeRep* __r, _CharT* __buffer)
- {
- if (0 == __r)
- return __buffer;
- switch(__r->_M_tag)
- {
- case __detail::_S_concat:
- {
- _RopeConcatenation* __c = (_RopeConcatenation*)__r;
- _RopeRep* __left = __c->_M_left;
- _RopeRep* __right = __c->_M_right;
- _CharT* __rest = _S_flatten(__left, __buffer);
- return _S_flatten(__right, __rest);
- }
- case __detail::_S_leaf:
- {
- _RopeLeaf* __l = (_RopeLeaf*)__r;
- return copy_n(__l->_M_data, __l->_M_size, __buffer).second;
- }
- case __detail::_S_function:
- case __detail::_S_substringfn:
- // We don't yet do anything with substring nodes.
- // This needs to be fixed before ropefiles will work well.
- {
- _RopeFunction* __f = (_RopeFunction*)__r;
- (*(__f->_M_fn))(0, __f->_M_size, __buffer);
- return __buffer + __f->_M_size;
- }
- default:
- return 0;
- }
- }
-
- // This needs work for _CharT != char
- template <class _CharT, class _Alloc>
- void
- rope<_CharT, _Alloc>::
- _S_dump(_RopeRep* __r, int __indent)
- {
- for (int __i = 0; __i < __indent; __i++)
- putchar(' ');
- if (0 == __r)
- {
- printf("NULL\n");
- return;
- }
- if (_S_concat == __r->_M_tag)
- {
- _RopeConcatenation* __c = (_RopeConcatenation*)__r;
- _RopeRep* __left = __c->_M_left;
- _RopeRep* __right = __c->_M_right;
-
-#ifdef __GC
- printf("Concatenation %p (depth = %d, len = %ld, %s balanced)\n",
- __r, __r->_M_depth, __r->_M_size,
- __r->_M_is_balanced? "" : "not");
-#else
- printf("Concatenation %p (rc = %ld, depth = %d, "
- "len = %ld, %s balanced)\n",
- __r, __r->_M_ref_count, __r->_M_depth, __r->_M_size,
- __r->_M_is_balanced? "" : "not");
-#endif
- _S_dump(__left, __indent + 2);
- _S_dump(__right, __indent + 2);
- return;
- }
- else
- {
- const char* __kind;
-
- switch (__r->_M_tag)
- {
- case __detail::_S_leaf:
- __kind = "Leaf";
- break;
- case __detail::_S_function:
- __kind = "Function";
- break;
- case __detail::_S_substringfn:
- __kind = "Function representing substring";
- break;
- default:
- __kind = "(corrupted kind field!)";
- }
-#ifdef __GC
- printf("%s %p (depth = %d, len = %ld) ",
- __kind, __r, __r->_M_depth, __r->_M_size);
-#else
- printf("%s %p (rc = %ld, depth = %d, len = %ld) ",
- __kind, __r, __r->_M_ref_count, __r->_M_depth, __r->_M_size);
-#endif
- if (_S_is_one_byte_char_type((_CharT*)0))
- {
- const int __max_len = 40;
- _Self_destruct_ptr __prefix(_S_substring(__r, 0, __max_len));
- _CharT __buffer[__max_len + 1];
- bool __too_big = __r->_M_size > __prefix->_M_size;
-
- _S_flatten(__prefix, __buffer);
- __buffer[__prefix->_M_size] = _S_eos((_CharT*)0);
- printf("%s%s\n", (char*)__buffer,
- __too_big? "...\n" : "\n");
- }
- else
- printf("\n");
- }
- }
-
- template <class _CharT, class _Alloc>
- const unsigned long
- rope<_CharT, _Alloc>::
- _S_min_len[int(__detail::_S_max_rope_depth) + 1] = {
- /* 0 */1, /* 1 */2, /* 2 */3, /* 3 */5, /* 4 */8, /* 5 */13, /* 6 */21,
- /* 7 */34, /* 8 */55, /* 9 */89, /* 10 */144, /* 11 */233, /* 12 */377,
- /* 13 */610, /* 14 */987, /* 15 */1597, /* 16 */2584, /* 17 */4181,
- /* 18 */6765, /* 19 */10946, /* 20 */17711, /* 21 */28657, /* 22 */46368,
- /* 23 */75025, /* 24 */121393, /* 25 */196418, /* 26 */317811,
- /* 27 */514229, /* 28 */832040, /* 29 */1346269, /* 30 */2178309,
- /* 31 */3524578, /* 32 */5702887, /* 33 */9227465, /* 34 */14930352,
- /* 35 */24157817, /* 36 */39088169, /* 37 */63245986, /* 38 */102334155,
- /* 39 */165580141, /* 40 */267914296, /* 41 */433494437,
- /* 42 */701408733, /* 43 */1134903170, /* 44 */1836311903,
- /* 45 */2971215073u };
- // These are Fibonacci numbers < 2**32.
-
- template <class _CharT, class _Alloc>
- typename rope<_CharT, _Alloc>::_RopeRep*
- rope<_CharT, _Alloc>::
- _S_balance(_RopeRep* __r)
- {
- _RopeRep* __forest[int(__detail::_S_max_rope_depth) + 1];
- _RopeRep* __result = 0;
- int __i;
- // Invariant:
- // The concatenation of forest in descending order is equal to __r.
- // __forest[__i]._M_size >= _S_min_len[__i]
- // __forest[__i]._M_depth = __i
- // References from forest are included in refcount.
-
- for (__i = 0; __i <= int(__detail::_S_max_rope_depth); ++__i)
- __forest[__i] = 0;
- try
- {
- _S_add_to_forest(__r, __forest);
- for (__i = 0; __i <= int(__detail::_S_max_rope_depth); ++__i)
- if (0 != __forest[__i])
- {
-#ifndef __GC
- _Self_destruct_ptr __old(__result);
-#endif
- __result = _S_concat(__forest[__i], __result);
- __forest[__i]->_M_unref_nonnil();
-#if !defined(__GC) && defined(__EXCEPTIONS)
- __forest[__i] = 0;
-#endif
- }
- }
- catch(...)
- {
- for(__i = 0; __i <= int(__detail::_S_max_rope_depth); __i++)
- _S_unref(__forest[__i]);
- __throw_exception_again;
- }
-
- if (__result->_M_depth > int(__detail::_S_max_rope_depth))
- __throw_length_error(__N("rope::_S_balance"));
- return(__result);
- }
-
- template <class _CharT, class _Alloc>
- void
- rope<_CharT, _Alloc>::
- _S_add_to_forest(_RopeRep* __r, _RopeRep** __forest)
- {
- if (__r->_M_is_balanced)
- {
- _S_add_leaf_to_forest(__r, __forest);
- return;
- }
-
- {
- _RopeConcatenation* __c = (_RopeConcatenation*)__r;
-
- _S_add_to_forest(__c->_M_left, __forest);
- _S_add_to_forest(__c->_M_right, __forest);
- }
- }
-
-
- template <class _CharT, class _Alloc>
- void
- rope<_CharT, _Alloc>::
- _S_add_leaf_to_forest(_RopeRep* __r, _RopeRep** __forest)
- {
- _RopeRep* __insertee; // included in refcount
- _RopeRep* __too_tiny = 0; // included in refcount
- int __i; // forest[0..__i-1] is empty
- size_t __s = __r->_M_size;
-
- for (__i = 0; __s >= _S_min_len[__i+1]/* not this bucket */; ++__i)
- {
- if (0 != __forest[__i])
- {
-#ifndef __GC
- _Self_destruct_ptr __old(__too_tiny);
-#endif
- __too_tiny = _S_concat_and_set_balanced(__forest[__i],
- __too_tiny);
- __forest[__i]->_M_unref_nonnil();
- __forest[__i] = 0;
- }
- }
- {
-#ifndef __GC
- _Self_destruct_ptr __old(__too_tiny);
-#endif
- __insertee = _S_concat_and_set_balanced(__too_tiny, __r);
- }
- // Too_tiny dead, and no longer included in refcount.
- // Insertee is live and included.
- for (;; ++__i)
- {
- if (0 != __forest[__i])
- {
-#ifndef __GC
- _Self_destruct_ptr __old(__insertee);
-#endif
- __insertee = _S_concat_and_set_balanced(__forest[__i],
- __insertee);
- __forest[__i]->_M_unref_nonnil();
- __forest[__i] = 0;
- }
- if (__i == int(__detail::_S_max_rope_depth)
- || __insertee->_M_size < _S_min_len[__i+1])
- {
- __forest[__i] = __insertee;
- // refcount is OK since __insertee is now dead.
- return;
- }
- }
- }
-
- template <class _CharT, class _Alloc>
- _CharT
- rope<_CharT, _Alloc>::
- _S_fetch(_RopeRep* __r, size_type __i)
- {
- __GC_CONST _CharT* __cstr = __r->_M_c_string;
-
- if (0 != __cstr)
- return __cstr[__i];
- for(;;)
- {
- switch(__r->_M_tag)
- {
- case __detail::_S_concat:
- {
- _RopeConcatenation* __c = (_RopeConcatenation*)__r;
- _RopeRep* __left = __c->_M_left;
- size_t __left_len = __left->_M_size;
-
- if (__i >= __left_len)
- {
- __i -= __left_len;
- __r = __c->_M_right;
- }
- else
- __r = __left;
- }
- break;
- case __detail::_S_leaf:
- {
- _RopeLeaf* __l = (_RopeLeaf*)__r;
- return __l->_M_data[__i];
- }
- case __detail::_S_function:
- case __detail::_S_substringfn:
- {
- _RopeFunction* __f = (_RopeFunction*)__r;
- _CharT __result;
-
- (*(__f->_M_fn))(__i, 1, &__result);
- return __result;
- }
- }
- }
- }
-
-#ifndef __GC
- // Return a uniquely referenced character slot for the given
- // position, or 0 if that's not possible.
- template <class _CharT, class _Alloc>
- _CharT*
- rope<_CharT, _Alloc>::
- _S_fetch_ptr(_RopeRep* __r, size_type __i)
- {
- _RopeRep* __clrstack[__detail::_S_max_rope_depth];
- size_t __csptr = 0;
-
- for(;;)
- {
- if (__r->_M_ref_count > 1)
- return 0;
- switch(__r->_M_tag)
- {
- case __detail::_S_concat:
- {
- _RopeConcatenation* __c = (_RopeConcatenation*)__r;
- _RopeRep* __left = __c->_M_left;
- size_t __left_len = __left->_M_size;
-
- if (__c->_M_c_string != 0)
- __clrstack[__csptr++] = __c;
- if (__i >= __left_len)
- {
- __i -= __left_len;
- __r = __c->_M_right;
- }
- else
- __r = __left;
- }
- break;
- case __detail::_S_leaf:
- {
- _RopeLeaf* __l = (_RopeLeaf*)__r;
- if (__l->_M_c_string != __l->_M_data && __l->_M_c_string != 0)
- __clrstack[__csptr++] = __l;
- while (__csptr > 0)
- {
- -- __csptr;
- _RopeRep* __d = __clrstack[__csptr];
- __d->_M_free_c_string();
- __d->_M_c_string = 0;
- }
- return __l->_M_data + __i;
- }
- case __detail::_S_function:
- case __detail::_S_substringfn:
- return 0;
- }
- }
- }
-#endif /* __GC */
-
- // The following could be implemented trivially using
- // lexicographical_compare_3way.
- // We do a little more work to avoid dealing with rope iterators for
- // flat strings.
- template <class _CharT, class _Alloc>
- int
- rope<_CharT, _Alloc>::
- _S_compare (const _RopeRep* __left, const _RopeRep* __right)
- {
- size_t __left_len;
- size_t __right_len;
-
- if (0 == __right)
- return 0 != __left;
- if (0 == __left)
- return -1;
- __left_len = __left->_M_size;
- __right_len = __right->_M_size;
- if (__detail::_S_leaf == __left->_M_tag)
- {
- _RopeLeaf* __l = (_RopeLeaf*) __left;
- if (__detail::_S_leaf == __right->_M_tag)
- {
- _RopeLeaf* __r = (_RopeLeaf*) __right;
- return lexicographical_compare_3way(__l->_M_data,
- __l->_M_data + __left_len,
- __r->_M_data, __r->_M_data
- + __right_len);
- }
- else
- {
- const_iterator __rstart(__right, 0);
- const_iterator __rend(__right, __right_len);
- return lexicographical_compare_3way(__l->_M_data, __l->_M_data
- + __left_len,
- __rstart, __rend);
- }
- }
- else
- {
- const_iterator __lstart(__left, 0);
- const_iterator __lend(__left, __left_len);
- if (__detail::_S_leaf == __right->_M_tag)
- {
- _RopeLeaf* __r = (_RopeLeaf*) __right;
- return lexicographical_compare_3way(__lstart, __lend,
- __r->_M_data, __r->_M_data
- + __right_len);
- }
- else
- {
- const_iterator __rstart(__right, 0);
- const_iterator __rend(__right, __right_len);
- return lexicographical_compare_3way(__lstart, __lend,
- __rstart, __rend);
- }
- }
- }
-
- // Assignment to reference proxies.
- template <class _CharT, class _Alloc>
- _Rope_char_ref_proxy<_CharT, _Alloc>&
- _Rope_char_ref_proxy<_CharT, _Alloc>::
- operator=(_CharT __c)
- {
- _RopeRep* __old = _M_root->_M_tree_ptr;
-#ifndef __GC
- // First check for the case in which everything is uniquely
- // referenced. In that case we can do this destructively.
- _CharT* __ptr = _My_rope::_S_fetch_ptr(__old, _M_pos);
- if (0 != __ptr)
- {
- *__ptr = __c;
- return *this;
- }
-#endif
- _Self_destruct_ptr __left(_My_rope::_S_substring(__old, 0, _M_pos));
- _Self_destruct_ptr __right(_My_rope::_S_substring(__old, _M_pos + 1,
- __old->_M_size));
- _Self_destruct_ptr __result_left(_My_rope::
- _S_destr_concat_char_iter(__left,
- &__c, 1));
-
- _RopeRep* __result = _My_rope::_S_concat(__result_left, __right);
-#ifndef __GC
- _RopeRep::_S_unref(__old);
-#endif
- _M_root->_M_tree_ptr = __result;
- return *this;
- }
-
- template <class _CharT, class _Alloc>
- inline _Rope_char_ref_proxy<_CharT, _Alloc>::
- operator _CharT() const
- {
- if (_M_current_valid)
- return _M_current;
- else
- return _My_rope::_S_fetch(_M_root->_M_tree_ptr, _M_pos);
- }
-
- template <class _CharT, class _Alloc>
- _Rope_char_ptr_proxy<_CharT, _Alloc>
- _Rope_char_ref_proxy<_CharT, _Alloc>::
- operator&() const
- { return _Rope_char_ptr_proxy<_CharT, _Alloc>(*this); }
-
- template <class _CharT, class _Alloc>
- rope<_CharT, _Alloc>::
- rope(size_t __n, _CharT __c, const allocator_type& __a)
- : _Base(__a)
- {
- rope<_CharT,_Alloc> __result;
- const size_t __exponentiate_threshold = 32;
- size_t __exponent;
- size_t __rest;
- _CharT* __rest_buffer;
- _RopeRep* __remainder;
- rope<_CharT, _Alloc> __remainder_rope;
-
- if (0 == __n)
- return;
-
- __exponent = __n / __exponentiate_threshold;
- __rest = __n % __exponentiate_threshold;
- if (0 == __rest)
- __remainder = 0;
- else
- {
- __rest_buffer = this->_Data_allocate(_S_rounded_up_size(__rest));
- __uninitialized_fill_n_a(__rest_buffer, __rest, __c,
- get_allocator());
- _S_cond_store_eos(__rest_buffer[__rest]);
- try
- { __remainder = _S_new_RopeLeaf(__rest_buffer, __rest, __a); }
- catch(...)
- {
- _RopeRep::__STL_FREE_STRING(__rest_buffer, __rest, __a);
- __throw_exception_again;
- }
- }
- __remainder_rope._M_tree_ptr = __remainder;
- if (__exponent != 0)
- {
- _CharT* __base_buffer =
- this->_Data_allocate(_S_rounded_up_size(__exponentiate_threshold));
- _RopeLeaf* __base_leaf;
- rope __base_rope;
- __uninitialized_fill_n_a(__base_buffer, __exponentiate_threshold, __c,
- get_allocator());
- _S_cond_store_eos(__base_buffer[__exponentiate_threshold]);
- try
- {
- __base_leaf = _S_new_RopeLeaf(__base_buffer,
- __exponentiate_threshold, __a);
- }
- catch(...)
- {
- _RopeRep::__STL_FREE_STRING(__base_buffer,
- __exponentiate_threshold, __a);
- __throw_exception_again;
- }
- __base_rope._M_tree_ptr = __base_leaf;
- if (1 == __exponent)
- __result = __base_rope;
- else
- __result = power(__base_rope, __exponent,
- _Rope_Concat_fn<_CharT, _Alloc>());
-
- if (0 != __remainder)
- __result += __remainder_rope;
- }
- else
- __result = __remainder_rope;
-
- this->_M_tree_ptr = __result._M_tree_ptr;
- this->_M_tree_ptr->_M_ref_nonnil();
- }
-
- template<class _CharT, class _Alloc>
- _CharT
- rope<_CharT, _Alloc>::_S_empty_c_str[1];
-
- template<class _CharT, class _Alloc>
- const _CharT*
- rope<_CharT, _Alloc>::
- c_str() const
- {
- if (0 == this->_M_tree_ptr)
- {
- _S_empty_c_str[0] = _S_eos((_CharT*)0); // Possibly redundant,
- // but probably fast.
- return _S_empty_c_str;
- }
- __gthread_mutex_lock (&this->_M_tree_ptr->_M_c_string_lock);
- __GC_CONST _CharT* __result = this->_M_tree_ptr->_M_c_string;
- if (0 == __result)
- {
- size_t __s = size();
- __result = this->_Data_allocate(__s + 1);
- _S_flatten(this->_M_tree_ptr, __result);
- __result[__s] = _S_eos((_CharT*)0);
- this->_M_tree_ptr->_M_c_string = __result;
- }
- __gthread_mutex_unlock (&this->_M_tree_ptr->_M_c_string_lock);
- return(__result);
- }
-
- template<class _CharT, class _Alloc>
- const _CharT* rope<_CharT, _Alloc>::
- replace_with_c_str()
- {
- if (0 == this->_M_tree_ptr)
- {
- _S_empty_c_str[0] = _S_eos((_CharT*)0);
- return _S_empty_c_str;
- }
- __GC_CONST _CharT* __old_c_string = this->_M_tree_ptr->_M_c_string;
- if (__detail::_S_leaf == this->_M_tree_ptr->_M_tag
- && 0 != __old_c_string)
- return(__old_c_string);
- size_t __s = size();
- _CharT* __result = this->_Data_allocate(_S_rounded_up_size(__s));
- _S_flatten(this->_M_tree_ptr, __result);
- __result[__s] = _S_eos((_CharT*)0);
- this->_M_tree_ptr->_M_unref_nonnil();
- this->_M_tree_ptr = _S_new_RopeLeaf(__result, __s,
- this->get_allocator());
- return(__result);
- }
-
- // Algorithm specializations. More should be added.
-
- template<class _Rope_iterator> // was templated on CharT and Alloc
- void // VC++ workaround
- _Rope_rotate(_Rope_iterator __first,
- _Rope_iterator __middle,
- _Rope_iterator __last)
- {
- typedef typename _Rope_iterator::value_type _CharT;
- typedef typename _Rope_iterator::_allocator_type _Alloc;
-
- rope<_CharT, _Alloc>& __r(__first.container());
- rope<_CharT, _Alloc> __prefix = __r.substr(0, __first.index());
- rope<_CharT, _Alloc> __suffix =
- __r.substr(__last.index(), __r.size() - __last.index());
- rope<_CharT, _Alloc> __part1 =
- __r.substr(__middle.index(), __last.index() - __middle.index());
- rope<_CharT, _Alloc> __part2 =
- __r.substr(__first.index(), __middle.index() - __first.index());
- __r = __prefix;
- __r += __part1;
- __r += __part2;
- __r += __suffix;
- }
-
-#if !defined(__GNUC__)
- // Appears to confuse g++
- inline void
- rotate(_Rope_iterator<char, __STL_DEFAULT_ALLOCATOR(char)> __first,
- _Rope_iterator<char, __STL_DEFAULT_ALLOCATOR(char)> __middle,
- _Rope_iterator<char, __STL_DEFAULT_ALLOCATOR(char)> __last)
- { _Rope_rotate(__first, __middle, __last); }
-#endif
-
-# if 0
- // Probably not useful for several reasons:
- // - for SGIs 7.1 compiler and probably some others,
- // this forces lots of rope<wchar_t, ...> instantiations, creating a
- // code bloat and compile time problem. (Fixed in 7.2.)
- // - wchar_t is 4 bytes wide on most UNIX platforms, making it
- // unattractive for unicode strings. Unsigned short may be a better
- // character type.
- inline void
- rotate(_Rope_iterator<wchar_t, __STL_DEFAULT_ALLOCATOR(char)> __first,
- _Rope_iterator<wchar_t, __STL_DEFAULT_ALLOCATOR(char)> __middle,
- _Rope_iterator<wchar_t, __STL_DEFAULT_ALLOCATOR(char)> __last)
- { _Rope_rotate(__first, __middle, __last); }
-# endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/include/ext/slist b/contrib/libstdc++/include/ext/slist
deleted file mode 100644
index 328a52e012f3..000000000000
--- a/contrib/libstdc++/include/ext/slist
+++ /dev/null
@@ -1,1081 +0,0 @@
-// Singly-linked list implementation -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file ext/slist
- * This file is a GNU extension to the Standard C++ Library (possibly
- * containing extensions from the HP/SGI STL subset).
- */
-
-#ifndef _SLIST
-#define _SLIST 1
-
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <bits/concept_check.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
- using std::ptrdiff_t;
- using std::_Construct;
- using std::_Destroy;
- using std::allocator;
- using std::__true_type;
- using std::__false_type;
-
- struct _Slist_node_base
- {
- _Slist_node_base* _M_next;
- };
-
- inline _Slist_node_base*
- __slist_make_link(_Slist_node_base* __prev_node,
- _Slist_node_base* __new_node)
- {
- __new_node->_M_next = __prev_node->_M_next;
- __prev_node->_M_next = __new_node;
- return __new_node;
- }
-
- inline _Slist_node_base*
- __slist_previous(_Slist_node_base* __head,
- const _Slist_node_base* __node)
- {
- while (__head && __head->_M_next != __node)
- __head = __head->_M_next;
- return __head;
- }
-
- inline const _Slist_node_base*
- __slist_previous(const _Slist_node_base* __head,
- const _Slist_node_base* __node)
- {
- while (__head && __head->_M_next != __node)
- __head = __head->_M_next;
- return __head;
- }
-
- inline void
- __slist_splice_after(_Slist_node_base* __pos,
- _Slist_node_base* __before_first,
- _Slist_node_base* __before_last)
- {
- if (__pos != __before_first && __pos != __before_last)
- {
- _Slist_node_base* __first = __before_first->_M_next;
- _Slist_node_base* __after = __pos->_M_next;
- __before_first->_M_next = __before_last->_M_next;
- __pos->_M_next = __first;
- __before_last->_M_next = __after;
- }
- }
-
- inline void
- __slist_splice_after(_Slist_node_base* __pos, _Slist_node_base* __head)
- {
- _Slist_node_base* __before_last = __slist_previous(__head, 0);
- if (__before_last != __head)
- {
- _Slist_node_base* __after = __pos->_M_next;
- __pos->_M_next = __head->_M_next;
- __head->_M_next = 0;
- __before_last->_M_next = __after;
- }
- }
-
- inline _Slist_node_base*
- __slist_reverse(_Slist_node_base* __node)
- {
- _Slist_node_base* __result = __node;
- __node = __node->_M_next;
- __result->_M_next = 0;
- while(__node)
- {
- _Slist_node_base* __next = __node->_M_next;
- __node->_M_next = __result;
- __result = __node;
- __node = __next;
- }
- return __result;
- }
-
- inline size_t
- __slist_size(_Slist_node_base* __node)
- {
- size_t __result = 0;
- for (; __node != 0; __node = __node->_M_next)
- ++__result;
- return __result;
- }
-
- template <class _Tp>
- struct _Slist_node : public _Slist_node_base
- {
- _Tp _M_data;
- };
-
- struct _Slist_iterator_base
- {
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef std::forward_iterator_tag iterator_category;
-
- _Slist_node_base* _M_node;
-
- _Slist_iterator_base(_Slist_node_base* __x)
- : _M_node(__x) {}
-
- void
- _M_incr()
- { _M_node = _M_node->_M_next; }
-
- bool
- operator==(const _Slist_iterator_base& __x) const
- { return _M_node == __x._M_node; }
-
- bool
- operator!=(const _Slist_iterator_base& __x) const
- { return _M_node != __x._M_node; }
- };
-
- template <class _Tp, class _Ref, class _Ptr>
- struct _Slist_iterator : public _Slist_iterator_base
- {
- typedef _Slist_iterator<_Tp, _Tp&, _Tp*> iterator;
- typedef _Slist_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
- typedef _Slist_iterator<_Tp, _Ref, _Ptr> _Self;
-
- typedef _Tp value_type;
- typedef _Ptr pointer;
- typedef _Ref reference;
- typedef _Slist_node<_Tp> _Node;
-
- explicit
- _Slist_iterator(_Node* __x)
- : _Slist_iterator_base(__x) {}
-
- _Slist_iterator()
- : _Slist_iterator_base(0) {}
-
- _Slist_iterator(const iterator& __x)
- : _Slist_iterator_base(__x._M_node) {}
-
- reference
- operator*() const
- { return ((_Node*) _M_node)->_M_data; }
-
- pointer
- operator->() const
- { return &(operator*()); }
-
- _Self&
- operator++()
- {
- _M_incr();
- return *this;
- }
-
- _Self
- operator++(int)
- {
- _Self __tmp = *this;
- _M_incr();
- return __tmp;
- }
- };
-
- template <class _Tp, class _Alloc>
- struct _Slist_base
- : public _Alloc::template rebind<_Slist_node<_Tp> >::other
- {
- typedef typename _Alloc::template rebind<_Slist_node<_Tp> >::other
- _Node_alloc;
- typedef _Alloc allocator_type;
-
- allocator_type
- get_allocator() const
- { return *static_cast<const _Node_alloc*>(this); }
-
- _Slist_base(const allocator_type& __a)
- : _Node_alloc(__a)
- { this->_M_head._M_next = 0; }
-
- ~_Slist_base()
- { _M_erase_after(&this->_M_head, 0); }
-
- protected:
- _Slist_node_base _M_head;
-
- _Slist_node<_Tp>*
- _M_get_node()
- { return _Node_alloc::allocate(1); }
-
- void
- _M_put_node(_Slist_node<_Tp>* __p)
- { _Node_alloc::deallocate(__p, 1); }
-
- protected:
- _Slist_node_base* _M_erase_after(_Slist_node_base* __pos)
- {
- _Slist_node<_Tp>* __next = (_Slist_node<_Tp>*) (__pos->_M_next);
- _Slist_node_base* __next_next = __next->_M_next;
- __pos->_M_next = __next_next;
- get_allocator().destroy(&__next->_M_data);
- _M_put_node(__next);
- return __next_next;
- }
- _Slist_node_base* _M_erase_after(_Slist_node_base*, _Slist_node_base*);
- };
-
- template <class _Tp, class _Alloc>
- _Slist_node_base*
- _Slist_base<_Tp,_Alloc>::_M_erase_after(_Slist_node_base* __before_first,
- _Slist_node_base* __last_node)
- {
- _Slist_node<_Tp>* __cur = (_Slist_node<_Tp>*) (__before_first->_M_next);
- while (__cur != __last_node)
- {
- _Slist_node<_Tp>* __tmp = __cur;
- __cur = (_Slist_node<_Tp>*) __cur->_M_next;
- get_allocator().destroy(&__tmp->_M_data);
- _M_put_node(__tmp);
- }
- __before_first->_M_next = __last_node;
- return __last_node;
- }
-
- /**
- * This is an SGI extension.
- * @ingroup SGIextensions
- * @doctodo
- */
- template <class _Tp, class _Alloc = allocator<_Tp> >
- class slist : private _Slist_base<_Tp,_Alloc>
- {
- // concept requirements
- __glibcxx_class_requires(_Tp, _SGIAssignableConcept)
-
- private:
- typedef _Slist_base<_Tp,_Alloc> _Base;
-
- public:
- typedef _Tp value_type;
- typedef value_type* pointer;
- typedef const value_type* const_pointer;
- typedef value_type& reference;
- typedef const value_type& const_reference;
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
-
- typedef _Slist_iterator<_Tp, _Tp&, _Tp*> iterator;
- typedef _Slist_iterator<_Tp, const _Tp&, const _Tp*> const_iterator;
-
- typedef typename _Base::allocator_type allocator_type;
-
- allocator_type
- get_allocator() const
- { return _Base::get_allocator(); }
-
- private:
- typedef _Slist_node<_Tp> _Node;
- typedef _Slist_node_base _Node_base;
- typedef _Slist_iterator_base _Iterator_base;
-
- _Node*
- _M_create_node(const value_type& __x)
- {
- _Node* __node = this->_M_get_node();
- try
- {
- get_allocator().construct(&__node->_M_data, __x);
- __node->_M_next = 0;
- }
- catch(...)
- {
- this->_M_put_node(__node);
- __throw_exception_again;
- }
- return __node;
- }
-
- _Node*
- _M_create_node()
- {
- _Node* __node = this->_M_get_node();
- try
- {
- get_allocator().construct(&__node->_M_data, value_type());
- __node->_M_next = 0;
- }
- catch(...)
- {
- this->_M_put_node(__node);
- __throw_exception_again;
- }
- return __node;
- }
-
- public:
- explicit
- slist(const allocator_type& __a = allocator_type())
- : _Base(__a) {}
-
- slist(size_type __n, const value_type& __x,
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- { _M_insert_after_fill(&this->_M_head, __n, __x); }
-
- explicit
- slist(size_type __n)
- : _Base(allocator_type())
- { _M_insert_after_fill(&this->_M_head, __n, value_type()); }
-
- // We don't need any dispatching tricks here, because
- // _M_insert_after_range already does them.
- template <class _InputIterator>
- slist(_InputIterator __first, _InputIterator __last,
- const allocator_type& __a = allocator_type())
- : _Base(__a)
- { _M_insert_after_range(&this->_M_head, __first, __last); }
-
- slist(const slist& __x)
- : _Base(__x.get_allocator())
- { _M_insert_after_range(&this->_M_head, __x.begin(), __x.end()); }
-
- slist&
- operator= (const slist& __x);
-
- ~slist() {}
-
- public:
- // assign(), a generalized assignment member function. Two
- // versions: one that takes a count, and one that takes a range.
- // The range version is a member template, so we dispatch on whether
- // or not the type is an integer.
-
- void
- assign(size_type __n, const _Tp& __val)
- { _M_fill_assign(__n, __val); }
-
- void
- _M_fill_assign(size_type __n, const _Tp& __val);
-
- template <class _InputIterator>
- void
- assign(_InputIterator __first, _InputIterator __last)
- {
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- _M_assign_dispatch(__first, __last, _Integral());
- }
-
- template <class _Integer>
- void
- _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
- { _M_fill_assign((size_type) __n, (_Tp) __val); }
-
- template <class _InputIterator>
- void
- _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
- __false_type);
-
- public:
-
- iterator
- begin()
- { return iterator((_Node*)this->_M_head._M_next); }
-
- const_iterator
- begin() const
- { return const_iterator((_Node*)this->_M_head._M_next);}
-
- iterator
- end()
- { return iterator(0); }
-
- const_iterator
- end() const
- { return const_iterator(0); }
-
- // Experimental new feature: before_begin() returns a
- // non-dereferenceable iterator that, when incremented, yields
- // begin(). This iterator may be used as the argument to
- // insert_after, erase_after, etc. Note that even for an empty
- // slist, before_begin() is not the same iterator as end(). It
- // is always necessary to increment before_begin() at least once to
- // obtain end().
- iterator
- before_begin()
- { return iterator((_Node*) &this->_M_head); }
-
- const_iterator
- before_begin() const
- { return const_iterator((_Node*) &this->_M_head); }
-
- size_type
- size() const
- { return __slist_size(this->_M_head._M_next); }
-
- size_type
- max_size() const
- { return size_type(-1); }
-
- bool
- empty() const
- { return this->_M_head._M_next == 0; }
-
- void
- swap(slist& __x)
- { std::swap(this->_M_head._M_next, __x._M_head._M_next); }
-
- public:
-
- reference
- front()
- { return ((_Node*) this->_M_head._M_next)->_M_data; }
-
- const_reference
- front() const
- { return ((_Node*) this->_M_head._M_next)->_M_data; }
-
- void
- push_front(const value_type& __x)
- { __slist_make_link(&this->_M_head, _M_create_node(__x)); }
-
- void
- push_front()
- { __slist_make_link(&this->_M_head, _M_create_node()); }
-
- void
- pop_front()
- {
- _Node* __node = (_Node*) this->_M_head._M_next;
- this->_M_head._M_next = __node->_M_next;
- get_allocator().destroy(&__node->_M_data);
- this->_M_put_node(__node);
- }
-
- iterator
- previous(const_iterator __pos)
- { return iterator((_Node*) __slist_previous(&this->_M_head,
- __pos._M_node)); }
-
- const_iterator
- previous(const_iterator __pos) const
- { return const_iterator((_Node*) __slist_previous(&this->_M_head,
- __pos._M_node)); }
-
- private:
- _Node*
- _M_insert_after(_Node_base* __pos, const value_type& __x)
- { return (_Node*) (__slist_make_link(__pos, _M_create_node(__x))); }
-
- _Node*
- _M_insert_after(_Node_base* __pos)
- { return (_Node*) (__slist_make_link(__pos, _M_create_node())); }
-
- void
- _M_insert_after_fill(_Node_base* __pos,
- size_type __n, const value_type& __x)
- {
- for (size_type __i = 0; __i < __n; ++__i)
- __pos = __slist_make_link(__pos, _M_create_node(__x));
- }
-
- // Check whether it's an integral type. If so, it's not an iterator.
- template <class _InIterator>
- void
- _M_insert_after_range(_Node_base* __pos,
- _InIterator __first, _InIterator __last)
- {
- typedef typename std::__is_integer<_InIterator>::__type _Integral;
- _M_insert_after_range(__pos, __first, __last, _Integral());
- }
-
- template <class _Integer>
- void
- _M_insert_after_range(_Node_base* __pos, _Integer __n, _Integer __x,
- __true_type)
- { _M_insert_after_fill(__pos, __n, __x); }
-
- template <class _InIterator>
- void
- _M_insert_after_range(_Node_base* __pos,
- _InIterator __first, _InIterator __last,
- __false_type)
- {
- while (__first != __last)
- {
- __pos = __slist_make_link(__pos, _M_create_node(*__first));
- ++__first;
- }
- }
-
- public:
- iterator
- insert_after(iterator __pos, const value_type& __x)
- { return iterator(_M_insert_after(__pos._M_node, __x)); }
-
- iterator
- insert_after(iterator __pos)
- { return insert_after(__pos, value_type()); }
-
- void
- insert_after(iterator __pos, size_type __n, const value_type& __x)
- { _M_insert_after_fill(__pos._M_node, __n, __x); }
-
- // We don't need any dispatching tricks here, because
- // _M_insert_after_range already does them.
- template <class _InIterator>
- void
- insert_after(iterator __pos, _InIterator __first, _InIterator __last)
- { _M_insert_after_range(__pos._M_node, __first, __last); }
-
- iterator
- insert(iterator __pos, const value_type& __x)
- { return iterator(_M_insert_after(__slist_previous(&this->_M_head,
- __pos._M_node),
- __x)); }
-
- iterator
- insert(iterator __pos)
- { return iterator(_M_insert_after(__slist_previous(&this->_M_head,
- __pos._M_node),
- value_type())); }
-
- void
- insert(iterator __pos, size_type __n, const value_type& __x)
- { _M_insert_after_fill(__slist_previous(&this->_M_head, __pos._M_node),
- __n, __x); }
-
- // We don't need any dispatching tricks here, because
- // _M_insert_after_range already does them.
- template <class _InIterator>
- void
- insert(iterator __pos, _InIterator __first, _InIterator __last)
- { _M_insert_after_range(__slist_previous(&this->_M_head, __pos._M_node),
- __first, __last); }
-
- public:
- iterator
- erase_after(iterator __pos)
- { return iterator((_Node*) this->_M_erase_after(__pos._M_node)); }
-
- iterator
- erase_after(iterator __before_first, iterator __last)
- {
- return iterator((_Node*) this->_M_erase_after(__before_first._M_node,
- __last._M_node));
- }
-
- iterator
- erase(iterator __pos)
- {
- return iterator((_Node*) this->_M_erase_after
- (__slist_previous(&this->_M_head, __pos._M_node)));
- }
-
- iterator
- erase(iterator __first, iterator __last)
- {
- return iterator((_Node*) this->_M_erase_after
- (__slist_previous(&this->_M_head, __first._M_node),
- __last._M_node));
- }
-
- void
- resize(size_type new_size, const _Tp& __x);
-
- void
- resize(size_type new_size)
- { resize(new_size, _Tp()); }
-
- void
- clear()
- { this->_M_erase_after(&this->_M_head, 0); }
-
- public:
- // Moves the range [__before_first + 1, __before_last + 1) to *this,
- // inserting it immediately after __pos. This is constant time.
- void
- splice_after(iterator __pos,
- iterator __before_first, iterator __before_last)
- {
- if (__before_first != __before_last)
- __slist_splice_after(__pos._M_node, __before_first._M_node,
- __before_last._M_node);
- }
-
- // Moves the element that follows __prev to *this, inserting it
- // immediately after __pos. This is constant time.
- void
- splice_after(iterator __pos, iterator __prev)
- { __slist_splice_after(__pos._M_node,
- __prev._M_node, __prev._M_node->_M_next); }
-
- // Removes all of the elements from the list __x to *this, inserting
- // them immediately after __pos. __x must not be *this. Complexity:
- // linear in __x.size().
- void
- splice_after(iterator __pos, slist& __x)
- { __slist_splice_after(__pos._M_node, &__x._M_head); }
-
- // Linear in distance(begin(), __pos), and linear in __x.size().
- void
- splice(iterator __pos, slist& __x)
- {
- if (__x._M_head._M_next)
- __slist_splice_after(__slist_previous(&this->_M_head, __pos._M_node),
- &__x._M_head,
- __slist_previous(&__x._M_head, 0)); }
-
- // Linear in distance(begin(), __pos), and in distance(__x.begin(), __i).
- void
- splice(iterator __pos, slist& __x, iterator __i)
- { __slist_splice_after(__slist_previous(&this->_M_head, __pos._M_node),
- __slist_previous(&__x._M_head, __i._M_node),
- __i._M_node); }
-
- // Linear in distance(begin(), __pos), in distance(__x.begin(), __first),
- // and in distance(__first, __last).
- void
- splice(iterator __pos, slist& __x, iterator __first, iterator __last)
- {
- if (__first != __last)
- __slist_splice_after(__slist_previous(&this->_M_head, __pos._M_node),
- __slist_previous(&__x._M_head, __first._M_node),
- __slist_previous(__first._M_node,
- __last._M_node));
- }
-
- public:
- void
- reverse()
- {
- if (this->_M_head._M_next)
- this->_M_head._M_next = __slist_reverse(this->_M_head._M_next);
- }
-
- void
- remove(const _Tp& __val);
-
- void
- unique();
-
- void
- merge(slist& __x);
-
- void
- sort();
-
- template <class _Predicate>
- void
- remove_if(_Predicate __pred);
-
- template <class _BinaryPredicate>
- void
- unique(_BinaryPredicate __pred);
-
- template <class _StrictWeakOrdering>
- void
- merge(slist&, _StrictWeakOrdering);
-
- template <class _StrictWeakOrdering>
- void
- sort(_StrictWeakOrdering __comp);
- };
-
- template <class _Tp, class _Alloc>
- slist<_Tp, _Alloc>&
- slist<_Tp, _Alloc>::operator=(const slist<_Tp, _Alloc>& __x)
- {
- if (&__x != this)
- {
- _Node_base* __p1 = &this->_M_head;
- _Node* __n1 = (_Node*) this->_M_head._M_next;
- const _Node* __n2 = (const _Node*) __x._M_head._M_next;
- while (__n1 && __n2)
- {
- __n1->_M_data = __n2->_M_data;
- __p1 = __n1;
- __n1 = (_Node*) __n1->_M_next;
- __n2 = (const _Node*) __n2->_M_next;
- }
- if (__n2 == 0)
- this->_M_erase_after(__p1, 0);
- else
- _M_insert_after_range(__p1, const_iterator((_Node*)__n2),
- const_iterator(0));
- }
- return *this;
- }
-
- template <class _Tp, class _Alloc>
- void
- slist<_Tp, _Alloc>::_M_fill_assign(size_type __n, const _Tp& __val)
- {
- _Node_base* __prev = &this->_M_head;
- _Node* __node = (_Node*) this->_M_head._M_next;
- for (; __node != 0 && __n > 0; --__n)
- {
- __node->_M_data = __val;
- __prev = __node;
- __node = (_Node*) __node->_M_next;
- }
- if (__n > 0)
- _M_insert_after_fill(__prev, __n, __val);
- else
- this->_M_erase_after(__prev, 0);
- }
-
- template <class _Tp, class _Alloc>
- template <class _InputIterator>
- void
- slist<_Tp, _Alloc>::_M_assign_dispatch(_InputIterator __first,
- _InputIterator __last,
- __false_type)
- {
- _Node_base* __prev = &this->_M_head;
- _Node* __node = (_Node*) this->_M_head._M_next;
- while (__node != 0 && __first != __last)
- {
- __node->_M_data = *__first;
- __prev = __node;
- __node = (_Node*) __node->_M_next;
- ++__first;
- }
- if (__first != __last)
- _M_insert_after_range(__prev, __first, __last);
- else
- this->_M_erase_after(__prev, 0);
- }
-
- template <class _Tp, class _Alloc>
- inline bool
- operator==(const slist<_Tp, _Alloc>& _SL1, const slist<_Tp, _Alloc>& _SL2)
- {
- typedef typename slist<_Tp,_Alloc>::const_iterator const_iterator;
- const_iterator __end1 = _SL1.end();
- const_iterator __end2 = _SL2.end();
-
- const_iterator __i1 = _SL1.begin();
- const_iterator __i2 = _SL2.begin();
- while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2)
- {
- ++__i1;
- ++__i2;
- }
- return __i1 == __end1 && __i2 == __end2;
- }
-
-
- template <class _Tp, class _Alloc>
- inline bool
- operator<(const slist<_Tp, _Alloc>& _SL1, const slist<_Tp, _Alloc>& _SL2)
- { return std::lexicographical_compare(_SL1.begin(), _SL1.end(),
- _SL2.begin(), _SL2.end()); }
-
- template <class _Tp, class _Alloc>
- inline bool
- operator!=(const slist<_Tp, _Alloc>& _SL1, const slist<_Tp, _Alloc>& _SL2)
- { return !(_SL1 == _SL2); }
-
- template <class _Tp, class _Alloc>
- inline bool
- operator>(const slist<_Tp, _Alloc>& _SL1, const slist<_Tp, _Alloc>& _SL2)
- { return _SL2 < _SL1; }
-
- template <class _Tp, class _Alloc>
- inline bool
- operator<=(const slist<_Tp, _Alloc>& _SL1, const slist<_Tp, _Alloc>& _SL2)
- { return !(_SL2 < _SL1); }
-
- template <class _Tp, class _Alloc>
- inline bool
- operator>=(const slist<_Tp, _Alloc>& _SL1, const slist<_Tp, _Alloc>& _SL2)
- { return !(_SL1 < _SL2); }
-
- template <class _Tp, class _Alloc>
- inline void
- swap(slist<_Tp, _Alloc>& __x, slist<_Tp, _Alloc>& __y)
- { __x.swap(__y); }
-
- template <class _Tp, class _Alloc>
- void
- slist<_Tp, _Alloc>::resize(size_type __len, const _Tp& __x)
- {
- _Node_base* __cur = &this->_M_head;
- while (__cur->_M_next != 0 && __len > 0)
- {
- --__len;
- __cur = __cur->_M_next;
- }
- if (__cur->_M_next)
- this->_M_erase_after(__cur, 0);
- else
- _M_insert_after_fill(__cur, __len, __x);
- }
-
- template <class _Tp, class _Alloc>
- void
- slist<_Tp, _Alloc>::remove(const _Tp& __val)
- {
- _Node_base* __cur = &this->_M_head;
- while (__cur && __cur->_M_next)
- {
- if (((_Node*) __cur->_M_next)->_M_data == __val)
- this->_M_erase_after(__cur);
- else
- __cur = __cur->_M_next;
- }
- }
-
- template <class _Tp, class _Alloc>
- void
- slist<_Tp, _Alloc>::unique()
- {
- _Node_base* __cur = this->_M_head._M_next;
- if (__cur)
- {
- while (__cur->_M_next)
- {
- if (((_Node*)__cur)->_M_data
- == ((_Node*)(__cur->_M_next))->_M_data)
- this->_M_erase_after(__cur);
- else
- __cur = __cur->_M_next;
- }
- }
- }
-
- template <class _Tp, class _Alloc>
- void
- slist<_Tp, _Alloc>::merge(slist<_Tp, _Alloc>& __x)
- {
- _Node_base* __n1 = &this->_M_head;
- while (__n1->_M_next && __x._M_head._M_next)
- {
- if (((_Node*) __x._M_head._M_next)->_M_data
- < ((_Node*) __n1->_M_next)->_M_data)
- __slist_splice_after(__n1, &__x._M_head, __x._M_head._M_next);
- __n1 = __n1->_M_next;
- }
- if (__x._M_head._M_next)
- {
- __n1->_M_next = __x._M_head._M_next;
- __x._M_head._M_next = 0;
- }
- }
-
- template <class _Tp, class _Alloc>
- void
- slist<_Tp, _Alloc>::sort()
- {
- if (this->_M_head._M_next && this->_M_head._M_next->_M_next)
- {
- slist __carry;
- slist __counter[64];
- int __fill = 0;
- while (!empty())
- {
- __slist_splice_after(&__carry._M_head,
- &this->_M_head, this->_M_head._M_next);
- int __i = 0;
- while (__i < __fill && !__counter[__i].empty())
- {
- __counter[__i].merge(__carry);
- __carry.swap(__counter[__i]);
- ++__i;
- }
- __carry.swap(__counter[__i]);
- if (__i == __fill)
- ++__fill;
- }
-
- for (int __i = 1; __i < __fill; ++__i)
- __counter[__i].merge(__counter[__i-1]);
- this->swap(__counter[__fill-1]);
- }
- }
-
- template <class _Tp, class _Alloc>
- template <class _Predicate>
- void slist<_Tp, _Alloc>::remove_if(_Predicate __pred)
- {
- _Node_base* __cur = &this->_M_head;
- while (__cur->_M_next)
- {
- if (__pred(((_Node*) __cur->_M_next)->_M_data))
- this->_M_erase_after(__cur);
- else
- __cur = __cur->_M_next;
- }
- }
-
- template <class _Tp, class _Alloc>
- template <class _BinaryPredicate>
- void
- slist<_Tp, _Alloc>::unique(_BinaryPredicate __pred)
- {
- _Node* __cur = (_Node*) this->_M_head._M_next;
- if (__cur)
- {
- while (__cur->_M_next)
- {
- if (__pred(((_Node*)__cur)->_M_data,
- ((_Node*)(__cur->_M_next))->_M_data))
- this->_M_erase_after(__cur);
- else
- __cur = (_Node*) __cur->_M_next;
- }
- }
- }
-
- template <class _Tp, class _Alloc>
- template <class _StrictWeakOrdering>
- void
- slist<_Tp, _Alloc>::merge(slist<_Tp, _Alloc>& __x,
- _StrictWeakOrdering __comp)
- {
- _Node_base* __n1 = &this->_M_head;
- while (__n1->_M_next && __x._M_head._M_next)
- {
- if (__comp(((_Node*) __x._M_head._M_next)->_M_data,
- ((_Node*) __n1->_M_next)->_M_data))
- __slist_splice_after(__n1, &__x._M_head, __x._M_head._M_next);
- __n1 = __n1->_M_next;
- }
- if (__x._M_head._M_next)
- {
- __n1->_M_next = __x._M_head._M_next;
- __x._M_head._M_next = 0;
- }
- }
-
- template <class _Tp, class _Alloc>
- template <class _StrictWeakOrdering>
- void
- slist<_Tp, _Alloc>::sort(_StrictWeakOrdering __comp)
- {
- if (this->_M_head._M_next && this->_M_head._M_next->_M_next)
- {
- slist __carry;
- slist __counter[64];
- int __fill = 0;
- while (!empty())
- {
- __slist_splice_after(&__carry._M_head,
- &this->_M_head, this->_M_head._M_next);
- int __i = 0;
- while (__i < __fill && !__counter[__i].empty())
- {
- __counter[__i].merge(__carry, __comp);
- __carry.swap(__counter[__i]);
- ++__i;
- }
- __carry.swap(__counter[__i]);
- if (__i == __fill)
- ++__fill;
- }
-
- for (int __i = 1; __i < __fill; ++__i)
- __counter[__i].merge(__counter[__i-1], __comp);
- this->swap(__counter[__fill-1]);
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Specialization of insert_iterator so that insertions will be constant
- // time rather than linear time.
- template <class _Tp, class _Alloc>
- class insert_iterator<__gnu_cxx::slist<_Tp, _Alloc> >
- {
- protected:
- typedef __gnu_cxx::slist<_Tp, _Alloc> _Container;
- _Container* container;
- typename _Container::iterator iter;
-
- public:
- typedef _Container container_type;
- typedef output_iterator_tag iterator_category;
- typedef void value_type;
- typedef void difference_type;
- typedef void pointer;
- typedef void reference;
-
- insert_iterator(_Container& __x, typename _Container::iterator __i)
- : container(&__x)
- {
- if (__i == __x.begin())
- iter = __x.before_begin();
- else
- iter = __x.previous(__i);
- }
-
- insert_iterator<_Container>&
- operator=(const typename _Container::value_type& __value)
- {
- iter = container->insert_after(iter, __value);
- return *this;
- }
-
- insert_iterator<_Container>&
- operator*()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++()
- { return *this; }
-
- insert_iterator<_Container>&
- operator++(int)
- { return *this; }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/sso_string_base.h b/contrib/libstdc++/include/ext/sso_string_base.h
deleted file mode 100644
index c95b48ecd8d0..000000000000
--- a/contrib/libstdc++/include/ext/sso_string_base.h
+++ /dev/null
@@ -1,569 +0,0 @@
-// Short-string-optimized versatile string base -*- C++ -*-
-
-// Copyright (C) 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 ext/sso_string_base.h
- * This file is a GNU extension to the Standard C++ Library.
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _SSO_STRING_BASE_H
-#define _SSO_STRING_BASE_H 1
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- class __sso_string_base
- : protected __vstring_utility<_CharT, _Traits, _Alloc>
- {
- public:
- typedef _Traits traits_type;
- typedef typename _Traits::char_type value_type;
-
- typedef __vstring_utility<_CharT, _Traits, _Alloc> _Util_Base;
- typedef typename _Util_Base::_CharT_alloc_type _CharT_alloc_type;
- typedef typename _CharT_alloc_type::size_type size_type;
-
- private:
- // Data Members:
- typename _Util_Base::template _Alloc_hider<_CharT_alloc_type>
- _M_dataplus;
- size_type _M_string_length;
-
- enum { _S_local_capacity = 15 };
-
- union
- {
- _CharT _M_local_data[_S_local_capacity + 1];
- size_type _M_allocated_capacity;
- };
-
- void
- _M_data(_CharT* __p)
- { _M_dataplus._M_p = __p; }
-
- void
- _M_length(size_type __length)
- { _M_string_length = __length; }
-
- void
- _M_capacity(size_type __capacity)
- { _M_allocated_capacity = __capacity; }
-
- bool
- _M_is_local() const
- { return _M_data() == _M_local_data; }
-
- // Create & Destroy
- _CharT*
- _M_create(size_type&, size_type);
-
- void
- _M_dispose()
- {
- if (!_M_is_local())
- _M_destroy(_M_allocated_capacity);
- }
-
- void
- _M_destroy(size_type __size) throw()
- { _M_get_allocator().deallocate(_M_data(), __size + 1); }
-
- // _M_construct_aux is used to implement the 21.3.1 para 15 which
- // requires special behaviour if _InIterator is an integral type
- template<typename _InIterator>
- void
- _M_construct_aux(_InIterator __beg, _InIterator __end,
- std::__false_type)
- {
- typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
- _M_construct(__beg, __end, _Tag());
- }
-
- template<typename _InIterator>
- void
- _M_construct_aux(_InIterator __beg, _InIterator __end,
- std::__true_type)
- { _M_construct(static_cast<size_type>(__beg),
- static_cast<value_type>(__end)); }
-
- template<typename _InIterator>
- void
- _M_construct(_InIterator __beg, _InIterator __end)
- {
- typedef typename std::__is_integer<_InIterator>::__type _Integral;
- _M_construct_aux(__beg, __end, _Integral());
- }
-
- // For Input Iterators, used in istreambuf_iterators, etc.
- template<typename _InIterator>
- void
- _M_construct(_InIterator __beg, _InIterator __end,
- std::input_iterator_tag);
-
- // For forward_iterators up to random_access_iterators, used for
- // string::iterator, _CharT*, etc.
- template<typename _FwdIterator>
- void
- _M_construct(_FwdIterator __beg, _FwdIterator __end,
- std::forward_iterator_tag);
-
- void
- _M_construct(size_type __req, _CharT __c);
-
- public:
- size_type
- _M_max_size() const
- { return (_M_get_allocator().max_size() - 1) / 2; }
-
- _CharT*
- _M_data() const
- { return _M_dataplus._M_p; }
-
- size_type
- _M_length() const
- { return _M_string_length; }
-
- size_type
- _M_capacity() const
- {
- return _M_is_local() ? size_type(_S_local_capacity)
- : _M_allocated_capacity;
- }
-
- bool
- _M_is_shared() const
- { return false; }
-
- void
- _M_set_leaked() { }
-
- void
- _M_leak() { }
-
- void
- _M_set_length(size_type __n)
- {
- _M_length(__n);
- traits_type::assign(_M_data()[__n], _CharT());
- }
-
- __sso_string_base()
- : _M_dataplus(_Alloc(), _M_local_data)
- { _M_set_length(0); }
-
- __sso_string_base(const _Alloc& __a);
-
- __sso_string_base(const __sso_string_base& __rcs);
-
- __sso_string_base(size_type __n, _CharT __c, const _Alloc& __a);
-
- template<typename _InputIterator>
- __sso_string_base(_InputIterator __beg, _InputIterator __end,
- const _Alloc& __a);
-
- ~__sso_string_base()
- { _M_dispose(); }
-
- _CharT_alloc_type&
- _M_get_allocator()
- { return _M_dataplus; }
-
- const _CharT_alloc_type&
- _M_get_allocator() const
- { return _M_dataplus; }
-
- void
- _M_swap(__sso_string_base& __rcs);
-
- void
- _M_assign(const __sso_string_base& __rcs);
-
- void
- _M_reserve(size_type __res);
-
- void
- _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
- size_type __len2);
-
- void
- _M_erase(size_type __pos, size_type __n);
-
- void
- _M_clear()
- { _M_set_length(0); }
-
- bool
- _M_compare(const __sso_string_base&) const
- { return false; }
- };
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_swap(__sso_string_base& __rcs)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<_CharT_alloc_type>::_S_do_it(_M_get_allocator(),
- __rcs._M_get_allocator());
-
- if (_M_is_local())
- if (__rcs._M_is_local())
- {
- if (_M_length() && __rcs._M_length())
- {
- _CharT __tmp_data[_S_local_capacity + 1];
- traits_type::copy(__tmp_data, __rcs._M_local_data,
- _S_local_capacity + 1);
- traits_type::copy(__rcs._M_local_data, _M_local_data,
- _S_local_capacity + 1);
- traits_type::copy(_M_local_data, __tmp_data,
- _S_local_capacity + 1);
- }
- else if (__rcs._M_length())
- {
- traits_type::copy(_M_local_data, __rcs._M_local_data,
- _S_local_capacity + 1);
- _M_length(__rcs._M_length());
- __rcs._M_set_length(0);
- return;
- }
- else if (_M_length())
- {
- traits_type::copy(__rcs._M_local_data, _M_local_data,
- _S_local_capacity + 1);
- __rcs._M_length(_M_length());
- _M_set_length(0);
- return;
- }
- }
- else
- {
- const size_type __tmp_capacity = __rcs._M_allocated_capacity;
- traits_type::copy(__rcs._M_local_data, _M_local_data,
- _S_local_capacity + 1);
- _M_data(__rcs._M_data());
- __rcs._M_data(__rcs._M_local_data);
- _M_capacity(__tmp_capacity);
- }
- else
- {
- const size_type __tmp_capacity = _M_allocated_capacity;
- if (__rcs._M_is_local())
- {
- traits_type::copy(_M_local_data, __rcs._M_local_data,
- _S_local_capacity + 1);
- __rcs._M_data(_M_data());
- _M_data(_M_local_data);
- }
- else
- {
- _CharT* __tmp_ptr = _M_data();
- _M_data(__rcs._M_data());
- __rcs._M_data(__tmp_ptr);
- _M_capacity(__rcs._M_allocated_capacity);
- }
- __rcs._M_capacity(__tmp_capacity);
- }
-
- const size_type __tmp_length = _M_length();
- _M_length(__rcs._M_length());
- __rcs._M_length(__tmp_length);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- _CharT*
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_create(size_type& __capacity, size_type __old_capacity)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 83. String::npos vs. string::max_size()
- if (__capacity > _M_max_size())
- std::__throw_length_error(__N("__sso_string_base::_M_create"));
-
- // The below implements an exponential growth policy, necessary to
- // meet amortized linear time requirements of the library: see
- // http://gcc.gnu.org/ml/libstdc++/2001-07/msg00085.html.
- if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
- {
- __capacity = 2 * __old_capacity;
- // Never allocate a string bigger than max_size.
- if (__capacity > _M_max_size())
- __capacity = _M_max_size();
- }
-
- // NB: Need an array of char_type[__capacity], plus a terminating
- // null char_type() element.
- return _M_get_allocator().allocate(__capacity + 1);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- __sso_string_base<_CharT, _Traits, _Alloc>::
- __sso_string_base(const _Alloc& __a)
- : _M_dataplus(__a, _M_local_data)
- { _M_set_length(0); }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- __sso_string_base<_CharT, _Traits, _Alloc>::
- __sso_string_base(const __sso_string_base& __rcs)
- : _M_dataplus(__rcs._M_get_allocator(), _M_local_data)
- { _M_construct(__rcs._M_data(), __rcs._M_data() + __rcs._M_length()); }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- __sso_string_base<_CharT, _Traits, _Alloc>::
- __sso_string_base(size_type __n, _CharT __c, const _Alloc& __a)
- : _M_dataplus(__a, _M_local_data)
- { _M_construct(__n, __c); }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InputIterator>
- __sso_string_base<_CharT, _Traits, _Alloc>::
- __sso_string_base(_InputIterator __beg, _InputIterator __end,
- const _Alloc& __a)
- : _M_dataplus(__a, _M_local_data)
- { _M_construct(__beg, __end); }
-
- // NB: This is the special case for Input Iterators, used in
- // istreambuf_iterators, etc.
- // Input Iterators have a cost structure very different from
- // pointers, calling for a different coding style.
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InIterator>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_construct(_InIterator __beg, _InIterator __end,
- std::input_iterator_tag)
- {
- size_type __len = 0;
- size_type __capacity = size_type(_S_local_capacity);
-
- while (__beg != __end && __len < __capacity)
- {
- _M_data()[__len++] = *__beg;
- ++__beg;
- }
-
- try
- {
- while (__beg != __end)
- {
- if (__len == __capacity)
- {
- // Allocate more space.
- __capacity = __len + 1;
- _CharT* __another = _M_create(__capacity, __len);
- _S_copy(__another, _M_data(), __len);
- _M_dispose();
- _M_data(__another);
- _M_capacity(__capacity);
- }
- _M_data()[__len++] = *__beg;
- ++__beg;
- }
- }
- catch(...)
- {
- _M_dispose();
- __throw_exception_again;
- }
-
- _M_set_length(__len);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- template<typename _InIterator>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_construct(_InIterator __beg, _InIterator __end,
- std::forward_iterator_tag)
- {
- // NB: Not required, but considered best practice.
- if (__builtin_expect(_S_is_null_pointer(__beg) && __beg != __end, 0))
- std::__throw_logic_error(__N("__sso_string_base::"
- "_M_construct NULL not valid"));
-
- size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
-
- if (__dnew > size_type(_S_local_capacity))
- {
- _M_data(_M_create(__dnew, size_type(0)));
- _M_capacity(__dnew);
- }
-
- // Check for out_of_range and length_error exceptions.
- try
- { _S_copy_chars(_M_data(), __beg, __end); }
- catch(...)
- {
- _M_dispose();
- __throw_exception_again;
- }
-
- _M_set_length(__dnew);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_construct(size_type __n, _CharT __c)
- {
- if (__n > size_type(_S_local_capacity))
- {
- _M_data(_M_create(__n, size_type(0)));
- _M_capacity(__n);
- }
-
- if (__n)
- _S_assign(_M_data(), __n, __c);
-
- _M_set_length(__n);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_assign(const __sso_string_base& __rcs)
- {
- if (this != &__rcs)
- {
- const size_type __rsize = __rcs._M_length();
- const size_type __capacity = _M_capacity();
-
- if (__rsize > __capacity)
- {
- size_type __new_capacity = __rsize;
- _CharT* __tmp = _M_create(__new_capacity, __capacity);
- _M_dispose();
- _M_data(__tmp);
- _M_capacity(__new_capacity);
- }
-
- if (__rsize)
- _S_copy(_M_data(), __rcs._M_data(), __rsize);
-
- _M_set_length(__rsize);
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_reserve(size_type __res)
- {
- // Make sure we don't shrink below the current size.
- if (__res < _M_length())
- __res = _M_length();
-
- const size_type __capacity = _M_capacity();
- if (__res != __capacity)
- {
- if (__res > __capacity
- || __res > size_type(_S_local_capacity))
- {
- _CharT* __tmp = _M_create(__res, __capacity);
- _S_copy(__tmp, _M_data(), _M_length() + 1);
- _M_dispose();
- _M_data(__tmp);
- _M_capacity(__res);
- }
- else if (!_M_is_local())
- {
- _S_copy(_M_local_data, _M_data(), _M_length() + 1);
- _M_destroy(__capacity);
- _M_data(_M_local_data);
- }
- }
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
- const size_type __len2)
- {
- const size_type __how_much = _M_length() - __pos - __len1;
-
- size_type __new_capacity = _M_length() + __len2 - __len1;
- _CharT* __r = _M_create(__new_capacity, _M_capacity());
-
- if (__pos)
- _S_copy(__r, _M_data(), __pos);
- if (__s && __len2)
- _S_copy(__r + __pos, __s, __len2);
- if (__how_much)
- _S_copy(__r + __pos + __len2,
- _M_data() + __pos + __len1, __how_much);
-
- _M_dispose();
- _M_data(__r);
- _M_capacity(__new_capacity);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- void
- __sso_string_base<_CharT, _Traits, _Alloc>::
- _M_erase(size_type __pos, size_type __n)
- {
- const size_type __how_much = _M_length() - __pos - __n;
-
- if (__how_much && __n)
- _S_move(_M_data() + __pos, _M_data() + __pos + __n,
- __how_much);
-
- _M_set_length(_M_length() - __n);
- }
-
- template<>
- inline bool
- __sso_string_base<char, std::char_traits<char>,
- std::allocator<char> >::
- _M_compare(const __sso_string_base& __rcs) const
- {
- if (this == &__rcs)
- return true;
- return false;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- inline bool
- __sso_string_base<wchar_t, std::char_traits<wchar_t>,
- std::allocator<wchar_t> >::
- _M_compare(const __sso_string_base& __rcs) const
- {
- if (this == &__rcs)
- return true;
- return false;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _SSO_STRING_BASE_H */
diff --git a/contrib/libstdc++/include/ext/stdio_filebuf.h b/contrib/libstdc++/include/ext/stdio_filebuf.h
deleted file mode 100644
index 312a21771110..000000000000
--- a/contrib/libstdc++/include/ext/stdio_filebuf.h
+++ /dev/null
@@ -1,162 +0,0 @@
-// File descriptor layer for filebuf -*- C++ -*-
-
-// Copyright (C) 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 ext/stdio_filebuf.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _STDIO_FILEBUF_H
-#define _STDIO_FILEBUF_H 1
-
-#pragma GCC system_header
-
-#include <fstream>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- /**
- * @brief Provides a layer of compatibility for C/POSIX.
- *
- * This GNU extension provides extensions for working with standard C
- * FILE*'s and POSIX file descriptors. It must be instantiated by the
- * user with the type of character used in the file stream, e.g.,
- * stdio_filebuf<char>.
- */
- template<typename _CharT, typename _Traits = std::char_traits<_CharT> >
- class stdio_filebuf : public std::basic_filebuf<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
- typedef std::size_t size_t;
-
- public:
- /**
- * deferred initialization
- */
- stdio_filebuf() : std::basic_filebuf<_CharT, _Traits>() {}
-
- /**
- * @param fd An open file descriptor.
- * @param mode Same meaning as in a standard filebuf.
- * @param size Optimal or preferred size of internal buffer, in chars.
- *
- * This constructor associates a file stream buffer with an open
- * POSIX file descriptor. The file descriptor will be automatically
- * closed when the stdio_filebuf is closed/destroyed.
- */
- stdio_filebuf(int __fd, std::ios_base::openmode __mode,
- size_t __size = static_cast<size_t>(BUFSIZ));
-
- /**
- * @param f An open @c FILE*.
- * @param mode Same meaning as in a standard filebuf.
- * @param size Optimal or preferred size of internal buffer, in chars.
- * Defaults to system's @c BUFSIZ.
- *
- * This constructor associates a file stream buffer with an open
- * C @c FILE*. The @c FILE* will not be automatically closed when the
- * stdio_filebuf is closed/destroyed.
- */
- stdio_filebuf(std::__c_file* __f, std::ios_base::openmode __mode,
- size_t __size = static_cast<size_t>(BUFSIZ));
-
- /**
- * Closes the external data stream if the file descriptor constructor
- * was used.
- */
- virtual
- ~stdio_filebuf();
-
- /**
- * @return The underlying file descriptor.
- *
- * Once associated with an external data stream, this function can be
- * used to access the underlying POSIX file descriptor. Note that
- * there is no way for the library to track what you do with the
- * descriptor, so be careful.
- */
- int
- fd() { return this->_M_file.fd(); }
-
- /**
- * @return The underlying FILE*.
- *
- * This function can be used to access the underlying "C" file pointer.
- * Note that there is no way for the library to track what you do
- * with the file, so be careful.
- */
- std::__c_file*
- file() { return this->_M_file.file(); }
- };
-
- template<typename _CharT, typename _Traits>
- stdio_filebuf<_CharT, _Traits>::~stdio_filebuf()
- { }
-
- template<typename _CharT, typename _Traits>
- stdio_filebuf<_CharT, _Traits>::
- stdio_filebuf(int __fd, std::ios_base::openmode __mode, size_t __size)
- {
- this->_M_file.sys_open(__fd, __mode);
- if (this->is_open())
- {
- this->_M_mode = __mode;
- this->_M_buf_size = __size;
- this->_M_allocate_internal_buffer();
- this->_M_reading = false;
- this->_M_writing = false;
- this->_M_set_buffer(-1);
- }
- }
-
- template<typename _CharT, typename _Traits>
- stdio_filebuf<_CharT, _Traits>::
- stdio_filebuf(std::__c_file* __f, std::ios_base::openmode __mode,
- size_t __size)
- {
- this->_M_file.sys_open(__f, __mode);
- if (this->is_open())
- {
- this->_M_mode = __mode;
- this->_M_buf_size = __size;
- this->_M_allocate_internal_buffer();
- this->_M_reading = false;
- this->_M_writing = false;
- this->_M_set_buffer(-1);
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/stdio_sync_filebuf.h b/contrib/libstdc++/include/ext/stdio_sync_filebuf.h
deleted file mode 100644
index f0ec12c3a695..000000000000
--- a/contrib/libstdc++/include/ext/stdio_sync_filebuf.h
+++ /dev/null
@@ -1,283 +0,0 @@
-// Iostreams wrapper for stdio FILE* -*- C++ -*-
-
-// Copyright (C) 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 ext/stdio_sync_filebuf.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _STDIO_SYNC_FILEBUF_H
-#define _STDIO_SYNC_FILEBUF_H 1
-
-#pragma GCC system_header
-
-#include <streambuf>
-#include <unistd.h>
-#include <cstdio>
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-#include <cwchar>
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- /// @brief class stdio_sync_filebuf.
- template<typename _CharT, typename _Traits = std::char_traits<_CharT> >
- class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- private:
- // Underlying stdio FILE
- std::__c_file* const _M_file;
-
- // Last character gotten. This is used when pbackfail is
- // called from basic_streambuf::sungetc()
- int_type _M_unget_buf;
-
- public:
- explicit
- stdio_sync_filebuf(std::__c_file* __f)
- : _M_file(__f), _M_unget_buf(traits_type::eof())
- { }
-
- /**
- * @return The underlying FILE*.
- *
- * This function can be used to access the underlying "C" file pointer.
- * Note that there is no way for the library to track what you do
- * with the file, so be careful.
- */
- std::__c_file* const
- file() { return this->_M_file; }
-
- protected:
- int_type
- syncgetc();
-
- int_type
- syncungetc(int_type __c);
-
- int_type
- syncputc(int_type __c);
-
- virtual int_type
- underflow()
- {
- int_type __c = this->syncgetc();
- return this->syncungetc(__c);
- }
-
- virtual int_type
- uflow()
- {
- // Store the gotten character in case we need to unget it.
- _M_unget_buf = this->syncgetc();
- return _M_unget_buf;
- }
-
- virtual int_type
- pbackfail(int_type __c = traits_type::eof())
- {
- int_type __ret;
- const int_type __eof = traits_type::eof();
-
- // Check if the unget or putback was requested
- if (traits_type::eq_int_type(__c, __eof)) // unget
- {
- if (!traits_type::eq_int_type(_M_unget_buf, __eof))
- __ret = this->syncungetc(_M_unget_buf);
- else // buffer invalid, fail.
- __ret = __eof;
- }
- else // putback
- __ret = this->syncungetc(__c);
-
- // The buffered character is no longer valid, discard it.
- _M_unget_buf = __eof;
- return __ret;
- }
-
- virtual std::streamsize
- xsgetn(char_type* __s, std::streamsize __n);
-
- virtual int_type
- overflow(int_type __c = traits_type::eof())
- {
- int_type __ret;
- if (traits_type::eq_int_type(__c, traits_type::eof()))
- {
- if (std::fflush(_M_file))
- __ret = traits_type::eof();
- else
- __ret = traits_type::not_eof(__c);
- }
- else
- __ret = this->syncputc(__c);
- return __ret;
- }
-
- virtual std::streamsize
- xsputn(const char_type* __s, std::streamsize __n);
-
- virtual int
- sync()
- { return std::fflush(_M_file); }
-
- virtual std::streampos
- seekoff(std::streamoff __off, std::ios_base::seekdir __dir,
- std::ios_base::openmode = std::ios_base::in | std::ios_base::out)
- {
- std::streampos __ret(std::streamoff(-1));
- int __whence;
- if (__dir == std::ios_base::beg)
- __whence = SEEK_SET;
- else if (__dir == std::ios_base::cur)
- __whence = SEEK_CUR;
- else
- __whence = SEEK_END;
-#ifdef _GLIBCXX_USE_LFS
- if (!fseeko64(_M_file, __off, __whence))
- __ret = std::streampos(ftello64(_M_file));
-#else
- if (!fseek(_M_file, __off, __whence))
- __ret = std::streampos(std::ftell(_M_file));
-#endif
- return __ret;
- }
-
- virtual std::streampos
- seekpos(std::streampos __pos,
- std::ios_base::openmode __mode =
- std::ios_base::in | std::ios_base::out)
- { return seekoff(std::streamoff(__pos), std::ios_base::beg, __mode); }
- };
-
- template<>
- inline stdio_sync_filebuf<char>::int_type
- stdio_sync_filebuf<char>::syncgetc()
- { return std::getc(_M_file); }
-
- template<>
- inline stdio_sync_filebuf<char>::int_type
- stdio_sync_filebuf<char>::syncungetc(int_type __c)
- { return std::ungetc(__c, _M_file); }
-
- template<>
- inline stdio_sync_filebuf<char>::int_type
- stdio_sync_filebuf<char>::syncputc(int_type __c)
- { return std::putc(__c, _M_file); }
-
- template<>
- inline std::streamsize
- stdio_sync_filebuf<char>::xsgetn(char* __s, std::streamsize __n)
- {
- std::streamsize __ret = std::fread(__s, 1, __n, _M_file);
- if (__ret > 0)
- _M_unget_buf = traits_type::to_int_type(__s[__ret - 1]);
- else
- _M_unget_buf = traits_type::eof();
- return __ret;
- }
-
- template<>
- inline std::streamsize
- stdio_sync_filebuf<char>::xsputn(const char* __s, std::streamsize __n)
- { return std::fwrite(__s, 1, __n, _M_file); }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- inline stdio_sync_filebuf<wchar_t>::int_type
- stdio_sync_filebuf<wchar_t>::syncgetc()
- { return std::getwc(_M_file); }
-
- template<>
- inline stdio_sync_filebuf<wchar_t>::int_type
- stdio_sync_filebuf<wchar_t>::syncungetc(int_type __c)
- { return std::ungetwc(__c, _M_file); }
-
- template<>
- inline stdio_sync_filebuf<wchar_t>::int_type
- stdio_sync_filebuf<wchar_t>::syncputc(int_type __c)
- { return std::putwc(__c, _M_file); }
-
- template<>
- inline std::streamsize
- stdio_sync_filebuf<wchar_t>::xsgetn(wchar_t* __s, std::streamsize __n)
- {
- std::streamsize __ret = 0;
- const int_type __eof = traits_type::eof();
- while (__n--)
- {
- int_type __c = this->syncgetc();
- if (traits_type::eq_int_type(__c, __eof))
- break;
- __s[__ret] = traits_type::to_char_type(__c);
- ++__ret;
- }
-
- if (__ret > 0)
- _M_unget_buf = traits_type::to_int_type(__s[__ret - 1]);
- else
- _M_unget_buf = traits_type::eof();
- return __ret;
- }
-
- template<>
- inline std::streamsize
- stdio_sync_filebuf<wchar_t>::xsputn(const wchar_t* __s,
- std::streamsize __n)
- {
- std::streamsize __ret = 0;
- const int_type __eof = traits_type::eof();
- while (__n--)
- {
- if (traits_type::eq_int_type(this->syncputc(*__s++), __eof))
- break;
- ++__ret;
- }
- return __ret;
- }
-#endif
-
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template class stdio_sync_filebuf<char>;
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template class stdio_sync_filebuf<wchar_t>;
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/throw_allocator.h b/contrib/libstdc++/include/ext/throw_allocator.h
deleted file mode 100644
index 8862153ed7eb..000000000000
--- a/contrib/libstdc++/include/ext/throw_allocator.h
+++ /dev/null
@@ -1,437 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-
-// As a special exception, you may use this file as part of a free
-// software library without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to
-// produce an executable, this file does not by itself cause the
-// resulting executable to be covered by the GNU General Public
-// License. This exception does not however invalidate any other
-// reasons why the executable file might be covered by the GNU General
-// Public License.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/** @file ext/vstring.h
- * This file is a GNU extension to the Standard C++ Library.
- *
- * Contains an exception-throwing allocator, useful for testing
- * exception safety. In addition, allocation addresses are stored and
- * sanity checked.
- */
-
-/**
- * @file throw_allocator.h
- */
-
-#ifndef _THROW_ALLOCATOR_H
-#define _THROW_ALLOCATOR_H 1
-
-#include <cmath>
-#include <map>
-#include <set>
-#include <string>
-#include <ostream>
-#include <stdexcept>
-#include <utility>
-#include <tr1/random>
-#include <bits/functexcept.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- class twister_rand_gen
- {
- public:
- twister_rand_gen(unsigned int seed =
- static_cast<unsigned int>(std::time(0)));
-
- void
- init(unsigned int);
-
- double
- get_prob();
-
- private:
- std::tr1::mt19937 _M_generator;
- };
-
- struct forced_exception_error : public std::exception
- { };
-
- // Substitute for concurrence_error object in the case of -fno-exceptions.
- inline void
- __throw_forced_exception_error()
- {
-#if __EXCEPTIONS
- throw forced_exception_error();
-#else
- __builtin_abort();
-#endif
- }
-
- class throw_allocator_base
- {
- public:
- void
- init(unsigned long seed);
-
- static void
- set_throw_prob(double throw_prob);
-
- static double
- get_throw_prob();
-
- static void
- set_label(size_t l);
-
- static bool
- empty();
-
- struct group_throw_prob_adjustor
- {
- group_throw_prob_adjustor(size_t size)
- : _M_throw_prob_orig(_S_throw_prob)
- {
- _S_throw_prob =
- 1 - ::pow(double(1 - _S_throw_prob), double(0.5 / (size + 1)));
- }
-
- ~group_throw_prob_adjustor()
- { _S_throw_prob = _M_throw_prob_orig; }
-
- private:
- const double _M_throw_prob_orig;
- };
-
- struct zero_throw_prob_adjustor
- {
- zero_throw_prob_adjustor() : _M_throw_prob_orig(_S_throw_prob)
- { _S_throw_prob = 0; }
-
- ~zero_throw_prob_adjustor()
- { _S_throw_prob = _M_throw_prob_orig; }
-
- private:
- const double _M_throw_prob_orig;
- };
-
- protected:
- static void
- insert(void*, size_t);
-
- static void
- erase(void*, size_t);
-
- static void
- throw_conditionally();
-
- // See if a particular address and size has been allocated by this
- // allocator.
- static void
- check_allocated(void*, size_t);
-
- // See if a given label has been allocated by this allocator.
- static void
- check_allocated(size_t);
-
- private:
- typedef std::pair<size_t, size_t> alloc_data_type;
- typedef std::map<void*, alloc_data_type> map_type;
- typedef map_type::value_type entry_type;
- typedef map_type::const_iterator const_iterator;
- typedef map_type::const_reference const_reference;
-
- friend std::ostream&
- operator<<(std::ostream&, const throw_allocator_base&);
-
- static entry_type
- make_entry(void*, size_t);
-
- static void
- print_to_string(std::string&);
-
- static void
- print_to_string(std::string&, const_reference);
-
- static twister_rand_gen _S_g;
- static map_type _S_map;
- static double _S_throw_prob;
- static size_t _S_label;
- };
-
-
- template<typename T>
- class throw_allocator : public throw_allocator_base
- {
- public:
- typedef size_t size_type;
- typedef ptrdiff_t difference_type;
- typedef T value_type;
- typedef value_type* pointer;
- typedef const value_type* const_pointer;
- typedef value_type& reference;
- typedef const value_type& const_reference;
-
-
- template<typename U>
- struct rebind
- {
- typedef throw_allocator<U> other;
- };
-
- throw_allocator() throw() { }
-
- throw_allocator(const throw_allocator&) throw() { }
-
- template<typename U>
- throw_allocator(const throw_allocator<U>&) throw() { }
-
- ~throw_allocator() throw() { }
-
- size_type
- max_size() const throw()
- { return std::allocator<value_type>().max_size(); }
-
- pointer
- allocate(size_type num, std::allocator<void>::const_pointer hint = 0)
- {
- throw_conditionally();
- value_type* const a = std::allocator<value_type>().allocate(num, hint);
- insert(a, sizeof(value_type) * num);
- return a;
- }
-
- void
- construct(pointer p, const T& val)
- { return std::allocator<value_type>().construct(p, val); }
-
- void
- destroy(pointer p)
- { std::allocator<value_type>().destroy(p); }
-
- void
- deallocate(pointer p, size_type num)
- {
- erase(p, sizeof(value_type) * num);
- std::allocator<value_type>().deallocate(p, num);
- }
-
- void
- check_allocated(pointer p, size_type num)
- { throw_allocator_base::check_allocated(p, sizeof(value_type) * num); }
-
- void
- check_allocated(size_type label)
- { throw_allocator_base::check_allocated(label); }
- };
-
- template<typename T>
- inline bool
- operator==(const throw_allocator<T>&, const throw_allocator<T>&)
- { return true; }
-
- template<typename T>
- inline bool
- operator!=(const throw_allocator<T>&, const throw_allocator<T>&)
- { return false; }
-
- std::ostream&
- operator<<(std::ostream& os, const throw_allocator_base& alloc)
- {
- std::string error;
- throw_allocator_base::print_to_string(error);
- os << error;
- return os;
- }
-
- // XXX Should be in .cc.
- twister_rand_gen::
- twister_rand_gen(unsigned int seed) : _M_generator(seed) { }
-
- void
- twister_rand_gen::
- init(unsigned int seed)
- { _M_generator.seed(seed); }
-
- double
- twister_rand_gen::
- get_prob()
- {
- const double eng_min = _M_generator.min();
- const double eng_range =
- static_cast<const double>(_M_generator.max() - eng_min);
-
- const double eng_res =
- static_cast<const double>(_M_generator() - eng_min);
-
- const double ret = eng_res / eng_range;
- _GLIBCXX_DEBUG_ASSERT(ret >= 0 && ret <= 1);
- return ret;
- }
-
- twister_rand_gen throw_allocator_base::_S_g;
-
- throw_allocator_base::map_type
- throw_allocator_base::_S_map;
-
- double throw_allocator_base::_S_throw_prob;
-
- size_t throw_allocator_base::_S_label = 0;
-
- throw_allocator_base::entry_type
- throw_allocator_base::make_entry(void* p, size_t size)
- { return std::make_pair(p, alloc_data_type(_S_label, size)); }
-
- void
- throw_allocator_base::init(unsigned long seed)
- { _S_g.init(seed); }
-
- void
- throw_allocator_base::set_throw_prob(double throw_prob)
- { _S_throw_prob = throw_prob; }
-
- double
- throw_allocator_base::get_throw_prob()
- { return _S_throw_prob; }
-
- void
- throw_allocator_base::set_label(size_t l)
- { _S_label = l; }
-
- void
- throw_allocator_base::insert(void* p, size_t size)
- {
- const_iterator found_it = _S_map.find(p);
- if (found_it != _S_map.end())
- {
- std::string error("throw_allocator_base::insert");
- error += "double insert!";
- error += '\n';
- print_to_string(error, make_entry(p, size));
- print_to_string(error, *found_it);
- std::__throw_logic_error(error.c_str());
- }
- _S_map.insert(make_entry(p, size));
- }
-
- bool
- throw_allocator_base::empty()
- { return _S_map.empty(); }
-
- void
- throw_allocator_base::erase(void* p, size_t size)
- {
- check_allocated(p, size);
- _S_map.erase(p);
- }
-
- void
- throw_allocator_base::check_allocated(void* p, size_t size)
- {
- const_iterator found_it = _S_map.find(p);
- if (found_it == _S_map.end())
- {
- std::string error("throw_allocator_base::check_allocated by value ");
- error += "null erase!";
- error += '\n';
- print_to_string(error, make_entry(p, size));
- std::__throw_logic_error(error.c_str());
- }
-
- if (found_it->second.second != size)
- {
- std::string error("throw_allocator_base::check_allocated by value ");
- error += "wrong-size erase!";
- error += '\n';
- print_to_string(error, make_entry(p, size));
- print_to_string(error, *found_it);
- std::__throw_logic_error(error.c_str());
- }
- }
-
- void
- throw_allocator_base::check_allocated(size_t label)
- {
- std::string found;
- const_iterator it = _S_map.begin();
- while (it != _S_map.end())
- {
- if (it->second.first == label)
- print_to_string(found, *it);
- ++it;
- }
-
- if (!found.empty())
- {
- std::string error("throw_allocator_base::check_allocated by label ");
- error += '\n';
- error += found;
- std::__throw_logic_error(error.c_str());
- }
- }
-
- void
- throw_allocator_base::throw_conditionally()
- {
- if (_S_g.get_prob() < _S_throw_prob)
- __throw_forced_exception_error();
- }
-
- void
- throw_allocator_base::print_to_string(std::string& s)
- {
- const_iterator begin = throw_allocator_base::_S_map.begin();
- const_iterator end = throw_allocator_base::_S_map.end();
- for (; begin != end; ++begin)
- print_to_string(s, *begin);
- }
-
- void
- throw_allocator_base::print_to_string(std::string& s, const_reference ref)
- {
- char buf[40];
- const char tab('\t');
- s += "address: ";
- sprintf(buf, "%p", ref.first);
- s += buf;
- s += tab;
- s += "label: ";
- sprintf(buf, "%lu", ref.second.first);
- s += buf;
- s += tab;
- s += "size: ";
- sprintf(buf, "%lu", ref.second.second);
- s += buf;
- s += '\n';
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/type_traits.h b/contrib/libstdc++/include/ext/type_traits.h
deleted file mode 100644
index 31a7e9bddebc..000000000000
--- a/contrib/libstdc++/include/ext/type_traits.h
+++ /dev/null
@@ -1,153 +0,0 @@
-// -*- C++ -*-
-
-// 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 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 ext/type_traits.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _EXT_TYPE_TRAITS
-#define _EXT_TYPE_TRAITS 1
-
-#pragma GCC system_header
-
-#include <cstddef>
-#include <utility>
-#include <bits/cpp_type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // Define a nested type if some predicate holds.
- template<bool, typename>
- struct __enable_if
- { };
-
- template<typename _Tp>
- struct __enable_if<true, _Tp>
- { typedef _Tp __type; };
-
-
- // Conditional expression for types. If true, first, if false, second.
- template<bool _Cond, typename _Iftrue, typename _Iffalse>
- struct __conditional_type
- { typedef _Iftrue __type; };
-
- template<typename _Iftrue, typename _Iffalse>
- struct __conditional_type<false, _Iftrue, _Iffalse>
- { typedef _Iffalse __type; };
-
-
- // Given an integral builtin type, return the corresponding unsigned type.
- template<typename _Tp>
- struct __add_unsigned
- {
- private:
- typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
-
- public:
- typedef typename __if_type::__type __type;
- };
-
- template<>
- struct __add_unsigned<char>
- { typedef unsigned char __type; };
-
- template<>
- struct __add_unsigned<signed char>
- { typedef unsigned char __type; };
-
- template<>
- struct __add_unsigned<short>
- { typedef unsigned short __type; };
-
- template<>
- struct __add_unsigned<int>
- { typedef unsigned int __type; };
-
- template<>
- struct __add_unsigned<long>
- { typedef unsigned long __type; };
-
- template<>
- struct __add_unsigned<long long>
- { typedef unsigned long long __type; };
-
- // Declare but don't define.
- template<>
- struct __add_unsigned<bool>;
-
- template<>
- struct __add_unsigned<wchar_t>;
-
-
- // Given an integral builtin type, return the corresponding signed type.
- template<typename _Tp>
- struct __remove_unsigned
- {
- private:
- typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
-
- public:
- typedef typename __if_type::__type __type;
- };
-
- template<>
- struct __remove_unsigned<char>
- { typedef signed char __type; };
-
- template<>
- struct __remove_unsigned<unsigned char>
- { typedef signed char __type; };
-
- template<>
- struct __remove_unsigned<unsigned short>
- { typedef short __type; };
-
- template<>
- struct __remove_unsigned<unsigned int>
- { typedef int __type; };
-
- template<>
- struct __remove_unsigned<unsigned long>
- { typedef long __type; };
-
- template<>
- struct __remove_unsigned<unsigned long long>
- { typedef long long __type; };
-
- // Declare but don't define.
- template<>
- struct __remove_unsigned<bool>;
-
- template<>
- struct __remove_unsigned<wchar_t>;
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/include/ext/typelist.h b/contrib/libstdc++/include/ext/typelist.h
deleted file mode 100644
index 1c99783923d6..000000000000
--- a/contrib/libstdc++/include/ext/typelist.h
+++ /dev/null
@@ -1,473 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 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.
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice and
-// this permission notice appear in supporting documentation. None of
-// the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied warranty.
-
-/**
- * @file typelist.h
- * Contains typelist_chain definitions.
- * Typelists are an idea by Andrei Alexandrescu.
- */
-
-#ifndef _TYPELIST_H
-#define _TYPELIST_H 1
-
-#include <ext/type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
-namespace typelist
-{
- struct null_type { };
-
- template<typename Root>
- struct node
- {
- typedef Root root;
- };
-
- // Forward declarations of functors.
- template<typename Hd, typename Typelist>
- struct chain
- {
- typedef Hd head;
- typedef Typelist tail;
- };
-
- template<typename Fn, class Typelist>
- void
- apply(Fn&, Typelist);
-
- template<typename Typelist0, typename Typelist1>
- struct append;
-
- template<typename Typelist_Typelist>
- struct append_typelist;
-
- template<typename Typelist, typename T>
- struct contains;
-
- template<typename Typelist, template<typename T> class Pred>
- struct filter;
-
- template<typename Typelist, int i>
- struct at_index;
-
- template<typename Typelist, template<typename T> class Transform>
- struct transform;
-
- template<typename Typelist_Typelist>
- struct flatten;
-
- template<typename Typelist>
- struct from_first;
-
- template<typename T1>
- struct create1;
-
- template<typename T1, typename T2>
- struct create2;
-
- template<typename T1, typename T2, typename T3>
- struct create3;
-
- template<typename T1, typename T2, typename T3, typename T4>
- struct create4;
-
- template<typename T1, typename T2, typename T3, typename T4, typename T5>
- struct create5;
-
- template<typename T1, typename T2, typename T3,
- typename T4, typename T5, typename T6>
- struct create6;
-} // namespace typelist
-
-_GLIBCXX_END_NAMESPACE
-
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
-namespace typelist
-{
-namespace detail
-{
- template<typename Fn, typename Typelist_Chain>
- struct apply_;
-
- template<typename Fn, typename Hd, typename Tl>
- struct apply_<Fn, chain<Hd, Tl> >
- {
- void
- operator() (Fn& f)
- {
- f.operator()(Hd());
- apply_<Fn, Tl> next;
- next(f);
- }
- };
-
- template<typename Fn>
- struct apply_<Fn, null_type>
- {
- void
- operator()(Fn&) { }
- };
-
- template<typename Typelist_Chain0, typename Typelist_Chain1>
- struct append_;
-
- template<typename Hd, typename Tl, typename Typelist_Chain>
- struct append_<chain<Hd, Tl>, Typelist_Chain>
- {
- private:
- typedef append_<Tl, Typelist_Chain> append_type;
-
- public:
- typedef chain<Hd, typename append_type::type> type;
- };
-
- template<typename Typelist_Chain>
- struct append_<null_type, Typelist_Chain>
- {
- typedef Typelist_Chain type;
- };
-
- template<typename Typelist_Chain>
- struct append_<Typelist_Chain, null_type>
- {
- typedef Typelist_Chain type;
- };
-
- template<>
- struct append_<null_type, null_type>
- {
- typedef null_type type;
- };
-
- template<typename Typelist_Typelist_Chain>
- struct append_typelist_;
-
- template<typename Hd>
- struct append_typelist_<chain<Hd, null_type> >
- {
- typedef chain<Hd, null_type> type;
- };
-
- template<typename Hd, typename Tl>
- struct append_typelist_<chain< Hd, Tl> >
- {
- private:
- typedef typename append_typelist_<Tl>::type rest_type;
-
- public:
- typedef typename append<Hd, node<rest_type> >::type::root type;
- };
-
- template<typename Typelist_Chain, typename T>
- struct contains_;
-
- template<typename T>
- struct contains_<null_type, T>
- {
- enum
- {
- value = false
- };
- };
-
- template<typename Hd, typename Tl, typename T>
- struct contains_<chain<Hd, Tl>, T>
- {
- enum
- {
- value = contains_<Tl, T>::value
- };
- };
-
- template<typename Tl, typename T>
- struct contains_<chain<T, Tl>, T>
- {
- enum
- {
- value = true
- };
- };
-
- template<typename Typelist_Chain, template<typename T> class Pred>
- struct chain_filter_;
-
- template<template<typename T> class Pred>
- struct chain_filter_<null_type, Pred>
- {
- typedef null_type type;
- };
-
- template<typename Hd, typename Tl, template<typename T> class Pred>
- struct chain_filter_<chain<Hd, Tl>, Pred>
- {
- private:
- enum
- {
- include_hd = Pred<Hd>::value
- };
-
- typedef typename chain_filter_<Tl, Pred>::type rest_type;
- typedef chain<Hd, rest_type> chain_type;
-
- public:
- typedef typename __conditional_type<include_hd, chain_type, rest_type>::__type type;
- };
-
- template<typename Typelist_Chain, int i>
- struct chain_at_index_;
-
- template<typename Hd, typename Tl>
- struct chain_at_index_<chain<Hd, Tl>, 0>
- {
- typedef Hd type;
- };
-
- template<typename Hd, typename Tl, int i>
- struct chain_at_index_<chain<Hd, Tl>, i>
- {
- typedef typename chain_at_index_<Tl, i - 1>::type type;
- };
-
- template<class Typelist_Chain, template<typename T> class Transform>
- struct chain_transform_;
-
- template<template<typename T> class Transform>
- struct chain_transform_<null_type, Transform>
- {
- typedef null_type type;
- };
-
- template<class Hd, class Tl, template<typename T> class Transform>
- struct chain_transform_<chain<Hd, Tl>, Transform>
- {
- private:
- typedef typename chain_transform_<Tl, Transform>::type rest_type;
- typedef typename Transform<Hd>::type transform_type;
-
- public:
- typedef chain<transform_type, rest_type> type;
- };
-
- template<typename Typelist_Typelist_Chain>
- struct chain_flatten_;
-
- template<typename Hd_Tl>
- struct chain_flatten_<chain<Hd_Tl, null_type> >
- {
- typedef typename Hd_Tl::root type;
- };
-
- template<typename Hd_Typelist, class Tl_Typelist>
- struct chain_flatten_<chain<Hd_Typelist, Tl_Typelist> >
- {
- private:
- typedef typename chain_flatten_<Tl_Typelist>::type rest_type;
- typedef append<Hd_Typelist, node<rest_type> > append_type;
- public:
- typedef typename append_type::type::root type;
- };
-} // namespace detail
-} // namespace typelist
-
-_GLIBCXX_END_NAMESPACE
-
-#define _GLIBCXX_TYPELIST_CHAIN1(X0) __gnu_cxx::typelist::chain<X0, __gnu_cxx::typelist::null_type>
-#define _GLIBCXX_TYPELIST_CHAIN2(X0, X1) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN1(X1) >
-#define _GLIBCXX_TYPELIST_CHAIN3(X0, X1, X2) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN2(X1, X2) >
-#define _GLIBCXX_TYPELIST_CHAIN4(X0, X1, X2, X3) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN3(X1, X2, X3) >
-#define _GLIBCXX_TYPELIST_CHAIN5(X0, X1, X2, X3, X4) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN4(X1, X2, X3, X4) >
-#define _GLIBCXX_TYPELIST_CHAIN6(X0, X1, X2, X3, X4, X5) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN5(X1, X2, X3, X4, X5) >
-#define _GLIBCXX_TYPELIST_CHAIN7(X0, X1, X2, X3, X4, X5, X6) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN6(X1, X2, X3, X4, X5, X6) >
-#define _GLIBCXX_TYPELIST_CHAIN8(X0, X1, X2, X3, X4, X5, X6, X7) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN7(X1, X2, X3, X4, X5, X6, X7) >
-#define _GLIBCXX_TYPELIST_CHAIN9(X0, X1, X2, X3, X4, X5, X6, X7, X8) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN8(X1, X2, X3, X4, X5, X6, X7, X8) >
-#define _GLIBCXX_TYPELIST_CHAIN10(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN9(X1, X2, X3, X4, X5, X6, X7, X8, X9) >
-#define _GLIBCXX_TYPELIST_CHAIN11(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN10(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) >
-#define _GLIBCXX_TYPELIST_CHAIN12(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN11(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) >
-#define _GLIBCXX_TYPELIST_CHAIN13(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN12(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) >
-#define _GLIBCXX_TYPELIST_CHAIN14(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN13(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) >
-#define _GLIBCXX_TYPELIST_CHAIN15(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) __gnu_cxx::typelist::chain<X0, _GLIBCXX_TYPELIST_CHAIN14(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) >
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
-namespace typelist
-{
- template<typename Fn, class Typelist>
- void
- apply(Fn& fn, Typelist)
- {
- detail::apply_<Fn, typename Typelist::root> a;
- a(fn);
- }
-
- template<typename Typelist0, typename Typelist1>
- struct append
- {
- private:
- typedef typename Typelist0::root root0_type;
- typedef typename Typelist1::root root1_type;
- typedef detail::append_<root0_type, root1_type> append_type;
-
- public:
- typedef node<typename append_type::type> type;
- };
-
- template<typename Typelist_Typelist>
- struct append_typelist
- {
- private:
- typedef typename Typelist_Typelist::root root_type;
- typedef detail::append_typelist_<root_type> append_type;
-
- public:
- typedef node<typename append_type::type> type;
- };
-
- template<typename Typelist, typename T>
- struct contains
- {
- private:
- typedef typename Typelist::root root_type;
-
- public:
- enum
- {
- value = detail::contains_<root_type, T>::value
- };
- };
-
- template<typename Typelist, template<typename T> class Pred>
- struct filter
- {
- private:
- typedef typename Typelist::root root_type;
- typedef detail::chain_filter_<root_type, Pred> filter_type;
-
- public:
- typedef node<typename filter_type::type> type;
- };
-
- template<typename Typelist, int i>
- struct at_index
- {
- private:
- typedef typename Typelist::root root_type;
- typedef detail::chain_at_index_<root_type, i> index_type;
-
- public:
- typedef typename index_type::type type;
- };
-
- template<typename Typelist, template<typename T> class Transform>
- struct transform
- {
- private:
- typedef typename Typelist::root root_type;
- typedef detail::chain_transform_<root_type, Transform> transform_type;
-
- public:
- typedef node<typename transform_type::type> type;
- };
-
- template<typename Typelist_Typelist>
- struct flatten
- {
- private:
- typedef typename Typelist_Typelist::root root_type;
- typedef typename detail::chain_flatten_<root_type>::type flatten_type;
-
- public:
- typedef node<flatten_type> type;
- };
-
- template<typename Typelist>
- struct from_first
- {
- private:
- typedef typename at_index<Typelist, 0>::type first_type;
-
- public:
- typedef node<chain<first_type, null_type> > type;
- };
-
- template<typename T1>
- struct create1
- {
- typedef node<_GLIBCXX_TYPELIST_CHAIN1(T1)> type;
- };
-
- template<typename T1, typename T2>
- struct create2
- {
- typedef node<_GLIBCXX_TYPELIST_CHAIN2(T1,T2)> type;
- };
-
- template<typename T1, typename T2, typename T3>
- struct create3
- {
- typedef node<_GLIBCXX_TYPELIST_CHAIN3(T1,T2,T3)> type;
- };
-
- template<typename T1, typename T2, typename T3, typename T4>
- struct create4
- {
- typedef node<_GLIBCXX_TYPELIST_CHAIN4(T1,T2,T3,T4)> type;
- };
-
- template<typename T1, typename T2, typename T3,
- typename T4, typename T5>
- struct create5
- {
- typedef node<_GLIBCXX_TYPELIST_CHAIN5(T1,T2,T3,T4,T5)> type;
- };
-
- template<typename T1, typename T2, typename T3,
- typename T4, typename T5, typename T6>
- struct create6
- {
- typedef node<_GLIBCXX_TYPELIST_CHAIN6(T1,T2,T3,T4,T5,T6)> type;
- };
-} // namespace typelist
-_GLIBCXX_END_NAMESPACE
-
-
-#endif
-
diff --git a/contrib/libstdc++/include/ext/vstring.h b/contrib/libstdc++/include/ext/vstring.h
deleted file mode 100644
index 38a2c9fd0712..000000000000
--- a/contrib/libstdc++/include/ext/vstring.h
+++ /dev/null
@@ -1,2198 +0,0 @@
-// Versatile string -*- C++ -*-
-
-// 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
-// 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 ext/vstring.h
- * This file is a GNU extension to the Standard C++ Library.
- */
-
-#ifndef _VSTRING_H
-#define _VSTRING_H 1
-
-#pragma GCC system_header
-
-#include <ext/vstring_util.h>
-#include <ext/rc_string_base.h>
-#include <ext/sso_string_base.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- /**
- * @class __versa_string vstring.h
- * @brief Managing sequences of characters and character-like objects.
- */
-
- // Template class __versa_string
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- class __versa_string
- : private _Base<_CharT, _Traits, _Alloc>
- {
- typedef _Base<_CharT, _Traits, _Alloc> __vstring_base;
- typedef typename __vstring_base::_CharT_alloc_type _CharT_alloc_type;
-
- // Types:
- public:
- typedef _Traits traits_type;
- typedef typename _Traits::char_type value_type;
- typedef _Alloc allocator_type;
- typedef typename _CharT_alloc_type::size_type size_type;
- typedef typename _CharT_alloc_type::difference_type difference_type;
- typedef typename _CharT_alloc_type::reference reference;
- typedef typename _CharT_alloc_type::const_reference const_reference;
- typedef typename _CharT_alloc_type::pointer pointer;
- typedef typename _CharT_alloc_type::const_pointer const_pointer;
- typedef __gnu_cxx::__normal_iterator<pointer, __versa_string> iterator;
- typedef __gnu_cxx::__normal_iterator<const_pointer, __versa_string>
- const_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
- typedef std::reverse_iterator<iterator> reverse_iterator;
-
- // Data Member (public):
- /// Value returned by various member functions when they fail.
- static const size_type npos = static_cast<size_type>(-1);
-
- private:
- size_type
- _M_check(size_type __pos, const char* __s) const
- {
- if (__pos > this->size())
- std::__throw_out_of_range(__N(__s));
- return __pos;
- }
-
- void
- _M_check_length(size_type __n1, size_type __n2, const char* __s) const
- {
- if (this->max_size() - (this->size() - __n1) < __n2)
- std::__throw_length_error(__N(__s));
- }
-
- // NB: _M_limit doesn't check for a bad __pos value.
- size_type
- _M_limit(size_type __pos, size_type __off) const
- {
- const bool __testoff = __off < this->size() - __pos;
- return __testoff ? __off : this->size() - __pos;
- }
-
- // True if _Rep and source do not overlap.
- bool
- _M_disjunct(const _CharT* __s) const
- {
- return (std::less<const _CharT*>()(__s, this->_M_data())
- || std::less<const _CharT*>()(this->_M_data()
- + this->size(), __s));
- }
-
- // For the internal use we have functions similar to `begin'/`end'
- // but they do not call _M_leak.
- iterator
- _M_ibegin() const
- { return iterator(this->_M_data()); }
-
- iterator
- _M_iend() const
- { return iterator(this->_M_data() + this->_M_length()); }
-
- public:
- // Construct/copy/destroy:
- // NB: We overload ctors in some cases instead of using default
- // arguments, per 17.4.4.4 para. 2 item 2.
-
- /**
- * @brief Default constructor creates an empty string.
- */
- __versa_string()
- : __vstring_base() { }
-
- /**
- * @brief Construct an empty string using allocator @a a.
- */
- explicit
- __versa_string(const _Alloc& __a)
- : __vstring_base(__a) { }
-
- // NB: per LWG issue 42, semantics different from IS:
- /**
- * @brief Construct string with copy of value of @a str.
- * @param str Source string.
- */
- __versa_string(const __versa_string& __str)
- : __vstring_base(__str) { }
-
- /**
- * @brief Construct string as copy of a substring.
- * @param str Source string.
- * @param pos Index of first character to copy from.
- * @param n Number of characters to copy (default remainder).
- */
- __versa_string(const __versa_string& __str, size_type __pos,
- size_type __n = npos)
- : __vstring_base(__str._M_data()
- + __str._M_check(__pos,
- "__versa_string::__versa_string"),
- __str._M_data() + __str._M_limit(__pos, __n)
- + __pos, _Alloc()) { }
-
- /**
- * @brief Construct string as copy of a substring.
- * @param str Source string.
- * @param pos Index of first character to copy from.
- * @param n Number of characters to copy.
- * @param a Allocator to use.
- */
- __versa_string(const __versa_string& __str, size_type __pos,
- size_type __n, const _Alloc& __a)
- : __vstring_base(__str._M_data()
- + __str._M_check(__pos,
- "__versa_string::__versa_string"),
- __str._M_data() + __str._M_limit(__pos, __n)
- + __pos, __a) { }
-
- /**
- * @brief Construct string initialized by a character array.
- * @param s Source character array.
- * @param n Number of characters to copy.
- * @param a Allocator to use (default is default allocator).
- *
- * NB: @a s must have at least @a n characters, '\0' has no special
- * meaning.
- */
- __versa_string(const _CharT* __s, size_type __n,
- const _Alloc& __a = _Alloc())
- : __vstring_base(__s, __s + __n, __a) { }
-
- /**
- * @brief Construct string as copy of a C string.
- * @param s Source C string.
- * @param a Allocator to use (default is default allocator).
- */
- __versa_string(const _CharT* __s, const _Alloc& __a = _Alloc())
- : __vstring_base(__s, __s ? __s + traits_type::length(__s) :
- __s + npos, __a) { }
-
- /**
- * @brief Construct string as multiple characters.
- * @param n Number of characters.
- * @param c Character to use.
- * @param a Allocator to use (default is default allocator).
- */
- __versa_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
- : __vstring_base(__n, __c, __a) { }
-
- /**
- * @brief Construct string as copy of a range.
- * @param beg Start of range.
- * @param end End of range.
- * @param a Allocator to use (default is default allocator).
- */
- template<class _InputIterator>
- __versa_string(_InputIterator __beg, _InputIterator __end,
- const _Alloc& __a = _Alloc())
- : __vstring_base(__beg, __end, __a) { }
-
- /**
- * @brief Destroy the string instance.
- */
- ~__versa_string() { }
-
- /**
- * @brief Assign the value of @a str to this string.
- * @param str Source string.
- */
- __versa_string&
- operator=(const __versa_string& __str)
- { return this->assign(__str); }
-
- /**
- * @brief Copy contents of @a s into this string.
- * @param s Source null-terminated string.
- */
- __versa_string&
- operator=(const _CharT* __s)
- { return this->assign(__s); }
-
- /**
- * @brief Set value to string of length 1.
- * @param c Source character.
- *
- * Assigning to a character makes this string length 1 and
- * (*this)[0] == @a c.
- */
- __versa_string&
- operator=(_CharT __c)
- {
- this->assign(1, __c);
- return *this;
- }
-
- // Iterators:
- /**
- * Returns a read/write iterator that points to the first character in
- * the %string. Unshares the string.
- */
- iterator
- begin()
- {
- this->_M_leak();
- return iterator(this->_M_data());
- }
-
- /**
- * Returns a read-only (constant) iterator that points to the first
- * character in the %string.
- */
- const_iterator
- begin() const
- { return const_iterator(this->_M_data()); }
-
- /**
- * Returns a read/write iterator that points one past the last
- * character in the %string. Unshares the string.
- */
- iterator
- end()
- {
- this->_M_leak();
- return iterator(this->_M_data() + this->size());
- }
-
- /**
- * Returns a read-only (constant) iterator that points one past the
- * last character in the %string.
- */
- const_iterator
- end() const
- { return const_iterator(this->_M_data() + this->size()); }
-
- /**
- * Returns a read/write reverse iterator that points to the last
- * character in the %string. Iteration is done in reverse element
- * order. Unshares the string.
- */
- reverse_iterator
- rbegin()
- { return reverse_iterator(this->end()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to the last character in the %string. Iteration is done in
- * reverse element order.
- */
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(this->end()); }
-
- /**
- * Returns a read/write reverse iterator that points to one before the
- * first character in the %string. Iteration is done in reverse
- * element order. Unshares the string.
- */
- reverse_iterator
- rend()
- { return reverse_iterator(this->begin()); }
-
- /**
- * Returns a read-only (constant) reverse iterator that points
- * to one before the first character in the %string. Iteration
- * is done in reverse element order.
- */
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(this->begin()); }
-
- public:
- // Capacity:
- /// Returns the number of characters in the string, not including any
- /// null-termination.
- size_type
- size() const
- { return this->_M_length(); }
-
- /// Returns the number of characters in the string, not including any
- /// null-termination.
- size_type
- length() const
- { return this->_M_length(); }
-
- /// Returns the size() of the largest possible %string.
- size_type
- max_size() const
- { return this->_M_max_size(); }
-
- /**
- * @brief Resizes the %string to the specified number of characters.
- * @param n Number of characters the %string should contain.
- * @param c Character to fill any new elements.
- *
- * This function will %resize the %string to the specified
- * number of characters. If the number is smaller than the
- * %string's current size the %string is truncated, otherwise
- * the %string is extended and new elements are set to @a c.
- */
- void
- resize(size_type __n, _CharT __c);
-
- /**
- * @brief Resizes the %string to the specified number of characters.
- * @param n Number of characters the %string should contain.
- *
- * This function will resize the %string to the specified length. If
- * the new size is smaller than the %string's current size the %string
- * is truncated, otherwise the %string is extended and new characters
- * are default-constructed. For basic types such as char, this means
- * setting them to 0.
- */
- void
- resize(size_type __n)
- { this->resize(__n, _CharT()); }
-
- /**
- * Returns the total number of characters that the %string can hold
- * before needing to allocate more memory.
- */
- size_type
- capacity() const
- { return this->_M_capacity(); }
-
- /**
- * @brief Attempt to preallocate enough memory for specified number of
- * characters.
- * @param res_arg Number of characters required.
- * @throw std::length_error If @a res_arg exceeds @c max_size().
- *
- * This function attempts to reserve enough memory for the
- * %string to hold the specified number of characters. If the
- * number requested is more than max_size(), length_error is
- * thrown.
- *
- * The advantage of this function is that if optimal code is a
- * necessity and the user can determine the string length that will be
- * required, the user can reserve the memory in %advance, and thus
- * prevent a possible reallocation of memory and copying of %string
- * data.
- */
- void
- reserve(size_type __res_arg = 0)
- { this->_M_reserve(__res_arg); }
-
- /**
- * Erases the string, making it empty.
- */
- void
- clear()
- { this->_M_clear(); }
-
- /**
- * Returns true if the %string is empty. Equivalent to *this == "".
- */
- bool
- empty() const
- { return this->size() == 0; }
-
- // Element access:
- /**
- * @brief Subscript access to the data contained in the %string.
- * @param pos The index of the character to access.
- * @return Read-only (constant) reference to the character.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().)
- */
- const_reference
- operator[] (size_type __pos) const
- {
- _GLIBCXX_DEBUG_ASSERT(__pos <= this->size());
- return this->_M_data()[__pos];
- }
-
- /**
- * @brief Subscript access to the data contained in the %string.
- * @param pos The index of the character to access.
- * @return Read/write reference to the character.
- *
- * This operator allows for easy, array-style, data access.
- * Note that data access with this operator is unchecked and
- * out_of_range lookups are not defined. (For checked lookups
- * see at().) Unshares the string.
- */
- reference
- operator[](size_type __pos)
- {
- // allow pos == size() as v3 extension:
- _GLIBCXX_DEBUG_ASSERT(__pos <= this->size());
- // but be strict in pedantic mode:
- _GLIBCXX_DEBUG_PEDASSERT(__pos < this->size());
- this->_M_leak();
- return this->_M_data()[__pos];
- }
-
- /**
- * @brief Provides access to the data contained in the %string.
- * @param n The index of the character to access.
- * @return Read-only (const) reference to the character.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter is
- * first checked that it is in the range of the string. The function
- * throws out_of_range if the check fails.
- */
- const_reference
- at(size_type __n) const
- {
- if (__n >= this->size())
- std::__throw_out_of_range(__N("__versa_string::at"));
- return this->_M_data()[__n];
- }
-
- /**
- * @brief Provides access to the data contained in the %string.
- * @param n The index of the character to access.
- * @return Read/write reference to the character.
- * @throw std::out_of_range If @a n is an invalid index.
- *
- * This function provides for safer data access. The parameter is
- * first checked that it is in the range of the string. The function
- * throws out_of_range if the check fails. Success results in
- * unsharing the string.
- */
- reference
- at(size_type __n)
- {
- if (__n >= this->size())
- std::__throw_out_of_range(__N("__versa_string::at"));
- this->_M_leak();
- return this->_M_data()[__n];
- }
-
- // Modifiers:
- /**
- * @brief Append a string to this string.
- * @param str The string to append.
- * @return Reference to this string.
- */
- __versa_string&
- operator+=(const __versa_string& __str)
- { return this->append(__str); }
-
- /**
- * @brief Append a C string.
- * @param s The C string to append.
- * @return Reference to this string.
- */
- __versa_string&
- operator+=(const _CharT* __s)
- { return this->append(__s); }
-
- /**
- * @brief Append a character.
- * @param c The character to append.
- * @return Reference to this string.
- */
- __versa_string&
- operator+=(_CharT __c)
- {
- this->push_back(__c);
- return *this;
- }
-
- /**
- * @brief Append a string to this string.
- * @param str The string to append.
- * @return Reference to this string.
- */
- __versa_string&
- append(const __versa_string& __str)
- { return _M_append(__str._M_data(), __str.size()); }
-
- /**
- * @brief Append a substring.
- * @param str The string to append.
- * @param pos Index of the first character of str to append.
- * @param n The number of characters to append.
- * @return Reference to this string.
- * @throw std::out_of_range if @a pos is not a valid index.
- *
- * This function appends @a n characters from @a str starting at @a pos
- * to this string. If @a n is is larger than the number of available
- * characters in @a str, the remainder of @a str is appended.
- */
- __versa_string&
- append(const __versa_string& __str, size_type __pos, size_type __n)
- { return _M_append(__str._M_data()
- + __str._M_check(__pos, "__versa_string::append"),
- __str._M_limit(__pos, __n)); }
-
- /**
- * @brief Append a C substring.
- * @param s The C string to append.
- * @param n The number of characters to append.
- * @return Reference to this string.
- */
- __versa_string&
- append(const _CharT* __s, size_type __n)
- {
- __glibcxx_requires_string_len(__s, __n);
- _M_check_length(size_type(0), __n, "__versa_string::append");
- return _M_append(__s, __n);
- }
-
- /**
- * @brief Append a C string.
- * @param s The C string to append.
- * @return Reference to this string.
- */
- __versa_string&
- append(const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- const size_type __n = traits_type::length(__s);
- _M_check_length(size_type(0), __n, "__versa_string::append");
- return _M_append(__s, __n);
- }
-
- /**
- * @brief Append multiple characters.
- * @param n The number of characters to append.
- * @param c The character to use.
- * @return Reference to this string.
- *
- * Appends n copies of c to this string.
- */
- __versa_string&
- append(size_type __n, _CharT __c)
- { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
-
- /**
- * @brief Append a range of characters.
- * @param first Iterator referencing the first character to append.
- * @param last Iterator marking the end of the range.
- * @return Reference to this string.
- *
- * Appends characters in the range [first,last) to this string.
- */
- template<class _InputIterator>
- __versa_string&
- append(_InputIterator __first, _InputIterator __last)
- { return this->replace(_M_iend(), _M_iend(), __first, __last); }
-
- /**
- * @brief Append a single character.
- * @param c Character to append.
- */
- void
- push_back(_CharT __c)
- {
- const size_type __size = this->size();
- if (__size + 1 > this->capacity() || this->_M_is_shared())
- this->_M_mutate(__size, size_type(0), 0, size_type(1));
- traits_type::assign(this->_M_data()[__size], __c);
- this->_M_set_length(__size + 1);
- }
-
- /**
- * @brief Set value to contents of another string.
- * @param str Source string to use.
- * @return Reference to this string.
- */
- __versa_string&
- assign(const __versa_string& __str)
- {
- this->_M_assign(__str);
- return *this;
- }
-
- /**
- * @brief Set value to a substring of a string.
- * @param str The string to use.
- * @param pos Index of the first character of str.
- * @param n Number of characters to use.
- * @return Reference to this string.
- * @throw std::out_of_range if @a pos is not a valid index.
- *
- * This function sets this string to the substring of @a str consisting
- * of @a n characters at @a pos. If @a n is is larger than the number
- * of available characters in @a str, the remainder of @a str is used.
- */
- __versa_string&
- assign(const __versa_string& __str, size_type __pos, size_type __n)
- { return _M_replace(size_type(0), this->size(), __str._M_data()
- + __str._M_check(__pos, "__versa_string::assign"),
- __str._M_limit(__pos, __n)); }
-
- /**
- * @brief Set value to a C substring.
- * @param s The C string to use.
- * @param n Number of characters to use.
- * @return Reference to this string.
- *
- * This function sets the value of this string to the first @a n
- * characters of @a s. If @a n is is larger than the number of
- * available characters in @a s, the remainder of @a s is used.
- */
- __versa_string&
- assign(const _CharT* __s, size_type __n)
- {
- __glibcxx_requires_string_len(__s, __n);
- return _M_replace(size_type(0), this->size(), __s, __n);
- }
-
- /**
- * @brief Set value to contents of a C string.
- * @param s The C string to use.
- * @return Reference to this string.
- *
- * This function sets the value of this string to the value of @a s.
- * The data is copied, so there is no dependence on @a s once the
- * function returns.
- */
- __versa_string&
- assign(const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return _M_replace(size_type(0), this->size(), __s,
- traits_type::length(__s));
- }
-
- /**
- * @brief Set value to multiple characters.
- * @param n Length of the resulting string.
- * @param c The character to use.
- * @return Reference to this string.
- *
- * This function sets the value of this string to @a n copies of
- * character @a c.
- */
- __versa_string&
- assign(size_type __n, _CharT __c)
- { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
-
- /**
- * @brief Set value to a range of characters.
- * @param first Iterator referencing the first character to append.
- * @param last Iterator marking the end of the range.
- * @return Reference to this string.
- *
- * Sets value of string to characters in the range [first,last).
- */
- template<class _InputIterator>
- __versa_string&
- assign(_InputIterator __first, _InputIterator __last)
- { return this->replace(_M_ibegin(), _M_iend(), __first, __last); }
-
- /**
- * @brief Insert multiple characters.
- * @param p Iterator referencing location in string to insert at.
- * @param n Number of characters to insert
- * @param c The character to insert.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts @a n copies of character @a c starting at the position
- * referenced by iterator @a p. If adding characters causes the length
- * to exceed max_size(), length_error is thrown. The value of the
- * string doesn't change if an error is thrown.
- */
- void
- insert(iterator __p, size_type __n, _CharT __c)
- { this->replace(__p, __p, __n, __c); }
-
- /**
- * @brief Insert a range of characters.
- * @param p Iterator referencing location in string to insert at.
- * @param beg Start of range.
- * @param end End of range.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts characters in range [beg,end). If adding characters causes
- * the length to exceed max_size(), length_error is thrown. The value
- * of the string doesn't change if an error is thrown.
- */
- template<class _InputIterator>
- void
- insert(iterator __p, _InputIterator __beg, _InputIterator __end)
- { this->replace(__p, __p, __beg, __end); }
-
- /**
- * @brief Insert value of a string.
- * @param pos1 Iterator referencing location in string to insert at.
- * @param str The string to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts value of @a str starting at @a pos1. If adding characters
- * causes the length to exceed max_size(), length_error is thrown. The
- * value of the string doesn't change if an error is thrown.
- */
- __versa_string&
- insert(size_type __pos1, const __versa_string& __str)
- { return this->replace(__pos1, size_type(0),
- __str._M_data(), __str.size()); }
-
- /**
- * @brief Insert a substring.
- * @param pos1 Iterator referencing location in string to insert at.
- * @param str The string to insert.
- * @param pos2 Start of characters in str to insert.
- * @param n Number of characters to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos1 > size() or
- * @a pos2 > @a str.size().
- *
- * Starting at @a pos1, insert @a n character of @a str beginning with
- * @a pos2. If adding characters causes the length to exceed
- * max_size(), length_error is thrown. If @a pos1 is beyond the end of
- * this string or @a pos2 is beyond the end of @a str, out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- __versa_string&
- insert(size_type __pos1, const __versa_string& __str,
- size_type __pos2, size_type __n)
- { return this->replace(__pos1, size_type(0), __str._M_data()
- + __str._M_check(__pos2, "__versa_string::insert"),
- __str._M_limit(__pos2, __n)); }
-
- /**
- * @brief Insert a C substring.
- * @param pos Iterator referencing location in string to insert at.
- * @param s The C string to insert.
- * @param n The number of characters to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Inserts the first @a n characters of @a s starting at @a pos. If
- * adding characters causes the length to exceed max_size(),
- * length_error is thrown. If @a pos is beyond end(), out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- __versa_string&
- insert(size_type __pos, const _CharT* __s, size_type __n)
- { return this->replace(__pos, size_type(0), __s, __n); }
-
- /**
- * @brief Insert a C string.
- * @param pos Iterator referencing location in string to insert at.
- * @param s The C string to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Inserts the first @a n characters of @a s starting at @a pos. If
- * adding characters causes the length to exceed max_size(),
- * length_error is thrown. If @a pos is beyond end(), out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- __versa_string&
- insert(size_type __pos, const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->replace(__pos, size_type(0), __s,
- traits_type::length(__s));
- }
-
- /**
- * @brief Insert multiple characters.
- * @param pos Index in string to insert at.
- * @param n Number of characters to insert
- * @param c The character to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Inserts @a n copies of character @a c starting at index @a pos. If
- * adding characters causes the length to exceed max_size(),
- * length_error is thrown. If @a pos > length(), out_of_range is
- * thrown. The value of the string doesn't change if an error is
- * thrown.
- */
- __versa_string&
- insert(size_type __pos, size_type __n, _CharT __c)
- { return _M_replace_aux(_M_check(__pos, "__versa_string::insert"),
- size_type(0), __n, __c); }
-
- /**
- * @brief Insert one character.
- * @param p Iterator referencing position in string to insert at.
- * @param c The character to insert.
- * @return Iterator referencing newly inserted char.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Inserts character @a c at position referenced by @a p. If adding
- * character causes the length to exceed max_size(), length_error is
- * thrown. If @a p is beyond end of string, out_of_range is thrown.
- * The value of the string doesn't change if an error is thrown.
- */
- iterator
- insert(iterator __p, _CharT __c)
- {
- _GLIBCXX_DEBUG_PEDASSERT(__p >= _M_ibegin() && __p <= _M_iend());
- const size_type __pos = __p - _M_ibegin();
- _M_replace_aux(__pos, size_type(0), size_type(1), __c);
- this->_M_set_leaked();
- return iterator(this->_M_data() + __pos);
- }
-
- /**
- * @brief Remove characters.
- * @param pos Index of first character to remove (default 0).
- * @param n Number of characters to remove (default remainder).
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- *
- * Removes @a n characters from this string starting at @a pos. The
- * length of the string is reduced by @a n. If there are < @a n
- * characters to remove, the remainder of the string is truncated. If
- * @a p is beyond end of string, out_of_range is thrown. The value of
- * the string doesn't change if an error is thrown.
- */
- __versa_string&
- erase(size_type __pos = 0, size_type __n = npos)
- {
- this->_M_erase(_M_check(__pos, "__versa_string::erase"),
- _M_limit(__pos, __n));
- return *this;
- }
-
- /**
- * @brief Remove one character.
- * @param position Iterator referencing the character to remove.
- * @return iterator referencing same location after removal.
- *
- * Removes the character at @a position from this string. The value
- * of the string doesn't change if an error is thrown.
- */
- iterator
- erase(iterator __position)
- {
- _GLIBCXX_DEBUG_PEDASSERT(__position >= _M_ibegin()
- && __position < _M_iend());
- const size_type __pos = __position - _M_ibegin();
- this->_M_erase(__pos, size_type(1));
- this->_M_set_leaked();
- return iterator(this->_M_data() + __pos);
- }
-
- /**
- * @brief Remove a range of characters.
- * @param first Iterator referencing the first character to remove.
- * @param last Iterator referencing the end of the range.
- * @return Iterator referencing location of first after removal.
- *
- * Removes the characters in the range [first,last) from this string.
- * The value of the string doesn't change if an error is thrown.
- */
- iterator
- erase(iterator __first, iterator __last)
- {
- _GLIBCXX_DEBUG_PEDASSERT(__first >= _M_ibegin() && __first <= __last
- && __last <= _M_iend());
- const size_type __pos = __first - _M_ibegin();
- this->_M_erase(__pos, __last - __first);
- this->_M_set_leaked();
- return iterator(this->_M_data() + __pos);
- }
-
- /**
- * @brief Replace characters with value from another string.
- * @param pos Index of first character to replace.
- * @param n Number of characters to be replaced.
- * @param str String to insert.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos is beyond the end of this
- * string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos+n) from this string.
- * In place, the value of @a str is inserted. If @a pos is beyond end
- * of string, out_of_range is thrown. If the length of the result
- * exceeds max_size(), length_error is thrown. The value of the string
- * doesn't change if an error is thrown.
- */
- __versa_string&
- replace(size_type __pos, size_type __n, const __versa_string& __str)
- { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
-
- /**
- * @brief Replace characters with value from another string.
- * @param pos1 Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param str String to insert.
- * @param pos2 Index of first character of str to use.
- * @param n2 Number of characters from str to use.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos1 > size() or @a pos2 >
- * str.size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos1,pos1 + n) from this
- * string. In place, the value of @a str is inserted. If @a pos is
- * beyond end of string, out_of_range is thrown. If the length of the
- * result exceeds max_size(), length_error is thrown. The value of the
- * string doesn't change if an error is thrown.
- */
- __versa_string&
- replace(size_type __pos1, size_type __n1, const __versa_string& __str,
- size_type __pos2, size_type __n2)
- {
- return this->replace(__pos1, __n1, __str._M_data()
- + __str._M_check(__pos2,
- "__versa_string::replace"),
- __str._M_limit(__pos2, __n2));
- }
-
- /**
- * @brief Replace characters with value of a C substring.
- * @param pos Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param s C string to insert.
- * @param n2 Number of characters from @a s to use.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos1 > size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos + n1) from this string.
- * In place, the first @a n2 characters of @a s are inserted, or all
- * of @a s if @a n2 is too large. If @a pos is beyond end of string,
- * out_of_range is thrown. If the length of result exceeds max_size(),
- * length_error is thrown. The value of the string doesn't change if
- * an error is thrown.
- */
- __versa_string&
- replace(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2)
- {
- __glibcxx_requires_string_len(__s, __n2);
- return _M_replace(_M_check(__pos, "__versa_string::replace"),
- _M_limit(__pos, __n1), __s, __n2);
- }
-
- /**
- * @brief Replace characters with value of a C string.
- * @param pos Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param s C string to insert.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos > size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos + n1) from this string.
- * In place, the first @a n characters of @a s are inserted. If @a
- * pos is beyond end of string, out_of_range is thrown. If the length
- * of result exceeds max_size(), length_error is thrown. The value of
- * the string doesn't change if an error is thrown.
- */
- __versa_string&
- replace(size_type __pos, size_type __n1, const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->replace(__pos, __n1, __s, traits_type::length(__s));
- }
-
- /**
- * @brief Replace characters with multiple characters.
- * @param pos Index of first character to replace.
- * @param n1 Number of characters to be replaced.
- * @param n2 Number of characters to insert.
- * @param c Character to insert.
- * @return Reference to this string.
- * @throw std::out_of_range If @a pos > size().
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [pos,pos + n1) from this string.
- * In place, @a n2 copies of @a c are inserted. If @a pos is beyond
- * end of string, out_of_range is thrown. If the length of result
- * exceeds max_size(), length_error is thrown. The value of the string
- * doesn't change if an error is thrown.
- */
- __versa_string&
- replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
- { return _M_replace_aux(_M_check(__pos, "__versa_string::replace"),
- _M_limit(__pos, __n1), __n2, __c); }
-
- /**
- * @brief Replace range of characters with string.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param str String value to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, the value of
- * @a str is inserted. If the length of result exceeds max_size(),
- * length_error is thrown. The value of the string doesn't change if
- * an error is thrown.
- */
- __versa_string&
- replace(iterator __i1, iterator __i2, const __versa_string& __str)
- { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
-
- /**
- * @brief Replace range of characters with C substring.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param s C string value to insert.
- * @param n Number of characters from s to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, the first @a
- * n characters of @a s are inserted. If the length of result exceeds
- * max_size(), length_error is thrown. The value of the string doesn't
- * change if an error is thrown.
- */
- __versa_string&
- replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n);
- }
-
- /**
- * @brief Replace range of characters with C string.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param s C string value to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, the
- * characters of @a s are inserted. If the length of result exceeds
- * max_size(), length_error is thrown. The value of the string doesn't
- * change if an error is thrown.
- */
- __versa_string&
- replace(iterator __i1, iterator __i2, const _CharT* __s)
- {
- __glibcxx_requires_string(__s);
- return this->replace(__i1, __i2, __s, traits_type::length(__s));
- }
-
- /**
- * @brief Replace range of characters with multiple characters
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param n Number of characters to insert.
- * @param c Character to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, @a n copies
- * of @a c are inserted. If the length of result exceeds max_size(),
- * length_error is thrown. The value of the string doesn't change if
- * an error is thrown.
- */
- __versa_string&
- replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c);
- }
-
- /**
- * @brief Replace range of characters with range.
- * @param i1 Iterator referencing start of range to replace.
- * @param i2 Iterator referencing end of range to replace.
- * @param k1 Iterator referencing start of range to insert.
- * @param k2 Iterator referencing end of range to insert.
- * @return Reference to this string.
- * @throw std::length_error If new length exceeds @c max_size().
- *
- * Removes the characters in the range [i1,i2). In place, characters
- * in the range [k1,k2) are inserted. If the length of result exceeds
- * max_size(), length_error is thrown. The value of the string doesn't
- * change if an error is thrown.
- */
- template<class _InputIterator>
- __versa_string&
- replace(iterator __i1, iterator __i2,
- _InputIterator __k1, _InputIterator __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- typedef typename std::__is_integer<_InputIterator>::__type _Integral;
- return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
- }
-
- // Specializations for the common case of pointer and iterator:
- // useful to avoid the overhead of temporary buffering in _M_replace.
- __versa_string&
- replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1, __k2 - __k1);
- }
-
- __versa_string&
- replace(iterator __i1, iterator __i2,
- const _CharT* __k1, const _CharT* __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1, __k2 - __k1);
- }
-
- __versa_string&
- replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1.base(), __k2 - __k1);
- }
-
- __versa_string&
- replace(iterator __i1, iterator __i2,
- const_iterator __k1, const_iterator __k2)
- {
- _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
- && __i2 <= _M_iend());
- __glibcxx_requires_valid_range(__k1, __k2);
- return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
- __k1.base(), __k2 - __k1);
- }
-
- private:
- template<class _Integer>
- __versa_string&
- _M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n,
- _Integer __val, std::__true_type)
- { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); }
-
- template<class _InputIterator>
- __versa_string&
- _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
- _InputIterator __k2, std::__false_type);
-
- __versa_string&
- _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
- _CharT __c);
-
- __versa_string&
- _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
- const size_type __len2);
-
- __versa_string&
- _M_append(const _CharT* __s, size_type __n);
-
- public:
-
- /**
- * @brief Copy substring into C string.
- * @param s C string to copy value into.
- * @param n Number of characters to copy.
- * @param pos Index of first character to copy.
- * @return Number of characters actually copied
- * @throw std::out_of_range If pos > size().
- *
- * Copies up to @a n characters starting at @a pos into the C string @a
- * s. If @a pos is greater than size(), out_of_range is thrown.
- */
- size_type
- copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
-
- /**
- * @brief Swap contents with another string.
- * @param s String to swap with.
- *
- * Exchanges the contents of this string with that of @a s in constant
- * time.
- */
- void
- swap(__versa_string& __s)
- { this->_M_swap(__s); }
-
- // String operations:
- /**
- * @brief Return const pointer to null-terminated contents.
- *
- * This is a handle to internal data. Do not modify or dire things may
- * happen.
- */
- const _CharT*
- c_str() const
- { return this->_M_data(); }
-
- /**
- * @brief Return const pointer to contents.
- *
- * This is a handle to internal data. Do not modify or dire things may
- * happen.
- */
- const _CharT*
- data() const
- { return this->_M_data(); }
-
- /**
- * @brief Return copy of allocator used to construct this string.
- */
- allocator_type
- get_allocator() const
- { return allocator_type(this->_M_get_allocator()); }
-
- /**
- * @brief Find position of a C substring.
- * @param s C string to locate.
- * @param pos Index of character to search from.
- * @param n Number of characters from @a s to search for.
- * @return Index of start of first occurrence.
- *
- * Starting from @a pos, searches forward for the first @a n characters
- * in @a s within this string. If found, returns the index where it
- * begins. If not found, returns npos.
- */
- size_type
- find(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find position of a string.
- * @param str String to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of start of first occurrence.
- *
- * Starting from @a pos, searches forward for value of @a str within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- find(const __versa_string& __str, size_type __pos = 0) const
- { return this->find(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find position of a C string.
- * @param s C string to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of start of first occurrence.
- *
- * Starting from @a pos, searches forward for the value of @a s within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- find(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_requires_string(__s);
- return this->find(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for @a c within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- */
- size_type
- find(_CharT __c, size_type __pos = 0) const;
-
- /**
- * @brief Find last position of a string.
- * @param str String to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of start of last occurrence.
- *
- * Starting from @a pos, searches backward for value of @a str within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- rfind(const __versa_string& __str, size_type __pos = npos) const
- { return this->rfind(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find last position of a C substring.
- * @param s C string to locate.
- * @param pos Index of character to search back from.
- * @param n Number of characters from s to search for.
- * @return Index of start of last occurrence.
- *
- * Starting from @a pos, searches backward for the first @a n
- * characters in @a s within this string. If found, returns the index
- * where it begins. If not found, returns npos.
- */
- size_type
- rfind(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find last position of a C string.
- * @param s C string to locate.
- * @param pos Index of character to start search at (default end).
- * @return Index of start of last occurrence.
- *
- * Starting from @a pos, searches backward for the value of @a s within
- * this string. If found, returns the index where it begins. If not
- * found, returns npos.
- */
- size_type
- rfind(const _CharT* __s, size_type __pos = npos) const
- {
- __glibcxx_requires_string(__s);
- return this->rfind(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find last position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for @a c within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- */
- size_type
- rfind(_CharT __c, size_type __pos = npos) const;
-
- /**
- * @brief Find position of a character of string.
- * @param str String containing characters to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for one of the characters of
- * @a str within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_first_of(const __versa_string& __str, size_type __pos = 0) const
- { return this->find_first_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find position of a character of C substring.
- * @param s String containing characters to locate.
- * @param pos Index of character to search from.
- * @param n Number of characters from s to search for.
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for one of the first @a n
- * characters of @a s within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_first_of(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find position of a character of C string.
- * @param s String containing characters to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for one of the characters of
- * @a s within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_first_of(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_requires_string(__s);
- return this->find_first_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for the character @a c within
- * this string. If found, returns the index where it was found. If
- * not found, returns npos.
- *
- * Note: equivalent to find(c, pos).
- */
- size_type
- find_first_of(_CharT __c, size_type __pos = 0) const
- { return this->find(__c, __pos); }
-
- /**
- * @brief Find last position of a character of string.
- * @param str String containing characters to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for one of the characters of
- * @a str within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_last_of(const __versa_string& __str, size_type __pos = npos) const
- { return this->find_last_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find last position of a character of C substring.
- * @param s C string containing characters to locate.
- * @param pos Index of character to search back from.
- * @param n Number of characters from s to search for.
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for one of the first @a n
- * characters of @a s within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_last_of(const _CharT* __s, size_type __pos, size_type __n) const;
-
- /**
- * @brief Find last position of a character of C string.
- * @param s C string containing characters to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for one of the characters of
- * @a s within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_last_of(const _CharT* __s, size_type __pos = npos) const
- {
- __glibcxx_requires_string(__s);
- return this->find_last_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find last position of a character.
- * @param c Character to locate.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for @a c within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- *
- * Note: equivalent to rfind(c, pos).
- */
- size_type
- find_last_of(_CharT __c, size_type __pos = npos) const
- { return this->rfind(__c, __pos); }
-
- /**
- * @brief Find position of a character not in string.
- * @param str String containing characters to avoid.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character not contained
- * in @a str within this string. If found, returns the index where it
- * was found. If not found, returns npos.
- */
- size_type
- find_first_not_of(const __versa_string& __str, size_type __pos = 0) const
- { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find position of a character not in C substring.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search from.
- * @param n Number of characters from s to consider.
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character not contained
- * in the first @a n characters of @a s within this string. If found,
- * returns the index where it was found. If not found, returns npos.
- */
- size_type
- find_first_not_of(const _CharT* __s, size_type __pos,
- size_type __n) const;
-
- /**
- * @brief Find position of a character not in C string.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character not contained
- * in @a s within this string. If found, returns the index where it
- * was found. If not found, returns npos.
- */
- size_type
- find_first_not_of(const _CharT* __s, size_type __pos = 0) const
- {
- __glibcxx_requires_string(__s);
- return this->find_first_not_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find position of a different character.
- * @param c Character to avoid.
- * @param pos Index of character to search from (default 0).
- * @return Index of first occurrence.
- *
- * Starting from @a pos, searches forward for a character other than @a c
- * within this string. If found, returns the index where it was found.
- * If not found, returns npos.
- */
- size_type
- find_first_not_of(_CharT __c, size_type __pos = 0) const;
-
- /**
- * @brief Find last position of a character not in string.
- * @param str String containing characters to avoid.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character not
- * contained in @a str within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_last_not_of(const __versa_string& __str,
- size_type __pos = npos) const
- { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
-
- /**
- * @brief Find last position of a character not in C substring.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search back from.
- * @param n Number of characters from s to consider.
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character not
- * contained in the first @a n characters of @a s within this string.
- * If found, returns the index where it was found. If not found,
- * returns npos.
- */
- size_type
- find_last_not_of(const _CharT* __s, size_type __pos,
- size_type __n) const;
- /**
- * @brief Find last position of a character not in C string.
- * @param s C string containing characters to avoid.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character not
- * contained in @a s within this string. If found, returns the index
- * where it was found. If not found, returns npos.
- */
- size_type
- find_last_not_of(const _CharT* __s, size_type __pos = npos) const
- {
- __glibcxx_requires_string(__s);
- return this->find_last_not_of(__s, __pos, traits_type::length(__s));
- }
-
- /**
- * @brief Find last position of a different character.
- * @param c Character to avoid.
- * @param pos Index of character to search back from (default end).
- * @return Index of last occurrence.
- *
- * Starting from @a pos, searches backward for a character other than
- * @a c within this string. If found, returns the index where it was
- * found. If not found, returns npos.
- */
- size_type
- find_last_not_of(_CharT __c, size_type __pos = npos) const;
-
- /**
- * @brief Get a substring.
- * @param pos Index of first character (default 0).
- * @param n Number of characters in substring (default remainder).
- * @return The new string.
- * @throw std::out_of_range If pos > size().
- *
- * Construct and return a new string using the @a n characters starting
- * at @a pos. If the string is too short, use the remainder of the
- * characters. If @a pos is beyond the end of the string, out_of_range
- * is thrown.
- */
- __versa_string
- substr(size_type __pos = 0, size_type __n = npos) const
- {
- return __versa_string(*this, _M_check(__pos, "__versa_string::substr"),
- __n);
- }
-
- /**
- * @brief Compare to a string.
- * @param str String to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Returns an integer < 0 if this string is ordered before @a str, 0 if
- * their values are equivalent, or > 0 if this string is ordered after
- * @a str. Determines the effective length rlen of the strings to
- * compare as the smallest of size() and str.size(). The function
- * then compares the two strings by calling traits::compare(data(),
- * str.data(),rlen). If the result of the comparison is nonzero returns
- * it, otherwise the shorter one is ordered first.
- */
- int
- compare(const __versa_string& __str) const
- {
- if (this->_M_compare(__str))
- return 0;
-
- const size_type __size = this->size();
- const size_type __osize = __str.size();
- const size_type __len = std::min(__size, __osize);
-
- int __r = traits_type::compare(this->_M_data(), __str.data(), __len);
- if (!__r)
- __r = __size - __osize;
- return __r;
- }
-
- /**
- * @brief Compare substring to a string.
- * @param pos Index of first character of substring.
- * @param n Number of characters in substring.
- * @param str String to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n characters starting
- * at @a pos. Returns an integer < 0 if the substring is ordered
- * before @a str, 0 if their values are equivalent, or > 0 if the
- * substring is ordered after @a str. Determines the effective length
- * rlen of the strings to compare as the smallest of the length of the
- * substring and @a str.size(). The function then compares the two
- * strings by calling traits::compare(substring.data(),str.data(),rlen).
- * If the result of the comparison is nonzero returns it, otherwise the
- * shorter one is ordered first.
- */
- int
- compare(size_type __pos, size_type __n,
- const __versa_string& __str) const;
-
- /**
- * @brief Compare substring to a substring.
- * @param pos1 Index of first character of substring.
- * @param n1 Number of characters in substring.
- * @param str String to compare against.
- * @param pos2 Index of first character of substring of str.
- * @param n2 Number of characters in substring of str.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n1 characters starting
- * at @a pos1. Form the substring of @a str from the @a n2 characters
- * starting at @a pos2. Returns an integer < 0 if this substring is
- * ordered before the substring of @a str, 0 if their values are
- * equivalent, or > 0 if this substring is ordered after the substring
- * of @a str. Determines the effective length rlen of the strings
- * to compare as the smallest of the lengths of the substrings. The
- * function then compares the two strings by calling
- * traits::compare(substring.data(),str.substr(pos2,n2).data(),rlen).
- * If the result of the comparison is nonzero returns it, otherwise the
- * shorter one is ordered first.
- */
- int
- compare(size_type __pos1, size_type __n1, const __versa_string& __str,
- size_type __pos2, size_type __n2) const;
-
- /**
- * @brief Compare to a C string.
- * @param s C string to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Returns an integer < 0 if this string is ordered before @a s, 0 if
- * their values are equivalent, or > 0 if this string is ordered after
- * @a s. Determines the effective length rlen of the strings to
- * compare as the smallest of size() and the length of a string
- * constructed from @a s. The function then compares the two strings
- * by calling traits::compare(data(),s,rlen). If the result of the
- * comparison is nonzero returns it, otherwise the shorter one is
- * ordered first.
- */
- int
- compare(const _CharT* __s) const;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 5 String::compare specification questionable
- /**
- * @brief Compare substring to a C string.
- * @param pos Index of first character of substring.
- * @param n1 Number of characters in substring.
- * @param s C string to compare against.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n1 characters starting
- * at @a pos. Returns an integer < 0 if the substring is ordered
- * before @a s, 0 if their values are equivalent, or > 0 if the
- * substring is ordered after @a s. Determines the effective length
- * rlen of the strings to compare as the smallest of the length of the
- * substring and the length of a string constructed from @a s. The
- * function then compares the two string by calling
- * traits::compare(substring.data(),s,rlen). If the result of the
- * comparison is nonzero returns it, otherwise the shorter one is
- * ordered first.
- */
- int
- compare(size_type __pos, size_type __n1, const _CharT* __s) const;
-
- /**
- * @brief Compare substring against a character array.
- * @param pos1 Index of first character of substring.
- * @param n1 Number of characters in substring.
- * @param s character array to compare against.
- * @param n2 Number of characters of s.
- * @return Integer < 0, 0, or > 0.
- *
- * Form the substring of this string from the @a n1 characters starting
- * at @a pos1. Form a string from the first @a n2 characters of @a s.
- * Returns an integer < 0 if this substring is ordered before the string
- * from @a s, 0 if their values are equivalent, or > 0 if this substring
- * is ordered after the string from @a s. Determines the effective
- * length rlen of the strings to compare as the smallest of the length
- * of the substring and @a n2. The function then compares the two
- * strings by calling traits::compare(substring.data(),s,rlen). If the
- * result of the comparison is nonzero returns it, otherwise the shorter
- * one is ordered first.
- *
- * NB: s must have at least n2 characters, '\0' has no special
- * meaning.
- */
- int
- compare(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2) const;
- };
-
- // operator+
- /**
- * @brief Concatenate two strings.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with value of @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs);
-
- /**
- * @brief Concatenate C string and string.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with value of @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs);
-
- /**
- * @brief Concatenate character and string.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(_CharT __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs);
-
- /**
- * @brief Concatenate string and C string.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs);
-
- /**
- * @brief Concatenate string and character.
- * @param lhs First string.
- * @param rhs Last string.
- * @return New string with @a lhs followed by @a rhs.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- _CharT __rhs);
-
- // operator ==
- /**
- * @brief Test equivalence of two strings.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs.compare(@a rhs) == 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator==(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __lhs.compare(__rhs) == 0; }
-
- /**
- * @brief Test equivalence of C string and string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a rhs.compare(@a lhs) == 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator==(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __rhs.compare(__lhs) == 0; }
-
- /**
- * @brief Test equivalence of string and C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs.compare(@a rhs) == 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator==(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) == 0; }
-
- // operator !=
- /**
- * @brief Test difference of two strings.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs.compare(@a rhs) != 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator!=(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __rhs.compare(__lhs) != 0; }
-
- /**
- * @brief Test difference of C string and string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a rhs.compare(@a lhs) != 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator!=(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __rhs.compare(__lhs) != 0; }
-
- /**
- * @brief Test difference of string and C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs.compare(@a rhs) != 0. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator!=(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) != 0; }
-
- // operator <
- /**
- * @brief Test if string precedes string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs precedes @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator<(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __lhs.compare(__rhs) < 0; }
-
- /**
- * @brief Test if string precedes C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs precedes @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator<(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) < 0; }
-
- /**
- * @brief Test if C string precedes string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs precedes @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator<(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __rhs.compare(__lhs) > 0; }
-
- // operator >
- /**
- * @brief Test if string follows string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs follows @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator>(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __lhs.compare(__rhs) > 0; }
-
- /**
- * @brief Test if string follows C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs follows @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator>(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) > 0; }
-
- /**
- * @brief Test if C string follows string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs follows @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator>(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __rhs.compare(__lhs) < 0; }
-
- // operator <=
- /**
- * @brief Test if string doesn't follow string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs doesn't follow @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator<=(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __lhs.compare(__rhs) <= 0; }
-
- /**
- * @brief Test if string doesn't follow C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs doesn't follow @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator<=(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) <= 0; }
-
- /**
- * @brief Test if C string doesn't follow string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs doesn't follow @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator<=(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __rhs.compare(__lhs) >= 0; }
-
- // operator >=
- /**
- * @brief Test if string doesn't precede string.
- * @param lhs First string.
- * @param rhs Second string.
- * @return True if @a lhs doesn't precede @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator>=(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __lhs.compare(__rhs) >= 0; }
-
- /**
- * @brief Test if string doesn't precede C string.
- * @param lhs String.
- * @param rhs C string.
- * @return True if @a lhs doesn't precede @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator>=(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs)
- { return __lhs.compare(__rhs) >= 0; }
-
- /**
- * @brief Test if C string doesn't precede string.
- * @param lhs C string.
- * @param rhs String.
- * @return True if @a lhs doesn't precede @a rhs. False otherwise.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline bool
- operator>=(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { return __rhs.compare(__lhs) <= 0; }
-
- /**
- * @brief Swap contents of two strings.
- * @param lhs First string.
- * @param rhs Second string.
- *
- * Exchanges the contents of @a lhs and @a rhs in constant time.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline void
- swap(__versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- { __lhs.swap(__rhs); }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Read stream into a string.
- * @param is Input stream.
- * @param str Buffer to store into.
- * @return Reference to the input stream.
- *
- * Stores characters from @a is into @a str until whitespace is found, the
- * end of the stream is encountered, or str.max_size() is reached. If
- * is.width() is non-zero, that is the limit on the number of characters
- * stored into @a str. Any previous contents of @a str are erased.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __is,
- __gnu_cxx::__versa_string<_CharT, _Traits,
- _Alloc, _Base>& __str);
-
- /**
- * @brief Write string to a stream.
- * @param os Output stream.
- * @param str String to write out.
- * @return Reference to the output stream.
- *
- * Output characters of @a str into os following the same rules as for
- * writing a C string.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __os,
- const __gnu_cxx::__versa_string<_CharT, _Traits,
- _Alloc, _Base>& __str)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 586. string inserter not a formatted function
- return __ostream_insert(__os, __str.data(), __str.size());
- }
-
- /**
- * @brief Read a line from stream into a string.
- * @param is Input stream.
- * @param str Buffer to store into.
- * @param delim Character marking end of line.
- * @return Reference to the input stream.
- *
- * Stores characters from @a is into @a str until @a delim is found, the
- * end of the stream is encountered, or str.max_size() is reached. If
- * is.width() is non-zero, that is the limit on the number of characters
- * stored into @a str. Any previous contents of @a str are erased. If @a
- * delim was encountered, it is extracted but not stored into @a str.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- basic_istream<_CharT, _Traits>&
- getline(basic_istream<_CharT, _Traits>& __is,
- __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>& __str,
- _CharT __delim);
-
- /**
- * @brief Read a line from stream into a string.
- * @param is Input stream.
- * @param str Buffer to store into.
- * @return Reference to the input stream.
- *
- * Stores characters from is into @a str until '\n' is found, the end of
- * the stream is encountered, or str.max_size() is reached. If is.width()
- * is non-zero, that is the limit on the number of characters stored into
- * @a str. Any previous contents of @a str are erased. If end of line was
- * encountered, it is extracted but not stored into @a str.
- */
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- inline basic_istream<_CharT, _Traits>&
- getline(basic_istream<_CharT, _Traits>& __is,
- __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>& __str)
- { return getline(__is, __str, __is.widen('\n')); }
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include "vstring.tcc"
-#endif
-
-#endif /* _VSTRING_H */
diff --git a/contrib/libstdc++/include/ext/vstring.tcc b/contrib/libstdc++/include/ext/vstring.tcc
deleted file mode 100644
index 3e4cd773959a..000000000000
--- a/contrib/libstdc++/include/ext/vstring.tcc
+++ /dev/null
@@ -1,690 +0,0 @@
-// Versatile string -*- C++ -*-
-
-// 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
-// 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 ext/vstring.tcc
- * This file is a GNU extension to the Standard C++ Library.
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _VSTRING_TCC
-#define _VSTRING_TCC 1
-
-#pragma GCC system_header
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- const typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::npos;
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- void
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- resize(size_type __n, _CharT __c)
- {
- const size_type __size = this->size();
- if (__size < __n)
- this->append(__n - __size, __c);
- else if (__n < __size)
- this->_M_erase(__n, __size - __n);
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>&
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- _M_append(const _CharT* __s, size_type __n)
- {
- const size_type __len = __n + this->size();
-
- if (__len <= this->capacity() && !this->_M_is_shared())
- {
- if (__n)
- this->_S_copy(this->_M_data() + this->size(), __s, __n);
- }
- else
- this->_M_mutate(this->size(), size_type(0), __s, __n);
-
- this->_M_set_length(__len);
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- template<typename _InputIterator>
- __versa_string<_CharT, _Traits, _Alloc, _Base>&
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- _M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
- _InputIterator __k2, std::__false_type)
- {
- const __versa_string __s(__k1, __k2);
- const size_type __n1 = __i2 - __i1;
- return _M_replace(__i1 - _M_ibegin(), __n1, __s._M_data(),
- __s.size());
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>&
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
- _CharT __c)
- {
- _M_check_length(__n1, __n2, "__versa_string::_M_replace_aux");
-
- const size_type __old_size = this->size();
- const size_type __new_size = __old_size + __n2 - __n1;
-
- if (__new_size <= this->capacity() && !this->_M_is_shared())
- {
- _CharT* __p = this->_M_data() + __pos1;
-
- const size_type __how_much = __old_size - __pos1 - __n1;
- if (__how_much && __n1 != __n2)
- this->_S_move(__p + __n2, __p + __n1, __how_much);
- }
- else
- this->_M_mutate(__pos1, __n1, 0, __n2);
-
- if (__n2)
- this->_S_assign(this->_M_data() + __pos1, __n2, __c);
-
- this->_M_set_length(__new_size);
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>&
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
- const size_type __len2)
- {
- _M_check_length(__len1, __len2, "__versa_string::_M_replace");
-
- const size_type __old_size = this->size();
- const size_type __new_size = __old_size + __len2 - __len1;
-
- if (__new_size <= this->capacity() && !this->_M_is_shared())
- {
- _CharT* __p = this->_M_data() + __pos;
-
- const size_type __how_much = __old_size - __pos - __len1;
- if (_M_disjunct(__s))
- {
- if (__how_much && __len1 != __len2)
- this->_S_move(__p + __len2, __p + __len1, __how_much);
- if (__len2)
- this->_S_copy(__p, __s, __len2);
- }
- else
- {
- // Work in-place.
- if (__len2 && __len2 <= __len1)
- this->_S_move(__p, __s, __len2);
- if (__how_much && __len1 != __len2)
- this->_S_move(__p + __len2, __p + __len1, __how_much);
- if (__len2 > __len1)
- {
- if (__s + __len2 <= __p + __len1)
- this->_S_move(__p, __s, __len2);
- else if (__s >= __p + __len1)
- this->_S_copy(__p, __s + __len2 - __len1, __len2);
- else
- {
- const size_type __nleft = (__p + __len1) - __s;
- this->_S_move(__p, __s, __nleft);
- this->_S_copy(__p + __nleft, __p + __len2,
- __len2 - __nleft);
- }
- }
- }
- }
- else
- this->_M_mutate(__pos, __len1, __s, __len2);
-
- this->_M_set_length(__new_size);
- return *this;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- {
- __versa_string<_CharT, _Traits, _Alloc, _Base> __str;
- __str.reserve(__lhs.size() + __rhs.size());
- __str.append(__lhs);
- __str.append(__rhs);
- return __str;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const _CharT* __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- {
- __glibcxx_requires_string(__lhs);
- typedef __versa_string<_CharT, _Traits, _Alloc, _Base> __string_type;
- typedef typename __string_type::size_type __size_type;
- const __size_type __len = _Traits::length(__lhs);
- __string_type __str;
- __str.reserve(__len + __rhs.size());
- __str.append(__lhs, __len);
- __str.append(__rhs);
- return __str;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(_CharT __lhs,
- const __versa_string<_CharT, _Traits, _Alloc, _Base>& __rhs)
- {
- __versa_string<_CharT, _Traits, _Alloc, _Base> __str;
- __str.reserve(__rhs.size() + 1);
- __str.push_back(__lhs);
- __str.append(__rhs);
- return __str;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- const _CharT* __rhs)
- {
- __glibcxx_requires_string(__rhs);
- typedef __versa_string<_CharT, _Traits, _Alloc, _Base> __string_type;
- typedef typename __string_type::size_type __size_type;
- const __size_type __len = _Traits::length(__rhs);
- __string_type __str;
- __str.reserve(__lhs.size() + __len);
- __str.append(__lhs);
- __str.append(__rhs, __len);
- return __str;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- __versa_string<_CharT, _Traits, _Alloc, _Base>
- operator+(const __versa_string<_CharT, _Traits, _Alloc, _Base>& __lhs,
- _CharT __rhs)
- {
- __versa_string<_CharT, _Traits, _Alloc, _Base> __str;
- __str.reserve(__lhs.size() + 1);
- __str.append(__lhs);
- __str.push_back(__rhs);
- return __str;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- copy(_CharT* __s, size_type __n, size_type __pos) const
- {
- _M_check(__pos, "__versa_string::copy");
- __n = _M_limit(__pos, __n);
- __glibcxx_requires_string_len(__s, __n);
- if (__n)
- this->_S_copy(__s, this->_M_data() + __pos, __n);
- // 21.3.5.7 par 3: do not append null. (good.)
- return __n;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- const size_type __size = this->size();
- const _CharT* __data = this->_M_data();
-
- if (__n == 0)
- return __pos <= __size ? __pos : npos;
-
- if (__n <= __size)
- {
- for (; __pos <= __size - __n; ++__pos)
- if (traits_type::eq(__data[__pos], __s[0])
- && traits_type::compare(__data + __pos + 1,
- __s + 1, __n - 1) == 0)
- return __pos;
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find(_CharT __c, size_type __pos) const
- {
- size_type __ret = npos;
- const size_type __size = this->size();
- if (__pos < __size)
- {
- const _CharT* __data = this->_M_data();
- const size_type __n = __size - __pos;
- const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
- if (__p)
- __ret = __p - __data;
- }
- return __ret;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- rfind(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- const size_type __size = this->size();
- if (__n <= __size)
- {
- __pos = std::min(size_type(__size - __n), __pos);
- const _CharT* __data = this->_M_data();
- do
- {
- if (traits_type::compare(__data + __pos, __s, __n) == 0)
- return __pos;
- }
- while (__pos-- > 0);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- rfind(_CharT __c, size_type __pos) const
- {
- size_type __size = this->size();
- if (__size)
- {
- if (--__size > __pos)
- __size = __pos;
- for (++__size; __size-- > 0; )
- if (traits_type::eq(this->_M_data()[__size], __c))
- return __size;
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- for (; __n && __pos < this->size(); ++__pos)
- {
- const _CharT* __p = traits_type::find(__s, __n,
- this->_M_data()[__pos]);
- if (__p)
- return __pos;
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- size_type __size = this->size();
- if (__size && __n)
- {
- if (--__size > __pos)
- __size = __pos;
- do
- {
- if (traits_type::find(__s, __n, this->_M_data()[__size]))
- return __size;
- }
- while (__size-- != 0);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- for (; __pos < this->size(); ++__pos)
- if (!traits_type::find(__s, __n, this->_M_data()[__pos]))
- return __pos;
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find_first_not_of(_CharT __c, size_type __pos) const
- {
- for (; __pos < this->size(); ++__pos)
- if (!traits_type::eq(this->_M_data()[__pos], __c))
- return __pos;
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
- {
- __glibcxx_requires_string_len(__s, __n);
- size_type __size = this->size();
- if (__size)
- {
- if (--__size > __pos)
- __size = __pos;
- do
- {
- if (!traits_type::find(__s, __n, this->_M_data()[__size]))
- return __size;
- }
- while (__size--);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- typename __versa_string<_CharT, _Traits, _Alloc, _Base>::size_type
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- find_last_not_of(_CharT __c, size_type __pos) const
- {
- size_type __size = this->size();
- if (__size)
- {
- if (--__size > __pos)
- __size = __pos;
- do
- {
- if (!traits_type::eq(this->_M_data()[__size], __c))
- return __size;
- }
- while (__size--);
- }
- return npos;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- int
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- compare(size_type __pos, size_type __n, const __versa_string& __str) const
- {
- _M_check(__pos, "__versa_string::compare");
- __n = _M_limit(__pos, __n);
- const size_type __osize = __str.size();
- const size_type __len = std::min(__n, __osize);
- int __r = traits_type::compare(this->_M_data() + __pos,
- __str.data(), __len);
- if (!__r)
- __r = __n - __osize;
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- int
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- compare(size_type __pos1, size_type __n1, const __versa_string& __str,
- size_type __pos2, size_type __n2) const
- {
- _M_check(__pos1, "__versa_string::compare");
- __str._M_check(__pos2, "__versa_string::compare");
- __n1 = _M_limit(__pos1, __n1);
- __n2 = __str._M_limit(__pos2, __n2);
- const size_type __len = std::min(__n1, __n2);
- int __r = traits_type::compare(this->_M_data() + __pos1,
- __str.data() + __pos2, __len);
- if (!__r)
- __r = __n1 - __n2;
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- int
- __versa_string<_CharT, _Traits, _Alloc, _Base>::
- compare(const _CharT* __s) const
- {
- __glibcxx_requires_string(__s);
- const size_type __size = this->size();
- const size_type __osize = traits_type::length(__s);
- const size_type __len = std::min(__size, __osize);
- int __r = traits_type::compare(this->_M_data(), __s, __len);
- if (!__r)
- __r = __size - __osize;
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- int
- __versa_string <_CharT, _Traits, _Alloc, _Base>::
- compare(size_type __pos, size_type __n1, const _CharT* __s) const
- {
- __glibcxx_requires_string(__s);
- _M_check(__pos, "__versa_string::compare");
- __n1 = _M_limit(__pos, __n1);
- const size_type __osize = traits_type::length(__s);
- const size_type __len = std::min(__n1, __osize);
- int __r = traits_type::compare(this->_M_data() + __pos, __s, __len);
- if (!__r)
- __r = __n1 - __osize;
- return __r;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- int
- __versa_string <_CharT, _Traits, _Alloc, _Base>::
- compare(size_type __pos, size_type __n1, const _CharT* __s,
- size_type __n2) const
- {
- __glibcxx_requires_string_len(__s, __n2);
- _M_check(__pos, "__versa_string::compare");
- __n1 = _M_limit(__pos, __n1);
- const size_type __len = std::min(__n1, __n2);
- int __r = traits_type::compare(this->_M_data() + __pos, __s, __len);
- if (!__r)
- __r = __n1 - __n2;
- return __r;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in,
- __gnu_cxx::__versa_string<_CharT, _Traits,
- _Alloc, _Base>& __str)
- {
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::int_type __int_type;
- typedef typename __istream_type::__streambuf_type __streambuf_type;
- typedef typename __istream_type::__ctype_type __ctype_type;
- typedef __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>
- __string_type;
- typedef typename __string_type::size_type __size_type;
-
- __size_type __extracted = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- typename __istream_type::sentry __cerb(__in, false);
- if (__cerb)
- {
- try
- {
- // Avoid reallocation for common case.
- __str.erase();
- _CharT __buf[128];
- __size_type __len = 0;
- const streamsize __w = __in.width();
- const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
- : __str.max_size();
- const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
- const __int_type __eof = _Traits::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __n
- && !_Traits::eq_int_type(__c, __eof)
- && !__ct.is(ctype_base::space, _Traits::to_char_type(__c)))
- {
- if (__len == sizeof(__buf) / sizeof(_CharT))
- {
- __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
- __len = 0;
- }
- __buf[__len++] = _Traits::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- __str.append(__buf, __len);
-
- if (_Traits::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- __in.width(0);
- }
- catch(...)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 91. Description of operator>> and getline() for string<>
- // might cause endless loop
- __in._M_setstate(ios_base::badbit);
- }
- }
- // 211. operator>>(istream&, string&) doesn't set failbit
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
- template<typename _CharT, typename _Traits, typename _Alloc,
- template <typename, typename, typename> class _Base>
- basic_istream<_CharT, _Traits>&
- getline(basic_istream<_CharT, _Traits>& __in,
- __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>& __str,
- _CharT __delim)
- {
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::int_type __int_type;
- typedef typename __istream_type::__streambuf_type __streambuf_type;
- typedef typename __istream_type::__ctype_type __ctype_type;
- typedef __gnu_cxx::__versa_string<_CharT, _Traits, _Alloc, _Base>
- __string_type;
- typedef typename __string_type::size_type __size_type;
-
- __size_type __extracted = 0;
- const __size_type __n = __str.max_size();
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- typename __istream_type::sentry __cerb(__in, true);
- if (__cerb)
- {
- try
- {
- // Avoid reallocation for common case.
- __str.erase();
- _CharT __buf[128];
- __size_type __len = 0;
- const __int_type __idelim = _Traits::to_int_type(__delim);
- const __int_type __eof = _Traits::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __n
- && !_Traits::eq_int_type(__c, __eof)
- && !_Traits::eq_int_type(__c, __idelim))
- {
- if (__len == sizeof(__buf) / sizeof(_CharT))
- {
- __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
- __len = 0;
- }
- __buf[__len++] = _Traits::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- __str.append(__buf, __len);
-
- if (_Traits::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (_Traits::eq_int_type(__c, __idelim))
- {
- ++__extracted;
- __sb->sbumpc();
- }
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 91. Description of operator>> and getline() for string<>
- // might cause endless loop
- __in._M_setstate(ios_base::badbit);
- }
- }
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif // _VSTRING_TCC
diff --git a/contrib/libstdc++/include/ext/vstring_fwd.h b/contrib/libstdc++/include/ext/vstring_fwd.h
deleted file mode 100644
index 953700676466..000000000000
--- a/contrib/libstdc++/include/ext/vstring_fwd.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Versatile string forward -*- C++ -*-
-
-// Copyright (C) 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 ext/vstring_fwd.h
- * This file is a GNU extension to the Standard C++ Library.
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _VSTRING_FWD_H
-#define _VSTRING_FWD_H 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/char_traits.h>
-#include <memory> // For allocator.
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- class __sso_string_base;
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- class __rc_string_base;
-
- template<typename _CharT, typename _Traits = std::char_traits<_CharT>,
- typename _Alloc = std::allocator<_CharT>,
- template
- <typename, typename, typename> class _Base = __sso_string_base>
- class __versa_string;
-
- typedef __versa_string<char> __vstring;
- typedef __vstring __sso_string;
- typedef
- __versa_string<char, std::char_traits<char>,
- std::allocator<char>, __rc_string_base> __rc_string;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- typedef __versa_string<wchar_t> __wvstring;
- typedef __wvstring __wsso_string;
- typedef
- __versa_string<wchar_t, std::char_traits<wchar_t>,
- std::allocator<wchar_t>, __rc_string_base> __wrc_string;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _VSTRING_FWD_H */
diff --git a/contrib/libstdc++/include/ext/vstring_util.h b/contrib/libstdc++/include/ext/vstring_util.h
deleted file mode 100644
index 5ff3034fc5b6..000000000000
--- a/contrib/libstdc++/include/ext/vstring_util.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// Versatile string utility -*- C++ -*-
-
-// 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
-// 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 ext/vstring_util.h
- * This file is a GNU extension to the Standard C++ Library.
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _VSTRING_UTIL_H
-#define _VSTRING_UTIL_H 1
-
-#pragma GCC system_header
-
-#include <ext/vstring_fwd.h>
-#include <debug/debug.h>
-#include <bits/stl_function.h> // For less
-#include <bits/functexcept.h>
-#include <locale>
-#include <algorithm> // For std::distance, srd::search.
-#include <bits/ostream_insert.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<typename _CharT, typename _Traits, typename _Alloc>
- struct __vstring_utility
- {
- typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type;
-
- typedef _Traits traits_type;
- typedef typename _Traits::char_type value_type;
- typedef typename _CharT_alloc_type::size_type size_type;
- typedef typename _CharT_alloc_type::pointer pointer;
- typedef typename _CharT_alloc_type::const_pointer const_pointer;
-
- // For __sso_string.
- typedef __gnu_cxx::
- __normal_iterator<pointer, __gnu_cxx::
- __versa_string<_CharT, _Traits, _Alloc,
- __sso_string_base> >
- __sso_iterator;
- typedef __gnu_cxx::
- __normal_iterator<const_pointer, __gnu_cxx::
- __versa_string<_CharT, _Traits, _Alloc,
- __sso_string_base> >
- __const_sso_iterator;
-
- // For __rc_string.
- typedef __gnu_cxx::
- __normal_iterator<pointer, __gnu_cxx::
- __versa_string<_CharT, _Traits, _Alloc,
- __rc_string_base> >
- __rc_iterator;
- typedef __gnu_cxx::
- __normal_iterator<const_pointer, __gnu_cxx::
- __versa_string<_CharT, _Traits, _Alloc,
- __rc_string_base> >
- __const_rc_iterator;
-
- // NB: When the allocator is empty, deriving from it saves space
- // (http://www.cantrip.org/emptyopt.html).
- template<typename _Alloc1>
- struct _Alloc_hider
- : public _Alloc1
- {
- _Alloc_hider(const _Alloc1& __a, _CharT* __ptr)
- : _Alloc1(__a), _M_p(__ptr) { }
-
- _CharT* _M_p; // The actual data.
- };
-
- // For use in _M_construct (_S_construct) forward_iterator_tag.
- template<typename _Type>
- static bool
- _S_is_null_pointer(_Type* __ptr)
- { return __ptr == 0; }
-
- template<typename _Type>
- static bool
- _S_is_null_pointer(_Type)
- { return false; }
-
- // When __n = 1 way faster than the general multichar
- // traits_type::copy/move/assign.
- static void
- _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
- {
- if (__n == 1)
- traits_type::assign(*__d, *__s);
- else
- traits_type::copy(__d, __s, __n);
- }
-
- static void
- _S_move(_CharT* __d, const _CharT* __s, size_type __n)
- {
- if (__n == 1)
- traits_type::assign(*__d, *__s);
- else
- traits_type::move(__d, __s, __n);
- }
-
- static void
- _S_assign(_CharT* __d, size_type __n, _CharT __c)
- {
- if (__n == 1)
- traits_type::assign(*__d, __c);
- else
- traits_type::assign(__d, __n, __c);
- }
-
- // _S_copy_chars is a separate template to permit specialization
- // to optimize for the common case of pointers as iterators.
- template<typename _Iterator>
- static void
- _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
- {
- for (; __k1 != __k2; ++__k1, ++__p)
- traits_type::assign(*__p, *__k1); // These types are off.
- }
-
- static void
- _S_copy_chars(_CharT* __p, __sso_iterator __k1, __sso_iterator __k2)
- { _S_copy_chars(__p, __k1.base(), __k2.base()); }
-
- static void
- _S_copy_chars(_CharT* __p, __const_sso_iterator __k1,
- __const_sso_iterator __k2)
- { _S_copy_chars(__p, __k1.base(), __k2.base()); }
-
- static void
- _S_copy_chars(_CharT* __p, __rc_iterator __k1, __rc_iterator __k2)
- { _S_copy_chars(__p, __k1.base(), __k2.base()); }
-
- static void
- _S_copy_chars(_CharT* __p, __const_rc_iterator __k1,
- __const_rc_iterator __k2)
- { _S_copy_chars(__p, __k1.base(), __k2.base()); }
-
- static void
- _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2)
- { _S_copy(__p, __k1, __k2 - __k1); }
-
- static void
- _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
- { _S_copy(__p, __k1, __k2 - __k1); }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _VSTRING_UTIL_H */
diff --git a/contrib/libstdc++/include/precompiled/extc++.h b/contrib/libstdc++/include/precompiled/extc++.h
deleted file mode 100644
index f01f39dc8b4f..000000000000
--- a/contrib/libstdc++/include/precompiled/extc++.h
+++ /dev/null
@@ -1,65 +0,0 @@
-// C++ includes used for precompiling extensions -*- C++ -*-
-
-// Copyright (C) 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 extc++.h
- * This is an implementation file for a precompiled header.
- */
-
-#include <bits/stdtr1c++.h>
-
-#include <ext/algorithm>
-#include <ext/array_allocator.h>
-#include <ext/bitmap_allocator.h>
-#include <ext/codecvt_specializations.h>
-#include <ext/debug_allocator.h>
-#include <ext/functional>
-#include <ext/hash_map>
-#include <ext/hash_set>
-#include <ext/iterator>
-#include <ext/malloc_allocator.h>
-#include <ext/memory>
-#include <ext/mt_allocator.h>
-#include <ext/new_allocator.h>
-#include <ext/numeric>
-#include <ext/pod_char_traits.h>
-#include <ext/pool_allocator.h>
-#include <ext/rb_tree>
-#include <ext/rope>
-#include <ext/slist>
-#include <ext/stdio_filebuf.h>
-#include <ext/stdio_sync_filebuf.h>
-#include <ext/typelist.h>
-#include <ext/vstring.h>
-#include <ext/pb_ds/assoc_container.hpp>
-#include <ext/pb_ds/priority_queue.hpp>
-#include <ext/pb_ds/exception.hpp>
-#include <ext/pb_ds/hash_policy.hpp>
-#include <ext/pb_ds/list_update_policy.hpp>
-#include <ext/pb_ds/tree_policy.hpp>
-#include <ext/pb_ds/trie_policy.hpp>
diff --git a/contrib/libstdc++/include/precompiled/stdc++.h b/contrib/libstdc++/include/precompiled/stdc++.h
deleted file mode 100644
index df9c2177d88c..000000000000
--- a/contrib/libstdc++/include/precompiled/stdc++.h
+++ /dev/null
@@ -1,86 +0,0 @@
-// C++ includes used for precompiling -*- C++ -*-
-
-// Copyright (C) 2003 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 stdc++.h
- * This is an implementation file for a precompiled header.
- */
-
-// 17.4.1.2 Headers
-
-// C
-#include <cassert>
-#include <cctype>
-#include <cerrno>
-#include <cfloat>
-#include <ciso646>
-#include <climits>
-#include <clocale>
-#include <cmath>
-#include <csetjmp>
-#include <csignal>
-#include <cstdarg>
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-#include <cstring>
-#include <ctime>
-
-// C++
-#include <algorithm>
-#include <bitset>
-#include <complex>
-#include <deque>
-#include <exception>
-#include <fstream>
-#include <functional>
-#include <iomanip>
-#include <ios>
-#include <iosfwd>
-#include <iostream>
-#include <istream>
-#include <iterator>
-#include <limits>
-#include <list>
-#include <locale>
-#include <map>
-#include <memory>
-#include <new>
-#include <numeric>
-#include <ostream>
-#include <queue>
-#include <set>
-#include <sstream>
-#include <stack>
-#include <stdexcept>
-#include <streambuf>
-#include <string>
-#include <typeinfo>
-#include <utility>
-#include <valarray>
-#include <vector>
diff --git a/contrib/libstdc++/include/precompiled/stdtr1c++.h b/contrib/libstdc++/include/precompiled/stdtr1c++.h
deleted file mode 100644
index 2d65cf95b1c9..000000000000
--- a/contrib/libstdc++/include/precompiled/stdtr1c++.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// C++ includes used for precompiling TR1 -*- C++ -*-
-
-// Copyright (C) 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 stdtr1c++.h
- * This is an implementation file for a precompiled header.
- */
-
-#include <bits/stdc++.h>
-
-#include <tr1/array>
-#include <tr1/cctype>
-#include <tr1/cfenv>
-#include <tr1/cfloat>
-#include <tr1/cinttypes>
-#include <tr1/climits>
-#include <tr1/cmath>
-#include <tr1/complex>
-#include <tr1/cstdarg>
-#include <tr1/cstdbool>
-#include <tr1/cstdint>
-#include <tr1/cstdio>
-#include <tr1/cstdlib>
-#include <tr1/ctgmath>
-#include <tr1/ctime>
-#include <tr1/cwchar>
-#include <tr1/cwctype>
-#include <tr1/functional>
-#include <tr1/random>
-#include <tr1/tuple>
-#include <tr1/unordered_map>
-#include <tr1/unordered_set>
-#include <tr1/utility>
diff --git a/contrib/libstdc++/include/std/std_algorithm.h b/contrib/libstdc++/include/std/std_algorithm.h
deleted file mode 100644
index 7ffbf97369ea..000000000000
--- a/contrib/libstdc++/include/std/std_algorithm.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// <algorithm> -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/algorithm
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_ALGORITHM
-#define _GLIBCXX_ALGORITHM 1
-
-#pragma GCC system_header
-
-#include <bits/stl_algobase.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <bits/stl_algo.h>
-
-#endif /* _GLIBCXX_ALGORITHM */
diff --git a/contrib/libstdc++/include/std/std_bitset.h b/contrib/libstdc++/include/std/std_bitset.h
deleted file mode 100644
index 860e775cc6b4..000000000000
--- a/contrib/libstdc++/include/std/std_bitset.h
+++ /dev/null
@@ -1,1344 +0,0 @@
-// <bitset> -*- C++ -*-
-
-// Copyright (C) 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.
-
-/*
- * Copyright (c) 1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/bitset
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_BITSET
-#define _GLIBCXX_BITSET 1
-
-#pragma GCC system_header
-
-#include <cstddef> // For size_t
-#include <cstring> // For memset
-#include <limits> // For numeric_limits
-#include <string>
-#include <bits/functexcept.h> // For invalid_argument, out_of_range,
- // overflow_error
-#include <ostream> // For ostream (operator<<)
-#include <istream> // For istream (operator>>)
-
-#define _GLIBCXX_BITSET_BITS_PER_WORD numeric_limits<unsigned long>::digits
-#define _GLIBCXX_BITSET_WORDS(__n) \
- ((__n) < 1 ? 0 : ((__n) + _GLIBCXX_BITSET_BITS_PER_WORD - 1) \
- / _GLIBCXX_BITSET_BITS_PER_WORD)
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- /**
- * @if maint
- * Base class, general case. It is a class inveriant that _Nw will be
- * nonnegative.
- *
- * See documentation for bitset.
- * @endif
- */
- template<size_t _Nw>
- struct _Base_bitset
- {
- typedef unsigned long _WordT;
-
- /// 0 is the least significant word.
- _WordT _M_w[_Nw];
-
- _Base_bitset()
- { _M_do_reset(); }
-
- _Base_bitset(unsigned long __val)
- {
- _M_do_reset();
- _M_w[0] = __val;
- }
-
- static size_t
- _S_whichword(size_t __pos )
- { return __pos / _GLIBCXX_BITSET_BITS_PER_WORD; }
-
- static size_t
- _S_whichbyte(size_t __pos )
- { return (__pos % _GLIBCXX_BITSET_BITS_PER_WORD) / __CHAR_BIT__; }
-
- static size_t
- _S_whichbit(size_t __pos )
- { return __pos % _GLIBCXX_BITSET_BITS_PER_WORD; }
-
- static _WordT
- _S_maskbit(size_t __pos )
- { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); }
-
- _WordT&
- _M_getword(size_t __pos)
- { return _M_w[_S_whichword(__pos)]; }
-
- _WordT
- _M_getword(size_t __pos) const
- { return _M_w[_S_whichword(__pos)]; }
-
- _WordT&
- _M_hiword()
- { return _M_w[_Nw - 1]; }
-
- _WordT
- _M_hiword() const
- { return _M_w[_Nw - 1]; }
-
- void
- _M_do_and(const _Base_bitset<_Nw>& __x)
- {
- for (size_t __i = 0; __i < _Nw; __i++)
- _M_w[__i] &= __x._M_w[__i];
- }
-
- void
- _M_do_or(const _Base_bitset<_Nw>& __x)
- {
- for (size_t __i = 0; __i < _Nw; __i++)
- _M_w[__i] |= __x._M_w[__i];
- }
-
- void
- _M_do_xor(const _Base_bitset<_Nw>& __x)
- {
- for (size_t __i = 0; __i < _Nw; __i++)
- _M_w[__i] ^= __x._M_w[__i];
- }
-
- void
- _M_do_left_shift(size_t __shift);
-
- void
- _M_do_right_shift(size_t __shift);
-
- void
- _M_do_flip()
- {
- for (size_t __i = 0; __i < _Nw; __i++)
- _M_w[__i] = ~_M_w[__i];
- }
-
- void
- _M_do_set()
- {
- for (size_t __i = 0; __i < _Nw; __i++)
- _M_w[__i] = ~static_cast<_WordT>(0);
- }
-
- void
- _M_do_reset()
- { std::memset(_M_w, 0, _Nw * sizeof(_WordT)); }
-
- bool
- _M_is_equal(const _Base_bitset<_Nw>& __x) const
- {
- for (size_t __i = 0; __i < _Nw; ++__i)
- {
- if (_M_w[__i] != __x._M_w[__i])
- return false;
- }
- return true;
- }
-
- bool
- _M_is_any() const
- {
- for (size_t __i = 0; __i < _Nw; __i++)
- {
- if (_M_w[__i] != static_cast<_WordT>(0))
- return true;
- }
- return false;
- }
-
- size_t
- _M_do_count() const
- {
- size_t __result = 0;
- for (size_t __i = 0; __i < _Nw; __i++)
- __result += __builtin_popcountl(_M_w[__i]);
- return __result;
- }
-
- unsigned long
- _M_do_to_ulong() const;
-
- // find first "on" bit
- size_t
- _M_do_find_first(size_t __not_found) const;
-
- // find the next "on" bit that follows "prev"
- size_t
- _M_do_find_next(size_t __prev, size_t __not_found) const;
- };
-
- // Definitions of non-inline functions from _Base_bitset.
- template<size_t _Nw>
- void
- _Base_bitset<_Nw>::_M_do_left_shift(size_t __shift)
- {
- if (__builtin_expect(__shift != 0, 1))
- {
- const size_t __wshift = __shift / _GLIBCXX_BITSET_BITS_PER_WORD;
- const size_t __offset = __shift % _GLIBCXX_BITSET_BITS_PER_WORD;
-
- if (__offset == 0)
- for (size_t __n = _Nw - 1; __n >= __wshift; --__n)
- _M_w[__n] = _M_w[__n - __wshift];
- else
- {
- const size_t __sub_offset = (_GLIBCXX_BITSET_BITS_PER_WORD
- - __offset);
- for (size_t __n = _Nw - 1; __n > __wshift; --__n)
- _M_w[__n] = ((_M_w[__n - __wshift] << __offset)
- | (_M_w[__n - __wshift - 1] >> __sub_offset));
- _M_w[__wshift] = _M_w[0] << __offset;
- }
-
- std::fill(_M_w + 0, _M_w + __wshift, static_cast<_WordT>(0));
- }
- }
-
- template<size_t _Nw>
- void
- _Base_bitset<_Nw>::_M_do_right_shift(size_t __shift)
- {
- if (__builtin_expect(__shift != 0, 1))
- {
- const size_t __wshift = __shift / _GLIBCXX_BITSET_BITS_PER_WORD;
- const size_t __offset = __shift % _GLIBCXX_BITSET_BITS_PER_WORD;
- const size_t __limit = _Nw - __wshift - 1;
-
- if (__offset == 0)
- for (size_t __n = 0; __n <= __limit; ++__n)
- _M_w[__n] = _M_w[__n + __wshift];
- else
- {
- const size_t __sub_offset = (_GLIBCXX_BITSET_BITS_PER_WORD
- - __offset);
- for (size_t __n = 0; __n < __limit; ++__n)
- _M_w[__n] = ((_M_w[__n + __wshift] >> __offset)
- | (_M_w[__n + __wshift + 1] << __sub_offset));
- _M_w[__limit] = _M_w[_Nw-1] >> __offset;
- }
-
- std::fill(_M_w + __limit + 1, _M_w + _Nw, static_cast<_WordT>(0));
- }
- }
-
- template<size_t _Nw>
- unsigned long
- _Base_bitset<_Nw>::_M_do_to_ulong() const
- {
- for (size_t __i = 1; __i < _Nw; ++__i)
- if (_M_w[__i])
- __throw_overflow_error(__N("_Base_bitset::_M_do_to_ulong"));
- return _M_w[0];
- }
-
- template<size_t _Nw>
- size_t
- _Base_bitset<_Nw>::_M_do_find_first(size_t __not_found) const
- {
- for (size_t __i = 0; __i < _Nw; __i++)
- {
- _WordT __thisword = _M_w[__i];
- if (__thisword != static_cast<_WordT>(0))
- return (__i * _GLIBCXX_BITSET_BITS_PER_WORD
- + __builtin_ctzl(__thisword));
- }
- // not found, so return an indication of failure.
- return __not_found;
- }
-
- template<size_t _Nw>
- size_t
- _Base_bitset<_Nw>::_M_do_find_next(size_t __prev, size_t __not_found) const
- {
- // make bound inclusive
- ++__prev;
-
- // check out of bounds
- if (__prev >= _Nw * _GLIBCXX_BITSET_BITS_PER_WORD)
- return __not_found;
-
- // search first word
- size_t __i = _S_whichword(__prev);
- _WordT __thisword = _M_w[__i];
-
- // mask off bits below bound
- __thisword &= (~static_cast<_WordT>(0)) << _S_whichbit(__prev);
-
- if (__thisword != static_cast<_WordT>(0))
- return (__i * _GLIBCXX_BITSET_BITS_PER_WORD
- + __builtin_ctzl(__thisword));
-
- // check subsequent words
- __i++;
- for (; __i < _Nw; __i++)
- {
- __thisword = _M_w[__i];
- if (__thisword != static_cast<_WordT>(0))
- return (__i * _GLIBCXX_BITSET_BITS_PER_WORD
- + __builtin_ctzl(__thisword));
- }
- // not found, so return an indication of failure.
- return __not_found;
- } // end _M_do_find_next
-
- /**
- * @if maint
- * Base class, specialization for a single word.
- *
- * See documentation for bitset.
- * @endif
- */
- template<>
- struct _Base_bitset<1>
- {
- typedef unsigned long _WordT;
- _WordT _M_w;
-
- _Base_bitset(void)
- : _M_w(0)
- { }
-
- _Base_bitset(unsigned long __val)
- : _M_w(__val)
- { }
-
- static size_t
- _S_whichword(size_t __pos )
- { return __pos / _GLIBCXX_BITSET_BITS_PER_WORD; }
-
- static size_t
- _S_whichbyte(size_t __pos )
- { return (__pos % _GLIBCXX_BITSET_BITS_PER_WORD) / __CHAR_BIT__; }
-
- static size_t
- _S_whichbit(size_t __pos )
- { return __pos % _GLIBCXX_BITSET_BITS_PER_WORD; }
-
- static _WordT
- _S_maskbit(size_t __pos )
- { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); }
-
- _WordT&
- _M_getword(size_t)
- { return _M_w; }
-
- _WordT
- _M_getword(size_t) const
- { return _M_w; }
-
- _WordT&
- _M_hiword()
- { return _M_w; }
-
- _WordT
- _M_hiword() const
- { return _M_w; }
-
- void
- _M_do_and(const _Base_bitset<1>& __x)
- { _M_w &= __x._M_w; }
-
- void
- _M_do_or(const _Base_bitset<1>& __x)
- { _M_w |= __x._M_w; }
-
- void
- _M_do_xor(const _Base_bitset<1>& __x)
- { _M_w ^= __x._M_w; }
-
- void
- _M_do_left_shift(size_t __shift)
- { _M_w <<= __shift; }
-
- void
- _M_do_right_shift(size_t __shift)
- { _M_w >>= __shift; }
-
- void
- _M_do_flip()
- { _M_w = ~_M_w; }
-
- void
- _M_do_set()
- { _M_w = ~static_cast<_WordT>(0); }
-
- void
- _M_do_reset()
- { _M_w = 0; }
-
- bool
- _M_is_equal(const _Base_bitset<1>& __x) const
- { return _M_w == __x._M_w; }
-
- bool
- _M_is_any() const
- { return _M_w != 0; }
-
- size_t
- _M_do_count() const
- { return __builtin_popcountl(_M_w); }
-
- unsigned long
- _M_do_to_ulong() const
- { return _M_w; }
-
- size_t
- _M_do_find_first(size_t __not_found) const
- {
- if (_M_w != 0)
- return __builtin_ctzl(_M_w);
- else
- return __not_found;
- }
-
- // find the next "on" bit that follows "prev"
- size_t
- _M_do_find_next(size_t __prev, size_t __not_found) const
- {
- ++__prev;
- if (__prev >= ((size_t) _GLIBCXX_BITSET_BITS_PER_WORD))
- return __not_found;
-
- _WordT __x = _M_w >> __prev;
- if (__x != 0)
- return __builtin_ctzl(__x) + __prev;
- else
- return __not_found;
- }
- };
-
- /**
- * @if maint
- * Base class, specialization for no storage (zero-length %bitset).
- *
- * See documentation for bitset.
- * @endif
- */
- template<>
- struct _Base_bitset<0>
- {
- typedef unsigned long _WordT;
-
- _Base_bitset()
- { }
-
- _Base_bitset(unsigned long)
- { }
-
- static size_t
- _S_whichword(size_t __pos )
- { return __pos / _GLIBCXX_BITSET_BITS_PER_WORD; }
-
- static size_t
- _S_whichbyte(size_t __pos )
- { return (__pos % _GLIBCXX_BITSET_BITS_PER_WORD) / __CHAR_BIT__; }
-
- static size_t
- _S_whichbit(size_t __pos )
- { return __pos % _GLIBCXX_BITSET_BITS_PER_WORD; }
-
- static _WordT
- _S_maskbit(size_t __pos )
- { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); }
-
- // This would normally give access to the data. The bounds-checking
- // in the bitset class will prevent the user from getting this far,
- // but (1) it must still return an lvalue to compile, and (2) the
- // user might call _Unchecked_set directly, in which case this /needs/
- // to fail. Let's not penalize zero-length users unless they actually
- // make an unchecked call; all the memory ugliness is therefore
- // localized to this single should-never-get-this-far function.
- _WordT&
- _M_getword(size_t) const
- {
- __throw_out_of_range(__N("_Base_bitset::_M_getword"));
- return *new _WordT;
- }
-
- _WordT
- _M_hiword() const
- { return 0; }
-
- void
- _M_do_and(const _Base_bitset<0>&)
- { }
-
- void
- _M_do_or(const _Base_bitset<0>&)
- { }
-
- void
- _M_do_xor(const _Base_bitset<0>&)
- { }
-
- void
- _M_do_left_shift(size_t)
- { }
-
- void
- _M_do_right_shift(size_t)
- { }
-
- void
- _M_do_flip()
- { }
-
- void
- _M_do_set()
- { }
-
- void
- _M_do_reset()
- { }
-
- // Are all empty bitsets equal to each other? Are they equal to
- // themselves? How to compare a thing which has no state? What is
- // the sound of one zero-length bitset clapping?
- bool
- _M_is_equal(const _Base_bitset<0>&) const
- { return true; }
-
- bool
- _M_is_any() const
- { return false; }
-
- size_t
- _M_do_count() const
- { return 0; }
-
- unsigned long
- _M_do_to_ulong() const
- { return 0; }
-
- // Normally "not found" is the size, but that could also be
- // misinterpreted as an index in this corner case. Oh well.
- size_t
- _M_do_find_first(size_t) const
- { return 0; }
-
- size_t
- _M_do_find_next(size_t, size_t) const
- { return 0; }
- };
-
-
- // Helper class to zero out the unused high-order bits in the highest word.
- template<size_t _Extrabits>
- struct _Sanitize
- {
- static void _S_do_sanitize(unsigned long& __val)
- { __val &= ~((~static_cast<unsigned long>(0)) << _Extrabits); }
- };
-
- template<>
- struct _Sanitize<0>
- { static void _S_do_sanitize(unsigned long) {} };
-
- /**
- * @brief The %bitset class represents a @e fixed-size sequence of bits.
- *
- * @ingroup Containers
- *
- * (Note that %bitset does @e not meet the formal requirements of a
- * <a href="tables.html#65">container</a>. Mainly, it lacks iterators.)
- *
- * The template argument, @a Nb, may be any non-negative number,
- * specifying the number of bits (e.g., "0", "12", "1024*1024").
- *
- * In the general unoptimized case, storage is allocated in word-sized
- * blocks. Let B be the number of bits in a word, then (Nb+(B-1))/B
- * words will be used for storage. B - Nb%B bits are unused. (They are
- * the high-order bits in the highest word.) It is a class invariant
- * that those unused bits are always zero.
- *
- * If you think of %bitset as "a simple array of bits," be aware that
- * your mental picture is reversed: a %bitset behaves the same way as
- * bits in integers do, with the bit at index 0 in the "least significant
- * / right-hand" position, and the bit at index Nb-1 in the "most
- * significant / left-hand" position. Thus, unlike other containers, a
- * %bitset's index "counts from right to left," to put it very loosely.
- *
- * This behavior is preserved when translating to and from strings. For
- * example, the first line of the following program probably prints
- * "b('a') is 0001100001" on a modern ASCII system.
- *
- * @code
- * #include <bitset>
- * #include <iostream>
- * #include <sstream>
- *
- * using namespace std;
- *
- * int main()
- * {
- * long a = 'a';
- * bitset<10> b(a);
- *
- * cout << "b('a') is " << b << endl;
- *
- * ostringstream s;
- * s << b;
- * string str = s.str();
- * cout << "index 3 in the string is " << str[3] << " but\n"
- * << "index 3 in the bitset is " << b[3] << endl;
- * }
- * @endcode
- *
- * Also see http://gcc.gnu.org/onlinedocs/libstdc++/ext/sgiexts.html#ch23
- * for a description of extensions.
- *
- * @if maint
- * Most of the actual code isn't contained in %bitset<> itself, but in the
- * base class _Base_bitset. The base class works with whole words, not with
- * individual bits. This allows us to specialize _Base_bitset for the
- * important special case where the %bitset is only a single word.
- *
- * Extra confusion can result due to the fact that the storage for
- * _Base_bitset @e is a regular array, and is indexed as such. This is
- * carefully encapsulated.
- * @endif
- */
- template<size_t _Nb>
- class bitset
- : private _Base_bitset<_GLIBCXX_BITSET_WORDS(_Nb)>
- {
- private:
- typedef _Base_bitset<_GLIBCXX_BITSET_WORDS(_Nb)> _Base;
- typedef unsigned long _WordT;
-
- void
- _M_do_sanitize()
- {
- _Sanitize<_Nb % _GLIBCXX_BITSET_BITS_PER_WORD>::
- _S_do_sanitize(this->_M_hiword());
- }
-
- public:
- /**
- * This encapsulates the concept of a single bit. An instance of this
- * class is a proxy for an actual bit; this way the individual bit
- * operations are done as faster word-size bitwise instructions.
- *
- * Most users will never need to use this class directly; conversions
- * to and from bool are automatic and should be transparent. Overloaded
- * operators help to preserve the illusion.
- *
- * (On a typical system, this "bit %reference" is 64 times the size of
- * an actual bit. Ha.)
- */
- class reference
- {
- friend class bitset;
-
- _WordT *_M_wp;
- size_t _M_bpos;
-
- // left undefined
- reference();
-
- public:
- reference(bitset& __b, size_t __pos)
- {
- _M_wp = &__b._M_getword(__pos);
- _M_bpos = _Base::_S_whichbit(__pos);
- }
-
- ~reference()
- { }
-
- // For b[i] = __x;
- reference&
- operator=(bool __x)
- {
- if (__x)
- *_M_wp |= _Base::_S_maskbit(_M_bpos);
- else
- *_M_wp &= ~_Base::_S_maskbit(_M_bpos);
- return *this;
- }
-
- // For b[i] = b[__j];
- reference&
- operator=(const reference& __j)
- {
- if ((*(__j._M_wp) & _Base::_S_maskbit(__j._M_bpos)))
- *_M_wp |= _Base::_S_maskbit(_M_bpos);
- else
- *_M_wp &= ~_Base::_S_maskbit(_M_bpos);
- return *this;
- }
-
- // Flips the bit
- bool
- operator~() const
- { return (*(_M_wp) & _Base::_S_maskbit(_M_bpos)) == 0; }
-
- // For __x = b[i];
- operator bool() const
- { return (*(_M_wp) & _Base::_S_maskbit(_M_bpos)) != 0; }
-
- // For b[i].flip();
- reference&
- flip()
- {
- *_M_wp ^= _Base::_S_maskbit(_M_bpos);
- return *this;
- }
- };
- friend class reference;
-
- // 23.3.5.1 constructors:
- /// All bits set to zero.
- bitset()
- { }
-
- /// Initial bits bitwise-copied from a single word (others set to zero).
- bitset(unsigned long __val)
- : _Base(__val)
- { _M_do_sanitize(); }
-
- /**
- * @brief Use a subset of a string.
- * @param s A string of '0' and '1' characters.
- * @param position Index of the first character in @a s to use;
- * defaults to zero.
- * @throw std::out_of_range If @a pos is bigger the size of @a s.
- * @throw std::invalid_argument If a character appears in the string
- * which is neither '0' nor '1'.
- */
- template<class _CharT, class _Traits, class _Alloc>
- explicit
- bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s,
- size_t __position = 0)
- : _Base()
- {
- if (__position > __s.size())
- __throw_out_of_range(__N("bitset::bitset initial position "
- "not valid"));
- _M_copy_from_string(__s, __position,
- std::basic_string<_CharT, _Traits, _Alloc>::npos);
- }
-
- /**
- * @brief Use a subset of a string.
- * @param s A string of '0' and '1' characters.
- * @param position Index of the first character in @a s to use.
- * @param n The number of characters to copy.
- * @throw std::out_of_range If @a pos is bigger the size of @a s.
- * @throw std::invalid_argument If a character appears in the string
- * which is neither '0' nor '1'.
- */
- template<class _CharT, class _Traits, class _Alloc>
- bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s,
- size_t __position, size_t __n)
- : _Base()
- {
- if (__position > __s.size())
- __throw_out_of_range(__N("bitset::bitset initial position "
- "not valid"));
- _M_copy_from_string(__s, __position, __n);
- }
-
- // 23.3.5.2 bitset operations:
- //@{
- /**
- * @brief Operations on bitsets.
- * @param rhs A same-sized bitset.
- *
- * These should be self-explanatory.
- */
- bitset<_Nb>&
- operator&=(const bitset<_Nb>& __rhs)
- {
- this->_M_do_and(__rhs);
- return *this;
- }
-
- bitset<_Nb>&
- operator|=(const bitset<_Nb>& __rhs)
- {
- this->_M_do_or(__rhs);
- return *this;
- }
-
- bitset<_Nb>&
- operator^=(const bitset<_Nb>& __rhs)
- {
- this->_M_do_xor(__rhs);
- return *this;
- }
- //@}
-
- //@{
- /**
- * @brief Operations on bitsets.
- * @param position The number of places to shift.
- *
- * These should be self-explanatory.
- */
- bitset<_Nb>&
- operator<<=(size_t __position)
- {
- if (__builtin_expect(__position < _Nb, 1))
- {
- this->_M_do_left_shift(__position);
- this->_M_do_sanitize();
- }
- else
- this->_M_do_reset();
- return *this;
- }
-
- bitset<_Nb>&
- operator>>=(size_t __position)
- {
- if (__builtin_expect(__position < _Nb, 1))
- {
- this->_M_do_right_shift(__position);
- this->_M_do_sanitize();
- }
- else
- this->_M_do_reset();
- return *this;
- }
- //@}
-
- //@{
- /**
- * These versions of single-bit set, reset, flip, and test are
- * extensions from the SGI version. They do no range checking.
- * @ingroup SGIextensions
- */
- bitset<_Nb>&
- _Unchecked_set(size_t __pos)
- {
- this->_M_getword(__pos) |= _Base::_S_maskbit(__pos);
- return *this;
- }
-
- bitset<_Nb>&
- _Unchecked_set(size_t __pos, int __val)
- {
- if (__val)
- this->_M_getword(__pos) |= _Base::_S_maskbit(__pos);
- else
- this->_M_getword(__pos) &= ~_Base::_S_maskbit(__pos);
- return *this;
- }
-
- bitset<_Nb>&
- _Unchecked_reset(size_t __pos)
- {
- this->_M_getword(__pos) &= ~_Base::_S_maskbit(__pos);
- return *this;
- }
-
- bitset<_Nb>&
- _Unchecked_flip(size_t __pos)
- {
- this->_M_getword(__pos) ^= _Base::_S_maskbit(__pos);
- return *this;
- }
-
- bool
- _Unchecked_test(size_t __pos) const
- { return ((this->_M_getword(__pos) & _Base::_S_maskbit(__pos))
- != static_cast<_WordT>(0)); }
- //@}
-
- // Set, reset, and flip.
- /**
- * @brief Sets every bit to true.
- */
- bitset<_Nb>&
- set()
- {
- this->_M_do_set();
- this->_M_do_sanitize();
- return *this;
- }
-
- /**
- * @brief Sets a given bit to a particular value.
- * @param position The index of the bit.
- * @param val Either true or false, defaults to true.
- * @throw std::out_of_range If @a pos is bigger the size of the %set.
- */
- bitset<_Nb>&
- set(size_t __position, bool __val = true)
- {
- if (__position >= _Nb)
- __throw_out_of_range(__N("bitset::set"));
- return _Unchecked_set(__position, __val);
- }
-
- /**
- * @brief Sets every bit to false.
- */
- bitset<_Nb>&
- reset()
- {
- this->_M_do_reset();
- return *this;
- }
-
- /**
- * @brief Sets a given bit to false.
- * @param position The index of the bit.
- * @throw std::out_of_range If @a pos is bigger the size of the %set.
- *
- * Same as writing @c set(pos,false).
- */
- bitset<_Nb>&
- reset(size_t __position)
- {
- if (__position >= _Nb)
- __throw_out_of_range(__N("bitset::reset"));
- return _Unchecked_reset(__position);
- }
-
- /**
- * @brief Toggles every bit to its opposite value.
- */
- bitset<_Nb>&
- flip()
- {
- this->_M_do_flip();
- this->_M_do_sanitize();
- return *this;
- }
-
- /**
- * @brief Toggles a given bit to its opposite value.
- * @param position The index of the bit.
- * @throw std::out_of_range If @a pos is bigger the size of the %set.
- */
- bitset<_Nb>&
- flip(size_t __position)
- {
- if (__position >= _Nb)
- __throw_out_of_range(__N("bitset::flip"));
- return _Unchecked_flip(__position);
- }
-
- /// See the no-argument flip().
- bitset<_Nb>
- operator~() const
- { return bitset<_Nb>(*this).flip(); }
-
- //@{
- /**
- * @brief Array-indexing support.
- * @param position Index into the %bitset.
- * @return A bool for a 'const %bitset'. For non-const bitsets, an
- * instance of the reference proxy class.
- * @note These operators do no range checking and throw no exceptions,
- * as required by DR 11 to the standard.
- *
- * @if maint
- * _GLIBCXX_RESOLVE_LIB_DEFECTS Note that this implementation already
- * resolves DR 11 (items 1 and 2), but does not do the range-checking
- * required by that DR's resolution. -pme
- * The DR has since been changed: range-checking is a precondition
- * (users' responsibility), and these functions must not throw. -pme
- * @endif
- */
- reference
- operator[](size_t __position)
- { return reference(*this,__position); }
-
- bool
- operator[](size_t __position) const
- { return _Unchecked_test(__position); }
- //@}
-
- /**
- * @brief Retuns a numerical interpretation of the %bitset.
- * @return The integral equivalent of the bits.
- * @throw std::overflow_error If there are too many bits to be
- * represented in an @c unsigned @c long.
- */
- unsigned long
- to_ulong() const
- { return this->_M_do_to_ulong(); }
-
- /**
- * @brief Retuns a character interpretation of the %bitset.
- * @return The string equivalent of the bits.
- *
- * Note the ordering of the bits: decreasing character positions
- * correspond to increasing bit positions (see the main class notes for
- * an example).
- */
- template<class _CharT, class _Traits, class _Alloc>
- std::basic_string<_CharT, _Traits, _Alloc>
- to_string() const
- {
- std::basic_string<_CharT, _Traits, _Alloc> __result;
- _M_copy_to_string(__result);
- return __result;
- }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 434. bitset::to_string() hard to use.
- template<class _CharT, class _Traits>
- std::basic_string<_CharT, _Traits, std::allocator<_CharT> >
- to_string() const
- { return to_string<_CharT, _Traits, std::allocator<_CharT> >(); }
-
- template<class _CharT>
- std::basic_string<_CharT, std::char_traits<_CharT>,
- std::allocator<_CharT> >
- to_string() const
- {
- return to_string<_CharT, std::char_traits<_CharT>,
- std::allocator<_CharT> >();
- }
-
- std::basic_string<char, std::char_traits<char>, std::allocator<char> >
- to_string() const
- {
- return to_string<char, std::char_traits<char>,
- std::allocator<char> >();
- }
-
- // Helper functions for string operations.
- template<class _CharT, class _Traits, class _Alloc>
- void
- _M_copy_from_string(const std::basic_string<_CharT,
- _Traits, _Alloc>& __s,
- size_t, size_t);
-
- template<class _CharT, class _Traits, class _Alloc>
- void
- _M_copy_to_string(std::basic_string<_CharT, _Traits, _Alloc>&) const;
-
- /// Returns the number of bits which are set.
- size_t
- count() const
- { return this->_M_do_count(); }
-
- /// Returns the total number of bits.
- size_t
- size() const
- { return _Nb; }
-
- //@{
- /// These comparisons for equality/inequality are, well, @e bitwise.
- bool
- operator==(const bitset<_Nb>& __rhs) const
- { return this->_M_is_equal(__rhs); }
-
- bool
- operator!=(const bitset<_Nb>& __rhs) const
- { return !this->_M_is_equal(__rhs); }
- //@}
-
- /**
- * @brief Tests the value of a bit.
- * @param position The index of a bit.
- * @return The value at @a pos.
- * @throw std::out_of_range If @a pos is bigger the size of the %set.
- */
- bool
- test(size_t __position) const
- {
- if (__position >= _Nb)
- __throw_out_of_range(__N("bitset::test"));
- return _Unchecked_test(__position);
- }
-
- /**
- * @brief Tests whether any of the bits are on.
- * @return True if at least one bit is set.
- */
- bool
- any() const
- { return this->_M_is_any(); }
-
- /**
- * @brief Tests whether any of the bits are on.
- * @return True if none of the bits are set.
- */
- bool
- none() const
- { return !this->_M_is_any(); }
-
- //@{
- /// Self-explanatory.
- bitset<_Nb>
- operator<<(size_t __position) const
- { return bitset<_Nb>(*this) <<= __position; }
-
- bitset<_Nb>
- operator>>(size_t __position) const
- { return bitset<_Nb>(*this) >>= __position; }
- //@}
-
- /**
- * @brief Finds the index of the first "on" bit.
- * @return The index of the first bit set, or size() if not found.
- * @ingroup SGIextensions
- * @sa _Find_next
- */
- size_t
- _Find_first() const
- { return this->_M_do_find_first(_Nb); }
-
- /**
- * @brief Finds the index of the next "on" bit after prev.
- * @return The index of the next bit set, or size() if not found.
- * @param prev Where to start searching.
- * @ingroup SGIextensions
- * @sa _Find_first
- */
- size_t
- _Find_next(size_t __prev ) const
- { return this->_M_do_find_next(__prev, _Nb); }
- };
-
- // Definitions of non-inline member functions.
- template<size_t _Nb>
- template<class _CharT, class _Traits, class _Alloc>
- void
- bitset<_Nb>::
- _M_copy_from_string(const std::basic_string<_CharT, _Traits,
- _Alloc>& __s, size_t __pos, size_t __n)
- {
- reset();
- const size_t __nbits = std::min(_Nb, std::min(__n, __s.size() - __pos));
- for (size_t __i = __nbits; __i > 0; --__i)
- {
- switch(__s[__pos + __nbits - __i])
- {
- case '0':
- break;
- case '1':
- _Unchecked_set(__i - 1);
- break;
- default:
- __throw_invalid_argument(__N("bitset::_M_copy_from_string"));
- }
- }
- }
-
- template<size_t _Nb>
- template<class _CharT, class _Traits, class _Alloc>
- void
- bitset<_Nb>::
- _M_copy_to_string(std::basic_string<_CharT, _Traits, _Alloc>& __s) const
- {
- __s.assign(_Nb, '0');
- for (size_t __i = _Nb; __i > 0; --__i)
- if (_Unchecked_test(__i - 1))
- __s[_Nb - __i] = '1';
- }
-
- // 23.3.5.3 bitset operations:
- //@{
- /**
- * @brief Global bitwise operations on bitsets.
- * @param x A bitset.
- * @param y A bitset of the same size as @a x.
- * @return A new bitset.
- *
- * These should be self-explanatory.
- */
- template<size_t _Nb>
- inline bitset<_Nb>
- operator&(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
- {
- bitset<_Nb> __result(__x);
- __result &= __y;
- return __result;
- }
-
- template<size_t _Nb>
- inline bitset<_Nb>
- operator|(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
- {
- bitset<_Nb> __result(__x);
- __result |= __y;
- return __result;
- }
-
- template <size_t _Nb>
- inline bitset<_Nb>
- operator^(const bitset<_Nb>& __x, const bitset<_Nb>& __y)
- {
- bitset<_Nb> __result(__x);
- __result ^= __y;
- return __result;
- }
- //@}
-
- //@{
- /**
- * @brief Global I/O operators for bitsets.
- *
- * Direct I/O between streams and bitsets is supported. Output is
- * straightforward. Input will skip whitespace, only accept '0' and '1'
- * characters, and will only extract as many digits as the %bitset will
- * hold.
- */
- template<class _CharT, class _Traits, size_t _Nb>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x)
- {
- typedef typename _Traits::char_type char_type;
- std::basic_string<_CharT, _Traits> __tmp;
- __tmp.reserve(_Nb);
-
- std::ios_base::iostate __state = std::ios_base::goodbit;
- typename std::basic_istream<_CharT, _Traits>::sentry __sentry(__is);
- if (__sentry)
- {
- try
- {
- basic_streambuf<_CharT, _Traits>* __buf = __is.rdbuf();
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 303. Bitset input operator underspecified
- const char_type __zero = __is.widen('0');
- const char_type __one = __is.widen('1');
- for (size_t __i = _Nb; __i > 0; --__i)
- {
- static typename _Traits::int_type __eof = _Traits::eof();
-
- typename _Traits::int_type __c1 = __buf->sbumpc();
- if (_Traits::eq_int_type(__c1, __eof))
- {
- __state |= std::ios_base::eofbit;
- break;
- }
- else
- {
- const char_type __c2 = _Traits::to_char_type(__c1);
- if (__c2 == __zero)
- __tmp.push_back('0');
- else if (__c2 == __one)
- __tmp.push_back('1');
- else if (_Traits::eq_int_type(__buf->sputbackc(__c2),
- __eof))
- {
- __state |= std::ios_base::failbit;
- break;
- }
- }
- }
- }
- catch(...)
- { __is._M_setstate(std::ios_base::badbit); }
- }
-
- if (__tmp.empty() && _Nb)
- __state |= std::ios_base::failbit;
- else
- __x._M_copy_from_string(__tmp, static_cast<size_t>(0), _Nb);
- if (__state)
- __is.setstate(__state);
- return __is;
- }
-
- template <class _CharT, class _Traits, size_t _Nb>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const bitset<_Nb>& __x)
- {
- std::basic_string<_CharT, _Traits> __tmp;
- __x._M_copy_to_string(__tmp);
- return __os << __tmp;
- }
-
- // Specializations for zero-sized bitsets, to avoid "unsigned comparison
- // with zero" warnings.
- template<>
- inline bitset<0>&
- bitset<0>::
- set(size_t, bool)
- {
- __throw_out_of_range(__N("bitset::set"));
- return *this;
- }
-
- template<>
- inline bitset<0>&
- bitset<0>::
- reset(size_t)
- {
- __throw_out_of_range(__N("bitset::reset"));
- return *this;
- }
-
- template<>
- inline bitset<0>&
- bitset<0>::
- flip(size_t)
- {
- __throw_out_of_range(__N("bitset::flip"));
- return *this;
- }
-
- template<>
- inline bool
- bitset<0>::
- test(size_t) const
- {
- __throw_out_of_range(__N("bitset::test"));
- return false;
- }
- //@}
-
-_GLIBCXX_END_NESTED_NAMESPACE
-
-#undef _GLIBCXX_BITSET_WORDS
-#undef _GLIBCXX_BITSET_BITS_PER_WORD
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/bitset>
-#endif
-
-#endif /* _GLIBCXX_BITSET */
diff --git a/contrib/libstdc++/include/std/std_complex.h b/contrib/libstdc++/include/std/std_complex.h
deleted file mode 100644
index 26f31f6150f2..000000000000
--- a/contrib/libstdc++/include/std/std_complex.h
+++ /dev/null
@@ -1,1489 +0,0 @@
-// The template and inlines for the -*- C++ -*- complex number classes.
-
-// 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 complex
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 26.2 Complex Numbers
-// Note: this is not a conforming implementation.
-// Initially implemented by Ulrich Drepper <drepper@cygnus.com>
-// Improved by Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
-//
-
-#ifndef _GLIBCXX_COMPLEX
-#define _GLIBCXX_COMPLEX 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/cpp_type_traits.h>
-#include <cmath>
-#include <sstream>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Forward declarations.
- template<typename _Tp> class complex;
- template<> class complex<float>;
- template<> class complex<double>;
- template<> class complex<long double>;
-
- /// Return magnitude of @a z.
- template<typename _Tp> _Tp abs(const complex<_Tp>&);
- /// Return phase angle of @a z.
- template<typename _Tp> _Tp arg(const complex<_Tp>&);
- /// Return @a z magnitude squared.
- template<typename _Tp> _Tp norm(const complex<_Tp>&);
-
- /// Return complex conjugate of @a z.
- template<typename _Tp> complex<_Tp> conj(const complex<_Tp>&);
- /// Return complex with magnitude @a rho and angle @a theta.
- template<typename _Tp> complex<_Tp> polar(const _Tp&, const _Tp& = 0);
-
- // Transcendentals:
- /// Return complex cosine of @a z.
- template<typename _Tp> complex<_Tp> cos(const complex<_Tp>&);
- /// Return complex hyperbolic cosine of @a z.
- template<typename _Tp> complex<_Tp> cosh(const complex<_Tp>&);
- /// Return complex base e exponential of @a z.
- template<typename _Tp> complex<_Tp> exp(const complex<_Tp>&);
- /// Return complex natural logarithm of @a z.
- template<typename _Tp> complex<_Tp> log(const complex<_Tp>&);
- /// Return complex base 10 logarithm of @a z.
- template<typename _Tp> complex<_Tp> log10(const complex<_Tp>&);
- /// Return complex cosine of @a z.
- template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&, int);
- /// Return @a x to the @a y'th power.
- template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&, const _Tp&);
- /// Return @a x to the @a y'th power.
- template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&,
- const complex<_Tp>&);
- /// Return @a x to the @a y'th power.
- template<typename _Tp> complex<_Tp> pow(const _Tp&, const complex<_Tp>&);
- /// Return complex sine of @a z.
- template<typename _Tp> complex<_Tp> sin(const complex<_Tp>&);
- /// Return complex hyperbolic sine of @a z.
- template<typename _Tp> complex<_Tp> sinh(const complex<_Tp>&);
- /// Return complex square root of @a z.
- template<typename _Tp> complex<_Tp> sqrt(const complex<_Tp>&);
- /// Return complex tangent of @a z.
- template<typename _Tp> complex<_Tp> tan(const complex<_Tp>&);
- /// Return complex hyperbolic tangent of @a z.
- template<typename _Tp> complex<_Tp> tanh(const complex<_Tp>&);
- //@}
-
-
- // 26.2.2 Primary template class complex
- /**
- * Template to represent complex numbers.
- *
- * Specializations for float, double, and long double are part of the
- * library. Results with any other type are not guaranteed.
- *
- * @param Tp Type of real and imaginary values.
- */
- template<typename _Tp>
- struct complex
- {
- /// Value typedef.
- typedef _Tp value_type;
-
- /// Default constructor. First parameter is x, second parameter is y.
- /// Unspecified parameters default to 0.
- complex(const _Tp& = _Tp(), const _Tp & = _Tp());
-
- // Lets the compiler synthesize the copy constructor
- // complex (const complex<_Tp>&);
- /// Copy constructor.
- template<typename _Up>
- complex(const complex<_Up>&);
-
- /// Return real part of complex number.
- _Tp& real();
- /// Return real part of complex number.
- const _Tp& real() const;
- /// Return imaginary part of complex number.
- _Tp& imag();
- /// Return imaginary part of complex number.
- const _Tp& imag() const;
-
- /// Assign this complex number to scalar @a t.
- complex<_Tp>& operator=(const _Tp&);
- /// Add @a t to this complex number.
- complex<_Tp>& operator+=(const _Tp&);
- /// Subtract @a t from this complex number.
- complex<_Tp>& operator-=(const _Tp&);
- /// Multiply this complex number by @a t.
- complex<_Tp>& operator*=(const _Tp&);
- /// Divide this complex number by @a t.
- complex<_Tp>& operator/=(const _Tp&);
-
- // Lets the compiler synthesize the
- // copy and assignment operator
- // complex<_Tp>& operator= (const complex<_Tp>&);
- /// Assign this complex number to complex @a z.
- template<typename _Up>
- complex<_Tp>& operator=(const complex<_Up>&);
- /// Add @a z to this complex number.
- template<typename _Up>
- complex<_Tp>& operator+=(const complex<_Up>&);
- /// Subtract @a z from this complex number.
- template<typename _Up>
- complex<_Tp>& operator-=(const complex<_Up>&);
- /// Multiply this complex number by @a z.
- template<typename _Up>
- complex<_Tp>& operator*=(const complex<_Up>&);
- /// Divide this complex number by @a z.
- template<typename _Up>
- complex<_Tp>& operator/=(const complex<_Up>&);
-
- const complex& __rep() const;
-
- private:
- _Tp _M_real;
- _Tp _M_imag;
- };
-
- template<typename _Tp>
- inline _Tp&
- complex<_Tp>::real() { return _M_real; }
-
- template<typename _Tp>
- inline const _Tp&
- complex<_Tp>::real() const { return _M_real; }
-
- template<typename _Tp>
- inline _Tp&
- complex<_Tp>::imag() { return _M_imag; }
-
- template<typename _Tp>
- inline const _Tp&
- complex<_Tp>::imag() const { return _M_imag; }
-
- template<typename _Tp>
- inline
- complex<_Tp>::complex(const _Tp& __r, const _Tp& __i)
- : _M_real(__r), _M_imag(__i) { }
-
- template<typename _Tp>
- template<typename _Up>
- inline
- complex<_Tp>::complex(const complex<_Up>& __z)
- : _M_real(__z.real()), _M_imag(__z.imag()) { }
-
- template<typename _Tp>
- complex<_Tp>&
- complex<_Tp>::operator=(const _Tp& __t)
- {
- _M_real = __t;
- _M_imag = _Tp();
- return *this;
- }
-
- // 26.2.5/1
- template<typename _Tp>
- inline complex<_Tp>&
- complex<_Tp>::operator+=(const _Tp& __t)
- {
- _M_real += __t;
- return *this;
- }
-
- // 26.2.5/3
- template<typename _Tp>
- inline complex<_Tp>&
- complex<_Tp>::operator-=(const _Tp& __t)
- {
- _M_real -= __t;
- return *this;
- }
-
- // 26.2.5/5
- template<typename _Tp>
- complex<_Tp>&
- complex<_Tp>::operator*=(const _Tp& __t)
- {
- _M_real *= __t;
- _M_imag *= __t;
- return *this;
- }
-
- // 26.2.5/7
- template<typename _Tp>
- complex<_Tp>&
- complex<_Tp>::operator/=(const _Tp& __t)
- {
- _M_real /= __t;
- _M_imag /= __t;
- return *this;
- }
-
- template<typename _Tp>
- template<typename _Up>
- complex<_Tp>&
- complex<_Tp>::operator=(const complex<_Up>& __z)
- {
- _M_real = __z.real();
- _M_imag = __z.imag();
- return *this;
- }
-
- // 26.2.5/9
- template<typename _Tp>
- template<typename _Up>
- complex<_Tp>&
- complex<_Tp>::operator+=(const complex<_Up>& __z)
- {
- _M_real += __z.real();
- _M_imag += __z.imag();
- return *this;
- }
-
- // 26.2.5/11
- template<typename _Tp>
- template<typename _Up>
- complex<_Tp>&
- complex<_Tp>::operator-=(const complex<_Up>& __z)
- {
- _M_real -= __z.real();
- _M_imag -= __z.imag();
- return *this;
- }
-
- // 26.2.5/13
- // XXX: This is a grammar school implementation.
- template<typename _Tp>
- template<typename _Up>
- complex<_Tp>&
- complex<_Tp>::operator*=(const complex<_Up>& __z)
- {
- const _Tp __r = _M_real * __z.real() - _M_imag * __z.imag();
- _M_imag = _M_real * __z.imag() + _M_imag * __z.real();
- _M_real = __r;
- return *this;
- }
-
- // 26.2.5/15
- // XXX: This is a grammar school implementation.
- template<typename _Tp>
- template<typename _Up>
- complex<_Tp>&
- complex<_Tp>::operator/=(const complex<_Up>& __z)
- {
- const _Tp __r = _M_real * __z.real() + _M_imag * __z.imag();
- const _Tp __n = std::norm(__z);
- _M_imag = (_M_imag * __z.real() - _M_real * __z.imag()) / __n;
- _M_real = __r / __n;
- return *this;
- }
-
- template<typename _Tp>
- inline const complex<_Tp>&
- complex<_Tp>::__rep() const { return *this; }
-
- // Operators:
- //@{
- /// Return new complex value @a x plus @a y.
- template<typename _Tp>
- inline complex<_Tp>
- operator+(const complex<_Tp>& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r = __x;
- __r += __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator+(const complex<_Tp>& __x, const _Tp& __y)
- {
- complex<_Tp> __r = __x;
- __r.real() += __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator+(const _Tp& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r = __y;
- __r.real() += __x;
- return __r;
- }
- //@}
-
- //@{
- /// Return new complex value @a x minus @a y.
- template<typename _Tp>
- inline complex<_Tp>
- operator-(const complex<_Tp>& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r = __x;
- __r -= __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator-(const complex<_Tp>& __x, const _Tp& __y)
- {
- complex<_Tp> __r = __x;
- __r.real() -= __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator-(const _Tp& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r(__x, -__y.imag());
- __r.real() -= __y.real();
- return __r;
- }
- //@}
-
- //@{
- /// Return new complex value @a x times @a y.
- template<typename _Tp>
- inline complex<_Tp>
- operator*(const complex<_Tp>& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r = __x;
- __r *= __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator*(const complex<_Tp>& __x, const _Tp& __y)
- {
- complex<_Tp> __r = __x;
- __r *= __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator*(const _Tp& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r = __y;
- __r *= __x;
- return __r;
- }
- //@}
-
- //@{
- /// Return new complex value @a x divided by @a y.
- template<typename _Tp>
- inline complex<_Tp>
- operator/(const complex<_Tp>& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r = __x;
- __r /= __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator/(const complex<_Tp>& __x, const _Tp& __y)
- {
- complex<_Tp> __r = __x;
- __r /= __y;
- return __r;
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- operator/(const _Tp& __x, const complex<_Tp>& __y)
- {
- complex<_Tp> __r = __x;
- __r /= __y;
- return __r;
- }
- //@}
-
- /// Return @a x.
- template<typename _Tp>
- inline complex<_Tp>
- operator+(const complex<_Tp>& __x)
- { return __x; }
-
- /// Return complex negation of @a x.
- template<typename _Tp>
- inline complex<_Tp>
- operator-(const complex<_Tp>& __x)
- { return complex<_Tp>(-__x.real(), -__x.imag()); }
-
- //@{
- /// Return true if @a x is equal to @a y.
- template<typename _Tp>
- inline bool
- operator==(const complex<_Tp>& __x, const complex<_Tp>& __y)
- { return __x.real() == __y.real() && __x.imag() == __y.imag(); }
-
- template<typename _Tp>
- inline bool
- operator==(const complex<_Tp>& __x, const _Tp& __y)
- { return __x.real() == __y && __x.imag() == _Tp(); }
-
- template<typename _Tp>
- inline bool
- operator==(const _Tp& __x, const complex<_Tp>& __y)
- { return __x == __y.real() && _Tp() == __y.imag(); }
- //@}
-
- //@{
- /// Return false if @a x is equal to @a y.
- template<typename _Tp>
- inline bool
- operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y)
- { return __x.real() != __y.real() || __x.imag() != __y.imag(); }
-
- template<typename _Tp>
- inline bool
- operator!=(const complex<_Tp>& __x, const _Tp& __y)
- { return __x.real() != __y || __x.imag() != _Tp(); }
-
- template<typename _Tp>
- inline bool
- operator!=(const _Tp& __x, const complex<_Tp>& __y)
- { return __x != __y.real() || _Tp() != __y.imag(); }
- //@}
-
- /// Extraction operator for complex values.
- template<typename _Tp, typename _CharT, class _Traits>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __x)
- {
- _Tp __re_x, __im_x;
- _CharT __ch;
- __is >> __ch;
- if (__ch == '(')
- {
- __is >> __re_x >> __ch;
- if (__ch == ',')
- {
- __is >> __im_x >> __ch;
- if (__ch == ')')
- __x = complex<_Tp>(__re_x, __im_x);
- else
- __is.setstate(ios_base::failbit);
- }
- else if (__ch == ')')
- __x = __re_x;
- else
- __is.setstate(ios_base::failbit);
- }
- else
- {
- __is.putback(__ch);
- __is >> __re_x;
- __x = __re_x;
- }
- return __is;
- }
-
- /// Insertion operator for complex values.
- template<typename _Tp, typename _CharT, class _Traits>
- basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x)
- {
- basic_ostringstream<_CharT, _Traits> __s;
- __s.flags(__os.flags());
- __s.imbue(__os.getloc());
- __s.precision(__os.precision());
- __s << '(' << __x.real() << ',' << __x.imag() << ')';
- return __os << __s.str();
- }
-
- // Values
- template<typename _Tp>
- inline _Tp&
- real(complex<_Tp>& __z)
- { return __z.real(); }
-
- template<typename _Tp>
- inline const _Tp&
- real(const complex<_Tp>& __z)
- { return __z.real(); }
-
- template<typename _Tp>
- inline _Tp&
- imag(complex<_Tp>& __z)
- { return __z.imag(); }
-
- template<typename _Tp>
- inline const _Tp&
- imag(const complex<_Tp>& __z)
- { return __z.imag(); }
-
- // 26.2.7/3 abs(__z): Returns the magnitude of __z.
- template<typename _Tp>
- inline _Tp
- __complex_abs(const complex<_Tp>& __z)
- {
- _Tp __x = __z.real();
- _Tp __y = __z.imag();
- const _Tp __s = std::max(abs(__x), abs(__y));
- if (__s == _Tp()) // well ...
- return __s;
- __x /= __s;
- __y /= __s;
- return __s * sqrt(__x * __x + __y * __y);
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline float
- __complex_abs(__complex__ float __z) { return __builtin_cabsf(__z); }
-
- inline double
- __complex_abs(__complex__ double __z) { return __builtin_cabs(__z); }
-
- inline long double
- __complex_abs(const __complex__ long double& __z)
- { return __builtin_cabsl(__z); }
-
- template<typename _Tp>
- inline _Tp
- abs(const complex<_Tp>& __z) { return __complex_abs(__z.__rep()); }
-#else
- template<typename _Tp>
- inline _Tp
- abs(const complex<_Tp>& __z) { return __complex_abs(__z); }
-#endif
-
-
- // 26.2.7/4: arg(__z): Returns the phase angle of __z.
- template<typename _Tp>
- inline _Tp
- __complex_arg(const complex<_Tp>& __z)
- { return atan2(__z.imag(), __z.real()); }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline float
- __complex_arg(__complex__ float __z) { return __builtin_cargf(__z); }
-
- inline double
- __complex_arg(__complex__ double __z) { return __builtin_carg(__z); }
-
- inline long double
- __complex_arg(const __complex__ long double& __z)
- { return __builtin_cargl(__z); }
-
- template<typename _Tp>
- inline _Tp
- arg(const complex<_Tp>& __z) { return __complex_arg(__z.__rep()); }
-#else
- template<typename _Tp>
- inline _Tp
- arg(const complex<_Tp>& __z) { return __complex_arg(__z); }
-#endif
-
- // 26.2.7/5: norm(__z) returns the squared magintude of __z.
- // As defined, norm() is -not- a norm is the common mathematical
- // sens used in numerics. The helper class _Norm_helper<> tries to
- // distinguish between builtin floating point and the rest, so as
- // to deliver an answer as close as possible to the real value.
- template<bool>
- struct _Norm_helper
- {
- template<typename _Tp>
- static inline _Tp _S_do_it(const complex<_Tp>& __z)
- {
- const _Tp __x = __z.real();
- const _Tp __y = __z.imag();
- return __x * __x + __y * __y;
- }
- };
-
- template<>
- struct _Norm_helper<true>
- {
- template<typename _Tp>
- static inline _Tp _S_do_it(const complex<_Tp>& __z)
- {
- _Tp __res = std::abs(__z);
- return __res * __res;
- }
- };
-
- template<typename _Tp>
- inline _Tp
- norm(const complex<_Tp>& __z)
- {
- return _Norm_helper<__is_floating<_Tp>::__value
- && !_GLIBCXX_FAST_MATH>::_S_do_it(__z);
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- polar(const _Tp& __rho, const _Tp& __theta)
- { return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta)); }
-
- template<typename _Tp>
- inline complex<_Tp>
- conj(const complex<_Tp>& __z)
- { return complex<_Tp>(__z.real(), -__z.imag()); }
-
- // Transcendentals
-
- // 26.2.8/1 cos(__z): Returns the cosine of __z.
- template<typename _Tp>
- inline complex<_Tp>
- __complex_cos(const complex<_Tp>& __z)
- {
- const _Tp __x = __z.real();
- const _Tp __y = __z.imag();
- return complex<_Tp>(cos(__x) * cosh(__y), -sin(__x) * sinh(__y));
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_cos(__complex__ float __z) { return __builtin_ccosf(__z); }
-
- inline __complex__ double
- __complex_cos(__complex__ double __z) { return __builtin_ccos(__z); }
-
- inline __complex__ long double
- __complex_cos(const __complex__ long double& __z)
- { return __builtin_ccosl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- cos(const complex<_Tp>& __z) { return __complex_cos(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- cos(const complex<_Tp>& __z) { return __complex_cos(__z); }
-#endif
-
- // 26.2.8/2 cosh(__z): Returns the hyperbolic cosine of __z.
- template<typename _Tp>
- inline complex<_Tp>
- __complex_cosh(const complex<_Tp>& __z)
- {
- const _Tp __x = __z.real();
- const _Tp __y = __z.imag();
- return complex<_Tp>(cosh(__x) * cos(__y), sinh(__x) * sin(__y));
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_cosh(__complex__ float __z) { return __builtin_ccoshf(__z); }
-
- inline __complex__ double
- __complex_cosh(__complex__ double __z) { return __builtin_ccosh(__z); }
-
- inline __complex__ long double
- __complex_cosh(const __complex__ long double& __z)
- { return __builtin_ccoshl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- cosh(const complex<_Tp>& __z) { return __complex_cosh(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- cosh(const complex<_Tp>& __z) { return __complex_cosh(__z); }
-#endif
-
- // 26.2.8/3 exp(__z): Returns the complex base e exponential of x
- template<typename _Tp>
- inline complex<_Tp>
- __complex_exp(const complex<_Tp>& __z)
- { return std::polar(exp(__z.real()), __z.imag()); }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_exp(__complex__ float __z) { return __builtin_cexpf(__z); }
-
- inline __complex__ double
- __complex_exp(__complex__ double __z) { return __builtin_cexp(__z); }
-
- inline __complex__ long double
- __complex_exp(const __complex__ long double& __z)
- { return __builtin_cexpl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- exp(const complex<_Tp>& __z) { return __complex_exp(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- exp(const complex<_Tp>& __z) { return __complex_exp(__z); }
-#endif
-
- // 26.2.8/5 log(__z): Reurns the natural complex logaritm of __z.
- // The branch cut is along the negative axis.
- template<typename _Tp>
- inline complex<_Tp>
- __complex_log(const complex<_Tp>& __z)
- { return complex<_Tp>(log(std::abs(__z)), std::arg(__z)); }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_log(__complex__ float __z) { return __builtin_clogf(__z); }
-
- inline __complex__ double
- __complex_log(__complex__ double __z) { return __builtin_clog(__z); }
-
- inline __complex__ long double
- __complex_log(const __complex__ long double& __z)
- { return __builtin_clogl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- log(const complex<_Tp>& __z) { return __complex_log(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- log(const complex<_Tp>& __z) { return __complex_log(__z); }
-#endif
-
- template<typename _Tp>
- inline complex<_Tp>
- log10(const complex<_Tp>& __z)
- { return std::log(__z) / log(_Tp(10.0)); }
-
- // 26.2.8/10 sin(__z): Returns the sine of __z.
- template<typename _Tp>
- inline complex<_Tp>
- __complex_sin(const complex<_Tp>& __z)
- {
- const _Tp __x = __z.real();
- const _Tp __y = __z.imag();
- return complex<_Tp>(sin(__x) * cosh(__y), cos(__x) * sinh(__y));
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_sin(__complex__ float __z) { return __builtin_csinf(__z); }
-
- inline __complex__ double
- __complex_sin(__complex__ double __z) { return __builtin_csin(__z); }
-
- inline __complex__ long double
- __complex_sin(const __complex__ long double& __z)
- { return __builtin_csinl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- sin(const complex<_Tp>& __z) { return __complex_sin(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- sin(const complex<_Tp>& __z) { return __complex_sin(__z); }
-#endif
-
- // 26.2.8/11 sinh(__z): Returns the hyperbolic sine of __z.
- template<typename _Tp>
- inline complex<_Tp>
- __complex_sinh(const complex<_Tp>& __z)
- {
- const _Tp __x = __z.real();
- const _Tp __y = __z.imag();
- return complex<_Tp>(sinh(__x) * cos(__y), cosh(__x) * sin(__y));
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_sinh(__complex__ float __z) { return __builtin_csinhf(__z); }
-
- inline __complex__ double
- __complex_sinh(__complex__ double __z) { return __builtin_csinh(__z); }
-
- inline __complex__ long double
- __complex_sinh(const __complex__ long double& __z)
- { return __builtin_csinhl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- sinh(const complex<_Tp>& __z) { return __complex_sinh(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- sinh(const complex<_Tp>& __z) { return __complex_sinh(__z); }
-#endif
-
- // 26.2.8/13 sqrt(__z): Returns the complex square root of __z.
- // The branch cut is on the negative axis.
- template<typename _Tp>
- complex<_Tp>
- __complex_sqrt(const complex<_Tp>& __z)
- {
- _Tp __x = __z.real();
- _Tp __y = __z.imag();
-
- if (__x == _Tp())
- {
- _Tp __t = sqrt(abs(__y) / 2);
- return complex<_Tp>(__t, __y < _Tp() ? -__t : __t);
- }
- else
- {
- _Tp __t = sqrt(2 * (std::abs(__z) + abs(__x)));
- _Tp __u = __t / 2;
- return __x > _Tp()
- ? complex<_Tp>(__u, __y / __t)
- : complex<_Tp>(abs(__y) / __t, __y < _Tp() ? -__u : __u);
- }
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_sqrt(__complex__ float __z) { return __builtin_csqrtf(__z); }
-
- inline __complex__ double
- __complex_sqrt(__complex__ double __z) { return __builtin_csqrt(__z); }
-
- inline __complex__ long double
- __complex_sqrt(const __complex__ long double& __z)
- { return __builtin_csqrtl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- sqrt(const complex<_Tp>& __z) { return __complex_sqrt(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- sqrt(const complex<_Tp>& __z) { return __complex_sqrt(__z); }
-#endif
-
- // 26.2.8/14 tan(__z): Return the complex tangent of __z.
-
- template<typename _Tp>
- inline complex<_Tp>
- __complex_tan(const complex<_Tp>& __z)
- { return std::sin(__z) / std::cos(__z); }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_tan(__complex__ float __z) { return __builtin_ctanf(__z); }
-
- inline __complex__ double
- __complex_tan(__complex__ double __z) { return __builtin_ctan(__z); }
-
- inline __complex__ long double
- __complex_tan(const __complex__ long double& __z)
- { return __builtin_ctanl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- tan(const complex<_Tp>& __z) { return __complex_tan(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- tan(const complex<_Tp>& __z) { return __complex_tan(__z); }
-#endif
-
-
- // 26.2.8/15 tanh(__z): Returns the hyperbolic tangent of __z.
-
- template<typename _Tp>
- inline complex<_Tp>
- __complex_tanh(const complex<_Tp>& __z)
- { return std::sinh(__z) / std::cosh(__z); }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_tanh(__complex__ float __z) { return __builtin_ctanhf(__z); }
-
- inline __complex__ double
- __complex_tanh(__complex__ double __z) { return __builtin_ctanh(__z); }
-
- inline __complex__ long double
- __complex_tanh(const __complex__ long double& __z)
- { return __builtin_ctanhl(__z); }
-
- template<typename _Tp>
- inline complex<_Tp>
- tanh(const complex<_Tp>& __z) { return __complex_tanh(__z.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- tanh(const complex<_Tp>& __z) { return __complex_tanh(__z); }
-#endif
-
-
- // 26.2.8/9 pow(__x, __y): Returns the complex power base of __x
- // raised to the __y-th power. The branch
- // cut is on the negative axis.
- template<typename _Tp>
- inline complex<_Tp>
- pow(const complex<_Tp>& __z, int __n)
- { return std::__pow_helper(__z, __n); }
-
- template<typename _Tp>
- complex<_Tp>
- pow(const complex<_Tp>& __x, const _Tp& __y)
- {
-#ifndef _GLIBCXX_USE_C99_COMPLEX
- if (__x == _Tp())
- return _Tp();
-#endif
- if (__x.imag() == _Tp() && __x.real() > _Tp())
- return pow(__x.real(), __y);
-
- complex<_Tp> __t = std::log(__x);
- return std::polar(exp(__y * __t.real()), __y * __t.imag());
- }
-
- template<typename _Tp>
- inline complex<_Tp>
- __complex_pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
- { return __x == _Tp() ? _Tp() : std::exp(__y * std::log(__x)); }
-
-#if _GLIBCXX_USE_C99_COMPLEX
- inline __complex__ float
- __complex_pow(__complex__ float __x, __complex__ float __y)
- { return __builtin_cpowf(__x, __y); }
-
- inline __complex__ double
- __complex_pow(__complex__ double __x, __complex__ double __y)
- { return __builtin_cpow(__x, __y); }
-
- inline __complex__ long double
- __complex_pow(const __complex__ long double& __x,
- const __complex__ long double& __y)
- { return __builtin_cpowl(__x, __y); }
-
- template<typename _Tp>
- inline complex<_Tp>
- pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
- { return __complex_pow(__x.__rep(), __y.__rep()); }
-#else
- template<typename _Tp>
- inline complex<_Tp>
- pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
- { return __complex_pow(__x, __y); }
-#endif
-
- template<typename _Tp>
- inline complex<_Tp>
- pow(const _Tp& __x, const complex<_Tp>& __y)
- {
- return __x > _Tp() ? std::polar(pow(__x, __y.real()),
- __y.imag() * log(__x))
- : std::pow(complex<_Tp>(__x, _Tp()), __y);
- }
-
- // 26.2.3 complex specializations
- // complex<float> specialization
- template<>
- struct complex<float>
- {
- typedef float value_type;
- typedef __complex__ float _ComplexT;
-
- complex(_ComplexT __z) : _M_value(__z) { }
-
- complex(float = 0.0f, float = 0.0f);
-
- explicit complex(const complex<double>&);
- explicit complex(const complex<long double>&);
-
- float& real();
- const float& real() const;
- float& imag();
- const float& imag() const;
-
- complex<float>& operator=(float);
- complex<float>& operator+=(float);
- complex<float>& operator-=(float);
- complex<float>& operator*=(float);
- complex<float>& operator/=(float);
-
- // Let's the compiler synthetize the copy and assignment
- // operator. It always does a pretty good job.
- // complex& operator= (const complex&);
- template<typename _Tp>
- complex<float>&operator=(const complex<_Tp>&);
- template<typename _Tp>
- complex<float>& operator+=(const complex<_Tp>&);
- template<class _Tp>
- complex<float>& operator-=(const complex<_Tp>&);
- template<class _Tp>
- complex<float>& operator*=(const complex<_Tp>&);
- template<class _Tp>
- complex<float>&operator/=(const complex<_Tp>&);
-
- const _ComplexT& __rep() const { return _M_value; }
-
- private:
- _ComplexT _M_value;
- };
-
- inline float&
- complex<float>::real()
- { return __real__ _M_value; }
-
- inline const float&
- complex<float>::real() const
- { return __real__ _M_value; }
-
- inline float&
- complex<float>::imag()
- { return __imag__ _M_value; }
-
- inline const float&
- complex<float>::imag() const
- { return __imag__ _M_value; }
-
- inline
- complex<float>::complex(float r, float i)
- {
- __real__ _M_value = r;
- __imag__ _M_value = i;
- }
-
- inline complex<float>&
- complex<float>::operator=(float __f)
- {
- __real__ _M_value = __f;
- __imag__ _M_value = 0.0f;
- return *this;
- }
-
- inline complex<float>&
- complex<float>::operator+=(float __f)
- {
- __real__ _M_value += __f;
- return *this;
- }
-
- inline complex<float>&
- complex<float>::operator-=(float __f)
- {
- __real__ _M_value -= __f;
- return *this;
- }
-
- inline complex<float>&
- complex<float>::operator*=(float __f)
- {
- _M_value *= __f;
- return *this;
- }
-
- inline complex<float>&
- complex<float>::operator/=(float __f)
- {
- _M_value /= __f;
- return *this;
- }
-
- template<typename _Tp>
- inline complex<float>&
- complex<float>::operator=(const complex<_Tp>& __z)
- {
- __real__ _M_value = __z.real();
- __imag__ _M_value = __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<float>&
- complex<float>::operator+=(const complex<_Tp>& __z)
- {
- __real__ _M_value += __z.real();
- __imag__ _M_value += __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<float>&
- complex<float>::operator-=(const complex<_Tp>& __z)
- {
- __real__ _M_value -= __z.real();
- __imag__ _M_value -= __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<float>&
- complex<float>::operator*=(const complex<_Tp>& __z)
- {
- _ComplexT __t;
- __real__ __t = __z.real();
- __imag__ __t = __z.imag();
- _M_value *= __t;
- return *this;
- }
-
- template<typename _Tp>
- inline complex<float>&
- complex<float>::operator/=(const complex<_Tp>& __z)
- {
- _ComplexT __t;
- __real__ __t = __z.real();
- __imag__ __t = __z.imag();
- _M_value /= __t;
- return *this;
- }
-
- // 26.2.3 complex specializations
- // complex<double> specialization
- template<>
- struct complex<double>
- {
- typedef double value_type;
- typedef __complex__ double _ComplexT;
-
- complex(_ComplexT __z) : _M_value(__z) { }
-
- complex(double = 0.0, double = 0.0);
-
- complex(const complex<float>&);
- explicit complex(const complex<long double>&);
-
- double& real();
- const double& real() const;
- double& imag();
- const double& imag() const;
-
- complex<double>& operator=(double);
- complex<double>& operator+=(double);
- complex<double>& operator-=(double);
- complex<double>& operator*=(double);
- complex<double>& operator/=(double);
-
- // The compiler will synthetize this, efficiently.
- // complex& operator= (const complex&);
- template<typename _Tp>
- complex<double>& operator=(const complex<_Tp>&);
- template<typename _Tp>
- complex<double>& operator+=(const complex<_Tp>&);
- template<typename _Tp>
- complex<double>& operator-=(const complex<_Tp>&);
- template<typename _Tp>
- complex<double>& operator*=(const complex<_Tp>&);
- template<typename _Tp>
- complex<double>& operator/=(const complex<_Tp>&);
-
- const _ComplexT& __rep() const { return _M_value; }
-
- private:
- _ComplexT _M_value;
- };
-
- inline double&
- complex<double>::real()
- { return __real__ _M_value; }
-
- inline const double&
- complex<double>::real() const
- { return __real__ _M_value; }
-
- inline double&
- complex<double>::imag()
- { return __imag__ _M_value; }
-
- inline const double&
- complex<double>::imag() const
- { return __imag__ _M_value; }
-
- inline
- complex<double>::complex(double __r, double __i)
- {
- __real__ _M_value = __r;
- __imag__ _M_value = __i;
- }
-
- inline complex<double>&
- complex<double>::operator=(double __d)
- {
- __real__ _M_value = __d;
- __imag__ _M_value = 0.0;
- return *this;
- }
-
- inline complex<double>&
- complex<double>::operator+=(double __d)
- {
- __real__ _M_value += __d;
- return *this;
- }
-
- inline complex<double>&
- complex<double>::operator-=(double __d)
- {
- __real__ _M_value -= __d;
- return *this;
- }
-
- inline complex<double>&
- complex<double>::operator*=(double __d)
- {
- _M_value *= __d;
- return *this;
- }
-
- inline complex<double>&
- complex<double>::operator/=(double __d)
- {
- _M_value /= __d;
- return *this;
- }
-
- template<typename _Tp>
- inline complex<double>&
- complex<double>::operator=(const complex<_Tp>& __z)
- {
- __real__ _M_value = __z.real();
- __imag__ _M_value = __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<double>&
- complex<double>::operator+=(const complex<_Tp>& __z)
- {
- __real__ _M_value += __z.real();
- __imag__ _M_value += __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<double>&
- complex<double>::operator-=(const complex<_Tp>& __z)
- {
- __real__ _M_value -= __z.real();
- __imag__ _M_value -= __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<double>&
- complex<double>::operator*=(const complex<_Tp>& __z)
- {
- _ComplexT __t;
- __real__ __t = __z.real();
- __imag__ __t = __z.imag();
- _M_value *= __t;
- return *this;
- }
-
- template<typename _Tp>
- inline complex<double>&
- complex<double>::operator/=(const complex<_Tp>& __z)
- {
- _ComplexT __t;
- __real__ __t = __z.real();
- __imag__ __t = __z.imag();
- _M_value /= __t;
- return *this;
- }
-
- // 26.2.3 complex specializations
- // complex<long double> specialization
- template<>
- struct complex<long double>
- {
- typedef long double value_type;
- typedef __complex__ long double _ComplexT;
-
- complex(_ComplexT __z) : _M_value(__z) { }
-
- complex(long double = 0.0L, long double = 0.0L);
-
- complex(const complex<float>&);
- complex(const complex<double>&);
-
- long double& real();
- const long double& real() const;
- long double& imag();
- const long double& imag() const;
-
- complex<long double>& operator= (long double);
- complex<long double>& operator+= (long double);
- complex<long double>& operator-= (long double);
- complex<long double>& operator*= (long double);
- complex<long double>& operator/= (long double);
-
- // The compiler knows how to do this efficiently
- // complex& operator= (const complex&);
- template<typename _Tp>
- complex<long double>& operator=(const complex<_Tp>&);
- template<typename _Tp>
- complex<long double>& operator+=(const complex<_Tp>&);
- template<typename _Tp>
- complex<long double>& operator-=(const complex<_Tp>&);
- template<typename _Tp>
- complex<long double>& operator*=(const complex<_Tp>&);
- template<typename _Tp>
- complex<long double>& operator/=(const complex<_Tp>&);
-
- const _ComplexT& __rep() const { return _M_value; }
-
- private:
- _ComplexT _M_value;
- };
-
- inline
- complex<long double>::complex(long double __r, long double __i)
- {
- __real__ _M_value = __r;
- __imag__ _M_value = __i;
- }
-
- inline long double&
- complex<long double>::real()
- { return __real__ _M_value; }
-
- inline const long double&
- complex<long double>::real() const
- { return __real__ _M_value; }
-
- inline long double&
- complex<long double>::imag()
- { return __imag__ _M_value; }
-
- inline const long double&
- complex<long double>::imag() const
- { return __imag__ _M_value; }
-
- inline complex<long double>&
- complex<long double>::operator=(long double __r)
- {
- __real__ _M_value = __r;
- __imag__ _M_value = 0.0L;
- return *this;
- }
-
- inline complex<long double>&
- complex<long double>::operator+=(long double __r)
- {
- __real__ _M_value += __r;
- return *this;
- }
-
- inline complex<long double>&
- complex<long double>::operator-=(long double __r)
- {
- __real__ _M_value -= __r;
- return *this;
- }
-
- inline complex<long double>&
- complex<long double>::operator*=(long double __r)
- {
- _M_value *= __r;
- return *this;
- }
-
- inline complex<long double>&
- complex<long double>::operator/=(long double __r)
- {
- _M_value /= __r;
- return *this;
- }
-
- template<typename _Tp>
- inline complex<long double>&
- complex<long double>::operator=(const complex<_Tp>& __z)
- {
- __real__ _M_value = __z.real();
- __imag__ _M_value = __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<long double>&
- complex<long double>::operator+=(const complex<_Tp>& __z)
- {
- __real__ _M_value += __z.real();
- __imag__ _M_value += __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<long double>&
- complex<long double>::operator-=(const complex<_Tp>& __z)
- {
- __real__ _M_value -= __z.real();
- __imag__ _M_value -= __z.imag();
- return *this;
- }
-
- template<typename _Tp>
- inline complex<long double>&
- complex<long double>::operator*=(const complex<_Tp>& __z)
- {
- _ComplexT __t;
- __real__ __t = __z.real();
- __imag__ __t = __z.imag();
- _M_value *= __t;
- return *this;
- }
-
- template<typename _Tp>
- inline complex<long double>&
- complex<long double>::operator/=(const complex<_Tp>& __z)
- {
- _ComplexT __t;
- __real__ __t = __z.real();
- __imag__ __t = __z.imag();
- _M_value /= __t;
- return *this;
- }
-
- // These bits have to be at the end of this file, so that the
- // specializations have all been defined.
- // ??? No, they have to be there because of compiler limitation at
- // inlining. It suffices that class specializations be defined.
- inline
- complex<float>::complex(const complex<double>& __z)
- : _M_value(__z.__rep()) { }
-
- inline
- complex<float>::complex(const complex<long double>& __z)
- : _M_value(__z.__rep()) { }
-
- inline
- complex<double>::complex(const complex<float>& __z)
- : _M_value(__z.__rep()) { }
-
- inline
- complex<double>::complex(const complex<long double>& __z)
- : _M_value(__z.__rep()) { }
-
- inline
- complex<long double>::complex(const complex<float>& __z)
- : _M_value(__z.__rep()) { }
-
- inline
- complex<long double>::complex(const complex<double>& __z)
- : _M_value(__z.__rep()) { }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GLIBCXX_COMPLEX */
diff --git a/contrib/libstdc++/include/std/std_deque.h b/contrib/libstdc++/include/std/std_deque.h
deleted file mode 100644
index 57c6e4347add..000000000000
--- a/contrib/libstdc++/include/std/std_deque.h
+++ /dev/null
@@ -1,80 +0,0 @@
-// <deque> -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/deque
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_DEQUE
-#define _GLIBCXX_DEQUE 1
-
-#pragma GCC system_header
-
-#include <bits/functexcept.h>
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <bits/stl_deque.h>
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/deque.tcc>
-#endif
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/deque>
-#endif
-
-#endif /* _GLIBCXX_DEQUE */
diff --git a/contrib/libstdc++/include/std/std_fstream.h b/contrib/libstdc++/include/std/std_fstream.h
deleted file mode 100644
index 0c81633f50bf..000000000000
--- a/contrib/libstdc++/include/std/std_fstream.h
+++ /dev/null
@@ -1,808 +0,0 @@
-// File based streams -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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 fstream
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.8 File-based streams
-//
-
-#ifndef _GLIBCXX_FSTREAM
-#define _GLIBCXX_FSTREAM 1
-
-#pragma GCC system_header
-
-#include <istream>
-#include <ostream>
-#include <locale> // For codecvt
-#include <cstdio> // For SEEK_SET, SEEK_CUR, SEEK_END, BUFSIZ
-#include <bits/basic_file.h>
-#include <bits/gthr.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // [27.8.1.1] template class basic_filebuf
- /**
- * @brief The actual work of input and output (for files).
- *
- * This class associates both its input and output sequence with an
- * external disk file, and maintains a joint file position for both
- * sequences. Many of its sematics are described in terms of similar
- * behavior in the Standard C Library's @c FILE streams.
- */
- // Requirements on traits_type, specific to this class:
- // traits_type::pos_type must be fpos<traits_type::state_type>
- // traits_type::off_type must be streamoff
- // traits_type::state_type must be Assignable and DefaultConstructable,
- // and traits_type::state_type() must be the initial state for codecvt.
- template<typename _CharT, typename _Traits>
- class basic_filebuf : public basic_streambuf<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- typedef basic_streambuf<char_type, traits_type> __streambuf_type;
- typedef basic_filebuf<char_type, traits_type> __filebuf_type;
- typedef __basic_file<char> __file_type;
- typedef typename traits_type::state_type __state_type;
- typedef codecvt<char_type, char, __state_type> __codecvt_type;
-
- friend class ios_base; // For sync_with_stdio.
-
- protected:
- // Data Members:
- // MT lock inherited from libio or other low-level io library.
- __c_lock _M_lock;
-
- // External buffer.
- __file_type _M_file;
-
- /**
- * @if maint
- * Place to stash in || out || in | out settings for current filebuf.
- * @endif
- */
- ios_base::openmode _M_mode;
-
- // Beginning state type for codecvt.
- __state_type _M_state_beg;
-
- // During output, the state that corresponds to pptr(),
- // during input, the state that corresponds to egptr() and
- // _M_ext_next.
- __state_type _M_state_cur;
-
- // Not used for output. During input, the state that corresponds
- // to eback() and _M_ext_buf.
- __state_type _M_state_last;
-
- /**
- * @if maint
- * Pointer to the beginning of internal buffer.
- * @endif
- */
- char_type* _M_buf;
-
- /**
- * @if maint
- * Actual size of internal buffer. This number is equal to the size
- * of the put area + 1 position, reserved for the overflow char of
- * a full area.
- * @endif
- */
- size_t _M_buf_size;
-
- // Set iff _M_buf is allocated memory from _M_allocate_internal_buffer.
- bool _M_buf_allocated;
-
- /**
- * @if maint
- * _M_reading == false && _M_writing == false for 'uncommitted' mode;
- * _M_reading == true for 'read' mode;
- * _M_writing == true for 'write' mode;
- *
- * NB: _M_reading == true && _M_writing == true is unused.
- * @endif
- */
- bool _M_reading;
- bool _M_writing;
-
- //@{
- /**
- * @if maint
- * Necessary bits for putback buffer management.
- *
- * @note pbacks of over one character are not currently supported.
- * @endif
- */
- char_type _M_pback;
- char_type* _M_pback_cur_save;
- char_type* _M_pback_end_save;
- bool _M_pback_init;
- //@}
-
- // Cached codecvt facet.
- const __codecvt_type* _M_codecvt;
-
- /**
- * @if maint
- * Buffer for external characters. Used for input when
- * codecvt::always_noconv() == false. When valid, this corresponds
- * to eback().
- * @endif
- */
- char* _M_ext_buf;
-
- /**
- * @if maint
- * Size of buffer held by _M_ext_buf.
- * @endif
- */
- streamsize _M_ext_buf_size;
-
- /**
- * @if maint
- * Pointers into the buffer held by _M_ext_buf that delimit a
- * subsequence of bytes that have been read but not yet converted.
- * When valid, _M_ext_next corresponds to egptr().
- * @endif
- */
- const char* _M_ext_next;
- char* _M_ext_end;
-
- /**
- * @if maint
- * Initializes pback buffers, and moves normal buffers to safety.
- * Assumptions:
- * _M_in_cur has already been moved back
- * @endif
- */
- void
- _M_create_pback()
- {
- if (!_M_pback_init)
- {
- _M_pback_cur_save = this->gptr();
- _M_pback_end_save = this->egptr();
- this->setg(&_M_pback, &_M_pback, &_M_pback + 1);
- _M_pback_init = true;
- }
- }
-
- /**
- * @if maint
- * Deactivates pback buffer contents, and restores normal buffer.
- * Assumptions:
- * The pback buffer has only moved forward.
- * @endif
- */
- void
- _M_destroy_pback() throw()
- {
- if (_M_pback_init)
- {
- // Length _M_in_cur moved in the pback buffer.
- _M_pback_cur_save += this->gptr() != this->eback();
- this->setg(_M_buf, _M_pback_cur_save, _M_pback_end_save);
- _M_pback_init = false;
- }
- }
-
- public:
- // Constructors/destructor:
- /**
- * @brief Does not open any files.
- *
- * The default constructor initializes the parent class using its
- * own default ctor.
- */
- basic_filebuf();
-
- /**
- * @brief The destructor closes the file first.
- */
- virtual
- ~basic_filebuf()
- { this->close(); }
-
- // Members:
- /**
- * @brief Returns true if the external file is open.
- */
- bool
- is_open() const throw()
- { return _M_file.is_open(); }
-
- /**
- * @brief Opens an external file.
- * @param s The name of the file.
- * @param mode The open mode flags.
- * @return @c this on success, NULL on failure
- *
- * If a file is already open, this function immediately fails.
- * Otherwise it tries to open the file named @a s using the flags
- * given in @a mode.
- *
- * Table 92, adapted here, gives the relation between openmode
- * combinations and the equivalent fopen() flags.
- * (NB: lines in|out|app and binary|in|out|app per DR 596)
- * +---------------------------------------------------------+
- * | ios_base Flag combination stdio equivalent |
- * |binary in out trunc app |
- * +---------------------------------------------------------+
- * | + "w" |
- * | + + "a" |
- * | + + "w" |
- * | + "r" |
- * | + + "r+" |
- * | + + + "w+" |
- * | + + + "a+" |
- * +---------------------------------------------------------+
- * | + + "wb" |
- * | + + + "ab" |
- * | + + + "wb" |
- * | + + "rb" |
- * | + + + "r+b" |
- * | + + + + "w+b" |
- * | + + + + "a+b" |
- * +---------------------------------------------------------+
- */
- __filebuf_type*
- open(const char* __s, ios_base::openmode __mode);
-
- /**
- * @brief Closes the currently associated file.
- * @return @c this on success, NULL on failure
- *
- * If no file is currently open, this function immediately fails.
- *
- * If a "put buffer area" exists, @c overflow(eof) is called to flush
- * all the characters. The file is then closed.
- *
- * If any operations fail, this function also fails.
- */
- __filebuf_type*
- close() throw();
-
- protected:
- void
- _M_allocate_internal_buffer();
-
- void
- _M_destroy_internal_buffer() throw();
-
- // [27.8.1.4] overridden virtual functions
- virtual streamsize
- showmanyc();
-
- // Stroustrup, 1998, p. 628
- // underflow() and uflow() functions are called to get the next
- // charater from the real input source when the buffer is empty.
- // Buffered input uses underflow()
-
- virtual int_type
- underflow();
-
- virtual int_type
- pbackfail(int_type __c = _Traits::eof());
-
- // Stroustrup, 1998, p 648
- // The overflow() function is called to transfer characters to the
- // real output destination when the buffer is full. A call to
- // overflow(c) outputs the contents of the buffer plus the
- // character c.
- // 27.5.2.4.5
- // Consume some sequence of the characters in the pending sequence.
- virtual int_type
- overflow(int_type __c = _Traits::eof());
-
- // Convert internal byte sequence to external, char-based
- // sequence via codecvt.
- bool
- _M_convert_to_external(char_type*, streamsize);
-
- /**
- * @brief Manipulates the buffer.
- * @param s Pointer to a buffer area.
- * @param n Size of @a s.
- * @return @c this
- *
- * If no file has been opened, and both @a s and @a n are zero, then
- * the stream becomes unbuffered. Otherwise, @c s is used as a
- * buffer; see
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2
- * for more.
- */
- virtual __streambuf_type*
- setbuf(char_type* __s, streamsize __n);
-
- virtual pos_type
- seekoff(off_type __off, ios_base::seekdir __way,
- ios_base::openmode __mode = ios_base::in | ios_base::out);
-
- virtual pos_type
- seekpos(pos_type __pos,
- ios_base::openmode __mode = ios_base::in | ios_base::out);
-
- // Common code for seekoff and seekpos
- pos_type
- _M_seek(off_type __off, ios_base::seekdir __way, __state_type __state);
-
- virtual int
- sync();
-
- virtual void
- imbue(const locale& __loc);
-
- virtual streamsize
- xsgetn(char_type* __s, streamsize __n);
-
- virtual streamsize
- xsputn(const char_type* __s, streamsize __n);
-
- // Flushes output buffer, then writes unshift sequence.
- bool
- _M_terminate_output();
-
- /**
- * @if maint
- * This function sets the pointers of the internal buffer, both get
- * and put areas. Typically:
- *
- * __off == egptr() - eback() upon underflow/uflow ('read' mode);
- * __off == 0 upon overflow ('write' mode);
- * __off == -1 upon open, setbuf, seekoff/pos ('uncommitted' mode).
- *
- * NB: epptr() - pbase() == _M_buf_size - 1, since _M_buf_size
- * reflects the actual allocated memory and the last cell is reserved
- * for the overflow char of a full put area.
- * @endif
- */
- void
- _M_set_buffer(streamsize __off)
- {
- const bool __testin = _M_mode & ios_base::in;
- const bool __testout = _M_mode & ios_base::out;
-
- if (__testin && __off > 0)
- this->setg(_M_buf, _M_buf, _M_buf + __off);
- else
- this->setg(_M_buf, _M_buf, _M_buf);
-
- if (__testout && __off == 0 && _M_buf_size > 1 )
- this->setp(_M_buf, _M_buf + _M_buf_size - 1);
- else
- this->setp(NULL, NULL);
- }
- };
-
- // [27.8.1.5] Template class basic_ifstream
- /**
- * @brief Controlling input for files.
- *
- * This class supports reading from named files, using the inherited
- * functions from std::basic_istream. To control the associated
- * sequence, an instance of std::basic_filebuf is used, which this page
- * refers to as @c sb.
- */
- template<typename _CharT, typename _Traits>
- class basic_ifstream : public basic_istream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- // Non-standard types:
- typedef basic_filebuf<char_type, traits_type> __filebuf_type;
- typedef basic_istream<char_type, traits_type> __istream_type;
-
- private:
- __filebuf_type _M_filebuf;
-
- public:
- // Constructors/Destructors:
- /**
- * @brief Default constructor.
- *
- * Initializes @c sb using its default constructor, and passes
- * @c &sb to the base class initializer. Does not open any files
- * (you haven't given it a filename to open).
- */
- basic_ifstream() : __istream_type(), _M_filebuf()
- { this->init(&_M_filebuf); }
-
- /**
- * @brief Create an input file stream.
- * @param s Null terminated string specifying the filename.
- * @param mode Open file in specified mode (see std::ios_base).
- *
- * @c ios_base::in is automatically included in @a mode.
- *
- * Tip: When using std::string to hold the filename, you must use
- * .c_str() before passing it to this constructor.
- */
- explicit
- basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in)
- : __istream_type(), _M_filebuf()
- {
- this->init(&_M_filebuf);
- this->open(__s, __mode);
- }
-
- /**
- * @brief The destructor does nothing.
- *
- * The file is closed by the filebuf object, not the formatting
- * stream.
- */
- ~basic_ifstream()
- { }
-
- // Members:
- /**
- * @brief Accessing the underlying buffer.
- * @return The current basic_filebuf buffer.
- *
- * This hides both signatures of std::basic_ios::rdbuf().
- */
- __filebuf_type*
- rdbuf() const
- { return const_cast<__filebuf_type*>(&_M_filebuf); }
-
- /**
- * @brief Wrapper to test for an open file.
- * @return @c rdbuf()->is_open()
- */
- bool
- is_open()
- { return _M_filebuf.is_open(); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 365. Lack of const-qualification in clause 27
- bool
- is_open() const
- { return _M_filebuf.is_open(); }
-
- /**
- * @brief Opens an external file.
- * @param s The name of the file.
- * @param mode The open mode flags.
- *
- * Calls @c std::basic_filebuf::open(s,mode|in). If that function
- * fails, @c failbit is set in the stream's error state.
- *
- * Tip: When using std::string to hold the filename, you must use
- * .c_str() before passing it to this constructor.
- */
- void
- open(const char* __s, ios_base::openmode __mode = ios_base::in)
- {
- if (!_M_filebuf.open(__s, __mode | ios_base::in))
- this->setstate(ios_base::failbit);
- else
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 409. Closing an fstream should clear error state
- this->clear();
- }
-
- /**
- * @brief Close the file.
- *
- * Calls @c std::basic_filebuf::close(). If that function
- * fails, @c failbit is set in the stream's error state.
- */
- void
- close()
- {
- if (!_M_filebuf.close())
- this->setstate(ios_base::failbit);
- }
- };
-
-
- // [27.8.1.8] Template class basic_ofstream
- /**
- * @brief Controlling output for files.
- *
- * This class supports reading from named files, using the inherited
- * functions from std::basic_ostream. To control the associated
- * sequence, an instance of std::basic_filebuf is used, which this page
- * refers to as @c sb.
- */
- template<typename _CharT, typename _Traits>
- class basic_ofstream : public basic_ostream<_CharT,_Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- // Non-standard types:
- typedef basic_filebuf<char_type, traits_type> __filebuf_type;
- typedef basic_ostream<char_type, traits_type> __ostream_type;
-
- private:
- __filebuf_type _M_filebuf;
-
- public:
- // Constructors:
- /**
- * @brief Default constructor.
- *
- * Initializes @c sb using its default constructor, and passes
- * @c &sb to the base class initializer. Does not open any files
- * (you haven't given it a filename to open).
- */
- basic_ofstream(): __ostream_type(), _M_filebuf()
- { this->init(&_M_filebuf); }
-
- /**
- * @brief Create an output file stream.
- * @param s Null terminated string specifying the filename.
- * @param mode Open file in specified mode (see std::ios_base).
- *
- * @c ios_base::out|ios_base::trunc is automatically included in
- * @a mode.
- *
- * Tip: When using std::string to hold the filename, you must use
- * .c_str() before passing it to this constructor.
- */
- explicit
- basic_ofstream(const char* __s,
- ios_base::openmode __mode = ios_base::out|ios_base::trunc)
- : __ostream_type(), _M_filebuf()
- {
- this->init(&_M_filebuf);
- this->open(__s, __mode);
- }
-
- /**
- * @brief The destructor does nothing.
- *
- * The file is closed by the filebuf object, not the formatting
- * stream.
- */
- ~basic_ofstream()
- { }
-
- // Members:
- /**
- * @brief Accessing the underlying buffer.
- * @return The current basic_filebuf buffer.
- *
- * This hides both signatures of std::basic_ios::rdbuf().
- */
- __filebuf_type*
- rdbuf() const
- { return const_cast<__filebuf_type*>(&_M_filebuf); }
-
- /**
- * @brief Wrapper to test for an open file.
- * @return @c rdbuf()->is_open()
- */
- bool
- is_open()
- { return _M_filebuf.is_open(); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 365. Lack of const-qualification in clause 27
- bool
- is_open() const
- { return _M_filebuf.is_open(); }
-
- /**
- * @brief Opens an external file.
- * @param s The name of the file.
- * @param mode The open mode flags.
- *
- * Calls @c std::basic_filebuf::open(s,mode|out|trunc). If that
- * function fails, @c failbit is set in the stream's error state.
- *
- * Tip: When using std::string to hold the filename, you must use
- * .c_str() before passing it to this constructor.
- */
- void
- open(const char* __s,
- ios_base::openmode __mode = ios_base::out | ios_base::trunc)
- {
- if (!_M_filebuf.open(__s, __mode | ios_base::out))
- this->setstate(ios_base::failbit);
- else
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 409. Closing an fstream should clear error state
- this->clear();
- }
-
- /**
- * @brief Close the file.
- *
- * Calls @c std::basic_filebuf::close(). If that function
- * fails, @c failbit is set in the stream's error state.
- */
- void
- close()
- {
- if (!_M_filebuf.close())
- this->setstate(ios_base::failbit);
- }
- };
-
-
- // [27.8.1.11] Template class basic_fstream
- /**
- * @brief Controlling intput and output for files.
- *
- * This class supports reading from and writing to named files, using
- * the inherited functions from std::basic_iostream. To control the
- * associated sequence, an instance of std::basic_filebuf is used, which
- * this page refers to as @c sb.
- */
- template<typename _CharT, typename _Traits>
- class basic_fstream : public basic_iostream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- // Non-standard types:
- typedef basic_filebuf<char_type, traits_type> __filebuf_type;
- typedef basic_ios<char_type, traits_type> __ios_type;
- typedef basic_iostream<char_type, traits_type> __iostream_type;
-
- private:
- __filebuf_type _M_filebuf;
-
- public:
- // Constructors/destructor:
- /**
- * @brief Default constructor.
- *
- * Initializes @c sb using its default constructor, and passes
- * @c &sb to the base class initializer. Does not open any files
- * (you haven't given it a filename to open).
- */
- basic_fstream()
- : __iostream_type(), _M_filebuf()
- { this->init(&_M_filebuf); }
-
- /**
- * @brief Create an input/output file stream.
- * @param s Null terminated string specifying the filename.
- * @param mode Open file in specified mode (see std::ios_base).
- *
- * Tip: When using std::string to hold the filename, you must use
- * .c_str() before passing it to this constructor.
- */
- explicit
- basic_fstream(const char* __s,
- ios_base::openmode __mode = ios_base::in | ios_base::out)
- : __iostream_type(NULL), _M_filebuf()
- {
- this->init(&_M_filebuf);
- this->open(__s, __mode);
- }
-
- /**
- * @brief The destructor does nothing.
- *
- * The file is closed by the filebuf object, not the formatting
- * stream.
- */
- ~basic_fstream()
- { }
-
- // Members:
- /**
- * @brief Accessing the underlying buffer.
- * @return The current basic_filebuf buffer.
- *
- * This hides both signatures of std::basic_ios::rdbuf().
- */
- __filebuf_type*
- rdbuf() const
- { return const_cast<__filebuf_type*>(&_M_filebuf); }
-
- /**
- * @brief Wrapper to test for an open file.
- * @return @c rdbuf()->is_open()
- */
- bool
- is_open()
- { return _M_filebuf.is_open(); }
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 365. Lack of const-qualification in clause 27
- bool
- is_open() const
- { return _M_filebuf.is_open(); }
-
- /**
- * @brief Opens an external file.
- * @param s The name of the file.
- * @param mode The open mode flags.
- *
- * Calls @c std::basic_filebuf::open(s,mode). If that
- * function fails, @c failbit is set in the stream's error state.
- *
- * Tip: When using std::string to hold the filename, you must use
- * .c_str() before passing it to this constructor.
- */
- void
- open(const char* __s,
- ios_base::openmode __mode = ios_base::in | ios_base::out)
- {
- if (!_M_filebuf.open(__s, __mode))
- this->setstate(ios_base::failbit);
- else
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 409. Closing an fstream should clear error state
- this->clear();
- }
-
- /**
- * @brief Close the file.
- *
- * Calls @c std::basic_filebuf::close(). If that function
- * fails, @c failbit is set in the stream's error state.
- */
- void
- close()
- {
- if (!_M_filebuf.close())
- this->setstate(ios_base::failbit);
- }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/fstream.tcc>
-#endif
-
-#endif /* _GLIBCXX_FSTREAM */
diff --git a/contrib/libstdc++/include/std/std_functional.h b/contrib/libstdc++/include/std/std_functional.h
deleted file mode 100644
index feadaa2252ad..000000000000
--- a/contrib/libstdc++/include/std/std_functional.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// <functional> -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-/*
- * Copyright (c) 1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file include/functional
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_FUNCTIONAL
-#define _GLIBCXX_FUNCTIONAL 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <bits/stl_function.h>
-
-#endif /* _GLIBCXX_FUNCTIONAL */
diff --git a/contrib/libstdc++/include/std/std_iomanip.h b/contrib/libstdc++/include/std/std_iomanip.h
deleted file mode 100644
index 13b21d579bd9..000000000000
--- a/contrib/libstdc++/include/std/std_iomanip.h
+++ /dev/null
@@ -1,300 +0,0 @@
-// Standard stream manipulators -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 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 iomanip
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.6.3 Standard manipulators
-//
-
-#ifndef _GLIBCXX_IOMANIP
-#define _GLIBCXX_IOMANIP 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <istream>
-#include <functional>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // [27.6.3] standard manipulators
- // Also see DR 183.
-
- struct _Resetiosflags { ios_base::fmtflags _M_mask; };
-
- /**
- * @brief Manipulator for @c setf.
- * @param mask A format flags mask.
- *
- * Sent to a stream object, this manipulator resets the specified flags,
- * via @e stream.setf(0,mask).
- */
- inline _Resetiosflags
- resetiosflags(ios_base::fmtflags __mask)
- {
- _Resetiosflags __x;
- __x._M_mask = __mask;
- return __x;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Resetiosflags __f)
- {
- __is.setf(ios_base::fmtflags(0), __f._M_mask);
- return __is;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Resetiosflags __f)
- {
- __os.setf(ios_base::fmtflags(0), __f._M_mask);
- return __os;
- }
-
-
- struct _Setiosflags { ios_base::fmtflags _M_mask; };
-
- /**
- * @brief Manipulator for @c setf.
- * @param mask A format flags mask.
- *
- * Sent to a stream object, this manipulator sets the format flags
- * to @a mask.
- */
- inline _Setiosflags
- setiosflags(ios_base::fmtflags __mask)
- {
- _Setiosflags __x;
- __x._M_mask = __mask;
- return __x;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setiosflags __f)
- {
- __is.setf(__f._M_mask);
- return __is;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setiosflags __f)
- {
- __os.setf(__f._M_mask);
- return __os;
- }
-
-
- struct _Setbase { int _M_base; };
-
- /**
- * @brief Manipulator for @c setf.
- * @param base A numeric base.
- *
- * Sent to a stream object, this manipulator changes the
- * @c ios_base::basefield flags to @c oct, @c dec, or @c hex when @a base
- * is 8, 10, or 16, accordingly, and to 0 if @a base is any other value.
- */
- inline _Setbase
- setbase(int __base)
- {
- _Setbase __x;
- __x._M_base = __base;
- return __x;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setbase __f)
- {
- __is.setf(__f._M_base == 8 ? ios_base::oct :
- __f._M_base == 10 ? ios_base::dec :
- __f._M_base == 16 ? ios_base::hex :
- ios_base::fmtflags(0), ios_base::basefield);
- return __is;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setbase __f)
- {
- __os.setf(__f._M_base == 8 ? ios_base::oct :
- __f._M_base == 10 ? ios_base::dec :
- __f._M_base == 16 ? ios_base::hex :
- ios_base::fmtflags(0), ios_base::basefield);
- return __os;
- }
-
-
- template<typename _CharT>
- struct _Setfill { _CharT _M_c; };
-
- /**
- * @brief Manipulator for @c fill.
- * @param c The new fill character.
- *
- * Sent to a stream object, this manipulator calls @c fill(c) for that
- * object.
- */
- template<typename _CharT>
- inline _Setfill<_CharT>
- setfill(_CharT __c)
- {
- _Setfill<_CharT> __x;
- __x._M_c = __c;
- return __x;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setfill<_CharT> __f)
- {
- __is.fill(__f._M_c);
- return __is;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setfill<_CharT> __f)
- {
- __os.fill(__f._M_c);
- return __os;
- }
-
-
- struct _Setprecision { int _M_n; };
-
- /**
- * @brief Manipulator for @c precision.
- * @param n The new precision.
- *
- * Sent to a stream object, this manipulator calls @c precision(n) for
- * that object.
- */
- inline _Setprecision
- setprecision(int __n)
- {
- _Setprecision __x;
- __x._M_n = __n;
- return __x;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setprecision __f)
- {
- __is.precision(__f._M_n);
- return __is;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setprecision __f)
- {
- __os.precision(__f._M_n);
- return __os;
- }
-
-
- struct _Setw { int _M_n; };
-
- /**
- * @brief Manipulator for @c width.
- * @param n The new width.
- *
- * Sent to a stream object, this manipulator calls @c width(n) for
- * that object.
- */
- inline _Setw
- setw(int __n)
- {
- _Setw __x;
- __x._M_n = __n;
- return __x;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_istream<_CharT,_Traits>&
- operator>>(basic_istream<_CharT,_Traits>& __is, _Setw __f)
- {
- __is.width(__f._M_n);
- return __is;
- }
-
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT,_Traits>&
- operator<<(basic_ostream<_CharT,_Traits>& __os, _Setw __f)
- {
- __os.width(__f._M_n);
- return __os;
- }
-
- // Inhibit implicit instantiations for required instantiations,
- // which are defined via explicit instantiations elsewhere.
- // NB: This syntax is a GNU extension.
-#if _GLIBCXX_EXTERN_TEMPLATE
- extern template ostream& operator<<(ostream&, _Setfill<char>);
- extern template ostream& operator<<(ostream&, _Setiosflags);
- extern template ostream& operator<<(ostream&, _Resetiosflags);
- extern template ostream& operator<<(ostream&, _Setbase);
- extern template ostream& operator<<(ostream&, _Setprecision);
- extern template ostream& operator<<(ostream&, _Setw);
- extern template istream& operator>>(istream&, _Setfill<char>);
- extern template istream& operator>>(istream&, _Setiosflags);
- extern template istream& operator>>(istream&, _Resetiosflags);
- extern template istream& operator>>(istream&, _Setbase);
- extern template istream& operator>>(istream&, _Setprecision);
- extern template istream& operator>>(istream&, _Setw);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern template wostream& operator<<(wostream&, _Setfill<wchar_t>);
- extern template wostream& operator<<(wostream&, _Setiosflags);
- extern template wostream& operator<<(wostream&, _Resetiosflags);
- extern template wostream& operator<<(wostream&, _Setbase);
- extern template wostream& operator<<(wostream&, _Setprecision);
- extern template wostream& operator<<(wostream&, _Setw);
- extern template wistream& operator>>(wistream&, _Setfill<wchar_t>);
- extern template wistream& operator>>(wistream&, _Setiosflags);
- extern template wistream& operator>>(wistream&, _Resetiosflags);
- extern template wistream& operator>>(wistream&, _Setbase);
- extern template wistream& operator>>(wistream&, _Setprecision);
- extern template wistream& operator>>(wistream&, _Setw);
-#endif
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GLIBCXX_IOMANIP */
diff --git a/contrib/libstdc++/include/std/std_ios.h b/contrib/libstdc++/include/std/std_ios.h
deleted file mode 100644
index f081115e9b77..000000000000
--- a/contrib/libstdc++/include/std/std_ios.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Iostreams base classes -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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 ios
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.4 Iostreams base classes
-//
-
-#ifndef _GLIBCXX_IOS
-#define _GLIBCXX_IOS 1
-
-#pragma GCC system_header
-
-#include <iosfwd>
-#include <exception> // For ios_base::failure
-#include <bits/char_traits.h> // For char_traits, streamoff, streamsize, fpos
-#include <cstdio> // For SEEK_SET, SEEK_CUR, SEEK_END
-#include <bits/localefwd.h> // For class locale
-#include <bits/ios_base.h> // For ios_base declarations.
-#include <streambuf>
-#include <bits/basic_ios.h>
-
-#endif /* _GLIBCXX_IOS */
diff --git a/contrib/libstdc++/include/std/std_iosfwd.h b/contrib/libstdc++/include/std/std_iosfwd.h
deleted file mode 100644
index a4d0c3fdf199..000000000000
--- a/contrib/libstdc++/include/std/std_iosfwd.h
+++ /dev/null
@@ -1,168 +0,0 @@
-// Forwarding declarations -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 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 iosfwd
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.2 Forward declarations
-//
-
-#ifndef _GLIBCXX_IOSFWD
-#define _GLIBCXX_IOSFWD 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/c++locale.h>
-#include <bits/c++io.h>
-#include <cctype> // For isspace, etc.
-#include <bits/stringfwd.h> // For string forward declarations.
-#include <bits/postypes.h>
-#include <bits/functexcept.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_ios;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_streambuf;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_istream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_ostream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_iostream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_stringbuf;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_istringstream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_ostringstream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT>,
- typename _Alloc = allocator<_CharT> >
- class basic_stringstream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_filebuf;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_ifstream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_ofstream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class basic_fstream;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class istreambuf_iterator;
-
- template<typename _CharT, typename _Traits = char_traits<_CharT> >
- class ostreambuf_iterator;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // Not included. (??? Apparently no LWG number?)
- class ios_base;
-
- /**
- * @defgroup s27_2_iosfwd I/O Forward Declarations
- *
- * Nearly all of the I/O classes are parameterized on the type of
- * characters they read and write. (The major exception is ios_base at
- * the top of the hierarchy.) This is a change from pre-Standard
- * streams, which were not templates.
- *
- * For ease of use and compatibility, all of the basic_* I/O-related
- * classes are given typedef names for both of the builtin character
- * widths (wide and narrow). The typedefs are the same as the
- * pre-Standard names, for example:
- *
- * @code
- * typedef basic_ifstream<char> ifstream;
- * @endcode
- *
- * Because properly forward-declaring these classes can be difficult, you
- * should not do it yourself. Instead, include the &lt;iosfwd&gt;
- * header, which contains only declarations of all the I/O classes as
- * well as the typedefs. Trying to forward-declare the typedefs
- * themselves (e.g., "class ostream;") is not valid ISO C++.
- *
- * For more specific declarations, see
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10
- *
- * @{
- */
- typedef basic_ios<char> ios; ///< @isiosfwd
- typedef basic_streambuf<char> streambuf; ///< @isiosfwd
- typedef basic_istream<char> istream; ///< @isiosfwd
- typedef basic_ostream<char> ostream; ///< @isiosfwd
- typedef basic_iostream<char> iostream; ///< @isiosfwd
- typedef basic_stringbuf<char> stringbuf; ///< @isiosfwd
- typedef basic_istringstream<char> istringstream; ///< @isiosfwd
- typedef basic_ostringstream<char> ostringstream; ///< @isiosfwd
- typedef basic_stringstream<char> stringstream; ///< @isiosfwd
- typedef basic_filebuf<char> filebuf; ///< @isiosfwd
- typedef basic_ifstream<char> ifstream; ///< @isiosfwd
- typedef basic_ofstream<char> ofstream; ///< @isiosfwd
- typedef basic_fstream<char> fstream; ///< @isiosfwd
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- typedef basic_ios<wchar_t> wios; ///< @isiosfwd
- typedef basic_streambuf<wchar_t> wstreambuf; ///< @isiosfwd
- typedef basic_istream<wchar_t> wistream; ///< @isiosfwd
- typedef basic_ostream<wchar_t> wostream; ///< @isiosfwd
- typedef basic_iostream<wchar_t> wiostream; ///< @isiosfwd
- typedef basic_stringbuf<wchar_t> wstringbuf; ///< @isiosfwd
- typedef basic_istringstream<wchar_t> wistringstream; ///< @isiosfwd
- typedef basic_ostringstream<wchar_t> wostringstream; ///< @isiosfwd
- typedef basic_stringstream<wchar_t> wstringstream; ///< @isiosfwd
- typedef basic_filebuf<wchar_t> wfilebuf; ///< @isiosfwd
- typedef basic_ifstream<wchar_t> wifstream; ///< @isiosfwd
- typedef basic_ofstream<wchar_t> wofstream; ///< @isiosfwd
- typedef basic_fstream<wchar_t> wfstream; ///< @isiosfwd
-#endif
- /** @} */
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GLIBCXX_IOSFWD */
diff --git a/contrib/libstdc++/include/std/std_iostream.h b/contrib/libstdc++/include/std/std_iostream.h
deleted file mode 100644
index 0ff0da2177f2..000000000000
--- a/contrib/libstdc++/include/std/std_iostream.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// Standard iostream objects -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2001, 2002, 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 iostream
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.3 Standard iostream objects
-//
-
-#ifndef _GLIBCXX_IOSTREAM
-#define _GLIBCXX_IOSTREAM 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <ostream>
-#include <istream>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @name Standard Stream Objects
- *
- * The &lt;iostream&gt; header declares the eight <em>standard stream
- * objects</em>. For other declarations, see
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#10 and the
- * @link s27_2_iosfwd I/O forward declarations @endlink
- *
- * They are required by default to cooperate with the global C library's
- * @c FILE streams, and to be available during program startup and
- * termination. For more information, see the HOWTO linked to above.
- */
- //@{
- extern istream cin; ///< Linked to standard input
- extern ostream cout; ///< Linked to standard output
- extern ostream cerr; ///< Linked to standard error (unbuffered)
- extern ostream clog; ///< Linked to standard error (buffered)
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern wistream wcin; ///< Linked to standard input
- extern wostream wcout; ///< Linked to standard output
- extern wostream wcerr; ///< Linked to standard error (unbuffered)
- extern wostream wclog; ///< Linked to standard error (buffered)
-#endif
- //@}
-
- // For construction of filebuffers for cout, cin, cerr, clog et. al.
- static ios_base::Init __ioinit;
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GLIBCXX_IOSTREAM */
diff --git a/contrib/libstdc++/include/std/std_istream.h b/contrib/libstdc++/include/std/std_istream.h
deleted file mode 100644
index e81c9cd9252b..000000000000
--- a/contrib/libstdc++/include/std/std_istream.h
+++ /dev/null
@@ -1,848 +0,0 @@
-// Input streams -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 27.6.1 Input streams
-//
-
-/** @file istream
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_ISTREAM
-#define _GLIBCXX_ISTREAM 1
-
-#pragma GCC system_header
-
-#include <ios>
-#include <limits> // For numeric_limits
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // [27.6.1.1] Template class basic_istream
- /**
- * @brief Controlling input.
- *
- * This is the base class for all input streams. It provides text
- * formatting of all builtin types, and communicates with any class
- * derived from basic_streambuf to do the actual input.
- */
- template<typename _CharT, typename _Traits>
- class basic_istream : virtual public basic_ios<_CharT, _Traits>
- {
- public:
- // Types (inherited from basic_ios (27.4.4)):
- typedef _CharT char_type;
- typedef typename _Traits::int_type int_type;
- typedef typename _Traits::pos_type pos_type;
- typedef typename _Traits::off_type off_type;
- typedef _Traits traits_type;
-
- // Non-standard Types:
- typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
- typedef basic_ios<_CharT, _Traits> __ios_type;
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
- __num_get_type;
- typedef ctype<_CharT> __ctype_type;
-
- template<typename _CharT2, typename _Traits2>
- friend basic_istream<_CharT2, _Traits2>&
- operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2&);
-
- template<typename _CharT2, typename _Traits2>
- friend basic_istream<_CharT2, _Traits2>&
- operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
-
- protected:
- // Data Members:
- /**
- * @if maint
- * The number of characters extracted in the previous unformatted
- * function; see gcount().
- * @endif
- */
- streamsize _M_gcount;
-
- public:
- // [27.6.1.1.1] constructor/destructor
- /**
- * @brief Base constructor.
- *
- * This ctor is almost never called by the user directly, rather from
- * derived classes' initialization lists, which pass a pointer to
- * their own stream buffer.
- */
- explicit
- basic_istream(__streambuf_type* __sb): _M_gcount(streamsize(0))
- { this->init(__sb); }
-
- /**
- * @brief Base destructor.
- *
- * This does very little apart from providing a virtual base dtor.
- */
- virtual
- ~basic_istream()
- { _M_gcount = streamsize(0); }
-
- // [27.6.1.1.2] prefix/suffix
- class sentry;
- friend class sentry;
-
- // [27.6.1.2] formatted input
- // [27.6.1.2.3] basic_istream::operator>>
- //@{
- /**
- * @brief Interface for manipulators.
- *
- * Manuipulators such as @c std::ws and @c std::dec use these
- * functions in constructs like "std::cin >> std::ws". For more
- * information, see the iomanip header.
- */
- __istream_type&
- operator>>(__istream_type& (*__pf)(__istream_type&))
- { return __pf(*this); }
-
- __istream_type&
- operator>>(__ios_type& (*__pf)(__ios_type&))
- {
- __pf(*this);
- return *this;
- }
-
- __istream_type&
- operator>>(ios_base& (*__pf)(ios_base&))
- {
- __pf(*this);
- return *this;
- }
- //@}
-
- // [27.6.1.2.2] arithmetic extractors
- /**
- * @name Arithmetic Extractors
- *
- * All the @c operator>> functions (aka <em>formatted input
- * functions</em>) have some common behavior. Each starts by
- * constructing a temporary object of type std::basic_istream::sentry
- * with the second argument (noskipws) set to false. This has several
- * effects, concluding with the setting of a status flag; see the
- * sentry documentation for more.
- *
- * If the sentry status is good, the function tries to extract
- * whatever data is appropriate for the type of the argument.
- *
- * If an exception is thrown during extraction, ios_base::badbit
- * will be turned on in the stream's error state without causing an
- * ios_base::failure to be thrown. The original exception will then
- * be rethrown.
- */
- //@{
- /**
- * @brief Basic arithmetic extractors
- * @param A variable of builtin type.
- * @return @c *this if successful
- *
- * These functions use the stream's current locale (specifically, the
- * @c num_get facet) to parse the input data.
- */
- __istream_type&
- operator>>(bool& __n)
- { return _M_extract(__n); }
-
- __istream_type&
- operator>>(short& __n);
-
- __istream_type&
- operator>>(unsigned short& __n)
- { return _M_extract(__n); }
-
- __istream_type&
- operator>>(int& __n);
-
- __istream_type&
- operator>>(unsigned int& __n)
- { return _M_extract(__n); }
-
- __istream_type&
- operator>>(long& __n)
- { return _M_extract(__n); }
-
- __istream_type&
- operator>>(unsigned long& __n)
- { return _M_extract(__n); }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- __istream_type&
- operator>>(long long& __n)
- { return _M_extract(__n); }
-
- __istream_type&
- operator>>(unsigned long long& __n)
- { return _M_extract(__n); }
-#endif
-
- __istream_type&
- operator>>(float& __f)
- { return _M_extract(__f); }
-
- __istream_type&
- operator>>(double& __f)
- { return _M_extract(__f); }
-
- __istream_type&
- operator>>(long double& __f)
- { return _M_extract(__f); }
-
- __istream_type&
- operator>>(void*& __p)
- { return _M_extract(__p); }
-
- /**
- * @brief Extracting into another streambuf.
- * @param sb A pointer to a streambuf
- *
- * This function behaves like one of the basic arithmetic extractors,
- * in that it also constructs a sentry object and has the same error
- * handling behavior.
- *
- * If @a sb is NULL, the stream will set failbit in its error state.
- *
- * Characters are extracted from this stream and inserted into the
- * @a sb streambuf until one of the following occurs:
- *
- * - the input stream reaches end-of-file,
- * - insertion into the output buffer fails (in this case, the
- * character that would have been inserted is not extracted), or
- * - an exception occurs (and in this case is caught)
- *
- * If the function inserts no characters, failbit is set.
- */
- __istream_type&
- operator>>(__streambuf_type* __sb);
- //@}
-
- // [27.6.1.3] unformatted input
- /**
- * @brief Character counting
- * @return The number of characters extracted by the previous
- * unformatted input function dispatched for this stream.
- */
- streamsize
- gcount() const
- { return _M_gcount; }
-
- /**
- * @name Unformatted Input Functions
- *
- * All the unformatted input functions have some common behavior.
- * Each starts by constructing a temporary object of type
- * std::basic_istream::sentry with the second argument (noskipws)
- * set to true. This has several effects, concluding with the
- * setting of a status flag; see the sentry documentation for more.
- *
- * If the sentry status is good, the function tries to extract
- * whatever data is appropriate for the type of the argument.
- *
- * The number of characters extracted is stored for later retrieval
- * by gcount().
- *
- * If an exception is thrown during extraction, ios_base::badbit
- * will be turned on in the stream's error state without causing an
- * ios_base::failure to be thrown. The original exception will then
- * be rethrown.
- */
- //@{
- /**
- * @brief Simple extraction.
- * @return A character, or eof().
- *
- * Tries to extract a character. If none are available, sets failbit
- * and returns traits::eof().
- */
- int_type
- get();
-
- /**
- * @brief Simple extraction.
- * @param c The character in which to store data.
- * @return *this
- *
- * Tries to extract a character and store it in @a c. If none are
- * available, sets failbit and returns traits::eof().
- *
- * @note This function is not overloaded on signed char and
- * unsigned char.
- */
- __istream_type&
- get(char_type& __c);
-
- /**
- * @brief Simple multiple-character extraction.
- * @param s Pointer to an array.
- * @param n Maximum number of characters to store in @a s.
- * @param delim A "stop" character.
- * @return *this
- *
- * Characters are extracted and stored into @a s until one of the
- * following happens:
- *
- * - @c n-1 characters are stored
- * - the input sequence reaches EOF
- * - the next character equals @a delim, in which case the character
- * is not extracted
- *
- * If no characters are stored, failbit is set in the stream's error
- * state.
- *
- * In any case, a null character is stored into the next location in
- * the array.
- *
- * @note This function is not overloaded on signed char and
- * unsigned char.
- */
- __istream_type&
- get(char_type* __s, streamsize __n, char_type __delim);
-
- /**
- * @brief Simple multiple-character extraction.
- * @param s Pointer to an array.
- * @param n Maximum number of characters to store in @a s.
- * @return *this
- *
- * Returns @c get(s,n,widen('\n')).
- */
- __istream_type&
- get(char_type* __s, streamsize __n)
- { return this->get(__s, __n, this->widen('\n')); }
-
- /**
- * @brief Extraction into another streambuf.
- * @param sb A streambuf in which to store data.
- * @param delim A "stop" character.
- * @return *this
- *
- * Characters are extracted and inserted into @a sb until one of the
- * following happens:
- *
- * - the input sequence reaches EOF
- * - insertion into the output buffer fails (in this case, the
- * character that would have been inserted is not extracted)
- * - the next character equals @a delim (in this case, the character
- * is not extracted)
- * - an exception occurs (and in this case is caught)
- *
- * If no characters are stored, failbit is set in the stream's error
- * state.
- */
- __istream_type&
- get(__streambuf_type& __sb, char_type __delim);
-
- /**
- * @brief Extraction into another streambuf.
- * @param sb A streambuf in which to store data.
- * @return *this
- *
- * Returns @c get(sb,widen('\n')).
- */
- __istream_type&
- get(__streambuf_type& __sb)
- { return this->get(__sb, this->widen('\n')); }
-
- /**
- * @brief String extraction.
- * @param s A character array in which to store the data.
- * @param n Maximum number of characters to extract.
- * @param delim A "stop" character.
- * @return *this
- *
- * Extracts and stores characters into @a s until one of the
- * following happens. Note that these criteria are required to be
- * tested in the order listed here, to allow an input line to exactly
- * fill the @a s array without setting failbit.
- *
- * -# the input sequence reaches end-of-file, in which case eofbit
- * is set in the stream error state
- * -# the next character equals @c delim, in which case the character
- * is extracted (and therefore counted in @c gcount()) but not stored
- * -# @c n-1 characters are stored, in which case failbit is set
- * in the stream error state
- *
- * If no characters are extracted, failbit is set. (An empty line of
- * input should therefore not cause failbit to be set.)
- *
- * In any case, a null character is stored in the next location in
- * the array.
- */
- __istream_type&
- getline(char_type* __s, streamsize __n, char_type __delim);
-
- /**
- * @brief String extraction.
- * @param s A character array in which to store the data.
- * @param n Maximum number of characters to extract.
- * @return *this
- *
- * Returns @c getline(s,n,widen('\n')).
- */
- __istream_type&
- getline(char_type* __s, streamsize __n)
- { return this->getline(__s, __n, this->widen('\n')); }
-
- /**
- * @brief Discarding characters
- * @param n Number of characters to discard.
- * @param delim A "stop" character.
- * @return *this
- *
- * Extracts characters and throws them away until one of the
- * following happens:
- * - if @a n @c != @c std::numeric_limits<int>::max(), @a n
- * characters are extracted
- * - the input sequence reaches end-of-file
- * - the next character equals @a delim (in this case, the character
- * is extracted); note that this condition will never occur if
- * @a delim equals @c traits::eof().
- *
- * NB: Provide three overloads, instead of the single function
- * (with defaults) mandated by the Standard: this leads to a
- * better performing implementation, while still conforming to
- * the Standard.
- */
- __istream_type&
- ignore();
-
- __istream_type&
- ignore(streamsize __n);
-
- __istream_type&
- ignore(streamsize __n, int_type __delim);
-
- /**
- * @brief Looking ahead in the stream
- * @return The next character, or eof().
- *
- * If, after constructing the sentry object, @c good() is false,
- * returns @c traits::eof(). Otherwise reads but does not extract
- * the next input character.
- */
- int_type
- peek();
-
- /**
- * @brief Extraction without delimiters.
- * @param s A character array.
- * @param n Maximum number of characters to store.
- * @return *this
- *
- * If the stream state is @c good(), extracts characters and stores
- * them into @a s until one of the following happens:
- * - @a n characters are stored
- * - the input sequence reaches end-of-file, in which case the error
- * state is set to @c failbit|eofbit.
- *
- * @note This function is not overloaded on signed char and
- * unsigned char.
- */
- __istream_type&
- read(char_type* __s, streamsize __n);
-
- /**
- * @brief Extraction until the buffer is exhausted, but no more.
- * @param s A character array.
- * @param n Maximum number of characters to store.
- * @return The number of characters extracted.
- *
- * Extracts characters and stores them into @a s depending on the
- * number of characters remaining in the streambuf's buffer,
- * @c rdbuf()->in_avail(), called @c A here:
- * - if @c A @c == @c -1, sets eofbit and extracts no characters
- * - if @c A @c == @c 0, extracts no characters
- * - if @c A @c > @c 0, extracts @c min(A,n)
- *
- * The goal is to empty the current buffer, and to not request any
- * more from the external input sequence controlled by the streambuf.
- */
- streamsize
- readsome(char_type* __s, streamsize __n);
-
- /**
- * @brief Unextracting a single character.
- * @param c The character to push back into the input stream.
- * @return *this
- *
- * If @c rdbuf() is not null, calls @c rdbuf()->sputbackc(c).
- *
- * If @c rdbuf() is null or if @c sputbackc() fails, sets badbit in
- * the error state.
- *
- * @note Since no characters are extracted, the next call to
- * @c gcount() will return 0, as required by DR 60.
- */
- __istream_type&
- putback(char_type __c);
-
- /**
- * @brief Unextracting the previous character.
- * @return *this
- *
- * If @c rdbuf() is not null, calls @c rdbuf()->sungetc(c).
- *
- * If @c rdbuf() is null or if @c sungetc() fails, sets badbit in
- * the error state.
- *
- * @note Since no characters are extracted, the next call to
- * @c gcount() will return 0, as required by DR 60.
- */
- __istream_type&
- unget();
-
- /**
- * @brief Synchronizing the stream buffer.
- * @return 0 on success, -1 on failure
- *
- * If @c rdbuf() is a null pointer, returns -1.
- *
- * Otherwise, calls @c rdbuf()->pubsync(), and if that returns -1,
- * sets badbit and returns -1.
- *
- * Otherwise, returns 0.
- *
- * @note This function does not count the number of characters
- * extracted, if any, and therefore does not affect the next
- * call to @c gcount().
- */
- int
- sync();
-
- /**
- * @brief Getting the current read position.
- * @return A file position object.
- *
- * If @c fail() is not false, returns @c pos_type(-1) to indicate
- * failure. Otherwise returns @c rdbuf()->pubseekoff(0,cur,in).
- *
- * @note This function does not count the number of characters
- * extracted, if any, and therefore does not affect the next
- * call to @c gcount().
- */
- pos_type
- tellg();
-
- /**
- * @brief Changing the current read position.
- * @param pos A file position object.
- * @return *this
- *
- * If @c fail() is not true, calls @c rdbuf()->pubseekpos(pos). If
- * that function fails, sets failbit.
- *
- * @note This function does not count the number of characters
- * extracted, if any, and therefore does not affect the next
- * call to @c gcount().
- */
- __istream_type&
- seekg(pos_type);
-
- /**
- * @brief Changing the current read position.
- * @param off A file offset object.
- * @param dir The direction in which to seek.
- * @return *this
- *
- * If @c fail() is not true, calls @c rdbuf()->pubseekoff(off,dir).
- * If that function fails, sets failbit.
- *
- * @note This function does not count the number of characters
- * extracted, if any, and therefore does not affect the next
- * call to @c gcount().
- */
- __istream_type&
- seekg(off_type, ios_base::seekdir);
- //@}
-
- protected:
- explicit
- basic_istream(): _M_gcount(streamsize(0)) { }
-
- template<typename _ValueT>
- __istream_type&
- _M_extract(_ValueT& __v);
- };
-
- // Explicit specialization declarations, defined in src/istream.cc.
- template<>
- basic_istream<char>&
- basic_istream<char>::
- getline(char_type* __s, streamsize __n, char_type __delim);
-
- template<>
- basic_istream<char>&
- basic_istream<char>::
- ignore(streamsize __n);
-
- template<>
- basic_istream<char>&
- basic_istream<char>::
- ignore(streamsize __n, int_type __delim);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- basic_istream<wchar_t>&
- basic_istream<wchar_t>::
- getline(char_type* __s, streamsize __n, char_type __delim);
-
- template<>
- basic_istream<wchar_t>&
- basic_istream<wchar_t>::
- ignore(streamsize __n);
-
- template<>
- basic_istream<wchar_t>&
- basic_istream<wchar_t>::
- ignore(streamsize __n, int_type __delim);
-#endif
-
- /**
- * @brief Performs setup work for input streams.
- *
- * Objects of this class are created before all of the standard
- * extractors are run. It is responsible for "exception-safe prefix and
- * suffix operations," although only prefix actions are currently required
- * by the standard. Additional actions may be added by the
- * implementation, and we list them in
- * http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/howto.html#5
- * under [27.6] notes.
- */
- template<typename _CharT, typename _Traits>
- class basic_istream<_CharT, _Traits>::sentry
- {
- public:
- /// Easy access to dependant types.
- typedef _Traits traits_type;
- typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::__ctype_type __ctype_type;
- typedef typename _Traits::int_type __int_type;
-
- /**
- * @brief The constructor performs all the work.
- * @param is The input stream to guard.
- * @param noskipws Whether to consume whitespace or not.
- *
- * If the stream state is good (@a is.good() is true), then the
- * following actions are performed, otherwise the sentry state is
- * false ("not okay") and failbit is set in the stream state.
- *
- * The sentry's preparatory actions are:
- *
- * -# if the stream is tied to an output stream, @c is.tie()->flush()
- * is called to synchronize the output sequence
- * -# if @a noskipws is false, and @c ios_base::skipws is set in
- * @c is.flags(), the sentry extracts and discards whitespace
- * characters from the stream. The currently imbued locale is
- * used to determine whether each character is whitespace.
- *
- * If the stream state is still good, then the sentry state becomes
- * true ("okay").
- */
- explicit
- sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
-
- /**
- * @brief Quick status checking.
- * @return The sentry state.
- *
- * For ease of use, sentries may be converted to booleans. The
- * return value is that of the sentry state (true == okay).
- */
- operator bool() const
- { return _M_ok; }
-
- private:
- bool _M_ok;
- };
-
- // [27.6.1.2.3] character extraction templates
- //@{
- /**
- * @brief Character extractors
- * @param in An input stream.
- * @param c A character reference.
- * @return in
- *
- * Behaves like one of the formatted arithmetic extractors described in
- * std::basic_istream. After constructing a sentry object with good
- * status, this function extracts a character (if one is available) and
- * stores it in @a c. Otherwise, sets failbit in the input stream.
- */
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
-
- template<class _Traits>
- inline basic_istream<char, _Traits>&
- operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
- { return (__in >> reinterpret_cast<char&>(__c)); }
-
- template<class _Traits>
- inline basic_istream<char, _Traits>&
- operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
- { return (__in >> reinterpret_cast<char&>(__c)); }
- //@}
-
- //@{
- /**
- * @brief Character string extractors
- * @param in An input stream.
- * @param s A pointer to a character array.
- * @return in
- *
- * Behaves like one of the formatted arithmetic extractors described in
- * std::basic_istream. After constructing a sentry object with good
- * status, this function extracts up to @c n characters and stores them
- * into the array starting at @a s. @c n is defined as:
- *
- * - if @c width() is greater than zero, @c n is width()
- * - otherwise @c n is "the number of elements of the largest array of
- * @c char_type that can store a terminating @c eos." [27.6.1.2.3]/6
- *
- * Characters are extracted and stored until one of the following happens:
- * - @c n-1 characters are stored
- * - EOF is reached
- * - the next character is whitespace according to the current locale
- * - the next character is a null byte (i.e., @c charT() )
- *
- * @c width(0) is then called for the input stream.
- *
- * If no characters are extracted, sets failbit.
- */
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s);
-
- // Explicit specialization declaration, defined in src/istream.cc.
- template<>
- basic_istream<char>&
- operator>>(basic_istream<char>& __in, char* __s);
-
- template<class _Traits>
- inline basic_istream<char, _Traits>&
- operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
- { return (__in >> reinterpret_cast<char*>(__s)); }
-
- template<class _Traits>
- inline basic_istream<char, _Traits>&
- operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
- { return (__in >> reinterpret_cast<char*>(__s)); }
- //@}
-
- // 27.6.1.5 Template class basic_iostream
- /**
- * @brief Merging istream and ostream capabilities.
- *
- * This class multiply inherits from the input and output stream classes
- * simply to provide a single interface.
- */
- template<typename _CharT, typename _Traits>
- class basic_iostream
- : public basic_istream<_CharT, _Traits>,
- public basic_ostream<_CharT, _Traits>
- {
- public:
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 271. basic_iostream missing typedefs
- // Types (inherited):
- typedef _CharT char_type;
- typedef typename _Traits::int_type int_type;
- typedef typename _Traits::pos_type pos_type;
- typedef typename _Traits::off_type off_type;
- typedef _Traits traits_type;
-
- // Non-standard Types:
- typedef basic_istream<_CharT, _Traits> __istream_type;
- typedef basic_ostream<_CharT, _Traits> __ostream_type;
-
- /**
- * @brief Constructor does nothing.
- *
- * Both of the parent classes are initialized with the same
- * streambuf pointer passed to this constructor.
- */
- explicit
- basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
- : __istream_type(), __ostream_type()
- { this->init(__sb); }
-
- /**
- * @brief Destructor does nothing.
- */
- virtual
- ~basic_iostream() { }
-
- protected:
- explicit
- basic_iostream() : __istream_type(), __ostream_type()
- { }
- };
-
- // [27.6.1.4] standard basic_istream manipulators
- /**
- * @brief Quick and easy way to eat whitespace
- *
- * This manipulator extracts whitespace characters, stopping when the
- * next character is non-whitespace, or when the input sequence is empty.
- * If the sequence is empty, @c eofbit is set in the stream, but not
- * @c failbit.
- *
- * The current locale is used to distinguish whitespace characters.
- *
- * Example:
- * @code
- * MyClass mc;
- *
- * std::cin >> std::ws >> mc;
- * @endcode
- * will skip leading whitespace before calling operator>> on cin and your
- * object. Note that the same effect can be achieved by creating a
- * std::basic_istream::sentry inside your definition of operator>>.
- */
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- ws(basic_istream<_CharT, _Traits>& __is);
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/istream.tcc>
-#endif
-
-#endif /* _GLIBCXX_ISTREAM */
diff --git a/contrib/libstdc++/include/std/std_iterator.h b/contrib/libstdc++/include/std/std_iterator.h
deleted file mode 100644
index f0317b44a7c7..000000000000
--- a/contrib/libstdc++/include/std/std_iterator.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// <iterator> -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/iterator
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_ITERATOR
-#define _GLIBCXX_ITERATOR 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <bits/stl_iterator_base_types.h>
-#include <bits/stl_iterator_base_funcs.h>
-#include <bits/stl_iterator.h>
-#include <ostream>
-#include <istream>
-#include <bits/stream_iterator.h>
-#include <bits/streambuf_iterator.h>
-
-#endif /* _GLIBCXX_ITERATOR */
diff --git a/contrib/libstdc++/include/std/std_limits.h b/contrib/libstdc++/include/std/std_limits.h
deleted file mode 100644
index c4cfcb9f80db..000000000000
--- a/contrib/libstdc++/include/std/std_limits.h
+++ /dev/null
@@ -1,1161 +0,0 @@
-// The template and inlines for the numeric_limits classes. -*- C++ -*-
-
-// Copyright (C) 1999, 2000, 2001, 2002, 2003, 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 limits
- * This is a Standard C++ Library header.
- */
-
-// Note: this is not a conforming implementation.
-// Written by Gabriel Dos Reis <gdr@codesourcery.com>
-
-//
-// ISO 14882:1998
-// 18.2.1
-//
-
-#ifndef _GLIBCXX_NUMERIC_LIMITS
-#define _GLIBCXX_NUMERIC_LIMITS 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-
-//
-// The numeric_limits<> traits document implementation-defined aspects
-// of fundamental arithmetic data types (integers and floating points).
-// From Standard C++ point of view, there are 13 such types:
-// * integers
-// bool (1)
-// char, signed char, unsigned char (3)
-// short, unsigned short (2)
-// int, unsigned (2)
-// long, unsigned long (2)
-//
-// * floating points
-// float (1)
-// double (1)
-// long double (1)
-//
-// GNU C++ undertstands (where supported by the host C-library)
-// * integer
-// long long, unsigned long long (2)
-//
-// which brings us to 15 fundamental arithmetic data types in GNU C++.
-//
-//
-// Since a numeric_limits<> is a bit tricky to get right, we rely on
-// an interface composed of macros which should be defined in config/os
-// or config/cpu when they differ from the generic (read arbitrary)
-// definitions given here.
-//
-
-// These values can be overridden in the target configuration file.
-// The default values are appropriate for many 32-bit targets.
-
-// GCC only intrinsicly supports modulo integral types. The only remaining
-// integral exceptional values is division by zero. Only targets that do not
-// signal division by zero in some "hard to ignore" way should use false.
-#ifndef __glibcxx_integral_traps
-# define __glibcxx_integral_traps true
-#endif
-
-// float
-//
-
-// Default values. Should be overriden in configuration files if necessary.
-
-#ifndef __glibcxx_float_has_denorm_loss
-# define __glibcxx_float_has_denorm_loss false
-#endif
-#ifndef __glibcxx_float_traps
-# define __glibcxx_float_traps false
-#endif
-#ifndef __glibcxx_float_tinyness_before
-# define __glibcxx_float_tinyness_before false
-#endif
-
-// double
-
-// Default values. Should be overriden in configuration files if necessary.
-
-#ifndef __glibcxx_double_has_denorm_loss
-# define __glibcxx_double_has_denorm_loss false
-#endif
-#ifndef __glibcxx_double_traps
-# define __glibcxx_double_traps false
-#endif
-#ifndef __glibcxx_double_tinyness_before
-# define __glibcxx_double_tinyness_before false
-#endif
-
-// long double
-
-// Default values. Should be overriden in configuration files if necessary.
-
-#ifndef __glibcxx_long_double_has_denorm_loss
-# define __glibcxx_long_double_has_denorm_loss false
-#endif
-#ifndef __glibcxx_long_double_traps
-# define __glibcxx_long_double_traps false
-#endif
-#ifndef __glibcxx_long_double_tinyness_before
-# define __glibcxx_long_double_tinyness_before false
-#endif
-
-// You should not need to define any macros below this point.
-
-#define __glibcxx_signed(T) ((T)(-1) < 0)
-
-#define __glibcxx_min(T) \
- (__glibcxx_signed (T) ? (((T)1 << (__glibcxx_digits (T) - 1)) << 1) : (T)0)
-
-#define __glibcxx_max(T) \
- (__glibcxx_signed (T) ? \
- (((((T)1 << (__glibcxx_digits (T) - 1)) - 1) << 1) + 1) : ~(T)0)
-
-#define __glibcxx_digits(T) \
- (sizeof(T) * __CHAR_BIT__ - __glibcxx_signed (T))
-
-// The fraction 643/2136 approximates log10(2) to 7 significant digits.
-#define __glibcxx_digits10(T) \
- (__glibcxx_digits (T) * 643 / 2136)
-
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Describes the rounding style for floating-point types.
- *
- * This is used in the std::numeric_limits class.
- */
- enum float_round_style
- {
- round_indeterminate = -1, ///< Self-explanatory.
- round_toward_zero = 0, ///< Self-explanatory.
- round_to_nearest = 1, ///< To the nearest representable value.
- round_toward_infinity = 2, ///< Self-explanatory.
- round_toward_neg_infinity = 3 ///< Self-explanatory.
- };
-
- /**
- * @brief Describes the denormalization for floating-point types.
- *
- * These values represent the presence or absence of a variable number
- * of exponent bits. This type is used in the std::numeric_limits class.
- */
- enum float_denorm_style
- {
- /// Indeterminate at compile time whether denormalized values are allowed.
- denorm_indeterminate = -1,
- /// The type does not allow denormalized values.
- denorm_absent = 0,
- /// The type allows denormalized values.
- denorm_present = 1
- };
-
- /**
- * @brief Part of std::numeric_limits.
- *
- * The @c static @c const members are usable as integral constant
- * expressions.
- *
- * @note This is a seperate class for purposes of efficiency; you
- * should only access these members as part of an instantiation
- * of the std::numeric_limits class.
- */
- struct __numeric_limits_base
- {
- /** This will be true for all fundamental types (which have
- specializations), and false for everything else. */
- static const bool is_specialized = false;
-
- /** The number of @c radix digits that be represented without change: for
- integer types, the number of non-sign bits in the mantissa; for
- floating types, the number of @c radix digits in the mantissa. */
- static const int digits = 0;
- /** The number of base 10 digits that can be represented without change. */
- static const int digits10 = 0;
- /** True if the type is signed. */
- static const bool is_signed = false;
- /** True if the type is integer.
- * @if maint
- * Is this supposed to be "if the type is integral"?
- * @endif
- */
- static const bool is_integer = false;
- /** True if the type uses an exact representation. "All integer types are
- exact, but not all exact types are integer. For example, rational and
- fixed-exponent representations are exact but not integer."
- [18.2.1.2]/15 */
- static const bool is_exact = false;
- /** For integer types, specifies the base of the representation. For
- floating types, specifies the base of the exponent representation. */
- static const int radix = 0;
-
- /** The minimum negative integer such that @c radix raised to the power of
- (one less than that integer) is a normalized floating point number. */
- static const int min_exponent = 0;
- /** The minimum negative integer such that 10 raised to that power is in
- the range of normalized floating point numbers. */
- static const int min_exponent10 = 0;
- /** The maximum positive integer such that @c radix raised to the power of
- (one less than that integer) is a representable finite floating point
- number. */
- static const int max_exponent = 0;
- /** The maximum positive integer such that 10 raised to that power is in
- the range of representable finite floating point numbers. */
- static const int max_exponent10 = 0;
-
- /** True if the type has a representation for positive infinity. */
- static const bool has_infinity = false;
- /** True if the type has a representation for a quiet (non-signaling)
- "Not a Number." */
- static const bool has_quiet_NaN = false;
- /** True if the type has a representation for a signaling
- "Not a Number." */
- static const bool has_signaling_NaN = false;
- /** See std::float_denorm_style for more information. */
- static const float_denorm_style has_denorm = denorm_absent;
- /** "True if loss of accuracy is detected as a denormalization loss,
- rather than as an inexact result." [18.2.1.2]/42 */
- static const bool has_denorm_loss = false;
-
- /** True if-and-only-if the type adheres to the IEC 559 standard, also
- known as IEEE 754. (Only makes sense for floating point types.) */
- static const bool is_iec559 = false;
- /** "True if the set of values representable by the type is finite. All
- built-in types are bounded, this member would be false for arbitrary
- precision types." [18.2.1.2]/54 */
- static const bool is_bounded = false;
- /** True if the type is @e modulo, that is, if it is possible to add two
- positive numbers and have a result that wraps around to a third number
- that is less. Typically false for floating types, true for unsigned
- integers, and true for signed integers. */
- static const bool is_modulo = false;
-
- /** True if trapping is implemented for this type. */
- static const bool traps = false;
- /** True if tinyness is detected before rounding. (see IEC 559) */
- static const bool tinyness_before = false;
- /** See std::float_round_style for more information. This is only
- meaningful for floating types; integer types will all be
- round_toward_zero. */
- static const float_round_style round_style = round_toward_zero;
- };
-
- /**
- * @brief Properties of fundamental types.
- *
- * This class allows a program to obtain information about the
- * representation of a fundamental type on a given platform. For
- * non-fundamental types, the functions will return 0 and the data
- * members will all be @c false.
- *
- * @if maint
- * _GLIBCXX_RESOLVE_LIB_DEFECTS: DRs 201 and 184 (hi Gaby!) are
- * noted, but not incorporated in this documented (yet).
- * @endif
- */
- template<typename _Tp>
- struct numeric_limits : public __numeric_limits_base
- {
- /** The minimum finite value, or for floating types with
- denormalization, the minimum positive normalized value. */
- static _Tp min() throw() { return static_cast<_Tp>(0); }
- /** The maximum finite value. */
- static _Tp max() throw() { return static_cast<_Tp>(0); }
- /** The @e machine @e epsilon: the difference between 1 and the least
- value greater than 1 that is representable. */
- static _Tp epsilon() throw() { return static_cast<_Tp>(0); }
- /** The maximum rounding error measurement (see LIA-1). */
- static _Tp round_error() throw() { return static_cast<_Tp>(0); }
- /** The representation of positive infinity, if @c has_infinity. */
- static _Tp infinity() throw() { return static_cast<_Tp>(0); }
- /** The representation of a quiet "Not a Number," if @c has_quiet_NaN. */
- static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); }
- /** The representation of a signaling "Not a Number," if
- @c has_signaling_NaN. */
- static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); }
- /** The minimum positive denormalized value. For types where
- @c has_denorm is false, this is the minimum positive normalized
- value. */
- static _Tp denorm_min() throw() { return static_cast<_Tp>(0); }
- };
-
- // Now there follow 15 explicit specializations. Yes, 15. Make sure
- // you get the count right.
-
- /// numeric_limits<bool> specialization.
- template<>
- struct numeric_limits<bool>
- {
- static const bool is_specialized = true;
-
- static bool min() throw()
- { return false; }
- static bool max() throw()
- { return true; }
-
- static const int digits = 1;
- static const int digits10 = 0;
- static const bool is_signed = false;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static bool epsilon() throw()
- { return false; }
- static bool round_error() throw()
- { return false; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static bool infinity() throw()
- { return false; }
- static bool quiet_NaN() throw()
- { return false; }
- static bool signaling_NaN() throw()
- { return false; }
- static bool denorm_min() throw()
- { return false; }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = false;
-
- // It is not clear what it means for a boolean type to trap.
- // This is a DR on the LWG issue list. Here, I use integer
- // promotion semantics.
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<char> specialization.
- template<>
- struct numeric_limits<char>
- {
- static const bool is_specialized = true;
-
- static char min() throw()
- { return __glibcxx_min(char); }
- static char max() throw()
- { return __glibcxx_max(char); }
-
- static const int digits = __glibcxx_digits (char);
- static const int digits10 = __glibcxx_digits10 (char);
- static const bool is_signed = __glibcxx_signed (char);
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static char epsilon() throw()
- { return 0; }
- static char round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static char infinity() throw()
- { return char(); }
- static char quiet_NaN() throw()
- { return char(); }
- static char signaling_NaN() throw()
- { return char(); }
- static char denorm_min() throw()
- { return static_cast<char>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<signed char> specialization.
- template<>
- struct numeric_limits<signed char>
- {
- static const bool is_specialized = true;
-
- static signed char min() throw()
- { return -__SCHAR_MAX__ - 1; }
- static signed char max() throw()
- { return __SCHAR_MAX__; }
-
- static const int digits = __glibcxx_digits (signed char);
- static const int digits10 = __glibcxx_digits10 (signed char);
- static const bool is_signed = true;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static signed char epsilon() throw()
- { return 0; }
- static signed char round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static signed char infinity() throw()
- { return static_cast<signed char>(0); }
- static signed char quiet_NaN() throw()
- { return static_cast<signed char>(0); }
- static signed char signaling_NaN() throw()
- { return static_cast<signed char>(0); }
- static signed char denorm_min() throw()
- { return static_cast<signed char>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<unsigned char> specialization.
- template<>
- struct numeric_limits<unsigned char>
- {
- static const bool is_specialized = true;
-
- static unsigned char min() throw()
- { return 0; }
- static unsigned char max() throw()
- { return __SCHAR_MAX__ * 2U + 1; }
-
- static const int digits = __glibcxx_digits (unsigned char);
- static const int digits10 = __glibcxx_digits10 (unsigned char);
- static const bool is_signed = false;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static unsigned char epsilon() throw()
- { return 0; }
- static unsigned char round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static unsigned char infinity() throw()
- { return static_cast<unsigned char>(0); }
- static unsigned char quiet_NaN() throw()
- { return static_cast<unsigned char>(0); }
- static unsigned char signaling_NaN() throw()
- { return static_cast<unsigned char>(0); }
- static unsigned char denorm_min() throw()
- { return static_cast<unsigned char>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<wchar_t> specialization.
- template<>
- struct numeric_limits<wchar_t>
- {
- static const bool is_specialized = true;
-
- static wchar_t min() throw()
- { return __glibcxx_min (wchar_t); }
- static wchar_t max() throw()
- { return __glibcxx_max (wchar_t); }
-
- static const int digits = __glibcxx_digits (wchar_t);
- static const int digits10 = __glibcxx_digits10 (wchar_t);
- static const bool is_signed = __glibcxx_signed (wchar_t);
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static wchar_t epsilon() throw()
- { return 0; }
- static wchar_t round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static wchar_t infinity() throw()
- { return wchar_t(); }
- static wchar_t quiet_NaN() throw()
- { return wchar_t(); }
- static wchar_t signaling_NaN() throw()
- { return wchar_t(); }
- static wchar_t denorm_min() throw()
- { return wchar_t(); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<short> specialization.
- template<>
- struct numeric_limits<short>
- {
- static const bool is_specialized = true;
-
- static short min() throw()
- { return -__SHRT_MAX__ - 1; }
- static short max() throw()
- { return __SHRT_MAX__; }
-
- static const int digits = __glibcxx_digits (short);
- static const int digits10 = __glibcxx_digits10 (short);
- static const bool is_signed = true;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static short epsilon() throw()
- { return 0; }
- static short round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static short infinity() throw()
- { return short(); }
- static short quiet_NaN() throw()
- { return short(); }
- static short signaling_NaN() throw()
- { return short(); }
- static short denorm_min() throw()
- { return short(); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<unsigned short> specialization.
- template<>
- struct numeric_limits<unsigned short>
- {
- static const bool is_specialized = true;
-
- static unsigned short min() throw()
- { return 0; }
- static unsigned short max() throw()
- { return __SHRT_MAX__ * 2U + 1; }
-
- static const int digits = __glibcxx_digits (unsigned short);
- static const int digits10 = __glibcxx_digits10 (unsigned short);
- static const bool is_signed = false;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static unsigned short epsilon() throw()
- { return 0; }
- static unsigned short round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static unsigned short infinity() throw()
- { return static_cast<unsigned short>(0); }
- static unsigned short quiet_NaN() throw()
- { return static_cast<unsigned short>(0); }
- static unsigned short signaling_NaN() throw()
- { return static_cast<unsigned short>(0); }
- static unsigned short denorm_min() throw()
- { return static_cast<unsigned short>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<int> specialization.
- template<>
- struct numeric_limits<int>
- {
- static const bool is_specialized = true;
-
- static int min() throw()
- { return -__INT_MAX__ - 1; }
- static int max() throw()
- { return __INT_MAX__; }
-
- static const int digits = __glibcxx_digits (int);
- static const int digits10 = __glibcxx_digits10 (int);
- static const bool is_signed = true;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static int epsilon() throw()
- { return 0; }
- static int round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static int infinity() throw()
- { return static_cast<int>(0); }
- static int quiet_NaN() throw()
- { return static_cast<int>(0); }
- static int signaling_NaN() throw()
- { return static_cast<int>(0); }
- static int denorm_min() throw()
- { return static_cast<int>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<unsigned int> specialization.
- template<>
- struct numeric_limits<unsigned int>
- {
- static const bool is_specialized = true;
-
- static unsigned int min() throw()
- { return 0; }
- static unsigned int max() throw()
- { return __INT_MAX__ * 2U + 1; }
-
- static const int digits = __glibcxx_digits (unsigned int);
- static const int digits10 = __glibcxx_digits10 (unsigned int);
- static const bool is_signed = false;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static unsigned int epsilon() throw()
- { return 0; }
- static unsigned int round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static unsigned int infinity() throw()
- { return static_cast<unsigned int>(0); }
- static unsigned int quiet_NaN() throw()
- { return static_cast<unsigned int>(0); }
- static unsigned int signaling_NaN() throw()
- { return static_cast<unsigned int>(0); }
- static unsigned int denorm_min() throw()
- { return static_cast<unsigned int>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<long> specialization.
- template<>
- struct numeric_limits<long>
- {
- static const bool is_specialized = true;
-
- static long min() throw()
- { return -__LONG_MAX__ - 1; }
- static long max() throw()
- { return __LONG_MAX__; }
-
- static const int digits = __glibcxx_digits (long);
- static const int digits10 = __glibcxx_digits10 (long);
- static const bool is_signed = true;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static long epsilon() throw()
- { return 0; }
- static long round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static long infinity() throw()
- { return static_cast<long>(0); }
- static long quiet_NaN() throw()
- { return static_cast<long>(0); }
- static long signaling_NaN() throw()
- { return static_cast<long>(0); }
- static long denorm_min() throw()
- { return static_cast<long>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<unsigned long> specialization.
- template<>
- struct numeric_limits<unsigned long>
- {
- static const bool is_specialized = true;
-
- static unsigned long min() throw()
- { return 0; }
- static unsigned long max() throw()
- { return __LONG_MAX__ * 2UL + 1; }
-
- static const int digits = __glibcxx_digits (unsigned long);
- static const int digits10 = __glibcxx_digits10 (unsigned long);
- static const bool is_signed = false;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static unsigned long epsilon() throw()
- { return 0; }
- static unsigned long round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static unsigned long infinity() throw()
- { return static_cast<unsigned long>(0); }
- static unsigned long quiet_NaN() throw()
- { return static_cast<unsigned long>(0); }
- static unsigned long signaling_NaN() throw()
- { return static_cast<unsigned long>(0); }
- static unsigned long denorm_min() throw()
- { return static_cast<unsigned long>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<long long> specialization.
- template<>
- struct numeric_limits<long long>
- {
- static const bool is_specialized = true;
-
- static long long min() throw()
- { return -__LONG_LONG_MAX__ - 1; }
- static long long max() throw()
- { return __LONG_LONG_MAX__; }
-
- static const int digits = __glibcxx_digits (long long);
- static const int digits10 = __glibcxx_digits10 (long long);
- static const bool is_signed = true;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static long long epsilon() throw()
- { return 0; }
- static long long round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static long long infinity() throw()
- { return static_cast<long long>(0); }
- static long long quiet_NaN() throw()
- { return static_cast<long long>(0); }
- static long long signaling_NaN() throw()
- { return static_cast<long long>(0); }
- static long long denorm_min() throw()
- { return static_cast<long long>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<unsigned long long> specialization.
- template<>
- struct numeric_limits<unsigned long long>
- {
- static const bool is_specialized = true;
-
- static unsigned long long min() throw()
- { return 0; }
- static unsigned long long max() throw()
- { return __LONG_LONG_MAX__ * 2ULL + 1; }
-
- static const int digits = __glibcxx_digits (unsigned long long);
- static const int digits10 = __glibcxx_digits10 (unsigned long long);
- static const bool is_signed = false;
- static const bool is_integer = true;
- static const bool is_exact = true;
- static const int radix = 2;
- static unsigned long long epsilon() throw()
- { return 0; }
- static unsigned long long round_error() throw()
- { return 0; }
-
- static const int min_exponent = 0;
- static const int min_exponent10 = 0;
- static const int max_exponent = 0;
- static const int max_exponent10 = 0;
-
- static const bool has_infinity = false;
- static const bool has_quiet_NaN = false;
- static const bool has_signaling_NaN = false;
- static const float_denorm_style has_denorm = denorm_absent;
- static const bool has_denorm_loss = false;
-
- static unsigned long long infinity() throw()
- { return static_cast<unsigned long long>(0); }
- static unsigned long long quiet_NaN() throw()
- { return static_cast<unsigned long long>(0); }
- static unsigned long long signaling_NaN() throw()
- { return static_cast<unsigned long long>(0); }
- static unsigned long long denorm_min() throw()
- { return static_cast<unsigned long long>(0); }
-
- static const bool is_iec559 = false;
- static const bool is_bounded = true;
- static const bool is_modulo = true;
-
- static const bool traps = __glibcxx_integral_traps;
- static const bool tinyness_before = false;
- static const float_round_style round_style = round_toward_zero;
- };
-
- /// numeric_limits<float> specialization.
- template<>
- struct numeric_limits<float>
- {
- static const bool is_specialized = true;
-
- static float min() throw()
- { return __FLT_MIN__; }
- static float max() throw()
- { return __FLT_MAX__; }
-
- static const int digits = __FLT_MANT_DIG__;
- static const int digits10 = __FLT_DIG__;
- static const bool is_signed = true;
- static const bool is_integer = false;
- static const bool is_exact = false;
- static const int radix = __FLT_RADIX__;
- static float epsilon() throw()
- { return __FLT_EPSILON__; }
- static float round_error() throw()
- { return 0.5F; }
-
- static const int min_exponent = __FLT_MIN_EXP__;
- static const int min_exponent10 = __FLT_MIN_10_EXP__;
- static const int max_exponent = __FLT_MAX_EXP__;
- static const int max_exponent10 = __FLT_MAX_10_EXP__;
-
- static const bool has_infinity = __FLT_HAS_INFINITY__;
- static const bool has_quiet_NaN = __FLT_HAS_QUIET_NAN__;
- static const bool has_signaling_NaN = has_quiet_NaN;
- static const float_denorm_style has_denorm
- = bool(__FLT_HAS_DENORM__) ? denorm_present : denorm_absent;
- static const bool has_denorm_loss = __glibcxx_float_has_denorm_loss;
-
- static float infinity() throw()
- { return __builtin_huge_valf (); }
- static float quiet_NaN() throw()
- { return __builtin_nanf (""); }
- static float signaling_NaN() throw()
- { return __builtin_nansf (""); }
- static float denorm_min() throw()
- { return __FLT_DENORM_MIN__; }
-
- static const bool is_iec559
- = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
- static const bool is_bounded = true;
- static const bool is_modulo = false;
-
- static const bool traps = __glibcxx_float_traps;
- static const bool tinyness_before = __glibcxx_float_tinyness_before;
- static const float_round_style round_style = round_to_nearest;
- };
-
-#undef __glibcxx_float_has_denorm_loss
-#undef __glibcxx_float_traps
-#undef __glibcxx_float_tinyness_before
-
- /// numeric_limits<double> specialization.
- template<>
- struct numeric_limits<double>
- {
- static const bool is_specialized = true;
-
- static double min() throw()
- { return __DBL_MIN__; }
- static double max() throw()
- { return __DBL_MAX__; }
-
- static const int digits = __DBL_MANT_DIG__;
- static const int digits10 = __DBL_DIG__;
- static const bool is_signed = true;
- static const bool is_integer = false;
- static const bool is_exact = false;
- static const int radix = __FLT_RADIX__;
- static double epsilon() throw()
- { return __DBL_EPSILON__; }
- static double round_error() throw()
- { return 0.5; }
-
- static const int min_exponent = __DBL_MIN_EXP__;
- static const int min_exponent10 = __DBL_MIN_10_EXP__;
- static const int max_exponent = __DBL_MAX_EXP__;
- static const int max_exponent10 = __DBL_MAX_10_EXP__;
-
- static const bool has_infinity = __DBL_HAS_INFINITY__;
- static const bool has_quiet_NaN = __DBL_HAS_QUIET_NAN__;
- static const bool has_signaling_NaN = has_quiet_NaN;
- static const float_denorm_style has_denorm
- = bool(__DBL_HAS_DENORM__) ? denorm_present : denorm_absent;
- static const bool has_denorm_loss = __glibcxx_double_has_denorm_loss;
-
- static double infinity() throw()
- { return __builtin_huge_val(); }
- static double quiet_NaN() throw()
- { return __builtin_nan (""); }
- static double signaling_NaN() throw()
- { return __builtin_nans (""); }
- static double denorm_min() throw()
- { return __DBL_DENORM_MIN__; }
-
- static const bool is_iec559
- = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
- static const bool is_bounded = true;
- static const bool is_modulo = false;
-
- static const bool traps = __glibcxx_double_traps;
- static const bool tinyness_before = __glibcxx_double_tinyness_before;
- static const float_round_style round_style = round_to_nearest;
- };
-
-#undef __glibcxx_double_has_denorm_loss
-#undef __glibcxx_double_traps
-#undef __glibcxx_double_tinyness_before
-
- /// numeric_limits<long double> specialization.
- template<>
- struct numeric_limits<long double>
- {
- static const bool is_specialized = true;
-
- static long double min() throw()
- { return __LDBL_MIN__; }
- static long double max() throw()
- { return __LDBL_MAX__; }
-
- static const int digits = __LDBL_MANT_DIG__;
- static const int digits10 = __LDBL_DIG__;
- static const bool is_signed = true;
- static const bool is_integer = false;
- static const bool is_exact = false;
- static const int radix = __FLT_RADIX__;
- static long double epsilon() throw()
- { return __LDBL_EPSILON__; }
- static long double round_error() throw()
- { return 0.5L; }
-
- static const int min_exponent = __LDBL_MIN_EXP__;
- static const int min_exponent10 = __LDBL_MIN_10_EXP__;
- static const int max_exponent = __LDBL_MAX_EXP__;
- static const int max_exponent10 = __LDBL_MAX_10_EXP__;
-
- static const bool has_infinity = __LDBL_HAS_INFINITY__;
- static const bool has_quiet_NaN = __LDBL_HAS_QUIET_NAN__;
- static const bool has_signaling_NaN = has_quiet_NaN;
- static const float_denorm_style has_denorm
- = bool(__LDBL_HAS_DENORM__) ? denorm_present : denorm_absent;
- static const bool has_denorm_loss
- = __glibcxx_long_double_has_denorm_loss;
-
- static long double infinity() throw()
- { return __builtin_huge_vall (); }
- static long double quiet_NaN() throw()
- { return __builtin_nanl (""); }
- static long double signaling_NaN() throw()
- { return __builtin_nansl (""); }
- static long double denorm_min() throw()
- { return __LDBL_DENORM_MIN__; }
-
- static const bool is_iec559
- = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
- static const bool is_bounded = true;
- static const bool is_modulo = false;
-
- static const bool traps = __glibcxx_long_double_traps;
- static const bool tinyness_before = __glibcxx_long_double_tinyness_before;
- static const float_round_style round_style = round_to_nearest;
- };
-
-#undef __glibcxx_long_double_has_denorm_loss
-#undef __glibcxx_long_double_traps
-#undef __glibcxx_long_double_tinyness_before
-
-_GLIBCXX_END_NAMESPACE
-
-#undef __glibcxx_signed
-#undef __glibcxx_min
-#undef __glibcxx_max
-#undef __glibcxx_digits
-#undef __glibcxx_digits10
-
-#endif // _GLIBCXX_NUMERIC_LIMITS
diff --git a/contrib/libstdc++/include/std/std_list.h b/contrib/libstdc++/include/std/std_list.h
deleted file mode 100644
index b46f65417ec6..000000000000
--- a/contrib/libstdc++/include/std/std_list.h
+++ /dev/null
@@ -1,81 +0,0 @@
-// <list> -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/list
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_LIST
-#define _GLIBCXX_LIST 1
-
-#pragma GCC system_header
-
-#include <bits/functexcept.h>
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <bits/stl_list.h>
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/list.tcc>
-#endif
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/list>
-#endif
-
-#endif /* _GLIBCXX_LIST */
-
diff --git a/contrib/libstdc++/include/std/std_locale.h b/contrib/libstdc++/include/std/std_locale.h
deleted file mode 100644
index 5223f90c878f..000000000000
--- a/contrib/libstdc++/include/std/std_locale.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-/** @file locale
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_LOCALE
-#define _GLIBCXX_LOCALE 1
-
-#pragma GCC system_header
-
-#include <bits/localefwd.h>
-#include <bits/locale_classes.h>
-#include <bits/locale_facets.h>
-#include <bits/locale_facets.tcc>
-
-#endif /* _GLIBCXX_LOCALE */
diff --git a/contrib/libstdc++/include/std/std_map.h b/contrib/libstdc++/include/std/std_map.h
deleted file mode 100644
index a7e8f9c21079..000000000000
--- a/contrib/libstdc++/include/std/std_map.h
+++ /dev/null
@@ -1,73 +0,0 @@
-// <map> -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/map
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_MAP
-#define _GLIBCXX_MAP 1
-
-#pragma GCC system_header
-
-#include <bits/stl_tree.h>
-#include <bits/stl_map.h>
-#include <bits/stl_multimap.h>
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/map>
-#endif
-
-#endif /* _GLIBCXX_MAP */
diff --git a/contrib/libstdc++/include/std/std_memory.h b/contrib/libstdc++/include/std/std_memory.h
deleted file mode 100644
index b57a94f4bbd5..000000000000
--- a/contrib/libstdc++/include/std/std_memory.h
+++ /dev/null
@@ -1,374 +0,0 @@
-// <memory> -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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.
-
-/*
- * Copyright (c) 1997-1999
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- */
-
-/** @file include/memory
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_MEMORY
-#define _GLIBCXX_MEMORY 1
-
-#pragma GCC system_header
-
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_iterator_base_types.h> //for iterator_traits
-#include <bits/stl_uninitialized.h>
-#include <bits/stl_raw_storage_iter.h>
-#include <debug/debug.h>
-#include <limits>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @if maint
- * This is a helper function. The unused second parameter exists to
- * permit the real get_temporary_buffer to use template parameter deduction.
- *
- * XXX This should perhaps use the pool.
- * @endif
- */
- template<typename _Tp>
- pair<_Tp*, ptrdiff_t>
- __get_temporary_buffer(ptrdiff_t __len, _Tp*)
- {
- const ptrdiff_t __max = numeric_limits<ptrdiff_t>::max() / sizeof(_Tp);
- if (__len > __max)
- __len = __max;
-
- while (__len > 0)
- {
- _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
- nothrow));
- if (__tmp != 0)
- return pair<_Tp*, ptrdiff_t>(__tmp, __len);
- __len /= 2;
- }
- return pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
- }
-
- /**
- * @brief Allocates a temporary buffer.
- * @param len The number of objects of type Tp.
- * @return See full description.
- *
- * Reinventing the wheel, but this time with prettier spokes!
- *
- * This function tries to obtain storage for @c len adjacent Tp
- * objects. The objects themselves are not constructed, of course.
- * A pair<> is returned containing "the buffer s address and
- * capacity (in the units of sizeof(Tp)), or a pair of 0 values if
- * no storage can be obtained." Note that the capacity obtained
- * may be less than that requested if the memory is unavailable;
- * you should compare len with the .second return value.
- *
- * Provides the nothrow exception guarantee.
- */
- template<typename _Tp>
- inline pair<_Tp*, ptrdiff_t>
- get_temporary_buffer(ptrdiff_t __len)
- { return std::__get_temporary_buffer(__len, static_cast<_Tp*>(0)); }
-
- /**
- * @brief The companion to get_temporary_buffer().
- * @param p A buffer previously allocated by get_temporary_buffer.
- * @return None.
- *
- * Frees the memory pointed to by p.
- */
- template<typename _Tp>
- void
- return_temporary_buffer(_Tp* __p)
- { ::operator delete(__p, nothrow); }
-
- /**
- * A wrapper class to provide auto_ptr with reference semantics.
- * For example, an auto_ptr can be assigned (or constructed from)
- * the result of a function which returns an auto_ptr by value.
- *
- * All the auto_ptr_ref stuff should happen behind the scenes.
- */
- template<typename _Tp1>
- struct auto_ptr_ref
- {
- _Tp1* _M_ptr;
-
- explicit
- auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
- };
-
-
- /**
- * @brief A simple smart pointer providing strict ownership semantics.
- *
- * The Standard says:
- * <pre>
- * An @c auto_ptr owns the object it holds a pointer to. Copying
- * an @c auto_ptr copies the pointer and transfers ownership to the
- * destination. If more than one @c auto_ptr owns the same object
- * at the same time the behavior of the program is undefined.
- *
- * The uses of @c auto_ptr include providing temporary
- * exception-safety for dynamically allocated memory, passing
- * ownership of dynamically allocated memory to a function, and
- * returning dynamically allocated memory from a function. @c
- * auto_ptr does not meet the CopyConstructible and Assignable
- * requirements for Standard Library <a
- * href="tables.html#65">container</a> elements and thus
- * instantiating a Standard Library container with an @c auto_ptr
- * results in undefined behavior.
- * </pre>
- * Quoted from [20.4.5]/3.
- *
- * Good examples of what can and cannot be done with auto_ptr can
- * be found in the libstdc++ testsuite.
- *
- * @if maint
- * _GLIBCXX_RESOLVE_LIB_DEFECTS
- * 127. auto_ptr<> conversion issues
- * These resolutions have all been incorporated.
- * @endif
- */
- template<typename _Tp>
- class auto_ptr
- {
- private:
- _Tp* _M_ptr;
-
- public:
- /// The pointed-to type.
- typedef _Tp element_type;
-
- /**
- * @brief An %auto_ptr is usually constructed from a raw pointer.
- * @param p A pointer (defaults to NULL).
- *
- * This object now @e owns the object pointed to by @a p.
- */
- explicit
- auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
-
- /**
- * @brief An %auto_ptr can be constructed from another %auto_ptr.
- * @param a Another %auto_ptr of the same type.
- *
- * This object now @e owns the object previously owned by @a a,
- * which has given up ownsership.
- */
- auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
-
- /**
- * @brief An %auto_ptr can be constructed from another %auto_ptr.
- * @param a Another %auto_ptr of a different but related type.
- *
- * A pointer-to-Tp1 must be convertible to a
- * pointer-to-Tp/element_type.
- *
- * This object now @e owns the object previously owned by @a a,
- * which has given up ownsership.
- */
- template<typename _Tp1>
- auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
-
- /**
- * @brief %auto_ptr assignment operator.
- * @param a Another %auto_ptr of the same type.
- *
- * This object now @e owns the object previously owned by @a a,
- * which has given up ownsership. The object that this one @e
- * used to own and track has been deleted.
- */
- auto_ptr&
- operator=(auto_ptr& __a) throw()
- {
- reset(__a.release());
- return *this;
- }
-
- /**
- * @brief %auto_ptr assignment operator.
- * @param a Another %auto_ptr of a different but related type.
- *
- * A pointer-to-Tp1 must be convertible to a pointer-to-Tp/element_type.
- *
- * This object now @e owns the object previously owned by @a a,
- * which has given up ownsership. The object that this one @e
- * used to own and track has been deleted.
- */
- template<typename _Tp1>
- auto_ptr&
- operator=(auto_ptr<_Tp1>& __a) throw()
- {
- reset(__a.release());
- return *this;
- }
-
- /**
- * When the %auto_ptr goes out of scope, the object it owns is
- * deleted. If it no longer owns anything (i.e., @c get() is
- * @c NULL), then this has no effect.
- *
- * @if maint
- * The C++ standard says there is supposed to be an empty throw
- * specification here, but omitting it is standard conforming. Its
- * presence can be detected only if _Tp::~_Tp() throws, but this is
- * prohibited. [17.4.3.6]/2
- * @endif
- */
- ~auto_ptr() { delete _M_ptr; }
-
- /**
- * @brief Smart pointer dereferencing.
- *
- * If this %auto_ptr no longer owns anything, then this
- * operation will crash. (For a smart pointer, "no longer owns
- * anything" is the same as being a null pointer, and you know
- * what happens when you dereference one of those...)
- */
- element_type&
- operator*() const throw()
- {
- _GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);
- return *_M_ptr;
- }
-
- /**
- * @brief Smart pointer dereferencing.
- *
- * This returns the pointer itself, which the language then will
- * automatically cause to be dereferenced.
- */
- element_type*
- operator->() const throw()
- {
- _GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);
- return _M_ptr;
- }
-
- /**
- * @brief Bypassing the smart pointer.
- * @return The raw pointer being managed.
- *
- * You can get a copy of the pointer that this object owns, for
- * situations such as passing to a function which only accepts
- * a raw pointer.
- *
- * @note This %auto_ptr still owns the memory.
- */
- element_type*
- get() const throw() { return _M_ptr; }
-
- /**
- * @brief Bypassing the smart pointer.
- * @return The raw pointer being managed.
- *
- * You can get a copy of the pointer that this object owns, for
- * situations such as passing to a function which only accepts
- * a raw pointer.
- *
- * @note This %auto_ptr no longer owns the memory. When this object
- * goes out of scope, nothing will happen.
- */
- element_type*
- release() throw()
- {
- element_type* __tmp = _M_ptr;
- _M_ptr = 0;
- return __tmp;
- }
-
- /**
- * @brief Forcibly deletes the managed object.
- * @param p A pointer (defaults to NULL).
- *
- * This object now @e owns the object pointed to by @a p. The
- * previous object has been deleted.
- */
- void
- reset(element_type* __p = 0) throw()
- {
- if (__p != _M_ptr)
- {
- delete _M_ptr;
- _M_ptr = __p;
- }
- }
-
- /**
- * @brief Automatic conversions
- *
- * These operations convert an %auto_ptr into and from an auto_ptr_ref
- * automatically as needed. This allows constructs such as
- * @code
- * auto_ptr<Derived> func_returning_auto_ptr(.....);
- * ...
- * auto_ptr<Base> ptr = func_returning_auto_ptr(.....);
- * @endcode
- */
- auto_ptr(auto_ptr_ref<element_type> __ref) throw()
- : _M_ptr(__ref._M_ptr) { }
-
- auto_ptr&
- operator=(auto_ptr_ref<element_type> __ref) throw()
- {
- if (__ref._M_ptr != this->get())
- {
- delete _M_ptr;
- _M_ptr = __ref._M_ptr;
- }
- return *this;
- }
-
- template<typename _Tp1>
- operator auto_ptr_ref<_Tp1>() throw()
- { return auto_ptr_ref<_Tp1>(this->release()); }
-
- template<typename _Tp1>
- operator auto_ptr<_Tp1>() throw()
- { return auto_ptr<_Tp1>(this->release()); }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GLIBCXX_MEMORY */
diff --git a/contrib/libstdc++/include/std/std_numeric.h b/contrib/libstdc++/include/std/std_numeric.h
deleted file mode 100644
index 03f82dd6ab0c..000000000000
--- a/contrib/libstdc++/include/std/std_numeric.h
+++ /dev/null
@@ -1,71 +0,0 @@
-// <numeric> -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/numeric
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_NUMERIC
-#define _GLIBCXX_NUMERIC 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <iterator>
-#include <bits/stl_function.h>
-#include <bits/stl_numeric.h>
-
-#endif /* _GLIBCXX_NUMERIC */
diff --git a/contrib/libstdc++/include/std/std_ostream.h b/contrib/libstdc++/include/std/std_ostream.h
deleted file mode 100644
index 23e951059482..000000000000
--- a/contrib/libstdc++/include/std/std_ostream.h
+++ /dev/null
@@ -1,575 +0,0 @@
-// Output streams -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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 ostream
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.6.2 Output streams
-//
-
-#ifndef _GLIBCXX_OSTREAM
-#define _GLIBCXX_OSTREAM 1
-
-#pragma GCC system_header
-
-#include <ios>
-#include <bits/ostream_insert.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // [27.6.2.1] Template class basic_ostream
- /**
- * @brief Controlling output.
- *
- * This is the base class for all output streams. It provides text
- * formatting of all builtin types, and communicates with any class
- * derived from basic_streambuf to do the actual output.
- */
- template<typename _CharT, typename _Traits>
- class basic_ostream : virtual public basic_ios<_CharT, _Traits>
- {
- public:
- // Types (inherited from basic_ios (27.4.4)):
- typedef _CharT char_type;
- typedef typename _Traits::int_type int_type;
- typedef typename _Traits::pos_type pos_type;
- typedef typename _Traits::off_type off_type;
- typedef _Traits traits_type;
-
- // Non-standard Types:
- typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
- typedef basic_ios<_CharT, _Traits> __ios_type;
- typedef basic_ostream<_CharT, _Traits> __ostream_type;
- typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
- __num_put_type;
- typedef ctype<_CharT> __ctype_type;
-
- // [27.6.2.2] constructor/destructor
- /**
- * @brief Base constructor.
- *
- * This ctor is almost never called by the user directly, rather from
- * derived classes' initialization lists, which pass a pointer to
- * their own stream buffer.
- */
- explicit
- basic_ostream(__streambuf_type* __sb)
- { this->init(__sb); }
-
- /**
- * @brief Base destructor.
- *
- * This does very little apart from providing a virtual base dtor.
- */
- virtual
- ~basic_ostream() { }
-
- // [27.6.2.3] prefix/suffix
- class sentry;
- friend class sentry;
-
- // [27.6.2.5] formatted output
- // [27.6.2.5.3] basic_ostream::operator<<
- //@{
- /**
- * @brief Interface for manipulators.
- *
- * Manuipulators such as @c std::endl and @c std::hex use these
- * functions in constructs like "std::cout << std::endl". For more
- * information, see the iomanip header.
- */
- __ostream_type&
- operator<<(__ostream_type& (*__pf)(__ostream_type&))
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 60. What is a formatted input function?
- // The inserters for manipulators are *not* formatted output functions.
- return __pf(*this);
- }
-
- __ostream_type&
- operator<<(__ios_type& (*__pf)(__ios_type&))
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 60. What is a formatted input function?
- // The inserters for manipulators are *not* formatted output functions.
- __pf(*this);
- return *this;
- }
-
- __ostream_type&
- operator<<(ios_base& (*__pf) (ios_base&))
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // DR 60. What is a formatted input function?
- // The inserters for manipulators are *not* formatted output functions.
- __pf(*this);
- return *this;
- }
- //@}
-
- // [27.6.2.5.2] arithmetic inserters
- /**
- * @name Arithmetic Inserters
- *
- * All the @c operator<< functions (aka <em>formatted output
- * functions</em>) have some common behavior. Each starts by
- * constructing a temporary object of type std::basic_ostream::sentry.
- * This can have several effects, concluding with the setting of a
- * status flag; see the sentry documentation for more.
- *
- * If the sentry status is good, the function tries to generate
- * whatever data is appropriate for the type of the argument.
- *
- * If an exception is thrown during insertion, ios_base::badbit
- * will be turned on in the stream's error state without causing an
- * ios_base::failure to be thrown. The original exception will then
- * be rethrown.
- */
- //@{
- /**
- * @brief Basic arithmetic inserters
- * @param A variable of builtin type.
- * @return @c *this if successful
- *
- * These functions use the stream's current locale (specifically, the
- * @c num_get facet) to perform numeric formatting.
- */
- __ostream_type&
- operator<<(long __n)
- { return _M_insert(__n); }
-
- __ostream_type&
- operator<<(unsigned long __n)
- { return _M_insert(__n); }
-
- __ostream_type&
- operator<<(bool __n)
- { return _M_insert(__n); }
-
- __ostream_type&
- operator<<(short __n);
-
- __ostream_type&
- operator<<(unsigned short __n)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- return _M_insert(static_cast<unsigned long>(__n));
- }
-
- __ostream_type&
- operator<<(int __n);
-
- __ostream_type&
- operator<<(unsigned int __n)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- return _M_insert(static_cast<unsigned long>(__n));
- }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- __ostream_type&
- operator<<(long long __n)
- { return _M_insert(__n); }
-
- __ostream_type&
- operator<<(unsigned long long __n)
- { return _M_insert(__n); }
-#endif
-
- __ostream_type&
- operator<<(double __f)
- { return _M_insert(__f); }
-
- __ostream_type&
- operator<<(float __f)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- return _M_insert(static_cast<double>(__f));
- }
-
- __ostream_type&
- operator<<(long double __f)
- { return _M_insert(__f); }
-
- __ostream_type&
- operator<<(const void* __p)
- { return _M_insert(__p); }
-
- /**
- * @brief Extracting from another streambuf.
- * @param sb A pointer to a streambuf
- *
- * This function behaves like one of the basic arithmetic extractors,
- * in that it also constructs a sentry object and has the same error
- * handling behavior.
- *
- * If @a sb is NULL, the stream will set failbit in its error state.
- *
- * Characters are extracted from @a sb and inserted into @c *this
- * until one of the following occurs:
- *
- * - the input stream reaches end-of-file,
- * - insertion into the output sequence fails (in this case, the
- * character that would have been inserted is not extracted), or
- * - an exception occurs while getting a character from @a sb, which
- * sets failbit in the error state
- *
- * If the function inserts no characters, failbit is set.
- */
- __ostream_type&
- operator<<(__streambuf_type* __sb);
- //@}
-
- // [27.6.2.6] unformatted output functions
- /**
- * @name Unformatted Output Functions
- *
- * All the unformatted output functions have some common behavior.
- * Each starts by constructing a temporary object of type
- * std::basic_ostream::sentry. This has several effects, concluding
- * with the setting of a status flag; see the sentry documentation
- * for more.
- *
- * If the sentry status is good, the function tries to generate
- * whatever data is appropriate for the type of the argument.
- *
- * If an exception is thrown during insertion, ios_base::badbit
- * will be turned on in the stream's error state. If badbit is on in
- * the stream's exceptions mask, the exception will be rethrown
- * without completing its actions.
- */
- //@{
- /**
- * @brief Simple insertion.
- * @param c The character to insert.
- * @return *this
- *
- * Tries to insert @a c.
- *
- * @note This function is not overloaded on signed char and
- * unsigned char.
- */
- __ostream_type&
- put(char_type __c);
-
- // Core write functionality, without sentry.
- void
- _M_write(const char_type* __s, streamsize __n)
- {
- const streamsize __put = this->rdbuf()->sputn(__s, __n);
- if (__put != __n)
- this->setstate(ios_base::badbit);
- }
-
- /**
- * @brief Character string insertion.
- * @param s The array to insert.
- * @param n Maximum number of characters to insert.
- * @return *this
- *
- * Characters are copied from @a s and inserted into the stream until
- * one of the following happens:
- *
- * - @a n characters are inserted
- * - inserting into the output sequence fails (in this case, badbit
- * will be set in the stream's error state)
- *
- * @note This function is not overloaded on signed char and
- * unsigned char.
- */
- __ostream_type&
- write(const char_type* __s, streamsize __n);
- //@}
-
- /**
- * @brief Synchronizing the stream buffer.
- * @return *this
- *
- * If @c rdbuf() is a null pointer, changes nothing.
- *
- * Otherwise, calls @c rdbuf()->pubsync(), and if that returns -1,
- * sets badbit.
- */
- __ostream_type&
- flush();
-
- // [27.6.2.4] seek members
- /**
- * @brief Getting the current write position.
- * @return A file position object.
- *
- * If @c fail() is not false, returns @c pos_type(-1) to indicate
- * failure. Otherwise returns @c rdbuf()->pubseekoff(0,cur,out).
- */
- pos_type
- tellp();
-
- /**
- * @brief Changing the current write position.
- * @param pos A file position object.
- * @return *this
- *
- * If @c fail() is not true, calls @c rdbuf()->pubseekpos(pos). If
- * that function fails, sets failbit.
- */
- __ostream_type&
- seekp(pos_type);
-
- /**
- * @brief Changing the current write position.
- * @param off A file offset object.
- * @param dir The direction in which to seek.
- * @return *this
- *
- * If @c fail() is not true, calls @c rdbuf()->pubseekoff(off,dir).
- * If that function fails, sets failbit.
- */
- __ostream_type&
- seekp(off_type, ios_base::seekdir);
-
- protected:
- explicit
- basic_ostream() { }
-
- template<typename _ValueT>
- __ostream_type&
- _M_insert(_ValueT __v);
- };
-
- /**
- * @brief Performs setup work for output streams.
- *
- * Objects of this class are created before all of the standard
- * inserters are run. It is responsible for "exception-safe prefix and
- * suffix operations." Additional actions may be added by the
- * implementation, and we list them in
- * http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/howto.html#5
- * under [27.6] notes.
- */
- template <typename _CharT, typename _Traits>
- class basic_ostream<_CharT, _Traits>::sentry
- {
- // Data Members:
- bool _M_ok;
- basic_ostream<_CharT, _Traits>& _M_os;
-
- public:
- /**
- * @brief The constructor performs preparatory work.
- * @param os The output stream to guard.
- *
- * If the stream state is good (@a os.good() is true), then if the
- * stream is tied to another output stream, @c is.tie()->flush()
- * is called to synchronize the output sequences.
- *
- * If the stream state is still good, then the sentry state becomes
- * true ("okay").
- */
- explicit
- sentry(basic_ostream<_CharT, _Traits>& __os);
-
- /**
- * @brief Possibly flushes the stream.
- *
- * If @c ios_base::unitbuf is set in @c os.flags(), and
- * @c std::uncaught_exception() is true, the sentry destructor calls
- * @c flush() on the output stream.
- */
- ~sentry()
- {
- // XXX MT
- if (_M_os.flags() & ios_base::unitbuf && !uncaught_exception())
- {
- // Can't call flush directly or else will get into recursive lock.
- if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
- _M_os.setstate(ios_base::badbit);
- }
- }
-
- /**
- * @brief Quick status checking.
- * @return The sentry state.
- *
- * For ease of use, sentries may be converted to booleans. The
- * return value is that of the sentry state (true == okay).
- */
- operator bool() const
- { return _M_ok; }
- };
-
- // [27.6.2.5.4] character insertion templates
- //@{
- /**
- * @brief Character inserters
- * @param out An output stream.
- * @param c A character.
- * @return out
- *
- * Behaves like one of the formatted arithmetic inserters described in
- * std::basic_ostream. After constructing a sentry object with good
- * status, this function inserts a single character and any required
- * padding (as determined by [22.2.2.2.2]). @c out.width(0) is then
- * called.
- *
- * If @a c is of type @c char and the character type of the stream is not
- * @c char, the character is widened before insertion.
- */
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
- { return __ostream_insert(__out, &__c, 1); }
-
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
- { return (__out << __out.widen(__c)); }
-
- // Specialization
- template <class _Traits>
- inline basic_ostream<char, _Traits>&
- operator<<(basic_ostream<char, _Traits>& __out, char __c)
- { return __ostream_insert(__out, &__c, 1); }
-
- // Signed and unsigned
- template<class _Traits>
- inline basic_ostream<char, _Traits>&
- operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
- { return (__out << static_cast<char>(__c)); }
-
- template<class _Traits>
- inline basic_ostream<char, _Traits>&
- operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
- { return (__out << static_cast<char>(__c)); }
- //@}
-
- //@{
- /**
- * @brief String inserters
- * @param out An output stream.
- * @param s A character string.
- * @return out
- * @pre @a s must be a non-NULL pointer
- *
- * Behaves like one of the formatted arithmetic inserters described in
- * std::basic_ostream. After constructing a sentry object with good
- * status, this function inserts @c traits::length(s) characters starting
- * at @a s, widened if necessary, followed by any required padding (as
- * determined by [22.2.2.2.2]). @c out.width(0) is then called.
- */
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT, _Traits>&
- operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
- {
- if (!__s)
- __out.setstate(ios_base::badbit);
- else
- __ostream_insert(__out, __s,
- static_cast<streamsize>(_Traits::length(__s)));
- return __out;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits> &
- operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
-
- // Partial specializationss
- template<class _Traits>
- inline basic_ostream<char, _Traits>&
- operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
- {
- if (!__s)
- __out.setstate(ios_base::badbit);
- else
- __ostream_insert(__out, __s,
- static_cast<streamsize>(_Traits::length(__s)));
- return __out;
- }
-
- // Signed and unsigned
- template<class _Traits>
- inline basic_ostream<char, _Traits>&
- operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
- { return (__out << reinterpret_cast<const char*>(__s)); }
-
- template<class _Traits>
- inline basic_ostream<char, _Traits> &
- operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
- { return (__out << reinterpret_cast<const char*>(__s)); }
- //@}
-
- // [27.6.2.7] standard basic_ostream manipulators
- /**
- * @brief Write a newline and flush the stream.
- *
- * This manipulator is often mistakenly used when a simple newline is
- * desired, leading to poor buffering performance. See
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 for more
- * on this subject.
- */
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT, _Traits>&
- endl(basic_ostream<_CharT, _Traits>& __os)
- { return flush(__os.put(__os.widen('\n'))); }
-
- /**
- * @brief Write a null character into the output sequence.
- *
- * "Null character" is @c CharT() by definition. For CharT of @c char,
- * this correctly writes the ASCII @c NUL character string terminator.
- */
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT, _Traits>&
- ends(basic_ostream<_CharT, _Traits>& __os)
- { return __os.put(_CharT()); }
-
- /**
- * @brief Flushes the output stream.
- *
- * This manipulator simply calls the stream's @c flush() member function.
- */
- template<typename _CharT, typename _Traits>
- inline basic_ostream<_CharT, _Traits>&
- flush(basic_ostream<_CharT, _Traits>& __os)
- { return __os.flush(); }
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/ostream.tcc>
-#endif
-
-#endif /* _GLIBCXX_OSTREAM */
diff --git a/contrib/libstdc++/include/std/std_queue.h b/contrib/libstdc++/include/std/std_queue.h
deleted file mode 100644
index 1242a06160bc..000000000000
--- a/contrib/libstdc++/include/std/std_queue.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// <queue> -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/queue
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_QUEUE
-#define _GLIBCXX_QUEUE 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/functexcept.h>
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <bits/stl_heap.h>
-#include <bits/stl_function.h>
-#include <deque>
-#include <vector>
-#include <bits/stl_queue.h>
-
-#endif /* _GLIBCXX_QUEUE */
diff --git a/contrib/libstdc++/include/std/std_set.h b/contrib/libstdc++/include/std/std_set.h
deleted file mode 100644
index 65ebe8a10cc6..000000000000
--- a/contrib/libstdc++/include/std/std_set.h
+++ /dev/null
@@ -1,73 +0,0 @@
-// <set> -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/set
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_SET
-#define _GLIBCXX_SET 1
-
-#pragma GCC system_header
-
-#include <bits/stl_tree.h>
-#include <bits/stl_set.h>
-#include <bits/stl_multiset.h>
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/set>
-#endif
-
-#endif /* _GLIBCXX_SET */
diff --git a/contrib/libstdc++/include/std/std_sstream.h b/contrib/libstdc++/include/std/std_sstream.h
deleted file mode 100644
index 5ca278156907..000000000000
--- a/contrib/libstdc++/include/std/std_sstream.h
+++ /dev/null
@@ -1,593 +0,0 @@
-// String based streams -*- C++ -*-
-
-// 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 sstream
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.7 String-based streams
-//
-
-#ifndef _GLIBCXX_SSTREAM
-#define _GLIBCXX_SSTREAM 1
-
-#pragma GCC system_header
-
-#include <istream>
-#include <ostream>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // [27.7.1] template class basic_stringbuf
- /**
- * @brief The actual work of input and output (for std::string).
- *
- * This class associates either or both of its input and output sequences
- * with a sequence of characters, which can be initialized from, or made
- * available as, a @c std::basic_string. (Paraphrased from [27.7.1]/1.)
- *
- * For this class, open modes (of type @c ios_base::openmode) have
- * @c in set if the input sequence can be read, and @c out set if the
- * output sequence can be written.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- typedef basic_streambuf<char_type, traits_type> __streambuf_type;
- typedef basic_string<char_type, _Traits, _Alloc> __string_type;
- typedef typename __string_type::size_type __size_type;
-
- protected:
- /**
- * @if maint
- * Place to stash in || out || in | out settings for current stringbuf.
- * @endif
- */
- ios_base::openmode _M_mode;
-
- // Data Members:
- __string_type _M_string;
-
- public:
- // Constructors:
- /**
- * @brief Starts with an empty string buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * The default constructor initializes the parent class using its
- * own default ctor.
- */
- explicit
- basic_stringbuf(ios_base::openmode __mode = ios_base::in | ios_base::out)
- : __streambuf_type(), _M_mode(__mode), _M_string()
- { }
-
- /**
- * @brief Starts with an existing string buffer.
- * @param str A string to copy as a starting buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * This constructor initializes the parent class using its
- * own default ctor.
- */
- explicit
- basic_stringbuf(const __string_type& __str,
- ios_base::openmode __mode = ios_base::in | ios_base::out)
- : __streambuf_type(), _M_mode(), _M_string(__str.data(), __str.size())
- { _M_stringbuf_init(__mode); }
-
- // Get and set:
- /**
- * @brief Copying out the string buffer.
- * @return A copy of one of the underlying sequences.
- *
- * "If the buffer is only created in input mode, the underlying
- * character sequence is equal to the input sequence; otherwise, it
- * is equal to the output sequence." [27.7.1.2]/1
- */
- __string_type
- str() const
- {
- __string_type __ret;
- if (this->pptr())
- {
- // The current egptr() may not be the actual string end.
- if (this->pptr() > this->egptr())
- __ret = __string_type(this->pbase(), this->pptr());
- else
- __ret = __string_type(this->pbase(), this->egptr());
- }
- else
- __ret = _M_string;
- return __ret;
- }
-
- /**
- * @brief Setting a new buffer.
- * @param s The string to use as a new sequence.
- *
- * Deallocates any previous stored sequence, then copies @a s to
- * use as a new one.
- */
- void
- str(const __string_type& __s)
- {
- // Cannot use _M_string = __s, since v3 strings are COW.
- _M_string.assign(__s.data(), __s.size());
- _M_stringbuf_init(_M_mode);
- }
-
- protected:
- // Common initialization code goes here.
- void
- _M_stringbuf_init(ios_base::openmode __mode)
- {
- _M_mode = __mode;
- __size_type __len = 0;
- if (_M_mode & (ios_base::ate | ios_base::app))
- __len = _M_string.size();
- _M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
- }
-
- virtual streamsize
- showmanyc()
- {
- streamsize __ret = -1;
- if (_M_mode & ios_base::in)
- {
- _M_update_egptr();
- __ret = this->egptr() - this->gptr();
- }
- return __ret;
- }
-
- virtual int_type
- underflow();
-
- virtual int_type
- pbackfail(int_type __c = traits_type::eof());
-
- virtual int_type
- overflow(int_type __c = traits_type::eof());
-
- /**
- * @brief Manipulates the buffer.
- * @param s Pointer to a buffer area.
- * @param n Size of @a s.
- * @return @c this
- *
- * If no buffer has already been created, and both @a s and @a n are
- * non-zero, then @c s is used as a buffer; see
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2
- * for more.
- */
- virtual __streambuf_type*
- setbuf(char_type* __s, streamsize __n)
- {
- if (__s && __n >= 0)
- {
- // This is implementation-defined behavior, and assumes
- // that an external char_type array of length __n exists
- // and has been pre-allocated. If this is not the case,
- // things will quickly blow up.
-
- // Step 1: Destroy the current internal array.
- _M_string.clear();
-
- // Step 2: Use the external array.
- _M_sync(__s, __n, 0);
- }
- return this;
- }
-
- virtual pos_type
- seekoff(off_type __off, ios_base::seekdir __way,
- ios_base::openmode __mode = ios_base::in | ios_base::out);
-
- virtual pos_type
- seekpos(pos_type __sp,
- ios_base::openmode __mode = ios_base::in | ios_base::out);
-
- // Internal function for correctly updating the internal buffer
- // for a particular _M_string, due to initialization or re-sizing
- // of an existing _M_string.
- void
- _M_sync(char_type* __base, __size_type __i, __size_type __o);
-
- // Internal function for correctly updating egptr() to the actual
- // string end.
- void
- _M_update_egptr()
- {
- const bool __testin = _M_mode & ios_base::in;
- if (this->pptr() && this->pptr() > this->egptr())
- {
- if (__testin)
- this->setg(this->eback(), this->gptr(), this->pptr());
- else
- this->setg(this->pptr(), this->pptr(), this->pptr());
- }
- }
- };
-
-
- // [27.7.2] Template class basic_istringstream
- /**
- * @brief Controlling input for std::string.
- *
- * This class supports reading from objects of type std::basic_string,
- * using the inherited functions from std::basic_istream. To control
- * the associated sequence, an instance of std::basic_stringbuf is used,
- * which this page refers to as @c sb.
- */
- template<typename _CharT, typename _Traits, typename _Alloc>
- class basic_istringstream : public basic_istream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- // Non-standard types:
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
- typedef basic_istream<char_type, traits_type> __istream_type;
-
- private:
- __stringbuf_type _M_stringbuf;
-
- public:
- // Constructors:
- /**
- * @brief Default constructor starts with an empty string buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * @c ios_base::in is automatically included in @a mode.
- *
- * Initializes @c sb using @c mode|in, and passes @c &sb to the base
- * class initializer. Does not allocate any buffer.
- *
- * @if maint
- * That's a lie. We initialize the base class with NULL, because the
- * string class does its own memory management.
- * @endif
- */
- explicit
- basic_istringstream(ios_base::openmode __mode = ios_base::in)
- : __istream_type(), _M_stringbuf(__mode | ios_base::in)
- { this->init(&_M_stringbuf); }
-
- /**
- * @brief Starts with an existing string buffer.
- * @param str A string to copy as a starting buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * @c ios_base::in is automatically included in @a mode.
- *
- * Initializes @c sb using @a str and @c mode|in, and passes @c &sb
- * to the base class initializer.
- *
- * @if maint
- * That's a lie. We initialize the base class with NULL, because the
- * string class does its own memory management.
- * @endif
- */
- explicit
- basic_istringstream(const __string_type& __str,
- ios_base::openmode __mode = ios_base::in)
- : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in)
- { this->init(&_M_stringbuf); }
-
- /**
- * @brief The destructor does nothing.
- *
- * The buffer is deallocated by the stringbuf object, not the
- * formatting stream.
- */
- ~basic_istringstream()
- { }
-
- // Members:
- /**
- * @brief Accessing the underlying buffer.
- * @return The current basic_stringbuf buffer.
- *
- * This hides both signatures of std::basic_ios::rdbuf().
- */
- __stringbuf_type*
- rdbuf() const
- { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
-
- /**
- * @brief Copying out the string buffer.
- * @return @c rdbuf()->str()
- */
- __string_type
- str() const
- { return _M_stringbuf.str(); }
-
- /**
- * @brief Setting a new buffer.
- * @param s The string to use as a new sequence.
- *
- * Calls @c rdbuf()->str(s).
- */
- void
- str(const __string_type& __s)
- { _M_stringbuf.str(__s); }
- };
-
-
- // [27.7.3] Template class basic_ostringstream
- /**
- * @brief Controlling output for std::string.
- *
- * This class supports writing to objects of type std::basic_string,
- * using the inherited functions from std::basic_ostream. To control
- * the associated sequence, an instance of std::basic_stringbuf is used,
- * which this page refers to as @c sb.
- */
- template <typename _CharT, typename _Traits, typename _Alloc>
- class basic_ostringstream : public basic_ostream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- // Non-standard types:
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
- typedef basic_ostream<char_type, traits_type> __ostream_type;
-
- private:
- __stringbuf_type _M_stringbuf;
-
- public:
- // Constructors/destructor:
- /**
- * @brief Default constructor starts with an empty string buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * @c ios_base::out is automatically included in @a mode.
- *
- * Initializes @c sb using @c mode|out, and passes @c &sb to the base
- * class initializer. Does not allocate any buffer.
- *
- * @if maint
- * That's a lie. We initialize the base class with NULL, because the
- * string class does its own memory management.
- * @endif
- */
- explicit
- basic_ostringstream(ios_base::openmode __mode = ios_base::out)
- : __ostream_type(), _M_stringbuf(__mode | ios_base::out)
- { this->init(&_M_stringbuf); }
-
- /**
- * @brief Starts with an existing string buffer.
- * @param str A string to copy as a starting buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * @c ios_base::out is automatically included in @a mode.
- *
- * Initializes @c sb using @a str and @c mode|out, and passes @c &sb
- * to the base class initializer.
- *
- * @if maint
- * That's a lie. We initialize the base class with NULL, because the
- * string class does its own memory management.
- * @endif
- */
- explicit
- basic_ostringstream(const __string_type& __str,
- ios_base::openmode __mode = ios_base::out)
- : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out)
- { this->init(&_M_stringbuf); }
-
- /**
- * @brief The destructor does nothing.
- *
- * The buffer is deallocated by the stringbuf object, not the
- * formatting stream.
- */
- ~basic_ostringstream()
- { }
-
- // Members:
- /**
- * @brief Accessing the underlying buffer.
- * @return The current basic_stringbuf buffer.
- *
- * This hides both signatures of std::basic_ios::rdbuf().
- */
- __stringbuf_type*
- rdbuf() const
- { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
-
- /**
- * @brief Copying out the string buffer.
- * @return @c rdbuf()->str()
- */
- __string_type
- str() const
- { return _M_stringbuf.str(); }
-
- /**
- * @brief Setting a new buffer.
- * @param s The string to use as a new sequence.
- *
- * Calls @c rdbuf()->str(s).
- */
- void
- str(const __string_type& __s)
- { _M_stringbuf.str(__s); }
- };
-
-
- // [27.7.4] Template class basic_stringstream
- /**
- * @brief Controlling input and output for std::string.
- *
- * This class supports reading from and writing to objects of type
- * std::basic_string, using the inherited functions from
- * std::basic_iostream. To control the associated sequence, an instance
- * of std::basic_stringbuf is used, which this page refers to as @c sb.
- */
- template <typename _CharT, typename _Traits, typename _Alloc>
- class basic_stringstream : public basic_iostream<_CharT, _Traits>
- {
- public:
- // Types:
- typedef _CharT char_type;
- typedef _Traits traits_type;
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 251. basic_stringbuf missing allocator_type
- typedef _Alloc allocator_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
-
- // Non-standard Types:
- typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
- typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
- typedef basic_iostream<char_type, traits_type> __iostream_type;
-
- private:
- __stringbuf_type _M_stringbuf;
-
- public:
- // Constructors/destructors
- /**
- * @brief Default constructor starts with an empty string buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * Initializes @c sb using @c mode, and passes @c &sb to the base
- * class initializer. Does not allocate any buffer.
- *
- * @if maint
- * That's a lie. We initialize the base class with NULL, because the
- * string class does its own memory management.
- * @endif
- */
- explicit
- basic_stringstream(ios_base::openmode __m = ios_base::out | ios_base::in)
- : __iostream_type(), _M_stringbuf(__m)
- { this->init(&_M_stringbuf); }
-
- /**
- * @brief Starts with an existing string buffer.
- * @param str A string to copy as a starting buffer.
- * @param mode Whether the buffer can read, or write, or both.
- *
- * Initializes @c sb using @a str and @c mode, and passes @c &sb
- * to the base class initializer.
- *
- * @if maint
- * That's a lie. We initialize the base class with NULL, because the
- * string class does its own memory management.
- * @endif
- */
- explicit
- basic_stringstream(const __string_type& __str,
- ios_base::openmode __m = ios_base::out | ios_base::in)
- : __iostream_type(), _M_stringbuf(__str, __m)
- { this->init(&_M_stringbuf); }
-
- /**
- * @brief The destructor does nothing.
- *
- * The buffer is deallocated by the stringbuf object, not the
- * formatting stream.
- */
- ~basic_stringstream()
- { }
-
- // Members:
- /**
- * @brief Accessing the underlying buffer.
- * @return The current basic_stringbuf buffer.
- *
- * This hides both signatures of std::basic_ios::rdbuf().
- */
- __stringbuf_type*
- rdbuf() const
- { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
-
- /**
- * @brief Copying out the string buffer.
- * @return @c rdbuf()->str()
- */
- __string_type
- str() const
- { return _M_stringbuf.str(); }
-
- /**
- * @brief Setting a new buffer.
- * @param s The string to use as a new sequence.
- *
- * Calls @c rdbuf()->str(s).
- */
- void
- str(const __string_type& __s)
- { _M_stringbuf.str(__s); }
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/sstream.tcc>
-#endif
-
-#endif /* _GLIBCXX_SSTREAM */
diff --git a/contrib/libstdc++/include/std/std_stack.h b/contrib/libstdc++/include/std/std_stack.h
deleted file mode 100644
index 396f62e6100c..000000000000
--- a/contrib/libstdc++/include/std/std_stack.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// <stack> -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/stack
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_STACK
-#define _GLIBCXX_STACK 1
-
-#pragma GCC system_header
-
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <deque>
-#include <bits/stl_stack.h>
-
-#endif /* _GLIBCXX_STACK */
diff --git a/contrib/libstdc++/include/std/std_stdexcept.h b/contrib/libstdc++/include/std/std_stdexcept.h
deleted file mode 100644
index 2d56b3817d41..000000000000
--- a/contrib/libstdc++/include/std/std_stdexcept.h
+++ /dev/null
@@ -1,148 +0,0 @@
-// Standard exception classes -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 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 stdexcept
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 19.1 Exception classes
-//
-
-#ifndef _GLIBCXX_STDEXCEPT
-#define _GLIBCXX_STDEXCEPT 1
-
-#pragma GCC system_header
-
-#include <exception>
-#include <string>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /** Logic errors represent problems in the internal logic of a program;
- * in theory, these are preventable, and even detectable before the
- * program runs (e.g., violations of class invariants).
- * @brief One of two subclasses of exception.
- */
- class logic_error : public exception
- {
- string _M_msg;
-
- public:
- /** Takes a character string describing the error. */
- explicit
- logic_error(const string& __arg);
-
- virtual
- ~logic_error() throw();
-
- /** Returns a C-style character string describing the general cause of
- * the current error (the same string passed to the ctor). */
- virtual const char*
- what() const throw();
- };
-
- /** Thrown by the library, or by you, to report domain errors (domain in
- * the mathmatical sense). */
- class domain_error : public logic_error
- {
- public:
- explicit domain_error(const string& __arg);
- };
-
- /** Thrown to report invalid arguments to functions. */
- class invalid_argument : public logic_error
- {
- public:
- explicit invalid_argument(const string& __arg);
- };
-
- /** Thrown when an object is constructed that would exceed its maximum
- * permitted size (e.g., a basic_string instance). */
- class length_error : public logic_error
- {
- public:
- explicit length_error(const string& __arg);
- };
-
- /** This represents an argument whose value is not within the expected
- * range (e.g., boundary checks in basic_string). */
- class out_of_range : public logic_error
- {
- public:
- explicit out_of_range(const string& __arg);
- };
-
- /** Runtime errors represent problems outside the scope of a program;
- * they cannot be easily predicted and can generally only be caught as
- * the program executes.
- * @brief One of two subclasses of exception.
- */
- class runtime_error : public exception
- {
- string _M_msg;
-
- public:
- /** Takes a character string describing the error. */
- explicit
- runtime_error(const string& __arg);
-
- virtual
- ~runtime_error() throw();
-
- /** Returns a C-style character string describing the general cause of
- * the current error (the same string passed to the ctor). */
- virtual const char*
- what() const throw();
- };
-
- /** Thrown to indicate range errors in internal computations. */
- class range_error : public runtime_error
- {
- public:
- explicit range_error(const string& __arg);
- };
-
- /** Thrown to indicate arithmetic overflow. */
- class overflow_error : public runtime_error
- {
- public:
- explicit overflow_error(const string& __arg);
- };
-
- /** Thrown to indicate arithmetic underflow. */
- class underflow_error : public runtime_error
- {
- public:
- explicit underflow_error(const string& __arg);
- };
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GLIBCXX_STDEXCEPT */
diff --git a/contrib/libstdc++/include/std/std_streambuf.h b/contrib/libstdc++/include/std/std_streambuf.h
deleted file mode 100644
index 9de7907120f1..000000000000
--- a/contrib/libstdc++/include/std/std_streambuf.h
+++ /dev/null
@@ -1,823 +0,0 @@
-// Stream buffer classes -*- C++ -*-
-
-// 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 streambuf
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 27.5 Stream buffers
-//
-
-#ifndef _GLIBXX_STREAMBUF
-#define _GLIBXX_STREAMBUF 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <iosfwd>
-#include <bits/localefwd.h>
-#include <bits/ios_base.h>
-#include <bits/cpp_type_traits.h>
-#include <ext/type_traits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @if maint
- * Does stuff.
- * @endif
- */
- template<typename _CharT, typename _Traits>
- streamsize
- __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
- basic_streambuf<_CharT, _Traits>*, bool&);
-
- /**
- * @brief The actual work of input and output (interface).
- *
- * This is a base class. Derived stream buffers each control a
- * pair of character sequences: one for input, and one for output.
- *
- * Section [27.5.1] of the standard describes the requirements and
- * behavior of stream buffer classes. That section (three paragraphs)
- * is reproduced here, for simplicity and accuracy.
- *
- * -# Stream buffers can impose various constraints on the sequences
- * they control. Some constraints are:
- * - The controlled input sequence can be not readable.
- * - The controlled output sequence can be not writable.
- * - The controlled sequences can be associated with the contents of
- * other representations for character sequences, such as external
- * files.
- * - The controlled sequences can support operations @e directly to or
- * from associated sequences.
- * - The controlled sequences can impose limitations on how the
- * program can read characters from a sequence, write characters to
- * a sequence, put characters back into an input sequence, or alter
- * the stream position.
- * .
- * -# Each sequence is characterized by three pointers which, if non-null,
- * all point into the same @c charT array object. The array object
- * represents, at any moment, a (sub)sequence of characters from the
- * sequence. Operations performed on a sequence alter the values
- * stored in these pointers, perform reads and writes directly to or
- * from associated sequences, and alter "the stream position" and
- * conversion state as needed to maintain this subsequence relationship.
- * The three pointers are:
- * - the <em>beginning pointer</em>, or lowest element address in the
- * array (called @e xbeg here);
- * - the <em>next pointer</em>, or next element address that is a
- * current candidate for reading or writing (called @e xnext here);
- * - the <em>end pointer</em>, or first element address beyond the
- * end of the array (called @e xend here).
- * .
- * -# The following semantic constraints shall always apply for any set
- * of three pointers for a sequence, using the pointer names given
- * immediately above:
- * - If @e xnext is not a null pointer, then @e xbeg and @e xend shall
- * also be non-null pointers into the same @c charT array, as
- * described above; otherwise, @e xbeg and @e xend shall also be null.
- * - If @e xnext is not a null pointer and @e xnext < @e xend for an
- * output sequence, then a <em>write position</em> is available.
- * In this case, @e *xnext shall be assignable as the next element
- * to write (to put, or to store a character value, into the sequence).
- * - If @e xnext is not a null pointer and @e xbeg < @e xnext for an
- * input sequence, then a <em>putback position</em> is available.
- * In this case, @e xnext[-1] shall have a defined value and is the
- * next (preceding) element to store a character that is put back
- * into the input sequence.
- * - If @e xnext is not a null pointer and @e xnext< @e xend for an
- * input sequence, then a <em>read position</em> is available.
- * In this case, @e *xnext shall have a defined value and is the
- * next element to read (to get, or to obtain a character value,
- * from the sequence).
- */
- template<typename _CharT, typename _Traits>
- class basic_streambuf
- {
- public:
- //@{
- /**
- * These are standard types. They permit a standardized way of
- * referring to names of (or names dependant on) the template
- * parameters, which are specific to the implementation.
- */
- typedef _CharT char_type;
- typedef _Traits traits_type;
- typedef typename traits_type::int_type int_type;
- typedef typename traits_type::pos_type pos_type;
- typedef typename traits_type::off_type off_type;
- //@}
-
- //@{
- /**
- * @if maint
- * This is a non-standard type.
- * @endif
- */
- typedef basic_streambuf<char_type, traits_type> __streambuf_type;
- //@}
-
- friend class basic_ios<char_type, traits_type>;
- friend class basic_istream<char_type, traits_type>;
- friend class basic_ostream<char_type, traits_type>;
- friend class istreambuf_iterator<char_type, traits_type>;
- friend class ostreambuf_iterator<char_type, traits_type>;
-
- friend streamsize
- __copy_streambufs_eof<>(__streambuf_type*, __streambuf_type*, bool&);
-
- template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
- _CharT2*>::__type
- __copy_aux(istreambuf_iterator<_CharT2>,
- istreambuf_iterator<_CharT2>, _CharT2*);
-
- template<typename _CharT2>
- friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
- istreambuf_iterator<_CharT2> >::__type
- find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
- const _CharT2&);
-
- template<typename _CharT2, typename _Traits2>
- friend basic_istream<_CharT2, _Traits2>&
- operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
-
- template<typename _CharT2, typename _Traits2, typename _Alloc>
- friend basic_istream<_CharT2, _Traits2>&
- operator>>(basic_istream<_CharT2, _Traits2>&,
- basic_string<_CharT2, _Traits2, _Alloc>&);
-
- template<typename _CharT2, typename _Traits2, typename _Alloc>
- friend basic_istream<_CharT2, _Traits2>&
- getline(basic_istream<_CharT2, _Traits2>&,
- basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
-
- protected:
- //@{
- /**
- * @if maint
- * This is based on _IO_FILE, just reordered to be more consistent,
- * and is intended to be the most minimal abstraction for an
- * internal buffer.
- * - get == input == read
- * - put == output == write
- * @endif
- */
- char_type* _M_in_beg; // Start of get area.
- char_type* _M_in_cur; // Current read area.
- char_type* _M_in_end; // End of get area.
- char_type* _M_out_beg; // Start of put area.
- char_type* _M_out_cur; // Current put area.
- char_type* _M_out_end; // End of put area.
-
- /**
- * @if maint
- * Current locale setting.
- * @endif
- */
- locale _M_buf_locale;
-
- public:
- /// Destructor deallocates no buffer space.
- virtual
- ~basic_streambuf()
- { }
-
- // [27.5.2.2.1] locales
- /**
- * @brief Entry point for imbue().
- * @param loc The new locale.
- * @return The previous locale.
- *
- * Calls the derived imbue(loc).
- */
- locale
- pubimbue(const locale &__loc)
- {
- locale __tmp(this->getloc());
- this->imbue(__loc);
- _M_buf_locale = __loc;
- return __tmp;
- }
-
- /**
- * @brief Locale access.
- * @return The current locale in effect.
- *
- * If pubimbue(loc) has been called, then the most recent @c loc
- * is returned. Otherwise the global locale in effect at the time
- * of construction is returned.
- */
- locale
- getloc() const
- { return _M_buf_locale; }
-
- // [27.5.2.2.2] buffer management and positioning
- //@{
- /**
- * @brief Entry points for derived buffer functions.
- *
- * The public versions of @c pubfoo dispatch to the protected
- * derived @c foo member functions, passing the arguments (if any)
- * and returning the result unchanged.
- */
- __streambuf_type*
- pubsetbuf(char_type* __s, streamsize __n)
- { return this->setbuf(__s, __n); }
-
- pos_type
- pubseekoff(off_type __off, ios_base::seekdir __way,
- ios_base::openmode __mode = ios_base::in | ios_base::out)
- { return this->seekoff(__off, __way, __mode); }
-
- pos_type
- pubseekpos(pos_type __sp,
- ios_base::openmode __mode = ios_base::in | ios_base::out)
- { return this->seekpos(__sp, __mode); }
-
- int
- pubsync() { return this->sync(); }
- //@}
-
- // [27.5.2.2.3] get area
- /**
- * @brief Looking ahead into the stream.
- * @return The number of characters available.
- *
- * If a read position is available, returns the number of characters
- * available for reading before the buffer must be refilled.
- * Otherwise returns the derived @c showmanyc().
- */
- streamsize
- in_avail()
- {
- const streamsize __ret = this->egptr() - this->gptr();
- return __ret ? __ret : this->showmanyc();
- }
-
- /**
- * @brief Getting the next character.
- * @return The next character, or eof.
- *
- * Calls @c sbumpc(), and if that function returns
- * @c traits::eof(), so does this function. Otherwise, @c sgetc().
- */
- int_type
- snextc()
- {
- int_type __ret = traits_type::eof();
- if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
- __ret), true))
- __ret = this->sgetc();
- return __ret;
- }
-
- /**
- * @brief Getting the next character.
- * @return The next character, or eof.
- *
- * If the input read position is available, returns that character
- * and increments the read pointer, otherwise calls and returns
- * @c uflow().
- */
- int_type
- sbumpc()
- {
- int_type __ret;
- if (__builtin_expect(this->gptr() < this->egptr(), true))
- {
- __ret = traits_type::to_int_type(*this->gptr());
- this->gbump(1);
- }
- else
- __ret = this->uflow();
- return __ret;
- }
-
- /**
- * @brief Getting the next character.
- * @return The next character, or eof.
- *
- * If the input read position is available, returns that character,
- * otherwise calls and returns @c underflow(). Does not move the
- * read position after fetching the character.
- */
- int_type
- sgetc()
- {
- int_type __ret;
- if (__builtin_expect(this->gptr() < this->egptr(), true))
- __ret = traits_type::to_int_type(*this->gptr());
- else
- __ret = this->underflow();
- return __ret;
- }
-
- /**
- * @brief Entry point for xsgetn.
- * @param s A buffer area.
- * @param n A count.
- *
- * Returns xsgetn(s,n). The effect is to fill @a s[0] through
- * @a s[n-1] with characters from the input sequence, if possible.
- */
- streamsize
- sgetn(char_type* __s, streamsize __n)
- { return this->xsgetn(__s, __n); }
-
- // [27.5.2.2.4] putback
- /**
- * @brief Pushing characters back into the input stream.
- * @param c The character to push back.
- * @return The previous character, if possible.
- *
- * Similar to sungetc(), but @a c is pushed onto the stream instead
- * of "the previous character". If successful, the next character
- * fetched from the input stream will be @a c.
- */
- int_type
- sputbackc(char_type __c)
- {
- int_type __ret;
- const bool __testpos = this->eback() < this->gptr();
- if (__builtin_expect(!__testpos ||
- !traits_type::eq(__c, this->gptr()[-1]), false))
- __ret = this->pbackfail(traits_type::to_int_type(__c));
- else
- {
- this->gbump(-1);
- __ret = traits_type::to_int_type(*this->gptr());
- }
- return __ret;
- }
-
- /**
- * @brief Moving backwards in the input stream.
- * @return The previous character, if possible.
- *
- * If a putback position is available, this function decrements the
- * input pointer and returns that character. Otherwise, calls and
- * returns pbackfail(). The effect is to "unget" the last character
- * "gotten".
- */
- int_type
- sungetc()
- {
- int_type __ret;
- if (__builtin_expect(this->eback() < this->gptr(), true))
- {
- this->gbump(-1);
- __ret = traits_type::to_int_type(*this->gptr());
- }
- else
- __ret = this->pbackfail();
- return __ret;
- }
-
- // [27.5.2.2.5] put area
- /**
- * @brief Entry point for all single-character output functions.
- * @param c A character to output.
- * @return @a c, if possible.
- *
- * One of two public output functions.
- *
- * If a write position is available for the output sequence (i.e.,
- * the buffer is not full), stores @a c in that position, increments
- * the position, and returns @c traits::to_int_type(c). If a write
- * position is not available, returns @c overflow(c).
- */
- int_type
- sputc(char_type __c)
- {
- int_type __ret;
- if (__builtin_expect(this->pptr() < this->epptr(), true))
- {
- *this->pptr() = __c;
- this->pbump(1);
- __ret = traits_type::to_int_type(__c);
- }
- else
- __ret = this->overflow(traits_type::to_int_type(__c));
- return __ret;
- }
-
- /**
- * @brief Entry point for all single-character output functions.
- * @param s A buffer read area.
- * @param n A count.
- *
- * One of two public output functions.
- *
- *
- * Returns xsputn(s,n). The effect is to write @a s[0] through
- * @a s[n-1] to the output sequence, if possible.
- */
- streamsize
- sputn(const char_type* __s, streamsize __n)
- { return this->xsputn(__s, __n); }
-
- protected:
- /**
- * @brief Base constructor.
- *
- * Only called from derived constructors, and sets up all the
- * buffer data to zero, including the pointers described in the
- * basic_streambuf class description. Note that, as a result,
- * - the class starts with no read nor write positions available,
- * - this is not an error
- */
- basic_streambuf()
- : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
- _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
- _M_buf_locale(locale())
- { }
-
- // [27.5.2.3.1] get area access
- //@{
- /**
- * @brief Access to the get area.
- *
- * These functions are only available to other protected functions,
- * including derived classes.
- *
- * - eback() returns the beginning pointer for the input sequence
- * - gptr() returns the next pointer for the input sequence
- * - egptr() returns the end pointer for the input sequence
- */
- char_type*
- eback() const { return _M_in_beg; }
-
- char_type*
- gptr() const { return _M_in_cur; }
-
- char_type*
- egptr() const { return _M_in_end; }
- //@}
-
- /**
- * @brief Moving the read position.
- * @param n The delta by which to move.
- *
- * This just advances the read position without returning any data.
- */
- void
- gbump(int __n) { _M_in_cur += __n; }
-
- /**
- * @brief Setting the three read area pointers.
- * @param gbeg A pointer.
- * @param gnext A pointer.
- * @param gend A pointer.
- * @post @a gbeg == @c eback(), @a gnext == @c gptr(), and
- * @a gend == @c egptr()
- */
- void
- setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
- {
- _M_in_beg = __gbeg;
- _M_in_cur = __gnext;
- _M_in_end = __gend;
- }
-
- // [27.5.2.3.2] put area access
- //@{
- /**
- * @brief Access to the put area.
- *
- * These functions are only available to other protected functions,
- * including derived classes.
- *
- * - pbase() returns the beginning pointer for the output sequence
- * - pptr() returns the next pointer for the output sequence
- * - epptr() returns the end pointer for the output sequence
- */
- char_type*
- pbase() const { return _M_out_beg; }
-
- char_type*
- pptr() const { return _M_out_cur; }
-
- char_type*
- epptr() const { return _M_out_end; }
- //@}
-
- /**
- * @brief Moving the write position.
- * @param n The delta by which to move.
- *
- * This just advances the write position without returning any data.
- */
- void
- pbump(int __n) { _M_out_cur += __n; }
-
- /**
- * @brief Setting the three write area pointers.
- * @param pbeg A pointer.
- * @param pend A pointer.
- * @post @a pbeg == @c pbase(), @a pbeg == @c pptr(), and
- * @a pend == @c epptr()
- */
- void
- setp(char_type* __pbeg, char_type* __pend)
- {
- _M_out_beg = _M_out_cur = __pbeg;
- _M_out_end = __pend;
- }
-
- // [27.5.2.4] virtual functions
- // [27.5.2.4.1] locales
- /**
- * @brief Changes translations.
- * @param loc A new locale.
- *
- * Translations done during I/O which depend on the current locale
- * are changed by this call. The standard adds, "Between invocations
- * of this function a class derived from streambuf can safely cache
- * results of calls to locale functions and to members of facets
- * so obtained."
- *
- * @note Base class version does nothing.
- */
- virtual void
- imbue(const locale&)
- { }
-
- // [27.5.2.4.2] buffer management and positioning
- /**
- * @brief Maniuplates the buffer.
- *
- * Each derived class provides its own appropriate behavior. See
- * the next-to-last paragraph of
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 for
- * more on this function.
- *
- * @note Base class version does nothing, returns @c this.
- */
- virtual basic_streambuf<char_type,_Traits>*
- setbuf(char_type*, streamsize)
- { return this; }
-
- /**
- * @brief Alters the stream positions.
- *
- * Each derived class provides its own appropriate behavior.
- * @note Base class version does nothing, returns a @c pos_type
- * that represents an invalid stream position.
- */
- virtual pos_type
- seekoff(off_type, ios_base::seekdir,
- ios_base::openmode /*__mode*/ = ios_base::in | ios_base::out)
- { return pos_type(off_type(-1)); }
-
- /**
- * @brief Alters the stream positions.
- *
- * Each derived class provides its own appropriate behavior.
- * @note Base class version does nothing, returns a @c pos_type
- * that represents an invalid stream position.
- */
- virtual pos_type
- seekpos(pos_type,
- ios_base::openmode /*__mode*/ = ios_base::in | ios_base::out)
- { return pos_type(off_type(-1)); }
-
- /**
- * @brief Synchronizes the buffer arrays with the controlled sequences.
- * @return -1 on failure.
- *
- * Each derived class provides its own appropriate behavior,
- * including the definition of "failure".
- * @note Base class version does nothing, returns zero.
- */
- virtual int
- sync() { return 0; }
-
- // [27.5.2.4.3] get area
- /**
- * @brief Investigating the data available.
- * @return An estimate of the number of characters available in the
- * input sequence, or -1.
- *
- * "If it returns a positive value, then successive calls to
- * @c underflow() will not return @c traits::eof() until at least that
- * number of characters have been supplied. If @c showmanyc()
- * returns -1, then calls to @c underflow() or @c uflow() will fail."
- * [27.5.2.4.3]/1
- *
- * @note Base class version does nothing, returns zero.
- * @note The standard adds that "the intention is not only that the
- * calls [to underflow or uflow] will not return @c eof() but
- * that they will return "immediately".
- * @note The standard adds that "the morphemes of @c showmanyc are
- * "es-how-many-see", not "show-manic".
- */
- virtual streamsize
- showmanyc() { return 0; }
-
- /**
- * @brief Multiple character extraction.
- * @param s A buffer area.
- * @param n Maximum number of characters to assign.
- * @return The number of characters assigned.
- *
- * Fills @a s[0] through @a s[n-1] with characters from the input
- * sequence, as if by @c sbumpc(). Stops when either @a n characters
- * have been copied, or when @c traits::eof() would be copied.
- *
- * It is expected that derived classes provide a more efficient
- * implementation by overriding this definition.
- */
- virtual streamsize
- xsgetn(char_type* __s, streamsize __n);
-
- /**
- * @brief Fetches more data from the controlled sequence.
- * @return The first character from the <em>pending sequence</em>.
- *
- * Informally, this function is called when the input buffer is
- * exhausted (or does not exist, as buffering need not actually be
- * done). If a buffer exists, it is "refilled". In either case, the
- * next available character is returned, or @c traits::eof() to
- * indicate a null pending sequence.
- *
- * For a formal definiton of the pending sequence, see a good text
- * such as Langer & Kreft, or [27.5.2.4.3]/7-14.
- *
- * A functioning input streambuf can be created by overriding only
- * this function (no buffer area will be used). For an example, see
- * http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#6
- *
- * @note Base class version does nothing, returns eof().
- */
- virtual int_type
- underflow()
- { return traits_type::eof(); }
-
- /**
- * @brief Fetches more data from the controlled sequence.
- * @return The first character from the <em>pending sequence</em>.
- *
- * Informally, this function does the same thing as @c underflow(),
- * and in fact is required to call that function. It also returns
- * the new character, like @c underflow() does. However, this
- * function also moves the read position forward by one.
- */
- virtual int_type
- uflow()
- {
- int_type __ret = traits_type::eof();
- const bool __testeof = traits_type::eq_int_type(this->underflow(),
- __ret);
- if (!__testeof)
- {
- __ret = traits_type::to_int_type(*this->gptr());
- this->gbump(1);
- }
- return __ret;
- }
-
- // [27.5.2.4.4] putback
- /**
- * @brief Tries to back up the input sequence.
- * @param c The character to be inserted back into the sequence.
- * @return eof() on failure, "some other value" on success
- * @post The constraints of @c gptr(), @c eback(), and @c pptr()
- * are the same as for @c underflow().
- *
- * @note Base class version does nothing, returns eof().
- */
- virtual int_type
- pbackfail(int_type /* __c */ = traits_type::eof())
- { return traits_type::eof(); }
-
- // Put area:
- /**
- * @brief Multiple character insertion.
- * @param s A buffer area.
- * @param n Maximum number of characters to write.
- * @return The number of characters written.
- *
- * Writes @a s[0] through @a s[n-1] to the output sequence, as if
- * by @c sputc(). Stops when either @a n characters have been
- * copied, or when @c sputc() would return @c traits::eof().
- *
- * It is expected that derived classes provide a more efficient
- * implementation by overriding this definition.
- */
- virtual streamsize
- xsputn(const char_type* __s, streamsize __n);
-
- /**
- * @brief Consumes data from the buffer; writes to the
- * controlled sequence.
- * @param c An additional character to consume.
- * @return eof() to indicate failure, something else (usually
- * @a c, or not_eof())
- *
- * Informally, this function is called when the output buffer is full
- * (or does not exist, as buffering need not actually be done). If a
- * buffer exists, it is "consumed", with "some effect" on the
- * controlled sequence. (Typically, the buffer is written out to the
- * sequence verbatim.) In either case, the character @a c is also
- * written out, if @a c is not @c eof().
- *
- * For a formal definiton of this function, see a good text
- * such as Langer & Kreft, or [27.5.2.4.5]/3-7.
- *
- * A functioning output streambuf can be created by overriding only
- * this function (no buffer area will be used).
- *
- * @note Base class version does nothing, returns eof().
- */
- virtual int_type
- overflow(int_type /* __c */ = traits_type::eof())
- { return traits_type::eof(); }
-
-#ifdef _GLIBCXX_DEPRECATED
- // Annex D.6
- public:
- /**
- * @brief Tosses a character.
- *
- * Advances the read pointer, ignoring the character that would have
- * been read.
- *
- * See http://gcc.gnu.org/ml/libstdc++/2002-05/msg00168.html
- *
- * @note This function has been deprecated by the standard. You
- * must define @c _GLIBCXX_DEPRECATED to make this visible; see
- * c++config.h.
- */
- void
- stossc()
- {
- if (this->gptr() < this->egptr())
- this->gbump(1);
- else
- this->uflow();
- }
-#endif
-
- private:
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // Side effect of DR 50.
- basic_streambuf(const __streambuf_type& __sb)
- : _M_in_beg(__sb._M_in_beg), _M_in_cur(__sb._M_in_cur),
- _M_in_end(__sb._M_in_end), _M_out_beg(__sb._M_out_beg),
- _M_out_cur(__sb._M_out_cur), _M_out_end(__sb._M_out_cur),
- _M_buf_locale(__sb._M_buf_locale)
- { }
-
- __streambuf_type&
- operator=(const __streambuf_type&) { return *this; };
- };
-
- // Explicit specialization declarations, defined in src/streambuf.cc.
- template<>
- streamsize
- __copy_streambufs_eof(basic_streambuf<char>* __sbin,
- basic_streambuf<char>* __sbout, bool& __ineof);
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- streamsize
- __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
- basic_streambuf<wchar_t>* __sbout, bool& __ineof);
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/streambuf.tcc>
-#endif
-
-#endif /* _GLIBCXX_STREAMBUF */
diff --git a/contrib/libstdc++/include/std/std_string.h b/contrib/libstdc++/include/std/std_string.h
deleted file mode 100644
index 30469463f542..000000000000
--- a/contrib/libstdc++/include/std/std_string.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// Components for manipulating sequences of characters -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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
-// 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/string
- * This is a Standard C++ Library header.
- */
-
-//
-// ISO C++ 14882: 21 Strings library
-//
-
-#ifndef _GLIBCXX_STRING
-#define _GLIBCXX_STRING 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/stringfwd.h>
-#include <bits/char_traits.h>
-#include <memory> // For allocator.
-#include <bits/cpp_type_traits.h>
-#include <iosfwd> // For operators >>, <<, and getline decls.
-#include <bits/ostream_insert.h>
-#include <bits/stl_iterator.h>
-#include <bits/stl_function.h> // For less
-#include <bits/basic_string.h>
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <algorithm> // for find_if
-# include <bits/basic_string.tcc>
-#endif
-
-#endif /* _GLIBCXX_STRING */
diff --git a/contrib/libstdc++/include/std/std_utility.h b/contrib/libstdc++/include/std/std_utility.h
deleted file mode 100644
index 84c9131d82b2..000000000000
--- a/contrib/libstdc++/include/std/std_utility.h
+++ /dev/null
@@ -1,69 +0,0 @@
-// <utility> -*- C++ -*-
-
-// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING. If not, write to the Free
-// Software Foundation, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/utility
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_UTILITY
-#define _GLIBCXX_UTILITY 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <bits/stl_relops.h>
-#include <bits/stl_pair.h>
-
-#endif /* _GLIBCXX_UTILITY */
diff --git a/contrib/libstdc++/include/std/std_valarray.h b/contrib/libstdc++/include/std/std_valarray.h
deleted file mode 100644
index 6ef21500fc67..000000000000
--- a/contrib/libstdc++/include/std/std_valarray.h
+++ /dev/null
@@ -1,1039 +0,0 @@
-// The template and inlines for the -*- C++ -*- valarray class.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 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
-// 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 valarray
- * This is a Standard C++ Library header.
- */
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
-
-#ifndef _GLIBCXX_VALARRAY
-#define _GLIBCXX_VALARRAY 1
-
-#pragma GCC system_header
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include <cmath>
-#include <cstdlib>
-#include <numeric>
-#include <algorithm>
-#include <debug/debug.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<class _Clos, typename _Tp>
- class _Expr;
-
- template<typename _Tp1, typename _Tp2>
- class _ValArray;
-
- template<class _Oper, template<class, class> class _Meta, class _Dom>
- struct _UnClos;
-
- template<class _Oper,
- template<class, class> class _Meta1,
- template<class, class> class _Meta2,
- class _Dom1, class _Dom2>
- class _BinClos;
-
- template<template<class, class> class _Meta, class _Dom>
- class _SClos;
-
- template<template<class, class> class _Meta, class _Dom>
- class _GClos;
-
- template<template<class, class> class _Meta, class _Dom>
- class _IClos;
-
- template<template<class, class> class _Meta, class _Dom>
- class _ValFunClos;
-
- template<template<class, class> class _Meta, class _Dom>
- class _RefFunClos;
-
- template<class _Tp> class valarray; // An array of type _Tp
- class slice; // BLAS-like slice out of an array
- template<class _Tp> class slice_array;
- class gslice; // generalized slice out of an array
- template<class _Tp> class gslice_array;
- template<class _Tp> class mask_array; // masked array
- template<class _Tp> class indirect_array; // indirected array
-
-_GLIBCXX_END_NAMESPACE
-
-#include <bits/valarray_array.h>
-#include <bits/valarray_before.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- /**
- * @brief Smart array designed to support numeric processing.
- *
- * A valarray is an array that provides constraints intended to allow for
- * effective optimization of numeric array processing by reducing the
- * aliasing that can result from pointer representations. It represents a
- * one-dimensional array from which different multidimensional subsets can
- * be accessed and modified.
- *
- * @param Tp Type of object in the array.
- */
- template<class _Tp>
- class valarray
- {
- template<class _Op>
- struct _UnaryOp
- {
- typedef typename __fun<_Op, _Tp>::result_type __rt;
- typedef _Expr<_UnClos<_Op, _ValArray, _Tp>, __rt> _Rt;
- };
- public:
- typedef _Tp value_type;
-
- // _lib.valarray.cons_ construct/destroy:
- /// Construct an empty array.
- valarray();
-
- /// Construct an array with @a n elements.
- explicit valarray(size_t);
-
- /// Construct an array with @a n elements initialized to @a t.
- valarray(const _Tp&, size_t);
-
- /// Construct an array initialized to the first @a n elements of @a t.
- valarray(const _Tp* __restrict__, size_t);
-
- /// Copy constructor.
- valarray(const valarray&);
-
- /// Construct an array with the same size and values in @a sa.
- valarray(const slice_array<_Tp>&);
-
- /// Construct an array with the same size and values in @a ga.
- valarray(const gslice_array<_Tp>&);
-
- /// Construct an array with the same size and values in @a ma.
- valarray(const mask_array<_Tp>&);
-
- /// Construct an array with the same size and values in @a ia.
- valarray(const indirect_array<_Tp>&);
-
- template<class _Dom>
- valarray(const _Expr<_Dom, _Tp>& __e);
-
- ~valarray();
-
- // _lib.valarray.assign_ assignment:
- /**
- * @brief Assign elements to an array.
- *
- * Assign elements of array to values in @a v. Results are undefined
- * if @a v does not have the same size as this array.
- *
- * @param v Valarray to get values from.
- */
- valarray<_Tp>& operator=(const valarray<_Tp>&);
-
- /**
- * @brief Assign elements to a value.
- *
- * Assign all elements of array to @a t.
- *
- * @param t Value for elements.
- */
- valarray<_Tp>& operator=(const _Tp&);
-
- /**
- * @brief Assign elements to an array subset.
- *
- * Assign elements of array to values in @a sa. Results are undefined
- * if @a sa does not have the same size as this array.
- *
- * @param sa Array slice to get values from.
- */
- valarray<_Tp>& operator=(const slice_array<_Tp>&);
-
- /**
- * @brief Assign elements to an array subset.
- *
- * Assign elements of array to values in @a ga. Results are undefined
- * if @a ga does not have the same size as this array.
- *
- * @param ga Array slice to get values from.
- */
- valarray<_Tp>& operator=(const gslice_array<_Tp>&);
-
- /**
- * @brief Assign elements to an array subset.
- *
- * Assign elements of array to values in @a ma. Results are undefined
- * if @a ma does not have the same size as this array.
- *
- * @param ma Array slice to get values from.
- */
- valarray<_Tp>& operator=(const mask_array<_Tp>&);
-
- /**
- * @brief Assign elements to an array subset.
- *
- * Assign elements of array to values in @a ia. Results are undefined
- * if @a ia does not have the same size as this array.
- *
- * @param ia Array slice to get values from.
- */
- valarray<_Tp>& operator=(const indirect_array<_Tp>&);
-
- template<class _Dom> valarray<_Tp>&
- operator= (const _Expr<_Dom, _Tp>&);
-
- // _lib.valarray.access_ element access:
- /**
- * Return a reference to the i'th array element.
- *
- * @param i Index of element to return.
- * @return Reference to the i'th element.
- */
- _Tp& operator[](size_t);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 389. Const overload of valarray::operator[] returns by value.
- const _Tp& operator[](size_t) const;
-
- // _lib.valarray.sub_ subset operations:
- /**
- * @brief Return an array subset.
- *
- * Returns a new valarray containing the elements of the array
- * indicated by the slice argument. The new valarray has the same size
- * as the input slice. @see slice.
- *
- * @param s The source slice.
- * @return New valarray containing elements in @a s.
- */
- _Expr<_SClos<_ValArray, _Tp>, _Tp> operator[](slice) const;
-
- /**
- * @brief Return a reference to an array subset.
- *
- * Returns a new valarray containing the elements of the array
- * indicated by the slice argument. The new valarray has the same size
- * as the input slice. @see slice.
- *
- * @param s The source slice.
- * @return New valarray containing elements in @a s.
- */
- slice_array<_Tp> operator[](slice);
-
- /**
- * @brief Return an array subset.
- *
- * Returns a slice_array referencing the elements of the array
- * indicated by the slice argument. @see gslice.
- *
- * @param s The source slice.
- * @return Slice_array referencing elements indicated by @a s.
- */
- _Expr<_GClos<_ValArray, _Tp>, _Tp> operator[](const gslice&) const;
-
- /**
- * @brief Return a reference to an array subset.
- *
- * Returns a new valarray containing the elements of the array
- * indicated by the gslice argument. The new valarray has
- * the same size as the input gslice. @see gslice.
- *
- * @param s The source gslice.
- * @return New valarray containing elements in @a s.
- */
- gslice_array<_Tp> operator[](const gslice&);
-
- /**
- * @brief Return an array subset.
- *
- * Returns a new valarray containing the elements of the array
- * indicated by the argument. The input is a valarray of bool which
- * represents a bitmask indicating which elements should be copied into
- * the new valarray. Each element of the array is added to the return
- * valarray if the corresponding element of the argument is true.
- *
- * @param m The valarray bitmask.
- * @return New valarray containing elements indicated by @a m.
- */
- valarray<_Tp> operator[](const valarray<bool>&) const;
-
- /**
- * @brief Return a reference to an array subset.
- *
- * Returns a new mask_array referencing the elements of the array
- * indicated by the argument. The input is a valarray of bool which
- * represents a bitmask indicating which elements are part of the
- * subset. Elements of the array are part of the subset if the
- * corresponding element of the argument is true.
- *
- * @param m The valarray bitmask.
- * @return New valarray containing elements indicated by @a m.
- */
- mask_array<_Tp> operator[](const valarray<bool>&);
-
- /**
- * @brief Return an array subset.
- *
- * Returns a new valarray containing the elements of the array
- * indicated by the argument. The elements in the argument are
- * interpreted as the indices of elements of this valarray to copy to
- * the return valarray.
- *
- * @param i The valarray element index list.
- * @return New valarray containing elements in @a s.
- */
- _Expr<_IClos<_ValArray, _Tp>, _Tp>
- operator[](const valarray<size_t>&) const;
-
- /**
- * @brief Return a reference to an array subset.
- *
- * Returns an indirect_array referencing the elements of the array
- * indicated by the argument. The elements in the argument are
- * interpreted as the indices of elements of this valarray to include
- * in the subset. The returned indirect_array refers to these
- * elements.
- *
- * @param i The valarray element index list.
- * @return Indirect_array referencing elements in @a i.
- */
- indirect_array<_Tp> operator[](const valarray<size_t>&);
-
- // _lib.valarray.unary_ unary operators:
- /// Return a new valarray by applying unary + to each element.
- typename _UnaryOp<__unary_plus>::_Rt operator+() const;
-
- /// Return a new valarray by applying unary - to each element.
- typename _UnaryOp<__negate>::_Rt operator-() const;
-
- /// Return a new valarray by applying unary ~ to each element.
- typename _UnaryOp<__bitwise_not>::_Rt operator~() const;
-
- /// Return a new valarray by applying unary ! to each element.
- typename _UnaryOp<__logical_not>::_Rt operator!() const;
-
- // _lib.valarray.cassign_ computed assignment:
- /// Multiply each element of array by @a t.
- valarray<_Tp>& operator*=(const _Tp&);
-
- /// Divide each element of array by @a t.
- valarray<_Tp>& operator/=(const _Tp&);
-
- /// Set each element e of array to e % @a t.
- valarray<_Tp>& operator%=(const _Tp&);
-
- /// Add @a t to each element of array.
- valarray<_Tp>& operator+=(const _Tp&);
-
- /// Subtract @a t to each element of array.
- valarray<_Tp>& operator-=(const _Tp&);
-
- /// Set each element e of array to e ^ @a t.
- valarray<_Tp>& operator^=(const _Tp&);
-
- /// Set each element e of array to e & @a t.
- valarray<_Tp>& operator&=(const _Tp&);
-
- /// Set each element e of array to e | @a t.
- valarray<_Tp>& operator|=(const _Tp&);
-
- /// Left shift each element e of array by @a t bits.
- valarray<_Tp>& operator<<=(const _Tp&);
-
- /// Right shift each element e of array by @a t bits.
- valarray<_Tp>& operator>>=(const _Tp&);
-
- /// Multiply elements of array by corresponding elements of @a v.
- valarray<_Tp>& operator*=(const valarray<_Tp>&);
-
- /// Divide elements of array by corresponding elements of @a v.
- valarray<_Tp>& operator/=(const valarray<_Tp>&);
-
- /// Modulo elements of array by corresponding elements of @a v.
- valarray<_Tp>& operator%=(const valarray<_Tp>&);
-
- /// Add corresponding elements of @a v to elements of array.
- valarray<_Tp>& operator+=(const valarray<_Tp>&);
-
- /// Subtract corresponding elements of @a v from elements of array.
- valarray<_Tp>& operator-=(const valarray<_Tp>&);
-
- /// Logical xor corresponding elements of @a v with elements of array.
- valarray<_Tp>& operator^=(const valarray<_Tp>&);
-
- /// Logical or corresponding elements of @a v with elements of array.
- valarray<_Tp>& operator|=(const valarray<_Tp>&);
-
- /// Logical and corresponding elements of @a v with elements of array.
- valarray<_Tp>& operator&=(const valarray<_Tp>&);
-
- /// Left shift elements of array by corresponding elements of @a v.
- valarray<_Tp>& operator<<=(const valarray<_Tp>&);
-
- /// Right shift elements of array by corresponding elements of @a v.
- valarray<_Tp>& operator>>=(const valarray<_Tp>&);
-
- template<class _Dom>
- valarray<_Tp>& operator*=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator/=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator%=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator+=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator-=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator^=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator|=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator&=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator<<=(const _Expr<_Dom, _Tp>&);
- template<class _Dom>
- valarray<_Tp>& operator>>=(const _Expr<_Dom, _Tp>&);
-
- // _lib.valarray.members_ member functions:
- /// Return the number of elements in array.
- size_t size() const;
-
- /**
- * @brief Return the sum of all elements in the array.
- *
- * Accumulates the sum of all elements into a Tp using +=. The order
- * of adding the elements is unspecified.
- */
- _Tp sum() const;
-
- /// Return the minimum element using operator<().
- _Tp min() const;
-
- /// Return the maximum element using operator<().
- _Tp max() const;
-
- /**
- * @brief Return a shifted array.
- *
- * A new valarray is constructed as a copy of this array with elements
- * in shifted positions. For an element with index i, the new position
- * is i - n. The new valarray has the same size as the current one.
- * New elements without a value are set to 0. Elements whose new
- * position is outside the bounds of the array are discarded.
- *
- * Positive arguments shift toward index 0, discarding elements [0, n).
- * Negative arguments discard elements from the top of the array.
- *
- * @param n Number of element positions to shift.
- * @return New valarray with elements in shifted positions.
- */
- valarray<_Tp> shift (int) const;
-
- /**
- * @brief Return a rotated array.
- *
- * A new valarray is constructed as a copy of this array with elements
- * in shifted positions. For an element with index i, the new position
- * is (i - n) % size(). The new valarray has the same size as the
- * current one. Elements that are shifted beyond the array bounds are
- * shifted into the other end of the array. No elements are lost.
- *
- * Positive arguments shift toward index 0, wrapping around the top.
- * Negative arguments shift towards the top, wrapping around to 0.
- *
- * @param n Number of element positions to rotate.
- * @return New valarray with elements in shifted positions.
- */
- valarray<_Tp> cshift(int) const;
-
- /**
- * @brief Apply a function to the array.
- *
- * Returns a new valarray with elements assigned to the result of
- * applying func to the corresponding element of this array. The new
- * array has the same size as this one.
- *
- * @param func Function of Tp returning Tp to apply.
- * @return New valarray with transformed elements.
- */
- _Expr<_ValFunClos<_ValArray, _Tp>, _Tp> apply(_Tp func(_Tp)) const;
-
- /**
- * @brief Apply a function to the array.
- *
- * Returns a new valarray with elements assigned to the result of
- * applying func to the corresponding element of this array. The new
- * array has the same size as this one.
- *
- * @param func Function of const Tp& returning Tp to apply.
- * @return New valarray with transformed elements.
- */
- _Expr<_RefFunClos<_ValArray, _Tp>, _Tp> apply(_Tp func(const _Tp&)) const;
-
- /**
- * @brief Resize array.
- *
- * Resize this array to @a size and set all elements to @a c. All
- * references and iterators are invalidated.
- *
- * @param size New array size.
- * @param c New value for all elements.
- */
- void resize(size_t __size, _Tp __c = _Tp());
-
- private:
- size_t _M_size;
- _Tp* __restrict__ _M_data;
-
- friend class _Array<_Tp>;
- };
-
- template<typename _Tp>
- inline const _Tp&
- valarray<_Tp>::operator[](size_t __i) const
- {
- __glibcxx_requires_subscript(__i);
- return _M_data[__i];
- }
-
- template<typename _Tp>
- inline _Tp&
- valarray<_Tp>::operator[](size_t __i)
- {
- __glibcxx_requires_subscript(__i);
- return _M_data[__i];
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#include <bits/valarray_after.h>
-#include <bits/slice_array.h>
-#include <bits/gslice.h>
-#include <bits/gslice_array.h>
-#include <bits/mask_array.h>
-#include <bits/indirect_array.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {}
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(size_t __n)
- : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n))
- { std::__valarray_default_construct(_M_data, _M_data + __n); }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(const _Tp& __t, size_t __n)
- : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n))
- { std::__valarray_fill_construct(_M_data, _M_data + __n, __t); }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(const _Tp* __restrict__ __p, size_t __n)
- : _M_size(__n), _M_data(__valarray_get_storage<_Tp>(__n))
- {
- _GLIBCXX_DEBUG_ASSERT(__p != 0 || __n == 0);
- std::__valarray_copy_construct(__p, __p + __n, _M_data);
- }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(const valarray<_Tp>& __v)
- : _M_size(__v._M_size), _M_data(__valarray_get_storage<_Tp>(__v._M_size))
- { std::__valarray_copy_construct(__v._M_data, __v._M_data + _M_size,
- _M_data); }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(const slice_array<_Tp>& __sa)
- : _M_size(__sa._M_sz), _M_data(__valarray_get_storage<_Tp>(__sa._M_sz))
- {
- std::__valarray_copy_construct
- (__sa._M_array, __sa._M_sz, __sa._M_stride, _Array<_Tp>(_M_data));
- }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(const gslice_array<_Tp>& __ga)
- : _M_size(__ga._M_index.size()),
- _M_data(__valarray_get_storage<_Tp>(_M_size))
- {
- std::__valarray_copy_construct
- (__ga._M_array, _Array<size_t>(__ga._M_index),
- _Array<_Tp>(_M_data), _M_size);
- }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(const mask_array<_Tp>& __ma)
- : _M_size(__ma._M_sz), _M_data(__valarray_get_storage<_Tp>(__ma._M_sz))
- {
- std::__valarray_copy_construct
- (__ma._M_array, __ma._M_mask, _Array<_Tp>(_M_data), _M_size);
- }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::valarray(const indirect_array<_Tp>& __ia)
- : _M_size(__ia._M_sz), _M_data(__valarray_get_storage<_Tp>(__ia._M_sz))
- {
- std::__valarray_copy_construct
- (__ia._M_array, __ia._M_index, _Array<_Tp>(_M_data), _M_size);
- }
-
- template<typename _Tp> template<class _Dom>
- inline
- valarray<_Tp>::valarray(const _Expr<_Dom, _Tp>& __e)
- : _M_size(__e.size()), _M_data(__valarray_get_storage<_Tp>(_M_size))
- { std::__valarray_copy_construct(__e, _M_size, _Array<_Tp>(_M_data)); }
-
- template<typename _Tp>
- inline
- valarray<_Tp>::~valarray()
- {
- std::__valarray_destroy_elements(_M_data, _M_data + _M_size);
- std::__valarray_release_memory(_M_data);
- }
-
- template<typename _Tp>
- inline valarray<_Tp>&
- valarray<_Tp>::operator=(const valarray<_Tp>& __v)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size == __v._M_size);
- std::__valarray_copy(__v._M_data, _M_size, _M_data);
- return *this;
- }
-
- template<typename _Tp>
- inline valarray<_Tp>&
- valarray<_Tp>::operator=(const _Tp& __t)
- {
- std::__valarray_fill(_M_data, _M_size, __t);
- return *this;
- }
-
- template<typename _Tp>
- inline valarray<_Tp>&
- valarray<_Tp>::operator=(const slice_array<_Tp>& __sa)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size == __sa._M_sz);
- std::__valarray_copy(__sa._M_array, __sa._M_sz,
- __sa._M_stride, _Array<_Tp>(_M_data));
- return *this;
- }
-
- template<typename _Tp>
- inline valarray<_Tp>&
- valarray<_Tp>::operator=(const gslice_array<_Tp>& __ga)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size == __ga._M_index.size());
- std::__valarray_copy(__ga._M_array, _Array<size_t>(__ga._M_index),
- _Array<_Tp>(_M_data), _M_size);
- return *this;
- }
-
- template<typename _Tp>
- inline valarray<_Tp>&
- valarray<_Tp>::operator=(const mask_array<_Tp>& __ma)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size == __ma._M_sz);
- std::__valarray_copy(__ma._M_array, __ma._M_mask,
- _Array<_Tp>(_M_data), _M_size);
- return *this;
- }
-
- template<typename _Tp>
- inline valarray<_Tp>&
- valarray<_Tp>::operator=(const indirect_array<_Tp>& __ia)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size == __ia._M_sz);
- std::__valarray_copy(__ia._M_array, __ia._M_index,
- _Array<_Tp>(_M_data), _M_size);
- return *this;
- }
-
- template<typename _Tp> template<class _Dom>
- inline valarray<_Tp>&
- valarray<_Tp>::operator=(const _Expr<_Dom, _Tp>& __e)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size == __e.size());
- std::__valarray_copy(__e, _M_size, _Array<_Tp>(_M_data));
- return *this;
- }
-
- template<typename _Tp>
- inline _Expr<_SClos<_ValArray,_Tp>, _Tp>
- valarray<_Tp>::operator[](slice __s) const
- {
- typedef _SClos<_ValArray,_Tp> _Closure;
- return _Expr<_Closure, _Tp>(_Closure (_Array<_Tp>(_M_data), __s));
- }
-
- template<typename _Tp>
- inline slice_array<_Tp>
- valarray<_Tp>::operator[](slice __s)
- { return slice_array<_Tp>(_Array<_Tp>(_M_data), __s); }
-
- template<typename _Tp>
- inline _Expr<_GClos<_ValArray,_Tp>, _Tp>
- valarray<_Tp>::operator[](const gslice& __gs) const
- {
- typedef _GClos<_ValArray,_Tp> _Closure;
- return _Expr<_Closure, _Tp>
- (_Closure(_Array<_Tp>(_M_data), __gs._M_index->_M_index));
- }
-
- template<typename _Tp>
- inline gslice_array<_Tp>
- valarray<_Tp>::operator[](const gslice& __gs)
- {
- return gslice_array<_Tp>
- (_Array<_Tp>(_M_data), __gs._M_index->_M_index);
- }
-
- template<typename _Tp>
- inline valarray<_Tp>
- valarray<_Tp>::operator[](const valarray<bool>& __m) const
- {
- size_t __s = 0;
- size_t __e = __m.size();
- for (size_t __i=0; __i<__e; ++__i)
- if (__m[__i]) ++__s;
- return valarray<_Tp>(mask_array<_Tp>(_Array<_Tp>(_M_data), __s,
- _Array<bool> (__m)));
- }
-
- template<typename _Tp>
- inline mask_array<_Tp>
- valarray<_Tp>::operator[](const valarray<bool>& __m)
- {
- size_t __s = 0;
- size_t __e = __m.size();
- for (size_t __i=0; __i<__e; ++__i)
- if (__m[__i]) ++__s;
- return mask_array<_Tp>(_Array<_Tp>(_M_data), __s, _Array<bool>(__m));
- }
-
- template<typename _Tp>
- inline _Expr<_IClos<_ValArray,_Tp>, _Tp>
- valarray<_Tp>::operator[](const valarray<size_t>& __i) const
- {
- typedef _IClos<_ValArray,_Tp> _Closure;
- return _Expr<_Closure, _Tp>(_Closure(*this, __i));
- }
-
- template<typename _Tp>
- inline indirect_array<_Tp>
- valarray<_Tp>::operator[](const valarray<size_t>& __i)
- {
- return indirect_array<_Tp>(_Array<_Tp>(_M_data), __i.size(),
- _Array<size_t>(__i));
- }
-
- template<class _Tp>
- inline size_t
- valarray<_Tp>::size() const
- { return _M_size; }
-
- template<class _Tp>
- inline _Tp
- valarray<_Tp>::sum() const
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size > 0);
- return std::__valarray_sum(_M_data, _M_data + _M_size);
- }
-
- template<class _Tp>
- inline valarray<_Tp>
- valarray<_Tp>::shift(int __n) const
- {
- valarray<_Tp> __ret;
-
- if (_M_size == 0)
- return __ret;
-
- _Tp* __restrict__ __tmp_M_data =
- std::__valarray_get_storage<_Tp>(_M_size);
-
- if (__n == 0)
- std::__valarray_copy_construct(_M_data,
- _M_data + _M_size, __tmp_M_data);
- else if (__n > 0) // shift left
- {
- if (size_t(__n) > _M_size)
- __n = _M_size;
-
- std::__valarray_copy_construct(_M_data + __n,
- _M_data + _M_size, __tmp_M_data);
- std::__valarray_default_construct(__tmp_M_data + _M_size - __n,
- __tmp_M_data + _M_size);
- }
- else // shift right
- {
- if (size_t(-__n) > _M_size)
- __n = -_M_size;
-
- std::__valarray_copy_construct(_M_data, _M_data + _M_size + __n,
- __tmp_M_data - __n);
- std::__valarray_default_construct(__tmp_M_data,
- __tmp_M_data - __n);
- }
-
- __ret._M_size = _M_size;
- __ret._M_data = __tmp_M_data;
- return __ret;
- }
-
- template<class _Tp>
- inline valarray<_Tp>
- valarray<_Tp>::cshift(int __n) const
- {
- valarray<_Tp> __ret;
-
- if (_M_size == 0)
- return __ret;
-
- _Tp* __restrict__ __tmp_M_data =
- std::__valarray_get_storage<_Tp>(_M_size);
-
- if (__n == 0)
- std::__valarray_copy_construct(_M_data,
- _M_data + _M_size, __tmp_M_data);
- else if (__n > 0) // cshift left
- {
- if (size_t(__n) > _M_size)
- __n = __n % _M_size;
-
- std::__valarray_copy_construct(_M_data, _M_data + __n,
- __tmp_M_data + _M_size - __n);
- std::__valarray_copy_construct(_M_data + __n, _M_data + _M_size,
- __tmp_M_data);
- }
- else // cshift right
- {
- if (size_t(-__n) > _M_size)
- __n = -(size_t(-__n) % _M_size);
-
- std::__valarray_copy_construct(_M_data + _M_size + __n,
- _M_data + _M_size, __tmp_M_data);
- std::__valarray_copy_construct(_M_data, _M_data + _M_size + __n,
- __tmp_M_data - __n);
- }
-
- __ret._M_size = _M_size;
- __ret._M_data = __tmp_M_data;
- return __ret;
- }
-
- template<class _Tp>
- inline void
- valarray<_Tp>::resize(size_t __n, _Tp __c)
- {
- // This complication is so to make valarray<valarray<T> > work
- // even though it is not required by the standard. Nobody should
- // be saying valarray<valarray<T> > anyway. See the specs.
- std::__valarray_destroy_elements(_M_data, _M_data + _M_size);
- if (_M_size != __n)
- {
- std::__valarray_release_memory(_M_data);
- _M_size = __n;
- _M_data = __valarray_get_storage<_Tp>(__n);
- }
- std::__valarray_fill_construct(_M_data, _M_data + __n, __c);
- }
-
- template<typename _Tp>
- inline _Tp
- valarray<_Tp>::min() const
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size > 0);
- return *std::min_element(_M_data, _M_data+_M_size);
- }
-
- template<typename _Tp>
- inline _Tp
- valarray<_Tp>::max() const
- {
- _GLIBCXX_DEBUG_ASSERT(_M_size > 0);
- return *std::max_element(_M_data, _M_data+_M_size);
- }
-
- template<class _Tp>
- inline _Expr<_ValFunClos<_ValArray, _Tp>, _Tp>
- valarray<_Tp>::apply(_Tp func(_Tp)) const
- {
- typedef _ValFunClos<_ValArray, _Tp> _Closure;
- return _Expr<_Closure, _Tp>(_Closure(*this, func));
- }
-
- template<class _Tp>
- inline _Expr<_RefFunClos<_ValArray, _Tp>, _Tp>
- valarray<_Tp>::apply(_Tp func(const _Tp &)) const
- {
- typedef _RefFunClos<_ValArray, _Tp> _Closure;
- return _Expr<_Closure, _Tp>(_Closure(*this, func));
- }
-
-#define _DEFINE_VALARRAY_UNARY_OPERATOR(_Op, _Name) \
- template<typename _Tp> \
- inline typename valarray<_Tp>::template _UnaryOp<_Name>::_Rt \
- valarray<_Tp>::operator _Op() const \
- { \
- typedef _UnClos<_Name, _ValArray, _Tp> _Closure; \
- typedef typename __fun<_Name, _Tp>::result_type _Rt; \
- return _Expr<_Closure, _Rt>(_Closure(*this)); \
- }
-
- _DEFINE_VALARRAY_UNARY_OPERATOR(+, __unary_plus)
- _DEFINE_VALARRAY_UNARY_OPERATOR(-, __negate)
- _DEFINE_VALARRAY_UNARY_OPERATOR(~, __bitwise_not)
- _DEFINE_VALARRAY_UNARY_OPERATOR (!, __logical_not)
-
-#undef _DEFINE_VALARRAY_UNARY_OPERATOR
-
-#define _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(_Op, _Name) \
- template<class _Tp> \
- inline valarray<_Tp>& \
- valarray<_Tp>::operator _Op##=(const _Tp &__t) \
- { \
- _Array_augmented_##_Name(_Array<_Tp>(_M_data), _M_size, __t); \
- return *this; \
- } \
- \
- template<class _Tp> \
- inline valarray<_Tp>& \
- valarray<_Tp>::operator _Op##=(const valarray<_Tp> &__v) \
- { \
- _GLIBCXX_DEBUG_ASSERT(_M_size == __v._M_size); \
- _Array_augmented_##_Name(_Array<_Tp>(_M_data), _M_size, \
- _Array<_Tp>(__v._M_data)); \
- return *this; \
- }
-
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(+, __plus)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(-, __minus)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(*, __multiplies)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(/, __divides)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(%, __modulus)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(^, __bitwise_xor)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(&, __bitwise_and)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(|, __bitwise_or)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(<<, __shift_left)
-_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT(>>, __shift_right)
-
-#undef _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT
-
-#define _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(_Op, _Name) \
- template<class _Tp> template<class _Dom> \
- inline valarray<_Tp>& \
- valarray<_Tp>::operator _Op##=(const _Expr<_Dom, _Tp>& __e) \
- { \
- _Array_augmented_##_Name(_Array<_Tp>(_M_data), __e, _M_size); \
- return *this; \
- }
-
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(+, __plus)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(-, __minus)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(*, __multiplies)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(/, __divides)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(%, __modulus)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(^, __bitwise_xor)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(&, __bitwise_and)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(|, __bitwise_or)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(<<, __shift_left)
-_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT(>>, __shift_right)
-
-#undef _DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT
-
-
-#define _DEFINE_BINARY_OPERATOR(_Op, _Name) \
- template<typename _Tp> \
- inline _Expr<_BinClos<_Name, _ValArray, _ValArray, _Tp, _Tp>, \
- typename __fun<_Name, _Tp>::result_type> \
- operator _Op(const valarray<_Tp>& __v, const valarray<_Tp>& __w) \
- { \
- _GLIBCXX_DEBUG_ASSERT(__v.size() == __w.size()); \
- typedef _BinClos<_Name, _ValArray, _ValArray, _Tp, _Tp> _Closure; \
- typedef typename __fun<_Name, _Tp>::result_type _Rt; \
- return _Expr<_Closure, _Rt>(_Closure(__v, __w)); \
- } \
- \
- template<typename _Tp> \
- inline _Expr<_BinClos<_Name, _ValArray,_Constant, _Tp, _Tp>, \
- typename __fun<_Name, _Tp>::result_type> \
- operator _Op(const valarray<_Tp>& __v, const _Tp& __t) \
- { \
- typedef _BinClos<_Name, _ValArray, _Constant, _Tp, _Tp> _Closure; \
- typedef typename __fun<_Name, _Tp>::result_type _Rt; \
- return _Expr<_Closure, _Rt>(_Closure(__v, __t)); \
- } \
- \
- template<typename _Tp> \
- inline _Expr<_BinClos<_Name, _Constant, _ValArray, _Tp, _Tp>, \
- typename __fun<_Name, _Tp>::result_type> \
- operator _Op(const _Tp& __t, const valarray<_Tp>& __v) \
- { \
- typedef _BinClos<_Name, _Constant, _ValArray, _Tp, _Tp> _Closure; \
- typedef typename __fun<_Name, _Tp>::result_type _Rt; \
- return _Expr<_Closure, _Rt>(_Closure(__t, __v)); \
- }
-
-_DEFINE_BINARY_OPERATOR(+, __plus)
-_DEFINE_BINARY_OPERATOR(-, __minus)
-_DEFINE_BINARY_OPERATOR(*, __multiplies)
-_DEFINE_BINARY_OPERATOR(/, __divides)
-_DEFINE_BINARY_OPERATOR(%, __modulus)
-_DEFINE_BINARY_OPERATOR(^, __bitwise_xor)
-_DEFINE_BINARY_OPERATOR(&, __bitwise_and)
-_DEFINE_BINARY_OPERATOR(|, __bitwise_or)
-_DEFINE_BINARY_OPERATOR(<<, __shift_left)
-_DEFINE_BINARY_OPERATOR(>>, __shift_right)
-_DEFINE_BINARY_OPERATOR(&&, __logical_and)
-_DEFINE_BINARY_OPERATOR(||, __logical_or)
-_DEFINE_BINARY_OPERATOR(==, __equal_to)
-_DEFINE_BINARY_OPERATOR(!=, __not_equal_to)
-_DEFINE_BINARY_OPERATOR(<, __less)
-_DEFINE_BINARY_OPERATOR(>, __greater)
-_DEFINE_BINARY_OPERATOR(<=, __less_equal)
-_DEFINE_BINARY_OPERATOR(>=, __greater_equal)
-
-#undef _DEFINE_BINARY_OPERATOR
-
-_GLIBCXX_END_NAMESPACE
-
-#endif /* _GLIBCXX_VALARRAY */
diff --git a/contrib/libstdc++/include/std/std_vector.h b/contrib/libstdc++/include/std/std_vector.h
deleted file mode 100644
index a4a527eea035..000000000000
--- a/contrib/libstdc++/include/std/std_vector.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// <vector> -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-/** @file include/vector
- * This is a Standard C++ Library header.
- */
-
-#ifndef _GLIBCXX_VECTOR
-#define _GLIBCXX_VECTOR 1
-
-#pragma GCC system_header
-
-#include <bits/functexcept.h>
-#include <bits/stl_algobase.h>
-#include <bits/allocator.h>
-#include <bits/stl_construct.h>
-#include <bits/stl_uninitialized.h>
-#include <bits/stl_vector.h>
-#include <bits/stl_bvector.h>
-
-#ifndef _GLIBCXX_EXPORT_TEMPLATE
-# include <bits/vector.tcc>
-#endif
-
-#ifdef _GLIBCXX_DEBUG
-# include <debug/vector>
-#endif
-
-#endif /* _GLIBCXX_VECTOR */
-
diff --git a/contrib/libstdc++/include/tr1/array b/contrib/libstdc++/include/tr1/array
deleted file mode 100644
index 23808b334620..000000000000
--- a/contrib/libstdc++/include/tr1/array
+++ /dev/null
@@ -1,251 +0,0 @@
-// class template array -*- C++ -*-
-
-// Copyright (C) 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 tr1/array
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_ARRAY
-#define _TR1_ARRAY 1
-
-#include <new>
-#include <iterator>
-#include <algorithm>
-#include <cstddef>
-#include <bits/functexcept.h>
-#include <ext/type_traits.h>
-
-//namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- /// @brief struct array [6.2.2].
- /// NB: Requires complete type _Tp.
- template<typename _Tp, std::size_t _Nm>
- struct array
- {
- typedef _Tp value_type;
- typedef value_type& reference;
- typedef const value_type& const_reference;
- typedef value_type* iterator;
- typedef const value_type* const_iterator;
- typedef std::size_t size_type;
- typedef std::ptrdiff_t difference_type;
- typedef std::reverse_iterator<iterator> reverse_iterator;
- typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-
- // Support for zero-sized arrays mandatory.
- value_type _M_instance[_Nm ? _Nm : 1] __attribute__((__aligned__));
-
- // No explicit construct/copy/destroy for aggregate type.
-
- void
- assign(const value_type& __u)
- { std::fill_n(begin(), size(), __u); }
-
- void
- swap(array& __other)
- { std::swap_ranges(begin(), end(), __other.begin()); }
-
- // Iterators.
- iterator
- begin()
- { return iterator(&_M_instance[0]); }
-
- const_iterator
- begin() const
- { return const_iterator(&_M_instance[0]); }
-
- iterator
- end()
- { return iterator(&_M_instance[_Nm]); }
-
- const_iterator
- end() const
- { return const_iterator(&_M_instance[_Nm]); }
-
- reverse_iterator
- rbegin()
- { return reverse_iterator(end()); }
-
- const_reverse_iterator
- rbegin() const
- { return const_reverse_iterator(end()); }
-
- reverse_iterator
- rend()
- { return reverse_iterator(begin()); }
-
- const_reverse_iterator
- rend() const
- { return const_reverse_iterator(begin()); }
-
- // Capacity.
- size_type
- size() const { return _Nm; }
-
- size_type
- max_size() const { return _Nm; }
-
- bool
- empty() const { return size() == 0; }
-
- // Element access.
- reference
- operator[](size_type __n)
- { return _M_instance[__n]; }
-
- const_reference
- operator[](size_type __n) const
- { return _M_instance[__n]; }
-
- reference
- at(size_type __n)
- {
- _M_check<_Nm>(__n);
- return _M_instance[__n];
- }
-
- const_reference
- at(size_type __n) const
- {
- _M_check<_Nm>(__n);
- return _M_instance[__n];
- }
-
- reference
- front()
- { return *begin(); }
-
- const_reference
- front() const
- { return *begin(); }
-
- reference
- back()
- { return _Nm ? *(end() - 1) : *end(); }
-
- const_reference
- back() const
- { return _Nm ? *(end() - 1) : *end(); }
-
- _Tp*
- data()
- { return &_M_instance[0]; }
-
- const _Tp*
- data() const
- { return &_M_instance[0]; }
-
- private:
- template<std::size_t _Mm>
- typename __gnu_cxx::__enable_if<_Mm, void>::__type
- _M_check(size_type __n) const
- {
- if (__builtin_expect(__n >= _Mm, false))
- std::__throw_out_of_range(__N("array::_M_check"));
- }
-
- // Avoid "unsigned comparison with zero" warnings.
- template<std::size_t _Mm>
- typename __gnu_cxx::__enable_if<!_Mm, void>::__type
- _M_check(size_type) const
- { std::__throw_out_of_range(__N("array::_M_check")); }
- };
-
- // Array comparisons.
- template<typename _Tp, std::size_t _Nm>
- inline bool
- operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return std::equal(__one.begin(), __one.end(), __two.begin()); }
-
- template<typename _Tp, std::size_t _Nm>
- inline bool
- operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return !(__one == __two); }
-
- template<typename _Tp, std::size_t _Nm>
- inline bool
- operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
- {
- return std::lexicographical_compare(__a.begin(), __a.end(),
- __b.begin(), __b.end());
- }
-
- template<typename _Tp, std::size_t _Nm>
- inline bool
- operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return __two < __one; }
-
- template<typename _Tp, std::size_t _Nm>
- inline bool
- operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return !(__one > __two); }
-
- template<typename _Tp, std::size_t _Nm>
- inline bool
- operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
- { return !(__one < __two); }
-
- // Specialized algorithms [6.2.2.2].
- template<typename _Tp, std::size_t _Nm>
- inline void
- swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
- { std::swap_ranges(__one.begin(), __one.end(), __two.begin()); }
-
- // Tuple interface to class template array [6.2.2.5].
- template<typename _Tp> class tuple_size;
- template<int _Int, typename _Tp> class tuple_element;
-
- template<typename _Tp, std::size_t _Nm>
- struct tuple_size<array<_Tp, _Nm> >
- { static const int value = _Nm; };
-
- template<typename _Tp, std::size_t _Nm>
- const int tuple_size<array<_Tp, _Nm> >::value;
-
- template<int _Int, typename _Tp, std::size_t _Nm>
- struct tuple_element<_Int, array<_Tp, _Nm> >
- { typedef _Tp type; };
-
- template<int _Int, typename _Tp, std::size_t _Nm>
- inline _Tp&
- get(array<_Tp, _Nm>& __arr)
- { return __arr[_Int]; }
-
- template<int _Int, typename _Tp, std::size_t _Nm>
- inline const _Tp&
- get(const array<_Tp, _Nm>& __arr)
- { return __arr[_Int]; }
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/bind_iterate.h b/contrib/libstdc++/include/tr1/bind_iterate.h
deleted file mode 100644
index 3de49a77b6c0..000000000000
--- a/contrib/libstdc++/include/tr1/bind_iterate.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// TR1 functional -*- C++ -*-
-
-// Copyright (C) 2005 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
-// 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/bind_iterate.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#if _GLIBCXX_BIND_NUM_ARGS > 0
-template<_GLIBCXX_BIND_TEMPLATE_PARAMS>
-#endif
-#ifdef _GLIBCXX_BIND_HAS_RESULT_TYPE
-result_type
-#else
-typename result_of<_Functor(_GLIBCXX_BIND_V_TEMPLATE_ARGS())>::type
-#endif
-operator()(_GLIBCXX_BIND_PARAMS)
-{ return _M_f(_GLIBCXX_BIND_V_ARGS); }
-
-#if _GLIBCXX_BIND_NUM_ARGS > 0
-template<_GLIBCXX_BIND_TEMPLATE_PARAMS>
-#endif
-#ifdef _GLIBCXX_BIND_HAS_RESULT_TYPE
-result_type
-#else
-typename result_of<const _Functor(_GLIBCXX_BIND_V_TEMPLATE_ARGS(const))>::type
-#endif
-operator()(_GLIBCXX_BIND_PARAMS) const
-{ return _M_f(_GLIBCXX_BIND_V_ARGS); }
-
-#if _GLIBCXX_BIND_NUM_ARGS > 0
-template<_GLIBCXX_BIND_TEMPLATE_PARAMS>
-#endif
-#ifdef _GLIBCXX_BIND_HAS_RESULT_TYPE
-result_type
-#else
-typename result_of<volatile _Functor(_GLIBCXX_BIND_V_TEMPLATE_ARGS(volatile))>::type
-#endif
-operator()(_GLIBCXX_BIND_PARAMS) volatile
-{ return _M_f(_GLIBCXX_BIND_V_ARGS); }
-
-#if _GLIBCXX_BIND_NUM_ARGS > 0
-template<_GLIBCXX_BIND_TEMPLATE_PARAMS>
-#endif
-#ifdef _GLIBCXX_BIND_HAS_RESULT_TYPE
-result_type
-#else
-typename result_of<const volatile _Functor(_GLIBCXX_BIND_V_TEMPLATE_ARGS(const volatile))>::type
-#endif
-operator()(_GLIBCXX_BIND_PARAMS) const volatile
-{ return _M_f(_GLIBCXX_BIND_V_ARGS); }
diff --git a/contrib/libstdc++/include/tr1/bind_repeat.h b/contrib/libstdc++/include/tr1/bind_repeat.h
deleted file mode 100644
index 8ec29a2283f5..000000000000
--- a/contrib/libstdc++/include/tr1/bind_repeat.h
+++ /dev/null
@@ -1,192 +0,0 @@
-// TR1 code repetition for bind -*- C++ -*-
-
-// Copyright (C) 2005 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
-// 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/bind_repeat.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_BIND_REPEAT_HEADER
-# error Internal error: _GLIBCXX_BIND_REPEAT_HEADER must be set
-#endif /* _GLIBCXX_BIND_REPEAT_HEADER */
-
-#define _GLIBCXX_BIND_NUM_ARGS 0
-#define _GLIBCXX_BIND_COMMA
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS
-#define _GLIBCXX_BIND_TEMPLATE_ARGS
-#define _GLIBCXX_BIND_PARAMS
-#define _GLIBCXX_BIND_ARGS
-# include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 1
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1
-#define _GLIBCXX_BIND_PARAMS _U1& __u1
-#define _GLIBCXX_BIND_ARGS __u1
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-#define _GLIBCXX_BIND_NUM_ARGS 2
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2
-#define _GLIBCXX_BIND_ARGS __u1, __u2
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 3
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 4
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 5
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 6
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 7
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 8
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7, _U8& __u8
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7, __u8
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 9
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7, _U8& __u8, _U9& __u9
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7, __u8, __u9
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
-#define _GLIBCXX_BIND_NUM_ARGS 10
-#define _GLIBCXX_BIND_COMMA ,
-#define _GLIBCXX_BIND_TEMPLATE_PARAMS typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9, typename _U10
-#define _GLIBCXX_BIND_TEMPLATE_ARGS _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9, _U10
-#define _GLIBCXX_BIND_PARAMS _U1& __u1, _U2& __u2, _U3& __u3, _U4& __u4, _U5& __u5, _U6& __u6, _U7& __u7, _U8& __u8, _U9& __u9, _U10& __u10
-#define _GLIBCXX_BIND_ARGS __u1, __u2, __u3, __u4, __u5, __u6, __u7, __u8, __u9, __u10
-#include _GLIBCXX_BIND_REPEAT_HEADER
-#undef _GLIBCXX_BIND_ARGS
-#undef _GLIBCXX_BIND_PARAMS
-#undef _GLIBCXX_BIND_TEMPLATE_ARGS
-#undef _GLIBCXX_BIND_TEMPLATE_PARAMS
-#undef _GLIBCXX_BIND_COMMA
-#undef _GLIBCXX_BIND_NUM_ARGS
-
diff --git a/contrib/libstdc++/include/tr1/boost_shared_ptr.h b/contrib/libstdc++/include/tr1/boost_shared_ptr.h
deleted file mode 100644
index d83bde692a61..000000000000
--- a/contrib/libstdc++/include/tr1/boost_shared_ptr.h
+++ /dev/null
@@ -1,1149 +0,0 @@
-// <tr1/boost_shared_ptr.h> -*- C++ -*-
-
-// Copyright (C) 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.
-
-// shared_count.hpp
-// Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
-
-// shared_ptr.hpp
-// Copyright (C) 1998, 1999 Greg Colvin and Beman Dawes.
-// Copyright (C) 2001, 2002, 2003 Peter Dimov
-
-// weak_ptr.hpp
-// Copyright (C) 2001, 2002, 2003 Peter Dimov
-
-// enable_shared_from_this.hpp
-// Copyright (C) 2002 Peter Dimov
-
-// Distributed under the Boost Software License, Version 1.0. (See
-// accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// GCC Note: based on version 1.32.0 of the Boost library.
-
-/** @file tr1/boost_shared_ptr.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _BOOST_SHARED_PTR_H
-#define _BOOST_SHARED_PTR_H 1
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- class bad_weak_ptr : public std::exception
- {
- public:
- virtual char const*
- what() const throw()
- { return "tr1::bad_weak_ptr"; }
- };
-
- // Substitute for bad_weak_ptr object in the case of -fno-exceptions.
- inline void
- __throw_bad_weak_ptr()
- {
-#if __EXCEPTIONS
- throw bad_weak_ptr();
-#else
- std::abort();
-#endif
- }
-
- using __gnu_cxx::_Lock_policy;
- using __gnu_cxx::__default_lock_policy;
- using __gnu_cxx::_S_single;
- using __gnu_cxx::_S_mutex;
- using __gnu_cxx::_S_atomic;
-
- template<typename _Tp>
- struct _Sp_deleter
- {
- typedef void result_type;
- typedef _Tp* argument_type;
-
- void
- operator()(_Tp* __p) const
- { delete __p; }
- };
-
- // Empty helper class except when the template argument is _S_mutex.
- template<_Lock_policy _Lp>
- class _Mutex_base
- { };
-
- template<>
- class _Mutex_base<_S_mutex>
- : public __gnu_cxx::__mutex
- { };
-
- template<_Lock_policy _Lp = __default_lock_policy>
- class _Sp_counted_base
- : public _Mutex_base<_Lp>
- {
- public:
- _Sp_counted_base()
- : _M_use_count(1), _M_weak_count(1) { }
-
- virtual
- ~_Sp_counted_base() // nothrow
- { }
-
- // Called when _M_use_count drops to zero, to release the resources
- // managed by *this.
- virtual void
- _M_dispose() = 0; // nothrow
-
- // Called when _M_weak_count drops to zero.
- virtual void
- _M_destroy() // nothrow
- { delete this; }
-
- virtual void*
- _M_get_deleter(const std::type_info&) = 0;
-
- void
- _M_add_ref_copy()
- { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); }
-
- void
- _M_add_ref_lock();
-
- void
- _M_release() // nothrow
- {
- if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count,
- -1) == 1)
- {
- _M_dispose();
-#ifdef __GTHREADS
- _GLIBCXX_READ_MEM_BARRIER;
- _GLIBCXX_WRITE_MEM_BARRIER;
-#endif
- if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
- -1) == 1)
- _M_destroy();
- }
- }
-
- void
- _M_weak_add_ref() // nothrow
- { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); }
-
- void
- _M_weak_release() // nothrow
- {
- if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1)
- {
-#ifdef __GTHREADS
- _GLIBCXX_READ_MEM_BARRIER;
- _GLIBCXX_WRITE_MEM_BARRIER;
-#endif
- _M_destroy();
- }
- }
-
- long
- _M_get_use_count() const // nothrow
- { return _M_use_count; } // XXX is this MT safe?
-
- private:
- _Sp_counted_base(_Sp_counted_base const&);
- _Sp_counted_base& operator=(_Sp_counted_base const&);
-
- _Atomic_word _M_use_count; // #shared
- _Atomic_word _M_weak_count; // #weak + (#shared != 0)
- };
-
- template<>
- inline void
- _Sp_counted_base<_S_single>::
- _M_add_ref_lock()
- {
- if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
- {
- _M_use_count = 0;
- __throw_bad_weak_ptr();
- }
- }
-
-#ifdef __GTHREADS
- template<>
- inline void
- _Sp_counted_base<_S_mutex>::
- _M_add_ref_lock()
- {
- __gnu_cxx::__scoped_lock sentry(*this);
- if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
- {
- _M_use_count = 0;
- __throw_bad_weak_ptr();
- }
- }
-#endif
-
- template<>
- inline void
- _Sp_counted_base<_S_atomic>::
- _M_add_ref_lock()
- {
- // Perform lock-free add-if-not-zero operation.
- _Atomic_word __count;
- do
- {
- __count = _M_use_count;
- if (__count == 0)
- __throw_bad_weak_ptr();
-
- // Replace the current counter value with the old value + 1, as
- // long as it's not changed meanwhile.
- }
- while (!__sync_bool_compare_and_swap(&_M_use_count, __count,
- __count + 1));
- }
-
- template<typename _Ptr, typename _Deleter, _Lock_policy _Lp>
- class _Sp_counted_base_impl
- : public _Sp_counted_base<_Lp>
- {
- public:
- /**
- * @brief
- * @pre __d(__p) must not throw.
- */
- _Sp_counted_base_impl(_Ptr __p, _Deleter __d)
- : _M_ptr(__p), _M_del(__d) { }
-
- virtual void
- _M_dispose() // nothrow
- { _M_del(_M_ptr); }
-
- virtual void*
- _M_get_deleter(const std::type_info& __ti)
- { return __ti == typeid(_Deleter) ? &_M_del : 0; }
-
- private:
- _Sp_counted_base_impl(const _Sp_counted_base_impl&);
- _Sp_counted_base_impl& operator=(const _Sp_counted_base_impl&);
-
- _Ptr _M_ptr; // copy constructor must not throw
- _Deleter _M_del; // copy constructor must not throw
- };
-
- template<_Lock_policy _Lp = __default_lock_policy>
- class __weak_count;
-
- template<_Lock_policy _Lp = __default_lock_policy>
- class __shared_count
- {
- public:
- __shared_count()
- : _M_pi(0) // nothrow
- { }
-
- template<typename _Ptr, typename _Deleter>
- __shared_count(_Ptr __p, _Deleter __d) : _M_pi(0)
- {
- try
- {
- _M_pi = new _Sp_counted_base_impl<_Ptr, _Deleter, _Lp>(__p, __d);
- }
- catch(...)
- {
- __d(__p); // Call _Deleter on __p.
- __throw_exception_again;
- }
- }
-
- // Special case for auto_ptr<_Tp> to provide the strong guarantee.
- template<typename _Tp>
- explicit
- __shared_count(std::auto_ptr<_Tp>& __r)
- : _M_pi(new _Sp_counted_base_impl<_Tp*,
- _Sp_deleter<_Tp>, _Lp >(__r.get(), _Sp_deleter<_Tp>()))
- { __r.release(); }
-
- // Throw bad_weak_ptr when __r._M_get_use_count() == 0.
- explicit
- __shared_count(const __weak_count<_Lp>& __r);
-
- ~__shared_count() // nothrow
- {
- if (_M_pi != 0)
- _M_pi->_M_release();
- }
-
- __shared_count(const __shared_count& __r)
- : _M_pi(__r._M_pi) // nothrow
- {
- if (_M_pi != 0)
- _M_pi->_M_add_ref_copy();
- }
-
- __shared_count&
- operator=(const __shared_count& __r) // nothrow
- {
- _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
- if (__tmp != _M_pi)
- {
- if (__tmp != 0)
- __tmp->_M_add_ref_copy();
- if (_M_pi != 0)
- _M_pi->_M_release();
- _M_pi = __tmp;
- }
- return *this;
- }
-
- void
- _M_swap(__shared_count& __r) // nothrow
- {
- _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
- __r._M_pi = _M_pi;
- _M_pi = __tmp;
- }
-
- long
- _M_get_use_count() const // nothrow
- { return _M_pi != 0 ? _M_pi->_M_get_use_count() : 0; }
-
- bool
- _M_unique() const // nothrow
- { return this->_M_get_use_count() == 1; }
-
- friend inline bool
- operator==(const __shared_count& __a, const __shared_count& __b)
- { return __a._M_pi == __b._M_pi; }
-
- friend inline bool
- operator<(const __shared_count& __a, const __shared_count& __b)
- { return std::less<_Sp_counted_base<_Lp>*>()(__a._M_pi, __b._M_pi); }
-
- void*
- _M_get_deleter(const std::type_info& __ti) const
- { return _M_pi ? _M_pi->_M_get_deleter(__ti) : 0; }
-
- private:
- friend class __weak_count<_Lp>;
-
- _Sp_counted_base<_Lp>* _M_pi;
- };
-
- template<_Lock_policy _Lp>
- class __weak_count
- {
- public:
- __weak_count()
- : _M_pi(0) // nothrow
- { }
-
- __weak_count(const __shared_count<_Lp>& __r)
- : _M_pi(__r._M_pi) // nothrow
- {
- if (_M_pi != 0)
- _M_pi->_M_weak_add_ref();
- }
-
- __weak_count(const __weak_count<_Lp>& __r)
- : _M_pi(__r._M_pi) // nothrow
- {
- if (_M_pi != 0)
- _M_pi->_M_weak_add_ref();
- }
-
- ~__weak_count() // nothrow
- {
- if (_M_pi != 0)
- _M_pi->_M_weak_release();
- }
-
- __weak_count<_Lp>&
- operator=(const __shared_count<_Lp>& __r) // nothrow
- {
- _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
- if (__tmp != 0)
- __tmp->_M_weak_add_ref();
- if (_M_pi != 0)
- _M_pi->_M_weak_release();
- _M_pi = __tmp;
- return *this;
- }
-
- __weak_count<_Lp>&
- operator=(const __weak_count<_Lp>& __r) // nothrow
- {
- _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
- if (__tmp != 0)
- __tmp->_M_weak_add_ref();
- if (_M_pi != 0)
- _M_pi->_M_weak_release();
- _M_pi = __tmp;
- return *this;
- }
-
- void
- _M_swap(__weak_count<_Lp>& __r) // nothrow
- {
- _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
- __r._M_pi = _M_pi;
- _M_pi = __tmp;
- }
-
- long
- _M_get_use_count() const // nothrow
- { return _M_pi != 0 ? _M_pi->_M_get_use_count() : 0; }
-
- friend inline bool
- operator==(const __weak_count<_Lp>& __a, const __weak_count<_Lp>& __b)
- { return __a._M_pi == __b._M_pi; }
-
- friend inline bool
- operator<(const __weak_count<_Lp>& __a, const __weak_count<_Lp>& __b)
- { return std::less<_Sp_counted_base<_Lp>*>()(__a._M_pi, __b._M_pi); }
-
- private:
- friend class __shared_count<_Lp>;
-
- _Sp_counted_base<_Lp>* _M_pi;
- };
-
- template<_Lock_policy _Lp>
- inline
- __shared_count<_Lp>::
- __shared_count(const __weak_count<_Lp>& __r)
- : _M_pi(__r._M_pi)
- {
- if (_M_pi != 0)
- _M_pi->_M_add_ref_lock();
- else
- __throw_bad_weak_ptr();
- }
-
-
- // Forward declarations.
- template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
- class __shared_ptr;
-
- template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
- class __weak_ptr;
-
- template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
- class __enable_shared_from_this;
-
- template<typename _Tp>
- class shared_ptr;
-
- template<typename _Tp>
- class weak_ptr;
-
- template<typename _Tp>
- class enable_shared_from_this;
-
- // Support for enable_shared_from_this.
-
- // Friend of __enable_shared_from_this.
- template<_Lock_policy _Lp, typename _Tp1, typename _Tp2>
- void
- __enable_shared_from_this_helper(const __shared_count<_Lp>&,
- const __enable_shared_from_this<_Tp1,
- _Lp>*, const _Tp2*);
-
- // Friend of enable_shared_from_this.
- template<typename _Tp1, typename _Tp2>
- void
- __enable_shared_from_this_helper(const __shared_count<>&,
- const enable_shared_from_this<_Tp1>*,
- const _Tp2*);
-
- template<_Lock_policy _Lp>
- inline void
- __enable_shared_from_this_helper(const __shared_count<_Lp>&, ...)
- { }
-
-
- struct __static_cast_tag { };
- struct __const_cast_tag { };
- struct __dynamic_cast_tag { };
-
- /**
- * @class shared_ptr <tr1/memory>
- *
- * A smart pointer with reference-counted copy semantics.
- * The object pointed to is deleted when the last shared_ptr pointing to
- * it is destroyed or reset.
- */
- template<typename _Tp, _Lock_policy _Lp>
- class __shared_ptr
- {
- public:
- typedef _Tp element_type;
-
- /** @brief Construct an empty %__shared_ptr.
- * @post use_count()==0 && get()==0
- */
- __shared_ptr()
- : _M_ptr(0), _M_refcount() // never throws
- { }
-
- /** @brief Construct a %__shared_ptr that owns the pointer @a __p.
- * @param __p A pointer that is convertible to element_type*.
- * @post use_count() == 1 && get() == __p
- * @throw std::bad_alloc, in which case @c delete @a __p is called.
- */
- template<typename _Tp1>
- explicit
- __shared_ptr(_Tp1* __p)
- : _M_ptr(__p), _M_refcount(__p, _Sp_deleter<_Tp1>())
- {
- __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>)
- // __glibcxx_function_requires(_CompleteConcept<_Tp1*>)
- __enable_shared_from_this_helper(_M_refcount, __p, __p);
- }
-
- //
- // Requirements: _Deleter' copy constructor and destructor must not throw
- //
- // __shared_ptr will release __p by calling __d(__p)
- //
- /** @brief Construct a %__shared_ptr that owns the pointer @a __p
- * and the deleter @a __d.
- * @param __p A pointer.
- * @param __d A deleter.
- * @post use_count() == 1 && get() == __p
- * @throw std::bad_alloc, in which case @a __d(__p) is called.
- */
- template<typename _Tp1, typename _Deleter>
- __shared_ptr(_Tp1* __p, _Deleter __d)
- : _M_ptr(__p), _M_refcount(__p, __d)
- {
- __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>)
- // TODO requires _Deleter CopyConstructible and __d(__p) well-formed
- __enable_shared_from_this_helper(_M_refcount, __p, __p);
- }
-
- // generated copy constructor, assignment, destructor are fine.
-
- /** @brief If @a __r is empty, constructs an empty %__shared_ptr;
- * otherwise construct a %__shared_ptr that shares ownership
- * with @a __r.
- * @param __r A %__shared_ptr.
- * @post get() == __r.get() && use_count() == __r.use_count()
- * @throw std::bad_alloc, in which case
- */
- template<typename _Tp1>
- __shared_ptr(const __shared_ptr<_Tp1, _Lp>& __r)
- : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) // never throws
- { __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>) }
-
- /** @brief Constructs a %__shared_ptr that shares ownership with @a __r
- * and stores a copy of the pointer stored in @a __r.
- * @param __r A weak_ptr.
- * @post use_count() == __r.use_count()
- * @throw bad_weak_ptr when __r.expired(),
- * in which case the constructor has no effect.
- */
- template<typename _Tp1>
- explicit
- __shared_ptr(const __weak_ptr<_Tp1, _Lp>& __r)
- : _M_refcount(__r._M_refcount) // may throw
- {
- __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>)
- // It is now safe to copy __r._M_ptr, as _M_refcount(__r._M_refcount)
- // did not throw.
- _M_ptr = __r._M_ptr;
- }
-
- /**
- * @post use_count() == 1 and __r.get() == 0
- */
- template<typename _Tp1>
- explicit
- __shared_ptr(std::auto_ptr<_Tp1>& __r)
- : _M_ptr(__r.get()), _M_refcount()
- {
- // TODO requires __r.release() convertible to _Tp*, _Tp1 is complete,
- // delete __r.release() well-formed
- _Tp1* __tmp = __r.get();
- _M_refcount = __shared_count<_Lp>(__r);
- __enable_shared_from_this_helper(_M_refcount, __tmp, __tmp);
- }
-
- template<typename _Tp1>
- __shared_ptr(const __shared_ptr<_Tp1, _Lp>& __r, __static_cast_tag)
- : _M_ptr(static_cast<element_type*>(__r._M_ptr)),
- _M_refcount(__r._M_refcount)
- { }
-
- template<typename _Tp1>
- __shared_ptr(const __shared_ptr<_Tp1, _Lp>& __r, __const_cast_tag)
- : _M_ptr(const_cast<element_type*>(__r._M_ptr)),
- _M_refcount(__r._M_refcount)
- { }
-
- template<typename _Tp1>
- __shared_ptr(const __shared_ptr<_Tp1, _Lp>& __r, __dynamic_cast_tag)
- : _M_ptr(dynamic_cast<element_type*>(__r._M_ptr)),
- _M_refcount(__r._M_refcount)
- {
- if (_M_ptr == 0) // need to allocate new counter -- the cast failed
- _M_refcount = __shared_count<_Lp>();
- }
-
- template<typename _Tp1>
- __shared_ptr&
- operator=(const __shared_ptr<_Tp1, _Lp>& __r) // never throws
- {
- _M_ptr = __r._M_ptr;
- _M_refcount = __r._M_refcount; // __shared_count::op= doesn't throw
- return *this;
- }
-
- template<typename _Tp1>
- __shared_ptr&
- operator=(std::auto_ptr<_Tp1>& __r)
- {
- __shared_ptr(__r).swap(*this);
- return *this;
- }
-
- void
- reset() // never throws
- { __shared_ptr().swap(*this); }
-
- template<typename _Tp1>
- void
- reset(_Tp1* __p) // _Tp1 must be complete.
- {
- // Catch self-reset errors.
- _GLIBCXX_DEBUG_ASSERT(__p == 0 || __p != _M_ptr);
- __shared_ptr(__p).swap(*this);
- }
-
- template<typename _Tp1, typename _Deleter>
- void
- reset(_Tp1* __p, _Deleter __d)
- { __shared_ptr(__p, __d).swap(*this); }
-
- // Allow class instantiation when _Tp is [cv-qual] void.
- typename add_reference<_Tp>::type
- operator*() const // never throws
- {
- _GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);
- return *_M_ptr;
- }
-
- _Tp*
- operator->() const // never throws
- {
- _GLIBCXX_DEBUG_ASSERT(_M_ptr != 0);
- return _M_ptr;
- }
-
- _Tp*
- get() const // never throws
- { return _M_ptr; }
-
- // Implicit conversion to "bool"
- private:
- typedef _Tp* __shared_ptr::*__unspecified_bool_type;
-
- public:
- operator __unspecified_bool_type() const // never throws
- { return _M_ptr == 0 ? 0 : &__shared_ptr::_M_ptr; }
-
- bool
- unique() const // never throws
- { return _M_refcount._M_unique(); }
-
- long
- use_count() const // never throws
- { return _M_refcount._M_get_use_count(); }
-
- void
- swap(__shared_ptr<_Tp, _Lp>& __other) // never throws
- {
- std::swap(_M_ptr, __other._M_ptr);
- _M_refcount._M_swap(__other._M_refcount);
- }
-
- private:
- void*
- _M_get_deleter(const std::type_info& __ti) const
- { return _M_refcount._M_get_deleter(__ti); }
-
- template<typename _Tp1, _Lock_policy _Lp1>
- bool
- _M_less(const __shared_ptr<_Tp1, _Lp1>& __rhs) const
- { return _M_refcount < __rhs._M_refcount; }
-
- template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
- template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
-
- template<typename _Del, typename _Tp1, _Lock_policy _Lp1>
- friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&);
-
- // Friends injected into enclosing namespace and found by ADL:
- template<typename _Tp1>
- friend inline bool
- operator==(const __shared_ptr& __a, const __shared_ptr<_Tp1, _Lp>& __b)
- { return __a.get() == __b.get(); }
-
- template<typename _Tp1>
- friend inline bool
- operator!=(const __shared_ptr& __a, const __shared_ptr<_Tp1, _Lp>& __b)
- { return __a.get() != __b.get(); }
-
- template<typename _Tp1>
- friend inline bool
- operator<(const __shared_ptr& __a, const __shared_ptr<_Tp1, _Lp>& __b)
- { return __a._M_less(__b); }
-
- _Tp* _M_ptr; // Contained pointer.
- __shared_count<_Lp> _M_refcount; // Reference counter.
- };
-
- // 2.2.3.8 shared_ptr specialized algorithms.
- template<typename _Tp, _Lock_policy _Lp>
- inline void
- swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b)
- { __a.swap(__b); }
-
- // 2.2.3.9 shared_ptr casts
- /** @warning The seemingly equivalent
- * <code>shared_ptr<_Tp, _Lp>(static_cast<_Tp*>(__r.get()))</code>
- * will eventually result in undefined behaviour,
- * attempting to delete the same object twice.
- */
- template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
- __shared_ptr<_Tp, _Lp>
- static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r)
- { return __shared_ptr<_Tp, _Lp>(__r, __static_cast_tag()); }
-
- /** @warning The seemingly equivalent
- * <code>shared_ptr<_Tp, _Lp>(const_cast<_Tp*>(__r.get()))</code>
- * will eventually result in undefined behaviour,
- * attempting to delete the same object twice.
- */
- template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
- __shared_ptr<_Tp, _Lp>
- const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r)
- { return __shared_ptr<_Tp, _Lp>(__r, __const_cast_tag()); }
-
- /** @warning The seemingly equivalent
- * <code>shared_ptr<_Tp, _Lp>(dynamic_cast<_Tp*>(__r.get()))</code>
- * will eventually result in undefined behaviour,
- * attempting to delete the same object twice.
- */
- template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
- __shared_ptr<_Tp, _Lp>
- dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r)
- { return __shared_ptr<_Tp, _Lp>(__r, __dynamic_cast_tag()); }
-
- // 2.2.3.7 shared_ptr I/O
- template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp>
- std::basic_ostream<_Ch, _Tr>&
- operator<<(std::basic_ostream<_Ch, _Tr>& __os,
- const __shared_ptr<_Tp, _Lp>& __p)
- {
- __os << __p.get();
- return __os;
- }
-
- // 2.2.3.10 shared_ptr get_deleter (experimental)
- template<typename _Del, typename _Tp, _Lock_policy _Lp>
- inline _Del*
- get_deleter(const __shared_ptr<_Tp, _Lp>& __p)
- { return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); }
-
-
- template<typename _Tp, _Lock_policy _Lp>
- class __weak_ptr
- {
- public:
- typedef _Tp element_type;
-
- __weak_ptr()
- : _M_ptr(0), _M_refcount() // never throws
- { }
-
- // Generated copy constructor, assignment, destructor are fine.
-
- // The "obvious" converting constructor implementation:
- //
- // template<typename _Tp1>
- // __weak_ptr(const __weak_ptr<_Tp1, _Lp>& __r)
- // : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) // never throws
- // { }
- //
- // has a serious problem.
- //
- // __r._M_ptr may already have been invalidated. The _M_ptr(__r._M_ptr)
- // conversion may require access to *__r._M_ptr (virtual inheritance).
- //
- // It is not possible to avoid spurious access violations since
- // in multithreaded programs __r._M_ptr may be invalidated at any point.
- template<typename _Tp1>
- __weak_ptr(const __weak_ptr<_Tp1, _Lp>& __r)
- : _M_refcount(__r._M_refcount) // never throws
- {
- __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>)
- _M_ptr = __r.lock().get();
- }
-
- template<typename _Tp1>
- __weak_ptr(const __shared_ptr<_Tp1, _Lp>& __r)
- : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) // never throws
- { __glibcxx_function_requires(_ConvertibleConcept<_Tp1*, _Tp*>) }
-
- template<typename _Tp1>
- __weak_ptr&
- operator=(const __weak_ptr<_Tp1, _Lp>& __r) // never throws
- {
- _M_ptr = __r.lock().get();
- _M_refcount = __r._M_refcount;
- return *this;
- }
-
- template<typename _Tp1>
- __weak_ptr&
- operator=(const __shared_ptr<_Tp1, _Lp>& __r) // never throws
- {
- _M_ptr = __r._M_ptr;
- _M_refcount = __r._M_refcount;
- return *this;
- }
-
- __shared_ptr<_Tp, _Lp>
- lock() const // never throws
- {
-#ifdef __GTHREADS
- // Optimization: avoid throw overhead.
- if (expired())
- return __shared_ptr<element_type, _Lp>();
-
- try
- {
- return __shared_ptr<element_type, _Lp>(*this);
- }
- catch(const bad_weak_ptr&)
- {
- // Q: How can we get here?
- // A: Another thread may have invalidated r after the
- // use_count test above.
- return __shared_ptr<element_type, _Lp>();
- }
-
-#else
- // Optimization: avoid try/catch overhead when single threaded.
- return expired() ? __shared_ptr<element_type, _Lp>()
- : __shared_ptr<element_type, _Lp>(*this);
-
-#endif
- } // XXX MT
-
- long
- use_count() const // never throws
- { return _M_refcount._M_get_use_count(); }
-
- bool
- expired() const // never throws
- { return _M_refcount._M_get_use_count() == 0; }
-
- void
- reset() // never throws
- { __weak_ptr().swap(*this); }
-
- void
- swap(__weak_ptr& __s) // never throws
- {
- std::swap(_M_ptr, __s._M_ptr);
- _M_refcount._M_swap(__s._M_refcount);
- }
-
- private:
- // Used by __enable_shared_from_this.
- void
- _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount)
- {
- _M_ptr = __ptr;
- _M_refcount = __refcount;
- }
-
- template<typename _Tp1>
- bool
- _M_less(const __weak_ptr<_Tp1, _Lp>& __rhs) const
- { return _M_refcount < __rhs._M_refcount; }
-
- template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
- template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
- friend class __enable_shared_from_this<_Tp, _Lp>;
- friend class enable_shared_from_this<_Tp>;
-
- // Friend injected into namespace and found by ADL.
- template<typename _Tp1>
- friend inline bool
- operator<(const __weak_ptr& __lhs, const __weak_ptr<_Tp1, _Lp>& __rhs)
- { return __lhs._M_less(__rhs); }
-
- _Tp* _M_ptr; // Contained pointer.
- __weak_count<_Lp> _M_refcount; // Reference counter.
- };
-
- // 2.2.4.7 weak_ptr specialized algorithms.
- template<typename _Tp, _Lock_policy _Lp>
- inline void
- swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b)
- { __a.swap(__b); }
-
-
- template<typename _Tp, _Lock_policy _Lp>
- class __enable_shared_from_this
- {
- protected:
- __enable_shared_from_this() { }
-
- __enable_shared_from_this(const __enable_shared_from_this&) { }
-
- __enable_shared_from_this&
- operator=(const __enable_shared_from_this&)
- { return *this; }
-
- ~__enable_shared_from_this() { }
-
- public:
- __shared_ptr<_Tp, _Lp>
- shared_from_this()
- { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
-
- __shared_ptr<const _Tp, _Lp>
- shared_from_this() const
- { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
-
- private:
- template<typename _Tp1>
- void
- _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const
- { _M_weak_this._M_assign(__p, __n); }
-
- template<typename _Tp1>
- friend void
- __enable_shared_from_this_helper(const __shared_count<_Lp>& __pn,
- const __enable_shared_from_this* __pe,
- const _Tp1* __px)
- {
- if (__pe != 0)
- __pe->_M_weak_assign(const_cast<_Tp1*>(__px), __pn);
- }
-
- mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
- };
-
-
- // The actual TR1 shared_ptr, with forwarding constructors and
- // assignment operators.
- template<typename _Tp>
- class shared_ptr
- : public __shared_ptr<_Tp>
- {
- public:
- shared_ptr()
- : __shared_ptr<_Tp>() { }
-
- template<typename _Tp1>
- explicit
- shared_ptr(_Tp1* __p)
- : __shared_ptr<_Tp>(__p) { }
-
- template<typename _Tp1, typename _Deleter>
- shared_ptr(_Tp1* __p, _Deleter __d)
- : __shared_ptr<_Tp>(__p, __d) { }
-
- template<typename _Tp1>
- shared_ptr(const shared_ptr<_Tp1>& __r)
- : __shared_ptr<_Tp>(__r) { }
-
- template<typename _Tp1>
- explicit
- shared_ptr(const weak_ptr<_Tp1>& __r)
- : __shared_ptr<_Tp>(__r) { }
-
- template<typename _Tp1>
- explicit
- shared_ptr(std::auto_ptr<_Tp1>& __r)
- : __shared_ptr<_Tp>(__r) { }
-
- template<typename _Tp1>
- shared_ptr(const shared_ptr<_Tp1>& __r, __static_cast_tag)
- : __shared_ptr<_Tp>(__r, __static_cast_tag()) { }
-
- template<typename _Tp1>
- shared_ptr(const shared_ptr<_Tp1>& __r, __const_cast_tag)
- : __shared_ptr<_Tp>(__r, __const_cast_tag()) { }
-
- template<typename _Tp1>
- shared_ptr(const shared_ptr<_Tp1>& __r, __dynamic_cast_tag)
- : __shared_ptr<_Tp>(__r, __dynamic_cast_tag()) { }
-
- template<typename _Tp1>
- shared_ptr&
- operator=(const shared_ptr<_Tp1>& __r) // never throws
- {
- this->__shared_ptr<_Tp>::operator=(__r);
- return *this;
- }
-
- template<typename _Tp1>
- shared_ptr&
- operator=(std::auto_ptr<_Tp1>& __r)
- {
- this->__shared_ptr<_Tp>::operator=(__r);
- return *this;
- }
- };
-
- template<typename _Tp, typename _Tp1>
- shared_ptr<_Tp>
- static_pointer_cast(const shared_ptr<_Tp1>& __r)
- { return shared_ptr<_Tp>(__r, __static_cast_tag()); }
-
- template<typename _Tp, typename _Tp1>
- shared_ptr<_Tp>
- const_pointer_cast(const shared_ptr<_Tp1>& __r)
- { return shared_ptr<_Tp>(__r, __const_cast_tag()); }
-
- template<typename _Tp, typename _Tp1>
- shared_ptr<_Tp>
- dynamic_pointer_cast(const shared_ptr<_Tp1>& __r)
- { return shared_ptr<_Tp>(__r, __dynamic_cast_tag()); }
-
-
- // The actual TR1 weak_ptr, with forwarding constructors and
- // assignment operators.
- template<typename _Tp>
- class weak_ptr
- : public __weak_ptr<_Tp>
- {
- public:
- weak_ptr()
- : __weak_ptr<_Tp>() { }
-
- template<typename _Tp1>
- weak_ptr(const weak_ptr<_Tp1>& __r)
- : __weak_ptr<_Tp>(__r) { }
-
- template<typename _Tp1>
- weak_ptr(const shared_ptr<_Tp1>& __r)
- : __weak_ptr<_Tp>(__r) { }
-
- template<typename _Tp1>
- weak_ptr&
- operator=(const weak_ptr<_Tp1>& __r) // never throws
- {
- this->__weak_ptr<_Tp>::operator=(__r);
- return *this;
- }
-
- template<typename _Tp1>
- weak_ptr&
- operator=(const shared_ptr<_Tp1>& __r) // never throws
- {
- this->__weak_ptr<_Tp>::operator=(__r);
- return *this;
- }
-
- shared_ptr<_Tp>
- lock() const // never throws
- {
-#ifdef __GTHREADS
- if (this->expired())
- return shared_ptr<_Tp>();
-
- try
- {
- return shared_ptr<_Tp>(*this);
- }
- catch(const bad_weak_ptr&)
- {
- return shared_ptr<_Tp>();
- }
-#else
- return this->expired() ? shared_ptr<_Tp>()
- : shared_ptr<_Tp>(*this);
-#endif
- }
- };
-
-
- template<typename _Tp>
- class enable_shared_from_this
- {
- protected:
- enable_shared_from_this() { }
-
- enable_shared_from_this(const enable_shared_from_this&) { }
-
- enable_shared_from_this&
- operator=(const enable_shared_from_this&)
- { return *this; }
-
- ~enable_shared_from_this() { }
-
- public:
- shared_ptr<_Tp>
- shared_from_this()
- { return shared_ptr<_Tp>(this->_M_weak_this); }
-
- shared_ptr<const _Tp>
- shared_from_this() const
- { return shared_ptr<const _Tp>(this->_M_weak_this); }
-
- private:
- template<typename _Tp1>
- void
- _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const
- { _M_weak_this._M_assign(__p, __n); }
-
- template<typename _Tp1>
- friend void
- __enable_shared_from_this_helper(const __shared_count<>& __pn,
- const enable_shared_from_this* __pe,
- const _Tp1* __px)
- {
- if (__pe != 0)
- __pe->_M_weak_assign(const_cast<_Tp1*>(__px), __pn);
- }
-
- mutable weak_ptr<_Tp> _M_weak_this;
- };
-
-_GLIBCXX_END_NAMESPACE
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cctype b/contrib/libstdc++/include/tr1/cctype
deleted file mode 100644
index 8ddfa89002e0..000000000000
--- a/contrib/libstdc++/include/tr1/cctype
+++ /dev/null
@@ -1,56 +0,0 @@
-// TR1 cctype -*- C++ -*-
-
-// Copyright (C) 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 tr1/cctype
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CCTYPE
-#define _TR1_CCTYPE 1
-
-#include <bits/c++config.h>
-#include <cctype>
-
-#if _GLIBCXX_USE_C99_CTYPE_TR1
-
-#undef isblank
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- using ::isblank;
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cfenv b/contrib/libstdc++/include/tr1/cfenv
deleted file mode 100644
index ddcce74c591a..000000000000
--- a/contrib/libstdc++/include/tr1/cfenv
+++ /dev/null
@@ -1,84 +0,0 @@
-// TR1 cctype -*- C++ -*-
-
-// Copyright (C) 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 tr1/cfenv
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CFENV
-#define _TR1_CFENV 1
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_USE_C99_FENV_TR1
-
-#include <fenv.h>
-
-#undef feclearexcept
-#undef fegetexceptflag
-#undef feraiseexcept
-#undef fesetexceptflag
-#undef fetestexcept
-#undef fegetround
-#undef fesetround
-#undef fegetenv
-#undef feholdexcept
-#undef fesetenv
-#undef feupdateenv
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // types
- using ::fenv_t;
- using ::fexcept_t;
-
- // functions
- using ::feclearexcept;
- using ::fegetexceptflag;
- using ::feraiseexcept;
- using ::fesetexceptflag;
- using ::fetestexcept;
-
- using ::fegetround;
- using ::fesetround;
-
- using ::fegetenv;
- using ::feholdexcept;
- using ::fesetenv;
- using ::feupdateenv;
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cfloat b/contrib/libstdc++/include/tr1/cfloat
deleted file mode 100644
index 1514ff76066c..000000000000
--- a/contrib/libstdc++/include/tr1/cfloat
+++ /dev/null
@@ -1,47 +0,0 @@
-// TR1 cfloat -*- C++ -*-
-
-// Copyright (C) 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 tr1/cfloat
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CFLOAT
-#define _TR1_CFLOAT 1
-
-#include <cfloat>
-
-#ifndef DECIMAL_DIG
-#define DECIMAL_DIG __DECIMAL_DIG__
-#endif
-
-#ifndef FLT_EVAL_METHOD
-#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cinttypes b/contrib/libstdc++/include/tr1/cinttypes
deleted file mode 100644
index 03bdd30c6157..000000000000
--- a/contrib/libstdc++/include/tr1/cinttypes
+++ /dev/null
@@ -1,81 +0,0 @@
-// TR1 cinttypes -*- C++ -*-
-
-// Copyright (C) 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 tr1/cinttypes
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CINTTYPES
-#define _TR1_CINTTYPES 1
-
-#include <bits/c++config.h>
-#include <tr1/cstdint>
-
-#if _GLIBCXX_USE_C99_INTTYPES_TR1
-
-// For 8.11.1/1 (see C99, Note 184)
-#define __STDC_FORMAT_MACROS
-#include <inttypes.h>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // types
- using ::imaxdiv_t;
-
- // functions
- using ::imaxabs;
-
- // May collide with _Longlong abs(_Longlong), and is not described
- // anywhere outside the synopsis. Likely, a defect.
- //
- // intmax_t abs(intmax_t)
-
- using ::imaxdiv;
-
- // Likewise, with lldiv_t div(_Longlong, _Longlong).
- //
- // imaxdiv_t div(intmax_t, intmax_t)
-
- using ::strtoimax;
- using ::strtoumax;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- using ::wcstoimax;
- using ::wcstoumax;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/climits b/contrib/libstdc++/include/tr1/climits
deleted file mode 100644
index dc047299d77a..000000000000
--- a/contrib/libstdc++/include/tr1/climits
+++ /dev/null
@@ -1,51 +0,0 @@
-// TR1 climits -*- C++ -*-
-
-// Copyright (C) 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 tr1/climits
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CLIMITS
-#define _TR1_CLIMITS 1
-
-#include <climits>
-
-#ifndef LLONG_MIN
-#define LLONG_MIN -__LONG_LONG_MAX__ - 1
-#endif
-
-#ifndef LLONG_MAX
-#define LLONG_MAX __LONG_LONG_MAX__
-#endif
-
-#ifndef ULLONG_MAX
-#define ULLONG_MAX __LONG_LONG_MAX__ * 2ULL + 1
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cmath b/contrib/libstdc++/include/tr1/cmath
deleted file mode 100644
index f08e86f73de0..000000000000
--- a/contrib/libstdc++/include/tr1/cmath
+++ /dev/null
@@ -1,943 +0,0 @@
-// TR1 cmath -*- C++ -*-
-
-// Copyright (C) 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 tr1/cmath
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CMATH
-#define _TR1_CMATH 1
-
-#include <bits/c++config.h>
-#include <cmath>
-#include <tr1/common.h>
-
-#if _GLIBCXX_USE_C99_MATH_TR1
-
-#undef acosh
-#undef acoshf
-#undef acoshl
-#undef asinh
-#undef asinhf
-#undef asinhl
-#undef atanh
-#undef atanhf
-#undef atanhl
-#undef cbrt
-#undef cbrtf
-#undef cbrtl
-#undef copysign
-#undef copysignf
-#undef copysignl
-#undef erf
-#undef erff
-#undef erfl
-#undef erfc
-#undef erfcf
-#undef erfcl
-#undef exp2
-#undef exp2f
-#undef exp2l
-#undef expm1
-#undef expm1f
-#undef expm1l
-#undef fdim
-#undef fdimf
-#undef fdiml
-#undef fma
-#undef fmaf
-#undef fmal
-#undef fmax
-#undef fmaxf
-#undef fmaxl
-#undef fmin
-#undef fminf
-#undef fminl
-#undef hypot
-#undef hypotf
-#undef hypotl
-#undef ilogb
-#undef ilogbf
-#undef ilogbl
-#undef lgamma
-#undef lgammaf
-#undef lgammal
-#undef llrint
-#undef llrintf
-#undef llrintl
-#undef llround
-#undef llroundf
-#undef llroundl
-#undef log1p
-#undef log1pf
-#undef log1pl
-#undef log2
-#undef log2f
-#undef log2l
-#undef logb
-#undef logbf
-#undef logbl
-#undef lrint
-#undef lrintf
-#undef lrintl
-#undef lround
-#undef lroundf
-#undef lroundl
-#undef nan
-#undef nanf
-#undef nanl
-#undef nearbyint
-#undef nearbyintf
-#undef nearbyintl
-#undef nextafter
-#undef nextafterf
-#undef nextafterl
-#undef nexttoward
-#undef nexttowardf
-#undef nexttowardl
-#undef remainder
-#undef remainderf
-#undef remainderl
-#undef remquo
-#undef remquo
-#undef remquo
-#undef rint
-#undef rintf
-#undef rintl
-#undef round
-#undef roundf
-#undef roundl
-#undef scalbln
-#undef scalblnf
-#undef scalblnl
-#undef scalbn
-#undef scalbnf
-#undef scalbnl
-#undef tgamma
-#undef tgammaf
-#undef tgammal
-#undef trunc
-#undef truncf
-#undef truncl
-
-#endif
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-#if _GLIBCXX_USE_C99_MATH_TR1
-
- // types
- using ::double_t;
- using ::float_t;
-
- // functions
- using ::acosh;
- using ::acoshf;
- using ::acoshl;
-
- using ::asinh;
- using ::asinhf;
- using ::asinhl;
-
- using ::atanh;
- using ::atanhf;
- using ::atanhl;
-
- using ::cbrt;
- using ::cbrtf;
- using ::cbrtl;
-
- using ::copysign;
- using ::copysignf;
- using ::copysignl;
-
- using ::erf;
- using ::erff;
- using ::erfl;
-
- using ::erfc;
- using ::erfcf;
- using ::erfcl;
-
- using ::exp2;
- using ::exp2f;
- using ::exp2l;
-
- using ::expm1;
- using ::expm1f;
- using ::expm1l;
-
- using ::fdim;
- using ::fdimf;
- using ::fdiml;
-
- using ::fma;
- using ::fmaf;
- using ::fmal;
-
- using ::fmax;
- using ::fmaxf;
- using ::fmaxl;
-
- using ::fmin;
- using ::fminf;
- using ::fminl;
-
- using ::hypot;
- using ::hypotf;
- using ::hypotl;
-
- using ::ilogb;
- using ::ilogbf;
- using ::ilogbl;
-
- using ::lgamma;
- using ::lgammaf;
- using ::lgammal;
-
- using ::llrint;
- using ::llrintf;
- using ::llrintl;
-
- using ::llround;
- using ::llroundf;
- using ::llroundl;
-
- using ::log1p;
- using ::log1pf;
- using ::log1pl;
-
- using ::log2;
- using ::log2f;
- using ::log2l;
-
- using ::logb;
- using ::logbf;
- using ::logbl;
-
- using ::lrint;
- using ::lrintf;
- using ::lrintl;
-
- using ::lround;
- using ::lroundf;
- using ::lroundl;
-
- using ::nan;
- using ::nanf;
- using ::nanl;
-
- using ::nearbyint;
- using ::nearbyintf;
- using ::nearbyintl;
-
- using ::nextafter;
- using ::nextafterf;
- using ::nextafterl;
-
- using ::nexttoward;
- using ::nexttowardf;
- using ::nexttowardl;
-
- using ::remainder;
- using ::remainderf;
- using ::remainderl;
-
- using ::remquo;
- using ::remquo;
- using ::remquo;
-
- using ::rint;
- using ::rintf;
- using ::rintl;
-
- using ::round;
- using ::roundf;
- using ::roundl;
-
- using ::scalbln;
- using ::scalblnf;
- using ::scalblnl;
-
- using ::scalbn;
- using ::scalbnf;
- using ::scalbnl;
-
- using ::tgamma;
- using ::tgammaf;
- using ::tgammal;
-
- using ::trunc;
- using ::truncf;
- using ::truncl;
-
-#endif
-
-#if _GLIBCXX_USE_C99_MATH
-#if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
-
- /// @brief Function template definitions [8.16.3].
- //
- using std::signbit;
-
- using std::fpclassify;
-
- using std::isfinite;
- using std::isinf;
- using std::isnan;
- using std::isnormal;
-
- using std::isgreater;
- using std::isgreaterequal;
- using std::isless;
- using std::islessequal;
- using std::islessgreater;
- using std::isunordered;
-#endif
-#endif
-
-#if _GLIBCXX_USE_C99_MATH_TR1
-
- /// @brief Additional overloads [8.16.4].
- //
- using std::acos;
-
- inline float
- acosh(float __x)
- { return __builtin_acoshf(__x); }
-
- inline long double
- acosh(long double __x)
- { return __builtin_acoshl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- acosh(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return acosh(__type(__x));
- }
-
- using std::asin;
-
- inline float
- asinh(float __x)
- { return __builtin_asinhf(__x); }
-
- inline long double
- asinh(long double __x)
- { return __builtin_asinhl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- asinh(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return asinh(__type(__x));
- }
-
- using std::atan;
-
- // Workaround for c++/21682.
- namespace __detail
- {
- template<typename _Tp, typename _Up>
- inline typename
- __gnu_cxx::__enable_if<std::__is_floating<_Tp>::__value
- || std::__is_floating<_Up>::__value,
- typename
- std::tr1::__promote_2<_Tp, _Up>::__type>::__type
- atan2(_Tp __y, _Up __x)
- {
- typedef typename std::tr1::__promote_2<_Tp, _Up>::__type __type;
- return std::atan2(__type(__y), __type(__x));
- }
- } // namespace __detail
-
- using std::atan2;
- using __detail::atan2;
-
- inline float
- atanh(float __x)
- { return __builtin_atanhf(__x); }
-
- inline long double
- atanh(long double __x)
- { return __builtin_atanhl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- atanh(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return atanh(__type(__x));
- }
-
- inline float
- cbrt(float __x)
- { return __builtin_cbrtf(__x); }
-
- inline long double
- cbrt(long double __x)
- { return __builtin_cbrtl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- cbrt(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return cbrt(__type(__x));
- }
-
- using std::ceil;
-
- inline float
- copysign(float __x, float __y)
- { return __builtin_copysignf(__x, __y); }
-
- inline long double
- copysign(long double __x, long double __y)
- { return __builtin_copysignl(__x, __y); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- copysign(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return copysign(__type(__x), __type(__y));
- }
-
- using std::cos;
- using std::cosh;
-
- inline float
- erf(float __x)
- { return __builtin_erff(__x); }
-
- inline long double
- erf(long double __x)
- { return __builtin_erfl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- erf(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return erf(__type(__x));
- }
-
- inline float
- erfc(float __x)
- { return __builtin_erfcf(__x); }
-
- inline long double
- erfc(long double __x)
- { return __builtin_erfcl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- erfc(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return erfc(__type(__x));
- }
-
- using std::exp;
-
- inline float
- exp2(float __x)
- { return __builtin_exp2f(__x); }
-
- inline long double
- exp2(long double __x)
- { return __builtin_exp2l(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- exp2(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return exp2(__type(__x));
- }
-
- inline float
- expm1(float __x)
- { return __builtin_expm1f(__x); }
-
- inline long double
- expm1(long double __x)
- { return __builtin_expm1l(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- expm1(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return expm1(__type(__x));
- }
-
- using std::fabs;
-
- inline float
- fdim(float __x, float __y)
- { return __builtin_fdimf(__x, __y); }
-
- inline long double
- fdim(long double __x, long double __y)
- { return __builtin_fdiml(__x, __y); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- fdim(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return fdim(__type(__x), __type(__y));
- }
-
- using std::floor;
-
- inline float
- fma(float __x, float __y, float __z)
- { return __builtin_fmaf(__x, __y, __z); }
-
- inline long double
- fma(long double __x, long double __y, long double __z)
- { return __builtin_fmal(__x, __y, __z); }
-
- template<typename _Tp, typename _Up, typename _Vp>
- inline typename __promote_3<_Tp, _Up, _Vp>::__type
- fma(_Tp __x, _Up __y, _Vp __z)
- {
- typedef typename __promote_3<_Tp, _Up, _Vp>::__type __type;
- return fma(__type(__x), __type(__y), __type(__z));
- }
-
- inline float
- fmax(float __x, float __y)
- { return __builtin_fmaxf(__x, __y); }
-
- inline long double
- fmax(long double __x, long double __y)
- { return __builtin_fmaxl(__x, __y); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- fmax(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return fmax(__type(__x), __type(__y));
- }
-
- inline float
- fmin(float __x, float __y)
- { return __builtin_fminf(__x, __y); }
-
- inline long double
- fmin(long double __x, long double __y)
- { return __builtin_fminl(__x, __y); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- fmin(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return fmin(__type(__x), __type(__y));
- }
-
- using std::fmod;
- using std::frexp;
-
- inline float
- hypot(float __x, float __y)
- { return __builtin_hypotf(__x, __y); }
-
- inline long double
- hypot(long double __x, long double __y)
- { return __builtin_hypotl(__x, __y); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- hypot(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return hypot(__type(__x), __type(__y));
- }
-
- inline int
- ilogb(float __x)
- { return __builtin_ilogbf(__x); }
-
- inline int
- ilogb(long double __x)
- { return __builtin_ilogbl(__x); }
-
- template<typename _Tp>
- inline int
- ilogb(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return ilogb(__type(__x));
- }
-
- using std::ldexp;
-
- inline float
- lgamma(float __x)
- { return __builtin_lgammaf(__x); }
-
- inline long double
- lgamma(long double __x)
- { return __builtin_lgammal(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- lgamma(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return lgamma(__type(__x));
- }
-
- inline long long
- llrint(float __x)
- { return __builtin_llrintf(__x); }
-
- inline long long
- llrint(long double __x)
- { return __builtin_llrintl(__x); }
-
- template<typename _Tp>
- inline long long
- llrint(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return llrint(__type(__x));
- }
-
- inline long long
- llround(float __x)
- { return __builtin_llroundf(__x); }
-
- inline long long
- llround(long double __x)
- { return __builtin_llroundl(__x); }
-
- template<typename _Tp>
- inline long long
- llround(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return llround(__type(__x));
- }
-
- using std::log;
- using std::log10;
-
- inline float
- log1p(float __x)
- { return __builtin_log1pf(__x); }
-
- inline long double
- log1p(long double __x)
- { return __builtin_log1pl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- log1p(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return log1p(__type(__x));
- }
-
- // DR 568.
- inline float
- log2(float __x)
- { return __builtin_log2f(__x); }
-
- inline long double
- log2(long double __x)
- { return __builtin_log2l(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- log2(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return log2(__type(__x));
- }
-
- inline float
- logb(float __x)
- { return __builtin_logbf(__x); }
-
- inline long double
- logb(long double __x)
- { return __builtin_logbl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- logb(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return logb(__type(__x));
- }
-
- inline long
- lrint(float __x)
- { return __builtin_lrintf(__x); }
-
- inline long
- lrint(long double __x)
- { return __builtin_lrintl(__x); }
-
- template<typename _Tp>
- inline long
- lrint(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return lrint(__type(__x));
- }
-
- inline long
- lround(float __x)
- { return __builtin_lroundf(__x); }
-
- inline long
- lround(long double __x)
- { return __builtin_lroundl(__x); }
-
- template<typename _Tp>
- inline long
- lround(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return lround(__type(__x));
- }
-
- inline float
- nearbyint(float __x)
- { return __builtin_nearbyintf(__x); }
-
- inline long double
- nearbyint(long double __x)
- { return __builtin_nearbyintl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- nearbyint(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return nearbyint(__type(__x));
- }
-
- inline float
- nextafter(float __x, float __y)
- { return __builtin_nextafterf(__x, __y); }
-
- inline long double
- nextafter(long double __x, long double __y)
- { return __builtin_nextafterl(__x, __y); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- nextafter(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return nextafter(__type(__x), __type(__y));
- }
-
- inline float
- nexttoward(float __x, long double __y)
- { return __builtin_nexttowardf(__x, __y); }
-
- inline long double
- nexttoward(long double __x, long double __y)
- { return __builtin_nexttowardl(__x, __y); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- nexttoward(_Tp __x, long double __y)
- {
- typedef typename __promote<_Tp>::__type __type;
- return nexttoward(__type(__x), __y);
- }
-
- using std::pow;
-
- // DR 550.
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- pow(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return pow(__type(__x), __type(__y));
- }
-
- inline float
- remainder(float __x, float __y)
- { return __builtin_remainderf(__x, __y); }
-
- inline long double
- remainder(long double __x, long double __y)
- { return __builtin_remainderl(__x, __y); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- remainder(_Tp __x, _Up __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return remainder(__type(__x), __type(__y));
- }
-
- inline float
- remquo(float __x, float __y, int* __pquo)
- { return __builtin_remquof(__x, __y, __pquo); }
-
- inline long double
- remquo(long double __x, long double __y, int* __pquo)
- { return __builtin_remquol(__x, __y, __pquo); }
-
- template<typename _Tp, typename _Up>
- inline typename __promote_2<_Tp, _Up>::__type
- remquo(_Tp __x, _Up __y, int* __pquo)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return remquo(__type(__x), __type(__y), __pquo);
- }
-
- inline float
- rint(float __x)
- { return __builtin_rintf(__x); }
-
- inline long double
- rint(long double __x)
- { return __builtin_rintl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- rint(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return rint(__type(__x));
- }
-
- inline float
- round(float __x)
- { return __builtin_roundf(__x); }
-
- inline long double
- round(long double __x)
- { return __builtin_roundl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- round(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return round(__type(__x));
- }
-
- inline float
- scalbln(float __x, long __ex)
- { return __builtin_scalblnf(__x, __ex); }
-
- inline long double
- scalbln(long double __x, long __ex)
- { return __builtin_scalblnl(__x, __ex); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- scalbln(_Tp __x, long __ex)
- {
- typedef typename __promote<_Tp>::__type __type;
- return scalbln(__type(__x), __ex);
- }
-
- inline float
- scalbn(float __x, int __ex)
- { return __builtin_scalbnf(__x, __ex); }
-
- inline long double
- scalbn(long double __x, int __ex)
- { return __builtin_scalbnl(__x, __ex); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- scalbn(_Tp __x, int __ex)
- {
- typedef typename __promote<_Tp>::__type __type;
- return scalbn(__type(__x), __ex);
- }
-
- using std::sin;
- using std::sinh;
- using std::sqrt;
- using std::tan;
- using std::tanh;
-
- inline float
- tgamma(float __x)
- { return __builtin_tgammaf(__x); }
-
- inline long double
- tgamma(long double __x)
- { return __builtin_tgammal(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- tgamma(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return tgamma(__type(__x));
- }
-
- inline float
- trunc(float __x)
- { return __builtin_truncf(__x); }
-
- inline long double
- trunc(long double __x)
- { return __builtin_truncl(__x); }
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- trunc(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return trunc(__type(__x));
- }
-
-#endif
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/common.h b/contrib/libstdc++/include/tr1/common.h
deleted file mode 100644
index 7d098f863dd9..000000000000
--- a/contrib/libstdc++/include/tr1/common.h
+++ /dev/null
@@ -1,78 +0,0 @@
-// Internal header for TR1 complex -*- C++ -*-
-
-// Copyright (C) 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 tr1/common.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_COMMON_H
-#define _TR1_COMMON_H 1
-
-#include <tr1/type_traits>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- template<typename _Tp, bool = is_integral<_Tp>::value>
- struct __promote
- { typedef double __type; };
-
- template<typename _Tp>
- struct __promote<_Tp, false>
- { typedef _Tp __type; };
-
- template<typename _Tp, typename _Up>
- struct __promote_2
- {
- private:
- typedef typename __promote<_Tp>::__type __type1;
- typedef typename __promote<_Up>::__type __type2;
-
- public:
- typedef __typeof__(__type1() + __type2()) __type;
- };
-
- template<typename _Tp, typename _Up, typename _Vp>
- struct __promote_3
- {
- private:
- typedef typename __promote<_Tp>::__type __type1;
- typedef typename __promote<_Up>::__type __type2;
- typedef typename __promote<_Vp>::__type __type3;
-
- public:
- typedef __typeof__(__type1() + __type2() + __type3()) __type;
- };
-
-_GLIBCXX_END_NAMESPACE
-} // namespace std
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/complex b/contrib/libstdc++/include/tr1/complex
deleted file mode 100644
index 0817ef761e33..000000000000
--- a/contrib/libstdc++/include/tr1/complex
+++ /dev/null
@@ -1,409 +0,0 @@
-// TR1 complex -*- C++ -*-
-
-// Copyright (C) 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 tr1/complex
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_COMPLEX
-#define _TR1_COMPLEX 1
-
-#include "../complex"
-#include <tr1/common.h>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // Forward declarations.
- template<typename _Tp> std::complex<_Tp> acos(const std::complex<_Tp>&);
- template<typename _Tp> std::complex<_Tp> asin(const std::complex<_Tp>&);
- template<typename _Tp> std::complex<_Tp> atan(const std::complex<_Tp>&);
-
- template<typename _Tp> std::complex<_Tp> acosh(const std::complex<_Tp>&);
- template<typename _Tp> std::complex<_Tp> asinh(const std::complex<_Tp>&);
- template<typename _Tp> std::complex<_Tp> atanh(const std::complex<_Tp>&);
- template<typename _Tp> std::complex<_Tp> fabs(const std::complex<_Tp>&);
-
- /// @brief acos(__z) [8.1.2].
- // Effects: Behaves the same as C99 function cacos, defined
- // in subclause 7.3.5.1.
- template<typename _Tp>
- inline std::complex<_Tp>
- __complex_acos(const std::complex<_Tp>& __z)
- {
- const std::complex<_Tp> __t = std::tr1::asin(__z);
- const _Tp __pi_2 = 1.5707963267948966192313216916397514L;
- return std::complex<_Tp>(__pi_2 - __t.real(), -__t.imag());
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX_TR1
- inline __complex__ float
- __complex_acos(__complex__ float __z)
- { return __builtin_cacosf(__z); }
-
- inline __complex__ double
- __complex_acos(__complex__ double __z)
- { return __builtin_cacos(__z); }
-
- inline __complex__ long double
- __complex_acos(const __complex__ long double& __z)
- { return __builtin_cacosl(__z); }
-
- template<typename _Tp>
- inline std::complex<_Tp>
- acos(const std::complex<_Tp>& __z)
- { return __complex_acos(__z.__rep()); }
-#else
- template<typename _Tp>
- inline std::complex<_Tp>
- acos(const std::complex<_Tp>& __z)
- { return __complex_acos(__z); }
-#endif
-
- /// @brief asin(__z) [8.1.3].
- // Effects: Behaves the same as C99 function casin, defined
- // in subclause 7.3.5.2.
- template<typename _Tp>
- inline std::complex<_Tp>
- __complex_asin(const std::complex<_Tp>& __z)
- {
- std::complex<_Tp> __t(-__z.imag(), __z.real());
- __t = std::tr1::asinh(__t);
- return std::complex<_Tp>(__t.imag(), -__t.real());
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX_TR1
- inline __complex__ float
- __complex_asin(__complex__ float __z)
- { return __builtin_casinf(__z); }
-
- inline __complex__ double
- __complex_asin(__complex__ double __z)
- { return __builtin_casin(__z); }
-
- inline __complex__ long double
- __complex_asin(const __complex__ long double& __z)
- { return __builtin_casinl(__z); }
-
- template<typename _Tp>
- inline std::complex<_Tp>
- asin(const std::complex<_Tp>& __z)
- { return __complex_asin(__z.__rep()); }
-#else
- template<typename _Tp>
- inline std::complex<_Tp>
- asin(const std::complex<_Tp>& __z)
- { return __complex_asin(__z); }
-#endif
-
- /// @brief atan(__z) [8.1.4].
- // Effects: Behaves the same as C99 function catan, defined
- // in subclause 7.3.5.3.
- template<typename _Tp>
- std::complex<_Tp>
- __complex_atan(const std::complex<_Tp>& __z)
- {
- const _Tp __r2 = __z.real() * __z.real();
- const _Tp __x = _Tp(1.0) - __r2 - __z.imag() * __z.imag();
-
- _Tp __num = __z.imag() + _Tp(1.0);
- _Tp __den = __z.imag() - _Tp(1.0);
-
- __num = __r2 + __num * __num;
- __den = __r2 + __den * __den;
-
- return std::complex<_Tp>(_Tp(0.5) * atan2(_Tp(2.0) * __z.real(), __x),
- _Tp(0.25) * log(__num / __den));
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX_TR1
- inline __complex__ float
- __complex_atan(__complex__ float __z)
- { return __builtin_catanf(__z); }
-
- inline __complex__ double
- __complex_atan(__complex__ double __z)
- { return __builtin_catan(__z); }
-
- inline __complex__ long double
- __complex_atan(const __complex__ long double& __z)
- { return __builtin_catanl(__z); }
-
- template<typename _Tp>
- inline std::complex<_Tp>
- atan(const std::complex<_Tp>& __z)
- { return __complex_atan(__z.__rep()); }
-#else
- template<typename _Tp>
- inline std::complex<_Tp>
- atan(const std::complex<_Tp>& __z)
- { return __complex_atan(__z); }
-#endif
-
- /// @brief acosh(__z) [8.1.5].
- // Effects: Behaves the same as C99 function cacosh, defined
- // in subclause 7.3.6.1.
- template<typename _Tp>
- std::complex<_Tp>
- __complex_acosh(const std::complex<_Tp>& __z)
- {
- std::complex<_Tp> __t((__z.real() - __z.imag())
- * (__z.real() + __z.imag()) - _Tp(1.0),
- _Tp(2.0) * __z.real() * __z.imag());
- __t = std::sqrt(__t);
-
- return std::log(__t + __z);
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX_TR1
- inline __complex__ float
- __complex_acosh(__complex__ float __z)
- { return __builtin_cacoshf(__z); }
-
- inline __complex__ double
- __complex_acosh(__complex__ double __z)
- { return __builtin_cacosh(__z); }
-
- inline __complex__ long double
- __complex_acosh(const __complex__ long double& __z)
- { return __builtin_cacoshl(__z); }
-
- template<typename _Tp>
- inline std::complex<_Tp>
- acosh(const std::complex<_Tp>& __z)
- { return __complex_acosh(__z.__rep()); }
-#else
- template<typename _Tp>
- inline std::complex<_Tp>
- acosh(const std::complex<_Tp>& __z)
- { return __complex_acosh(__z); }
-#endif
-
- /// @brief asinh(__z) [8.1.6].
- // Effects: Behaves the same as C99 function casin, defined
- // in subclause 7.3.6.2.
- template<typename _Tp>
- std::complex<_Tp>
- __complex_asinh(const std::complex<_Tp>& __z)
- {
- std::complex<_Tp> __t((__z.real() - __z.imag())
- * (__z.real() + __z.imag()) + _Tp(1.0),
- _Tp(2.0) * __z.real() * __z.imag());
- __t = std::sqrt(__t);
-
- return std::log(__t + __z);
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX_TR1
- inline __complex__ float
- __complex_asinh(__complex__ float __z)
- { return __builtin_casinhf(__z); }
-
- inline __complex__ double
- __complex_asinh(__complex__ double __z)
- { return __builtin_casinh(__z); }
-
- inline __complex__ long double
- __complex_asinh(const __complex__ long double& __z)
- { return __builtin_casinhl(__z); }
-
- template<typename _Tp>
- inline std::complex<_Tp>
- asinh(const std::complex<_Tp>& __z)
- { return __complex_asinh(__z.__rep()); }
-#else
- template<typename _Tp>
- inline std::complex<_Tp>
- asinh(const std::complex<_Tp>& __z)
- { return __complex_asinh(__z); }
-#endif
-
- /// @brief atanh(__z) [8.1.7].
- // Effects: Behaves the same as C99 function catanh, defined
- // in subclause 7.3.6.3.
- template<typename _Tp>
- std::complex<_Tp>
- __complex_atanh(const std::complex<_Tp>& __z)
- {
- const _Tp __i2 = __z.imag() * __z.imag();
- const _Tp __x = _Tp(1.0) - __i2 - __z.real() * __z.real();
-
- _Tp __num = _Tp(1.0) + __z.real();
- _Tp __den = _Tp(1.0) - __z.real();
-
- __num = __i2 + __num * __num;
- __den = __i2 + __den * __den;
-
- return std::complex<_Tp>(_Tp(0.25) * (log(__num) - log(__den)),
- _Tp(0.5) * atan2(_Tp(2.0) * __z.imag(), __x));
- }
-
-#if _GLIBCXX_USE_C99_COMPLEX_TR1
- inline __complex__ float
- __complex_atanh(__complex__ float __z)
- { return __builtin_catanhf(__z); }
-
- inline __complex__ double
- __complex_atanh(__complex__ double __z)
- { return __builtin_catanh(__z); }
-
- inline __complex__ long double
- __complex_atanh(const __complex__ long double& __z)
- { return __builtin_catanhl(__z); }
-
- template<typename _Tp>
- inline std::complex<_Tp>
- atanh(const std::complex<_Tp>& __z)
- { return __complex_atanh(__z.__rep()); }
-#else
- template<typename _Tp>
- inline std::complex<_Tp>
- atanh(const std::complex<_Tp>& __z)
- { return __complex_atanh(__z); }
-#endif
-
- /// @brief fabs(__z) [8.1.8].
- // Effects: Behaves the same as C99 function cabs, defined
- // in subclause 7.3.8.1.
- template<typename _Tp>
- inline std::complex<_Tp>
- fabs(const std::complex<_Tp>& __z)
- { return std::abs(__z); }
-
-
- /// @brief Additional overloads [8.1.9].
- //
-
- // See common.h for the primary template.
- template<typename _Tp, typename _Up>
- struct __promote_2<std::complex<_Tp>, _Up>
- {
- public:
- typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
- };
-
- template<typename _Tp, typename _Up>
- struct __promote_2<_Tp, std::complex<_Up> >
- {
- public:
- typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
- };
-
- template<typename _Tp, typename _Up>
- struct __promote_2<std::complex<_Tp>, std::complex<_Up> >
- {
- public:
- typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
- };
-
-
- using std::arg;
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- arg(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return std::arg(std::complex<__type>(__x));
- }
-
- using std::conj;
-
- template<typename _Tp>
- inline std::complex<typename __promote<_Tp>::__type>
- conj(_Tp __x)
- { return __x; }
-
- using std::imag;
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- imag(_Tp)
- { return _Tp(); }
-
- using std::norm;
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- norm(_Tp __x)
- {
- typedef typename __promote<_Tp>::__type __type;
- return __type(__x) * __type(__x);
- }
-
- using std::polar;
-
- template<typename _Tp, typename _Up>
- inline std::complex<typename __promote_2<_Tp, _Up>::__type>
- polar(const _Tp& __rho, const _Up& __theta)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return std::polar(__type(__rho), __type(__theta));
- }
-
- using std::pow;
-
- template<typename _Tp, typename _Up>
- inline std::complex<typename __promote_2<_Tp, _Up>::__type>
- pow(const std::complex<_Tp>& __x, const _Up& __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return std::pow(std::complex<__type>(__x), __type(__y));
- }
-
- template<typename _Tp, typename _Up>
- inline std::complex<typename __promote_2<_Tp, _Up>::__type>
- pow(const _Tp& __x, const std::complex<_Up>& __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return std::pow(__type(__x), std::complex<__type>(__y));
- }
-
- template<typename _Tp, typename _Up>
- inline std::complex<typename __promote_2<_Tp, _Up>::__type>
- pow(const std::complex<_Tp>& __x, const std::complex<_Up>& __y)
- {
- typedef typename __promote_2<_Tp, _Up>::__type __type;
- return std::pow(std::complex<__type>(__x),
- std::complex<__type>(__y));
- }
-
- using std::real;
-
- template<typename _Tp>
- inline typename __promote<_Tp>::__type
- real(_Tp __x)
- { return __x; }
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cstdarg b/contrib/libstdc++/include/tr1/cstdarg
deleted file mode 100644
index e70130e45f9d..000000000000
--- a/contrib/libstdc++/include/tr1/cstdarg
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 cstdarg -*- C++ -*-
-
-// Copyright (C) 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 tr1/cstdarg
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CSTDARG
-#define _TR1_CSTDARG 1
-
-#include <cstdarg>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cstdbool b/contrib/libstdc++/include/tr1/cstdbool
deleted file mode 100644
index 2406f9e28f06..000000000000
--- a/contrib/libstdc++/include/tr1/cstdbool
+++ /dev/null
@@ -1,43 +0,0 @@
-// TR1 cstdbool -*- C++ -*-
-
-// Copyright (C) 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 tr1/cstdbool
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CSTDBOOL
-#define _TR1_CSTDBOOL 1
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cstdint b/contrib/libstdc++/include/tr1/cstdint
deleted file mode 100644
index af5a90f288c4..000000000000
--- a/contrib/libstdc++/include/tr1/cstdint
+++ /dev/null
@@ -1,92 +0,0 @@
-// TR1 cstdint -*- C++ -*-
-
-// Copyright (C) 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 tr1/cstdint
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CSTDINT
-#define _TR1_CSTDINT 1
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_USE_C99_STDINT_TR1
-
-// For 8.22.1/1 (see C99, Notes 219, 220, 222)
-#define __STDC_LIMIT_MACROS
-#define __STDC_CONSTANT_MACROS
-#include <stdint.h>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- using ::int8_t;
- using ::int16_t;
- using ::int32_t;
- using ::int64_t;
-
- using ::int_fast8_t;
- using ::int_fast16_t;
- using ::int_fast32_t;
- using ::int_fast64_t;
-
- using ::int_least8_t;
- using ::int_least16_t;
- using ::int_least32_t;
- using ::int_least64_t;
-
- using ::intmax_t;
- using ::intptr_t;
-
- using ::uint8_t;
- using ::uint16_t;
- using ::uint32_t;
- using ::uint64_t;
-
- using ::uint_fast8_t;
- using ::uint_fast16_t;
- using ::uint_fast32_t;
- using ::uint_fast64_t;
-
- using ::uint_least8_t;
- using ::uint_least16_t;
- using ::uint_least32_t;
- using ::uint_least64_t;
-
- using ::uintmax_t;
- using ::uintptr_t;
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cstdio b/contrib/libstdc++/include/tr1/cstdio
deleted file mode 100644
index 1cf41b5018ae..000000000000
--- a/contrib/libstdc++/include/tr1/cstdio
+++ /dev/null
@@ -1,57 +0,0 @@
-// TR1 cstdio -*- C++ -*-
-
-// Copyright (C) 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 tr1/cstdio
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CSTDIO
-#define _TR1_CSTDIO 1
-
-#include <bits/c++config.h>
-#include <cstdio>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-#if _GLIBCXX_USE_C99
- using std::snprintf;
- using std::vsnprintf;
-
- using std::vfscanf;
- using std::vscanf;
- using std::vsscanf;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cstdlib b/contrib/libstdc++/include/tr1/cstdlib
deleted file mode 100644
index f7f8d7d9c448..000000000000
--- a/contrib/libstdc++/include/tr1/cstdlib
+++ /dev/null
@@ -1,79 +0,0 @@
-// TR1 cstdlib -*- C++ -*-
-
-// Copyright (C) 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 tr1/cstdlib
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CSTDLIB
-#define _TR1_CSTDLIB 1
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_HOSTED
-
-#include <cstdlib>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-#if _GLIBCXX_USE_C99
-
-#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
- // types
- using std::lldiv_t;
-
- // functions
- using std::llabs;
- using std::lldiv;
-#endif
-
- using std::atoll;
- using std::strtoll;
- using std::strtoull;
-
- using std::strtof;
- using std::strtold;
-
- // overloads
- using std::abs;
-#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
- using std::div;
-#endif
-
-#endif
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/ctgmath b/contrib/libstdc++/include/tr1/ctgmath
deleted file mode 100644
index eb9118577960..000000000000
--- a/contrib/libstdc++/include/tr1/ctgmath
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 ctgmath -*- C++ -*-
-
-// Copyright (C) 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 tr1/ctgmath
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CTGMATH
-#define _TR1_CTGMATH 1
-
-#include <tr1/cmath>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/ctime b/contrib/libstdc++/include/tr1/ctime
deleted file mode 100644
index 45e083976bf3..000000000000
--- a/contrib/libstdc++/include/tr1/ctime
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 ctime -*- C++ -*-
-
-// Copyright (C) 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 tr1/ctime
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CTIME
-#define _TR1_CTIME 1
-
-#include <ctime>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/ctype.h b/contrib/libstdc++/include/tr1/ctype.h
deleted file mode 100644
index 945b13b12627..000000000000
--- a/contrib/libstdc++/include/tr1/ctype.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 ctype.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/ctype.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CTYPE_H
-#define _TR1_CTYPE_H 1
-
-#include <tr1/cctype>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cwchar b/contrib/libstdc++/include/tr1/cwchar
deleted file mode 100644
index b918b37dd9fc..000000000000
--- a/contrib/libstdc++/include/tr1/cwchar
+++ /dev/null
@@ -1,72 +0,0 @@
-// TR1 cwchar -*- C++ -*-
-
-// Copyright (C) 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 tr1/cwchar
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CWCHAR
-#define _TR1_CWCHAR 1
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_USE_WCHAR_T
-
-#include <cwchar>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-#if _GLIBCXX_HAVE_WCSTOF
- using std::wcstof;
-#endif
-#if _GLIBCXX_HAVE_VFWSCANF
- using std::vfwscanf;
-#endif
-#if _GLIBCXX_HAVE_VSWSCANF
- using std::vswscanf;
-#endif
-#if _GLIBCXX_HAVE_VWSCANF
- using std::vwscanf;
-#endif
-
-#if _GLIBCXX_USE_C99
- using std::wcstold;
- using std::wcstoll;
- using std::wcstoull;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/cwctype b/contrib/libstdc++/include/tr1/cwctype
deleted file mode 100644
index 7cc7a36c68bc..000000000000
--- a/contrib/libstdc++/include/tr1/cwctype
+++ /dev/null
@@ -1,57 +0,0 @@
-// TR1 cwctype -*- C++ -*-
-
-// Copyright (C) 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 tr1/cwctype
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_CWCTYPE
-#define _TR1_CWCTYPE 1
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_USE_WCHAR_T
-
-#include <cwctype>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-#if _GLIBCXX_HAVE_ISWBLANK
- using std::iswblank;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/fenv.h b/contrib/libstdc++/include/tr1/fenv.h
deleted file mode 100644
index 91fa40fea5ea..000000000000
--- a/contrib/libstdc++/include/tr1/fenv.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 fenv.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/fenv.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_FENV_H
-#define _TR1_FENV_H 1
-
-#include <tr1/cfenv>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/float.h b/contrib/libstdc++/include/tr1/float.h
deleted file mode 100644
index 5e99fe5bfcd6..000000000000
--- a/contrib/libstdc++/include/tr1/float.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 float.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/float.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_FLOAT_H
-#define _TR1_FLOAT_H 1
-
-#include <tr1/cfloat>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/functional b/contrib/libstdc++/include/tr1/functional
deleted file mode 100644
index f3cc78de7516..000000000000
--- a/contrib/libstdc++/include/tr1/functional
+++ /dev/null
@@ -1,1106 +0,0 @@
-// TR1 functional header -*- C++ -*-
-
-// Copyright (C) 2004, 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
-// 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/functional
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_FUNCTIONAL
-#define _TR1_FUNCTIONAL 1
-
-#pragma GCC system_header
-
-#include "../functional"
-#include <typeinfo>
-#include <tr1/type_traits>
-#include <ext/type_traits.h>
-#include <cstdlib> // for std::abort
-#include <tr1/tuple>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- template<typename _MemberPointer>
- class _Mem_fn;
-
- /**
- * @if maint
- * Actual implementation of _Has_result_type, which uses SFINAE to
- * determine if the type _Tp has a publicly-accessible member type
- * result_type.
- * @endif
- */
- template<typename _Tp>
- class _Has_result_type_helper : __sfinae_types
- {
- template<typename _Up>
- struct _Wrap_type
- { };
-
- template<typename _Up>
- static __one __test(_Wrap_type<typename _Up::result_type>*);
-
- template<typename _Up>
- static __two __test(...);
-
- public:
- static const bool value = sizeof(__test<_Tp>(0)) == 1;
- };
-
- template<typename _Tp>
- struct _Has_result_type
- : integral_constant<
- bool,
- _Has_result_type_helper<typename remove_cv<_Tp>::type>::value>
- { };
-
- /**
- * @if maint
- * If we have found a result_type, extract it.
- * @endif
- */
- template<bool _Has_result_type, typename _Functor>
- struct _Maybe_get_result_type
- { };
-
- template<typename _Functor>
- struct _Maybe_get_result_type<true, _Functor>
- {
- typedef typename _Functor::result_type result_type;
- };
-
- /**
- * @if maint
- * Base class for any function object that has a weak result type, as
- * defined in 3.3/3 of TR1.
- * @endif
- */
- template<typename _Functor>
- struct _Weak_result_type_impl
- : _Maybe_get_result_type<_Has_result_type<_Functor>::value, _Functor>
- {
- };
-
- /**
- * @if maint
- * Strip top-level cv-qualifiers from the function object and let
- * _Weak_result_type_impl perform the real work.
- * @endif
- */
- template<typename _Functor>
- struct _Weak_result_type
- : _Weak_result_type_impl<typename remove_cv<_Functor>::type>
- {
- };
-
- template<typename _Signature>
- class result_of;
-
- /**
- * @if maint
- * Actual implementation of result_of. When _Has_result_type is
- * true, gets its result from _Weak_result_type. Otherwise, uses
- * the function object's member template result to extract the
- * result type.
- * @endif
- */
- template<bool _Has_result_type, typename _Signature>
- struct _Result_of_impl;
-
- // Handle member data pointers using _Mem_fn's logic
- template<typename _Res, typename _Class, typename _T1>
- struct _Result_of_impl<false, _Res _Class::*(_T1)>
- {
- typedef typename _Mem_fn<_Res _Class::*>
- ::template _Result_type<_T1>::type type;
- };
-
- /**
- * @if maint
- * Determines if the type _Tp derives from unary_function.
- * @endif
- */
- template<typename _Tp>
- struct _Derives_from_unary_function : __sfinae_types
- {
- private:
- template<typename _T1, typename _Res>
- static __one __test(const volatile unary_function<_T1, _Res>*);
-
- // It's tempting to change "..." to const volatile void*, but
- // that fails when _Tp is a function type.
- static __two __test(...);
-
- public:
- static const bool value = sizeof(__test((_Tp*)0)) == 1;
- };
-
- /**
- * @if maint
- * Determines if the type _Tp derives from binary_function.
- * @endif
- */
- template<typename _Tp>
- struct _Derives_from_binary_function : __sfinae_types
- {
- private:
- template<typename _T1, typename _T2, typename _Res>
- static __one __test(const volatile binary_function<_T1, _T2, _Res>*);
-
- // It's tempting to change "..." to const volatile void*, but
- // that fails when _Tp is a function type.
- static __two __test(...);
-
- public:
- static const bool value = sizeof(__test((_Tp*)0)) == 1;
- };
-
- /**
- * @if maint
- * Turns a function type into a function pointer type
- * @endif
- */
- template<typename _Tp, bool _IsFunctionType = is_function<_Tp>::value>
- struct _Function_to_function_pointer
- {
- typedef _Tp type;
- };
-
- template<typename _Tp>
- struct _Function_to_function_pointer<_Tp, true>
- {
- typedef _Tp* type;
- };
-
- /**
- * @if maint
- * Knowing which of unary_function and binary_function _Tp derives
- * from, derives from the same and ensures that reference_wrapper
- * will have a weak result type. See cases below.
- * @endif
- */
- template<bool _Unary, bool _Binary, typename _Tp>
- struct _Reference_wrapper_base_impl;
-
- // Not a unary_function or binary_function, so try a weak result type
- template<typename _Tp>
- struct _Reference_wrapper_base_impl<false, false, _Tp>
- : _Weak_result_type<_Tp>
- { };
-
- // unary_function but not binary_function
- template<typename _Tp>
- struct _Reference_wrapper_base_impl<true, false, _Tp>
- : unary_function<typename _Tp::argument_type,
- typename _Tp::result_type>
- { };
-
- // binary_function but not unary_function
- template<typename _Tp>
- struct _Reference_wrapper_base_impl<false, true, _Tp>
- : binary_function<typename _Tp::first_argument_type,
- typename _Tp::second_argument_type,
- typename _Tp::result_type>
- { };
-
- // both unary_function and binary_function. import result_type to
- // avoid conflicts.
- template<typename _Tp>
- struct _Reference_wrapper_base_impl<true, true, _Tp>
- : unary_function<typename _Tp::argument_type,
- typename _Tp::result_type>,
- binary_function<typename _Tp::first_argument_type,
- typename _Tp::second_argument_type,
- typename _Tp::result_type>
- {
- typedef typename _Tp::result_type result_type;
- };
-
- /**
- * @if maint
- * Derives from unary_function or binary_function when it
- * can. Specializations handle all of the easy cases. The primary
- * template determines what to do with a class type, which may
- * derive from both unary_function and binary_function.
- * @endif
- */
- template<typename _Tp>
- struct _Reference_wrapper_base
- : _Reference_wrapper_base_impl<
- _Derives_from_unary_function<_Tp>::value,
- _Derives_from_binary_function<_Tp>::value,
- _Tp>
- { };
-
- // - a function type (unary)
- template<typename _Res, typename _T1>
- struct _Reference_wrapper_base<_Res(_T1)>
- : unary_function<_T1, _Res>
- { };
-
- // - a function type (binary)
- template<typename _Res, typename _T1, typename _T2>
- struct _Reference_wrapper_base<_Res(_T1, _T2)>
- : binary_function<_T1, _T2, _Res>
- { };
-
- // - a function pointer type (unary)
- template<typename _Res, typename _T1>
- struct _Reference_wrapper_base<_Res(*)(_T1)>
- : unary_function<_T1, _Res>
- { };
-
- // - a function pointer type (binary)
- template<typename _Res, typename _T1, typename _T2>
- struct _Reference_wrapper_base<_Res(*)(_T1, _T2)>
- : binary_function<_T1, _T2, _Res>
- { };
-
- // - a pointer to member function type (unary, no qualifiers)
- template<typename _Res, typename _T1>
- struct _Reference_wrapper_base<_Res (_T1::*)()>
- : unary_function<_T1*, _Res>
- { };
-
- // - a pointer to member function type (binary, no qualifiers)
- template<typename _Res, typename _T1, typename _T2>
- struct _Reference_wrapper_base<_Res (_T1::*)(_T2)>
- : binary_function<_T1*, _T2, _Res>
- { };
-
- // - a pointer to member function type (unary, const)
- template<typename _Res, typename _T1>
- struct _Reference_wrapper_base<_Res (_T1::*)() const>
- : unary_function<const _T1*, _Res>
- { };
-
- // - a pointer to member function type (binary, const)
- template<typename _Res, typename _T1, typename _T2>
- struct _Reference_wrapper_base<_Res (_T1::*)(_T2) const>
- : binary_function<const _T1*, _T2, _Res>
- { };
-
- // - a pointer to member function type (unary, volatile)
- template<typename _Res, typename _T1>
- struct _Reference_wrapper_base<_Res (_T1::*)() volatile>
- : unary_function<volatile _T1*, _Res>
- { };
-
- // - a pointer to member function type (binary, volatile)
- template<typename _Res, typename _T1, typename _T2>
- struct _Reference_wrapper_base<_Res (_T1::*)(_T2) volatile>
- : binary_function<volatile _T1*, _T2, _Res>
- { };
-
- // - a pointer to member function type (unary, const volatile)
- template<typename _Res, typename _T1>
- struct _Reference_wrapper_base<_Res (_T1::*)() const volatile>
- : unary_function<const volatile _T1*, _Res>
- { };
-
- // - a pointer to member function type (binary, const volatile)
- template<typename _Res, typename _T1, typename _T2>
- struct _Reference_wrapper_base<_Res (_T1::*)(_T2) const volatile>
- : binary_function<const volatile _T1*, _T2, _Res>
- { };
-
- template<typename _Tp>
- class reference_wrapper
- : public _Reference_wrapper_base<typename remove_cv<_Tp>::type>
- {
- // If _Tp is a function type, we can't form result_of<_Tp(...)>,
- // so turn it into a function pointer type.
- typedef typename _Function_to_function_pointer<_Tp>::type
- _M_func_type;
-
- _Tp* _M_data;
- public:
- typedef _Tp type;
- explicit reference_wrapper(_Tp& __indata): _M_data(&__indata)
- { }
-
- reference_wrapper(const reference_wrapper<_Tp>& __inref):
- _M_data(__inref._M_data)
- { }
-
- reference_wrapper&
- operator=(const reference_wrapper<_Tp>& __inref)
- {
- _M_data = __inref._M_data;
- return *this;
- }
-
- operator _Tp&() const
- { return this->get(); }
-
- _Tp&
- get() const
- { return *_M_data; }
-
-#define _GLIBCXX_REPEAT_HEADER <tr1/ref_wrap_iterate.h>
-#include <tr1/repeat.h>
-#undef _GLIBCXX_REPEAT_HEADER
- };
-
-
- // Denotes a reference should be taken to a variable.
- template<typename _Tp>
- inline reference_wrapper<_Tp>
- ref(_Tp& __t)
- { return reference_wrapper<_Tp>(__t); }
-
- // Denotes a const reference should be taken to a variable.
- template<typename _Tp>
- inline reference_wrapper<const _Tp>
- cref(const _Tp& __t)
- { return reference_wrapper<const _Tp>(__t); }
-
- template<typename _Tp>
- inline reference_wrapper<_Tp>
- ref(reference_wrapper<_Tp> __t)
- { return ref(__t.get()); }
-
- template<typename _Tp>
- inline reference_wrapper<const _Tp>
- cref(reference_wrapper<_Tp> __t)
- { return cref(__t.get()); }
-
- template<typename _Tp, bool>
- struct _Mem_fn_const_or_non
- {
- typedef const _Tp& type;
- };
-
- template<typename _Tp>
- struct _Mem_fn_const_or_non<_Tp, false>
- {
- typedef _Tp& type;
- };
-
- template<typename _Res, typename _Class>
- class _Mem_fn<_Res _Class::*>
- {
- // This bit of genius is due to Peter Dimov, improved slightly by
- // Douglas Gregor.
- template<typename _Tp>
- _Res&
- _M_call(_Tp& __object, _Class *) const
- { return __object.*__pm; }
-
- template<typename _Tp, typename _Up>
- _Res&
- _M_call(_Tp& __object, _Up * const *) const
- { return (*__object).*__pm; }
-
- template<typename _Tp, typename _Up>
- const _Res&
- _M_call(_Tp& __object, const _Up * const *) const
- { return (*__object).*__pm; }
-
- template<typename _Tp>
- const _Res&
- _M_call(_Tp& __object, const _Class *) const
- { return __object.*__pm; }
-
- template<typename _Tp>
- const _Res&
- _M_call(_Tp& __ptr, const volatile void*) const
- { return (*__ptr).*__pm; }
-
- template<typename _Tp> static _Tp& __get_ref();
-
- template<typename _Tp>
- static __sfinae_types::__one __check_const(_Tp&, _Class*);
- template<typename _Tp, typename _Up>
- static __sfinae_types::__one __check_const(_Tp&, _Up * const *);
- template<typename _Tp, typename _Up>
- static __sfinae_types::__two __check_const(_Tp&, const _Up * const *);
- template<typename _Tp>
- static __sfinae_types::__two __check_const(_Tp&, const _Class*);
- template<typename _Tp>
- static __sfinae_types::__two __check_const(_Tp&, const volatile void*);
-
- public:
- template<typename _Tp>
- struct _Result_type
- : _Mem_fn_const_or_non<
- _Res,
- (sizeof(__sfinae_types::__two)
- == sizeof(__check_const<_Tp>(__get_ref<_Tp>(), (_Tp*)0)))>
- { };
-
- template<typename _Signature>
- struct result;
-
- template<typename _CVMem, typename _Tp>
- struct result<_CVMem(_Tp)>
- : public _Result_type<_Tp> { };
-
- template<typename _CVMem, typename _Tp>
- struct result<_CVMem(_Tp&)>
- : public _Result_type<_Tp> { };
-
- explicit _Mem_fn(_Res _Class::*__pm) : __pm(__pm) { }
-
- // Handle objects
- _Res& operator()(_Class& __object) const
- { return __object.*__pm; }
-
- const _Res& operator()(const _Class& __object) const
- { return __object.*__pm; }
-
- // Handle pointers
- _Res& operator()(_Class* __object) const
- { return __object->*__pm; }
-
- const _Res&
- operator()(const _Class* __object) const
- { return __object->*__pm; }
-
- // Handle smart pointers and derived
- template<typename _Tp>
- typename _Result_type<_Tp>::type
- operator()(_Tp& __unknown) const
- { return _M_call(__unknown, &__unknown); }
-
- private:
- _Res _Class::*__pm;
- };
-
- /**
- * @brief Returns a function object that forwards to the member
- * pointer @a pm.
- */
- template<typename _Tp, typename _Class>
- inline _Mem_fn<_Tp _Class::*>
- mem_fn(_Tp _Class::* __pm)
- {
- return _Mem_fn<_Tp _Class::*>(__pm);
- }
-
- /**
- * @brief Determines if the given type _Tp is a function object
- * should be treated as a subexpression when evaluating calls to
- * function objects returned by bind(). [TR1 3.6.1]
- */
- template<typename _Tp>
- struct is_bind_expression
- { static const bool value = false; };
-
- template<typename _Tp>
- const bool is_bind_expression<_Tp>::value;
-
- /**
- * @brief Determines if the given type _Tp is a placeholder in a
- * bind() expression and, if so, which placeholder it is. [TR1 3.6.2]
- */
- template<typename _Tp>
- struct is_placeholder
- { static const int value = 0; };
-
- template<typename _Tp>
- const int is_placeholder<_Tp>::value;
-
- /**
- * @if maint
- * The type of placeholder objects defined by libstdc++.
- * @endif
- */
- template<int _Num> struct _Placeholder { };
-
- /**
- * @if maint
- * Partial specialization of is_placeholder that provides the placeholder
- * number for the placeholder objects defined by libstdc++.
- * @endif
- */
- template<int _Num>
- struct is_placeholder<_Placeholder<_Num> >
- { static const int value = _Num; };
-
- template<int _Num>
- const int is_placeholder<_Placeholder<_Num> >::value;
-
- /**
- * @if maint
- * Maps an argument to bind() into an actual argument to the bound
- * function object [TR1 3.6.3/5]. Only the first parameter should
- * be specified: the rest are used to determine among the various
- * implementations. Note that, although this class is a function
- * object, isn't not entirely normal because it takes only two
- * parameters regardless of the number of parameters passed to the
- * bind expression. The first parameter is the bound argument and
- * the second parameter is a tuple containing references to the
- * rest of the arguments.
- * @endif
- */
- template<typename _Arg,
- bool _IsBindExp = is_bind_expression<_Arg>::value,
- bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)>
- class _Mu;
-
- /**
- * @if maint
- * If the argument is reference_wrapper<_Tp>, returns the
- * underlying reference. [TR1 3.6.3/5 bullet 1]
- * @endif
- */
- template<typename _Tp>
- class _Mu<reference_wrapper<_Tp>, false, false>
- {
- public:
- typedef _Tp& result_type;
-
- /* Note: This won't actually work for const volatile
- * reference_wrappers, because reference_wrapper::get() is const
- * but not volatile-qualified. This might be a defect in the TR.
- */
- template<typename _CVRef, typename _Tuple>
- result_type
- operator()(_CVRef& __arg, const _Tuple&) const volatile
- { return __arg.get(); }
- };
-
- /**
- * @if maint
- * If the argument is a bind expression, we invoke the underlying
- * function object with the same cv-qualifiers as we are given and
- * pass along all of our arguments (unwrapped). [TR1 3.6.3/5 bullet 2]
- * @endif
- */
- template<typename _Arg>
- class _Mu<_Arg, true, false>
- {
- public:
- template<typename _Signature> class result;
-
-#define _GLIBCXX_REPEAT_HEADER <tr1/mu_iterate.h>
-# include <tr1/repeat.h>
-#undef _GLIBCXX_REPEAT_HEADER
- };
-
- /**
- * @if maint
- * If the argument is a placeholder for the Nth argument, returns
- * a reference to the Nth argument to the bind function object.
- * [TR1 3.6.3/5 bullet 3]
- * @endif
- */
- template<typename _Arg>
- class _Mu<_Arg, false, true>
- {
- public:
- template<typename _Signature> class result;
-
- template<typename _CVMu, typename _CVArg, typename _Tuple>
- class result<_CVMu(_CVArg, _Tuple)>
- {
- // Add a reference, if it hasn't already been done for us.
- // This allows us to be a little bit sloppy in constructing
- // the tuple that we pass to result_of<...>.
- typedef typename tuple_element<(is_placeholder<_Arg>::value - 1),
- _Tuple>::type __base_type;
-
- public:
- typedef typename add_reference<__base_type>::type type;
- };
-
- template<typename _Tuple>
- 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);
- }
- };
-
- /**
- * @if maint
- * If the argument is just a value, returns a reference to that
- * value. The cv-qualifiers on the reference are the same as the
- * cv-qualifiers on the _Mu object. [TR1 3.6.3/5 bullet 4]
- * @endif
- */
- template<typename _Arg>
- class _Mu<_Arg, false, false>
- {
- public:
- template<typename _Signature> struct result;
-
- template<typename _CVMu, typename _CVArg, typename _Tuple>
- struct result<_CVMu(_CVArg, _Tuple)>
- {
- typedef typename add_reference<_CVArg>::type type;
- };
-
- // Pick up the cv-qualifiers of the argument
- template<typename _CVArg, typename _Tuple>
- _CVArg& operator()(_CVArg& __arg, const _Tuple&) const volatile
- { return __arg; }
- };
-
- /**
- * @if maint
- * Maps member pointers into instances of _Mem_fn but leaves all
- * other function objects untouched. Used by tr1::bind(). The
- * primary template handles the non--member-pointer case.
- * @endif
- */
- template<typename _Tp>
- struct _Maybe_wrap_member_pointer
- {
- typedef _Tp type;
- static const _Tp& __do_wrap(const _Tp& __x) { return __x; }
- };
-
- /**
- * @if maint
- * Maps member pointers into instances of _Mem_fn but leaves all
- * other function objects untouched. Used by tr1::bind(). This
- * partial specialization handles the member pointer case.
- * @endif
- */
- template<typename _Tp, typename _Class>
- struct _Maybe_wrap_member_pointer<_Tp _Class::*>
- {
- typedef _Mem_fn<_Tp _Class::*> type;
- static type __do_wrap(_Tp _Class::* __pm) { return type(__pm); }
- };
-
- /**
- * @if maint
- * Type of the function object returned from bind().
- * @endif
- */
- template<typename _Signature>
- struct _Bind;
-
- /**
- * @if maint
- * Type of the function object returned from bind<R>().
- * @endif
- */
- template<typename _Result, typename _Signature>
- struct _Bind_result;
-
- /**
- * @if maint
- * Class template _Bind is always a bind expression.
- * @endif
- */
- template<typename _Signature>
- struct is_bind_expression<_Bind<_Signature> >
- { static const bool value = true; };
-
- template<typename _Signature>
- const bool is_bind_expression<_Bind<_Signature> >::value;
-
- /**
- * @if maint
- * Class template _Bind_result is always a bind expression.
- * @endif
- */
- template<typename _Result, typename _Signature>
- struct is_bind_expression<_Bind_result<_Result, _Signature> >
- { static const bool value = true; };
-
- template<typename _Result, typename _Signature>
- const bool is_bind_expression<_Bind_result<_Result, _Signature> >::value;
-
- /**
- * @brief Exception class thrown when class template function's
- * operator() is called with an empty target.
- *
- */
- class bad_function_call : public std::exception { };
-
- /**
- * @if maint
- * The integral constant expression 0 can be converted into a
- * pointer to this type. It is used by the function template to
- * accept NULL pointers.
- * @endif
- */
- struct _M_clear_type;
-
- /**
- * @if maint
- * Trait identifying "location-invariant" types, meaning that the
- * address of the object (or any of its members) will not escape.
- * Also implies a trivial copy constructor and assignment operator.
- * @endif
- */
- template<typename _Tp>
- struct __is_location_invariant
- : integral_constant<bool,
- (is_pointer<_Tp>::value
- || is_member_pointer<_Tp>::value)>
- {
- };
-
- class _Undefined_class;
-
- union _Nocopy_types
- {
- void* _M_object;
- const void* _M_const_object;
- void (*_M_function_pointer)();
- void (_Undefined_class::*_M_member_pointer)();
- };
-
- union _Any_data {
- void* _M_access() { return &_M_pod_data[0]; }
- const void* _M_access() const { return &_M_pod_data[0]; }
-
- template<typename _Tp> _Tp& _M_access()
- { return *static_cast<_Tp*>(_M_access()); }
-
- template<typename _Tp> const _Tp& _M_access() const
- { return *static_cast<const _Tp*>(_M_access()); }
-
- _Nocopy_types _M_unused;
- char _M_pod_data[sizeof(_Nocopy_types)];
- };
-
- enum _Manager_operation
- {
- __get_type_info,
- __get_functor_ptr,
- __clone_functor,
- __destroy_functor
- };
-
- /* Simple type wrapper that helps avoid annoying const problems
- when casting between void pointers and pointers-to-pointers. */
- template<typename _Tp>
- struct _Simple_type_wrapper
- {
- _Simple_type_wrapper(_Tp __value) : __value(__value) { }
-
- _Tp __value;
- };
-
- template<typename _Tp>
- struct __is_location_invariant<_Simple_type_wrapper<_Tp> >
- : __is_location_invariant<_Tp>
- {
- };
-
- // Converts a reference to a function object into a callable
- // function object.
- template<typename _Functor>
- inline _Functor& __callable_functor(_Functor& __f) { return __f; }
-
- template<typename _Member, typename _Class>
- inline _Mem_fn<_Member _Class::*>
- __callable_functor(_Member _Class::* &__p)
- { return mem_fn(__p); }
-
- template<typename _Member, typename _Class>
- inline _Mem_fn<_Member _Class::*>
- __callable_functor(_Member _Class::* const &__p)
- { return mem_fn(__p); }
-
- template<typename _Signature, typename _Functor>
- class _Function_handler;
-
- template<typename _Signature>
- class function;
-
-
- /**
- * @if maint
- * Base class of all polymorphic function object wrappers.
- * @endif
- */
- class _Function_base
- {
- public:
- static const std::size_t _M_max_size = sizeof(_Nocopy_types);
- static const std::size_t _M_max_align = __alignof__(_Nocopy_types);
-
- template<typename _Functor>
- class _Base_manager
- {
- protected:
- static const bool __stored_locally =
- (__is_location_invariant<_Functor>::value
- && sizeof(_Functor) <= _M_max_size
- && __alignof__(_Functor) <= _M_max_align
- && (_M_max_align % __alignof__(_Functor) == 0));
- typedef integral_constant<bool, __stored_locally> _Local_storage;
-
- // Retrieve a pointer to the function object
- static _Functor* _M_get_pointer(const _Any_data& __source)
- {
- const _Functor* __ptr =
- __stored_locally? &__source._M_access<_Functor>()
- /* have stored a pointer */ : __source._M_access<_Functor*>();
- return const_cast<_Functor*>(__ptr);
- }
-
- // Clone a location-invariant function object that fits within
- // an _Any_data structure.
- static void
- _M_clone(_Any_data& __dest, const _Any_data& __source, true_type)
- {
- new (__dest._M_access()) _Functor(__source._M_access<_Functor>());
- }
-
- // Clone a function object that is not location-invariant or
- // that cannot fit into an _Any_data structure.
- static void
- _M_clone(_Any_data& __dest, const _Any_data& __source, false_type)
- {
- __dest._M_access<_Functor*>() =
- new _Functor(*__source._M_access<_Functor*>());
- }
-
- // Destroying a location-invariant object may still require
- // destruction.
- static void
- _M_destroy(_Any_data& __victim, true_type)
- {
- __victim._M_access<_Functor>().~_Functor();
- }
-
- // Destroying an object located on the heap.
- static void
- _M_destroy(_Any_data& __victim, false_type)
- {
- delete __victim._M_access<_Functor*>();
- }
-
- public:
- static bool
- _M_manager(_Any_data& __dest, const _Any_data& __source,
- _Manager_operation __op)
- {
- switch (__op) {
- case __get_type_info:
- __dest._M_access<const type_info*>() = &typeid(_Functor);
- break;
-
- case __get_functor_ptr:
- __dest._M_access<_Functor*>() = _M_get_pointer(__source);
- break;
-
- case __clone_functor:
- _M_clone(__dest, __source, _Local_storage());
- break;
-
- case __destroy_functor:
- _M_destroy(__dest, _Local_storage());
- break;
- }
- return false;
- }
-
- static void
- _M_init_functor(_Any_data& __functor, const _Functor& __f)
- {
- _M_init_functor(__functor, __f, _Local_storage());
- }
-
- template<typename _Signature>
- static bool
- _M_not_empty_function(const function<_Signature>& __f)
- {
- return __f;
- }
-
- template<typename _Tp>
- static bool
- _M_not_empty_function(const _Tp*& __fp)
- {
- return __fp;
- }
-
- template<typename _Class, typename _Tp>
- static bool
- _M_not_empty_function(_Tp _Class::* const& __mp)
- {
- return __mp;
- }
-
- template<typename _Tp>
- static bool
- _M_not_empty_function(const _Tp&)
- {
- return true;
- }
-
- private:
- static void
- _M_init_functor(_Any_data& __functor, const _Functor& __f, true_type)
- {
- new (__functor._M_access()) _Functor(__f);
- }
-
- static void
- _M_init_functor(_Any_data& __functor, const _Functor& __f, false_type)
- {
- __functor._M_access<_Functor*>() = new _Functor(__f);
- }
- };
-
- template<typename _Functor>
- class _Ref_manager : public _Base_manager<_Functor*>
- {
- typedef _Function_base::_Base_manager<_Functor*> _Base;
-
- public:
- static bool
- _M_manager(_Any_data& __dest, const _Any_data& __source,
- _Manager_operation __op)
- {
- switch (__op) {
- case __get_type_info:
- __dest._M_access<const type_info*>() = &typeid(_Functor);
- break;
-
- case __get_functor_ptr:
- __dest._M_access<_Functor*>() = *_Base::_M_get_pointer(__source);
- return is_const<_Functor>::value;
- break;
-
- default:
- _Base::_M_manager(__dest, __source, __op);
- }
- return false;
- }
-
- static void
- _M_init_functor(_Any_data& __functor, reference_wrapper<_Functor> __f)
- {
- // TBD: Use address_of function instead
- _Base::_M_init_functor(__functor, &__f.get());
- }
- };
-
- _Function_base() : _M_manager(0) { }
-
- ~_Function_base()
- {
- if (_M_manager)
- {
- _M_manager(_M_functor, _M_functor, __destroy_functor);
- }
- }
-
-
- bool _M_empty() const { return !_M_manager; }
-
- typedef bool (*_Manager_type)(_Any_data&, const _Any_data&,
- _Manager_operation);
-
- _Any_data _M_functor;
- _Manager_type _M_manager;
- };
-
- // [3.7.2.7] null pointer comparisons
-
- /**
- * @brief Compares a polymorphic function object wrapper against 0
- * (the NULL pointer).
- * @returns @c true if the wrapper has no target, @c false otherwise
- *
- * This function will not throw an exception.
- */
- template<typename _Signature>
- inline bool
- operator==(const function<_Signature>& __f, _M_clear_type*)
- {
- return !__f;
- }
-
- /**
- * @overload
- */
- template<typename _Signature>
- inline bool
- operator==(_M_clear_type*, const function<_Signature>& __f)
- {
- return !__f;
- }
-
- /**
- * @brief Compares a polymorphic function object wrapper against 0
- * (the NULL pointer).
- * @returns @c false if the wrapper has no target, @c true otherwise
- *
- * This function will not throw an exception.
- */
- template<typename _Signature>
- inline bool
- operator!=(const function<_Signature>& __f, _M_clear_type*)
- {
- return __f;
- }
-
- /**
- * @overload
- */
- template<typename _Signature>
- inline bool
- operator!=(_M_clear_type*, const function<_Signature>& __f)
- {
- return __f;
- }
-
- // [3.7.2.8] specialized algorithms
-
- /**
- * @brief Swap the targets of two polymorphic function object wrappers.
- *
- * This function will not throw an exception.
- */
- template<typename _Signature>
- inline void
- swap(function<_Signature>& __x, function<_Signature>& __y)
- {
- __x.swap(__y);
- }
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#define _GLIBCXX_JOIN(X,Y) _GLIBCXX_JOIN2( X , Y )
-#define _GLIBCXX_JOIN2(X,Y) _GLIBCXX_JOIN3(X,Y)
-#define _GLIBCXX_JOIN3(X,Y) X##Y
-#define _GLIBCXX_REPEAT_HEADER <tr1/functional_iterate.h>
-#include <tr1/repeat.h>
-#undef _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_JOIN3
-#undef _GLIBCXX_JOIN2
-#undef _GLIBCXX_JOIN
-
-#include <tr1/functional_hash.h>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/functional_hash.h b/contrib/libstdc++/include/tr1/functional_hash.h
deleted file mode 100644
index 3e592b45ab7b..000000000000
--- a/contrib/libstdc++/include/tr1/functional_hash.h
+++ /dev/null
@@ -1,232 +0,0 @@
-// TR1 functional -*- 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/functional_hash.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _TR1_FUNCTIONAL_HASH_H
-#define _TR1_FUNCTIONAL_HASH_H 1
-
-#include <string>
-#include <cmath> // for std::frexp
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(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.
- template<typename T>
- struct hash;
-
-#define _TR1_hashtable_define_trivial_hash(_Tp) \
- template<> \
- struct hash<_Tp> \
- : public std::unary_function<_Tp, std::size_t> \
- { \
- std::size_t \
- operator()(_Tp __val) const \
- { return static_cast<std::size_t>(__val); } \
- }
-
- _TR1_hashtable_define_trivial_hash(bool);
- _TR1_hashtable_define_trivial_hash(char);
- _TR1_hashtable_define_trivial_hash(signed char);
- _TR1_hashtable_define_trivial_hash(unsigned char);
- _TR1_hashtable_define_trivial_hash(wchar_t);
- _TR1_hashtable_define_trivial_hash(short);
- _TR1_hashtable_define_trivial_hash(int);
- _TR1_hashtable_define_trivial_hash(long);
- _TR1_hashtable_define_trivial_hash(long long);
- _TR1_hashtable_define_trivial_hash(unsigned short);
- _TR1_hashtable_define_trivial_hash(unsigned int);
- _TR1_hashtable_define_trivial_hash(unsigned long);
- _TR1_hashtable_define_trivial_hash(unsigned long long);
-
-#undef _TR1_hashtable_define_trivial_hash
-
- template<typename _Tp>
- struct hash<_Tp*>
- : public std::unary_function<_Tp*, std::size_t>
- {
- std::size_t
- operator()(_Tp* __p) const
- { return reinterpret_cast<std::size_t>(__p); }
- };
-
- // Fowler / Noll / Vo (FNV) Hash (type FNV-1a)
- // (used by the next specializations of std::tr1::hash<>)
-
- // Dummy generic implementation (for sizeof(size_t) != 4, 8).
- template<std::size_t = sizeof(std::size_t)>
- struct _Fnv_hash
- {
- static std::size_t
- hash(const char* __first, std::size_t __length)
- {
- std::size_t __result = 0;
- for (; __length > 0; --__length)
- __result = (__result * 131) + *__first++;
- return __result;
- }
- };
-
- template<>
- struct _Fnv_hash<4>
- {
- static std::size_t
- hash(const char* __first, std::size_t __length)
- {
- std::size_t __result = static_cast<std::size_t>(2166136261UL);
- for (; __length > 0; --__length)
- {
- __result ^= static_cast<std::size_t>(*__first++);
- __result *= static_cast<std::size_t>(16777619UL);
- }
- return __result;
- }
- };
-
- template<>
- struct _Fnv_hash<8>
- {
- static std::size_t
- hash(const char* __first, std::size_t __length)
- {
- std::size_t __result =
- static_cast<std::size_t>(14695981039346656037ULL);
- for (; __length > 0; --__length)
- {
- __result ^= static_cast<std::size_t>(*__first++);
- __result *= static_cast<std::size_t>(1099511628211ULL);
- }
- return __result;
- }
- };
-
- // XXX String and floating point hashes probably shouldn't be inline
- // member functions, since are nontrivial. Once we have the framework
- // for TR1 .cc files, these should go in one.
- template<>
- struct hash<std::string>
- : public std::unary_function<std::string, std::size_t>
- {
- std::size_t
- operator()(const std::string& __s) const
- { return _Fnv_hash<>::hash(__s.data(), __s.length()); }
- };
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- struct hash<std::wstring>
- : public std::unary_function<std::wstring, std::size_t>
- {
- std::size_t
- operator()(const std::wstring& __s) const
- {
- return _Fnv_hash<>::hash(reinterpret_cast<const char*>(__s.data()),
- __s.length() * sizeof(wchar_t));
- }
- };
-#endif
-
- template<>
- struct hash<float>
- : public std::unary_function<float, std::size_t>
- {
- std::size_t
- operator()(float __fval) const
- {
- std::size_t __result = 0;
-
- // 0 and -0 both hash to zero.
- if (__fval != 0.0f)
- __result = _Fnv_hash<>::hash(reinterpret_cast<const char*>(&__fval),
- sizeof(__fval));
- return __result;
- }
- };
-
- template<>
- struct hash<double>
- : public std::unary_function<double, std::size_t>
- {
- std::size_t
- operator()(double __dval) const
- {
- std::size_t __result = 0;
-
- // 0 and -0 both hash to zero.
- if (__dval != 0.0)
- __result = _Fnv_hash<>::hash(reinterpret_cast<const char*>(&__dval),
- sizeof(__dval));
- return __result;
- }
- };
-
- // For long double, careful with random padding bits (e.g., on x86,
- // 10 bytes -> 12 bytes) and resort to frexp.
- template<>
- struct hash<long double>
- : public std::unary_function<long double, std::size_t>
- {
- std::size_t
- operator()(long double __ldval) const
- {
- std::size_t __result = 0;
-
- int __exponent;
- __ldval = std::frexp(__ldval, &__exponent);
- __ldval = __ldval < 0.0l ? -(__ldval + 0.5l) : __ldval;
-
- const long double __mult =
- std::numeric_limits<std::size_t>::max() + 1.0l;
- __ldval *= __mult;
-
- // Try to use all the bits of the mantissa (really necessary only
- // on 32-bit targets, at least for 80-bit floating point formats).
- const std::size_t __hibits = (std::size_t)__ldval;
- __ldval = (__ldval - (long double)__hibits) * __mult;
-
- const std::size_t __coeff =
- (std::numeric_limits<std::size_t>::max()
- / std::numeric_limits<long double>::max_exponent);
-
- __result = __hibits + (std::size_t)__ldval + __coeff * __exponent;
-
- return __result;
- }
- };
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/functional_iterate.h b/contrib/libstdc++/include/tr1/functional_iterate.h
deleted file mode 100644
index c9c1e8334614..000000000000
--- a/contrib/libstdc++/include/tr1/functional_iterate.h
+++ /dev/null
@@ -1,922 +0,0 @@
-// TR1 functional -*- C++ -*-
-
-// Copyright (C) 2005, 2006 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
-// 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/functional_iterate.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- struct _Weak_result_type_impl<_Res(_GLIBCXX_TEMPLATE_ARGS)>
- {
- typedef _Res result_type;
- };
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- struct _Weak_result_type_impl<_Res (&)(_GLIBCXX_TEMPLATE_ARGS)>
- {
- typedef _Res result_type;
- };
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- struct _Weak_result_type_impl<_Res (*)(_GLIBCXX_TEMPLATE_ARGS)>
- {
- typedef _Res result_type;
- };
-
-#if _GLIBCXX_NUM_ARGS > 0
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- struct _Weak_result_type_impl<
- _Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED)>
- {
- typedef _Res result_type;
- };
-
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- struct _Weak_result_type_impl<
- _Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const>
- {
- typedef _Res result_type;
- };
-
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- struct _Weak_result_type_impl<
- _Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) volatile>
- {
- typedef _Res result_type;
- };
-
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- struct _Weak_result_type_impl<
- _Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const volatile>
- {
- typedef _Res result_type;
- };
-#endif
-
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- class result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>
- : public _Result_of_impl<
- _Has_result_type<_Weak_result_type<_Functor> >::value,
- _Functor(_GLIBCXX_TEMPLATE_ARGS)>
- { };
-
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- struct _Result_of_impl<true, _Functor(_GLIBCXX_TEMPLATE_ARGS)>
- {
- typedef typename _Weak_result_type<_Functor>::result_type type;
- };
-
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- struct _Result_of_impl<false, _Functor(_GLIBCXX_TEMPLATE_ARGS)>
- {
-#if _GLIBCXX_NUM_ARGS > 0
- typedef typename _Functor
- ::template result<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type type;
-#else
- typedef void type;
-#endif
- };
-
-/**
- * @if maint
- * Invoke a function object, which may be either a member pointer or a
- * function object. The first parameter will tell which.
- * @endif
- */
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- inline
- typename __gnu_cxx::__enable_if<(!is_member_pointer<_Functor>::value
- && !is_function<_Functor>::value
- && !is_function<typename remove_pointer<_Functor>::type>::value),
- typename result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type>::__type
- __invoke(_Functor& __f _GLIBCXX_COMMA _GLIBCXX_REF_PARAMS)
- {
- return __f(_GLIBCXX_ARGS);
- }
-
-#if _GLIBCXX_NUM_ARGS > 0
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- inline
- typename __gnu_cxx::__enable_if<(is_member_pointer<_Functor>::value
- && !is_function<_Functor>::value
- && !is_function<typename remove_pointer<_Functor>::type>::value),
- typename result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type
- >::__type
- __invoke(_Functor& __f _GLIBCXX_COMMA _GLIBCXX_REF_PARAMS)
- {
- return mem_fn(__f)(_GLIBCXX_ARGS);
- }
-#endif
-
-// To pick up function references (that will become function pointers)
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- inline
- typename __gnu_cxx::__enable_if<(is_pointer<_Functor>::value
- && is_function<typename remove_pointer<_Functor>::type>::value),
- typename result_of<_Functor(_GLIBCXX_TEMPLATE_ARGS)>::type
- >::__type
- __invoke(_Functor __f _GLIBCXX_COMMA _GLIBCXX_REF_PARAMS)
- {
- return __f(_GLIBCXX_ARGS);
- }
-
-/**
- * @if maint
- * Implementation of reference_wrapper::operator()
- * @endif
-*/
-#if _GLIBCXX_NUM_ARGS > 0
-template<typename _Tp>
-template<_GLIBCXX_TEMPLATE_PARAMS>
- typename result_of<
- typename reference_wrapper<_Tp>::_M_func_type(_GLIBCXX_TEMPLATE_ARGS)>::type
- reference_wrapper<_Tp>::operator()(_GLIBCXX_REF_PARAMS) const
- {
- return __invoke(get(), _GLIBCXX_ARGS);
- }
-#endif
-
-#if _GLIBCXX_NUM_ARGS > 0
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- class _Mem_fn<_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED)>
-#if _GLIBCXX_NUM_ARGS == 1
- : public unary_function<_Class*, _Res>
-#elif _GLIBCXX_NUM_ARGS == 2
- : public binary_function<_Class*, _T1, _Res>
-#endif
- {
- typedef _Res (_Class::*_Functor)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED);
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __object, const volatile _Class * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __ptr, const volatile void * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return ((*__ptr).*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- public:
- typedef _Res result_type;
-
- explicit _Mem_fn(_Functor __pf) : __pmf(__pf) { }
-
- // Handle objects
- _Res
- operator()(_Class& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle pointers
- _Res
- operator()(_Class* __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object->*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle smart pointers, references and pointers to derived
- template<typename _Tp>
- _Res
- operator()(_Tp& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- {
- return _M_call(__object, &__object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_ARGS_SHIFTED);
- }
-
- private:
- _Functor __pmf;
- };
-
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- class _Mem_fn<_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const>
-#if _GLIBCXX_NUM_ARGS == 1
- : public unary_function<const _Class*, _Res>
-#elif _GLIBCXX_NUM_ARGS == 2
- : public binary_function<const _Class*, _T1, _Res>
-#endif
- {
- typedef _Res (_Class::*_Functor)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const;
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __object, const volatile _Class * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __ptr, const volatile void * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return ((*__ptr).*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- public:
- typedef _Res result_type;
-
- explicit _Mem_fn(_Functor __pf) : __pmf(__pf) { }
-
- // Handle objects
- _Res
- operator()(const _Class& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle pointers
- _Res
- operator()(const _Class* __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object->*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle smart pointers, references and pointers to derived
- template<typename _Tp>
- _Res
- operator()(_Tp& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- {
- return _M_call(__object, &__object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_ARGS_SHIFTED);
- }
-
- private:
- _Functor __pmf;
- };
-
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- class _Mem_fn<_Res (_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) volatile>
-#if _GLIBCXX_NUM_ARGS == 1
- : public unary_function<volatile _Class*, _Res>
-#elif _GLIBCXX_NUM_ARGS == 2
- : public binary_function<volatile _Class*, _T1, _Res>
-#endif
- {
- typedef _Res (_Class::*_Functor)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) volatile;
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __object, const volatile _Class * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __ptr, const volatile void * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return ((*__ptr).*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- public:
- typedef _Res result_type;
-
- explicit _Mem_fn(_Functor __pf) : __pmf(__pf) { }
-
- // Handle objects
- _Res
- operator()(volatile _Class& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle pointers
- _Res
- operator()(volatile _Class* __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object->*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle smart pointers, references and pointers to derived
- template<typename _Tp>
- _Res
- operator()(_Tp& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- {
- return _M_call(__object, &__object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_ARGS_SHIFTED);
- }
- private:
- _Functor __pmf;
- };
-
-template<typename _Res, typename _Class _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_TEMPLATE_PARAMS_SHIFTED>
- class _Mem_fn<_Res(_Class::*)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED) const volatile>
-#if _GLIBCXX_NUM_ARGS == 1
- : public unary_function<const volatile _Class*, _Res>
-#elif _GLIBCXX_NUM_ARGS == 2
- : public binary_function<const volatile _Class*, _T1, _Res>
-#endif
- {
- typedef _Res (_Class::*_Functor)(_GLIBCXX_TEMPLATE_ARGS_SHIFTED)
- const volatile;
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __object, const volatile _Class * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- template<typename _Tp>
- _Res
- _M_call(_Tp& __ptr, const volatile void * _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return ((*__ptr).*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- public:
- typedef _Res result_type;
-
- explicit _Mem_fn(_Functor __pf) : __pmf(__pf) { }
-
- // Handle objects
- _Res
- operator()(const volatile _Class& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object.*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle pointers
- _Res
- operator()(const volatile _Class* __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- { return (__object->*__pmf)(_GLIBCXX_ARGS_SHIFTED); }
-
- // Handle smart pointers, references and pointers to derived
- template<typename _Tp>
- _Res
- operator()(_Tp& __object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_PARAMS_SHIFTED) const
- {
- return _M_call(__object, &__object _GLIBCXX_COMMA_SHIFTED
- _GLIBCXX_ARGS_SHIFTED);
- }
-
- private:
- _Functor __pmf;
- };
-#endif
-
-#if _GLIBCXX_NUM_ARGS > 0
-namespace placeholders
-{
-namespace
-{
- _Placeholder<_GLIBCXX_NUM_ARGS> _GLIBCXX_JOIN(_,_GLIBCXX_NUM_ARGS);
-} // anonymous namespace
-}
-#endif
-
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class _Bind<_Functor(_GLIBCXX_TEMPLATE_ARGS)>
- : public _Weak_result_type<_Functor>
-{
- typedef _Bind __self_type;
-
- _Functor _M_f;
- _GLIBCXX_BIND_MEMBERS
-
- public:
-#if _GLIBCXX_NUM_ARGS == 0
- explicit
-#endif
- _Bind(_Functor __f _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- : _M_f(__f) _GLIBCXX_COMMA _GLIBCXX_BIND_MEMBERS_INIT { }
-
-#define _GLIBCXX_BIND_REPEAT_HEADER <tr1/bind_iterate.h>
-#include <tr1/bind_repeat.h>
-#undef _GLIBCXX_BIND_REPEAT_HEADER
-};
-
-template<typename _Result, typename _Functor
- _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class _Bind_result<_Result, _Functor(_GLIBCXX_TEMPLATE_ARGS)>
-{
- _Functor _M_f;
- _GLIBCXX_BIND_MEMBERS
-
- public:
- typedef _Result result_type;
-
-#if _GLIBCXX_NUM_ARGS == 0
- explicit
-#endif
- _Bind_result(_Functor __f _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- : _M_f(__f) _GLIBCXX_COMMA _GLIBCXX_BIND_MEMBERS_INIT { }
-
-#define _GLIBCXX_BIND_REPEAT_HEADER <tr1/bind_iterate.h>
-#define _GLIBCXX_BIND_HAS_RESULT_TYPE
-#include <tr1/bind_repeat.h>
-#undef _GLIBCXX_BIND_HAS_RESULT_TYPE
-#undef _GLIBCXX_BIND_REPEAT_HEADER
-};
-
-// Handle arbitrary function objects
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-inline
-_Bind<typename _Maybe_wrap_member_pointer<_Functor>::type
- (_GLIBCXX_TEMPLATE_ARGS)>
-bind(_Functor __f _GLIBCXX_COMMA _GLIBCXX_PARAMS)
-{
- typedef _Maybe_wrap_member_pointer<_Functor> __maybe_type;
- typedef typename __maybe_type::type __functor_type;
- typedef _Bind<__functor_type(_GLIBCXX_TEMPLATE_ARGS)> __result_type;
- return __result_type(__maybe_type::__do_wrap(__f)
- _GLIBCXX_COMMA _GLIBCXX_ARGS);
-}
-
-template<typename _Result, typename _Functor
- _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-inline
-_Bind_result<_Result,
- typename _Maybe_wrap_member_pointer<_Functor>::type
- (_GLIBCXX_TEMPLATE_ARGS)>
-bind(_Functor __f _GLIBCXX_COMMA _GLIBCXX_PARAMS)
-{
- typedef _Maybe_wrap_member_pointer<_Functor> __maybe_type;
- typedef typename __maybe_type::type __functor_type;
- typedef _Bind_result<_Result, __functor_type(_GLIBCXX_TEMPLATE_ARGS)>
- __result_type;
- return __result_type(__maybe_type::__do_wrap(__f)
- _GLIBCXX_COMMA _GLIBCXX_ARGS);
-}
-
-template<typename _Res, typename _Functor _GLIBCXX_COMMA
- _GLIBCXX_TEMPLATE_PARAMS>
-class _Function_handler<_Res(_GLIBCXX_TEMPLATE_ARGS), _Functor>
- : public _Function_base::_Base_manager<_Functor>
-{
- typedef _Function_base::_Base_manager<_Functor> _Base;
-
- public:
- static _Res
- _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- {
- return (*_Base::_M_get_pointer(__functor))(_GLIBCXX_ARGS);
- }
-};
-
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class _Function_handler<void(_GLIBCXX_TEMPLATE_ARGS), _Functor>
- : public _Function_base::_Base_manager<_Functor>
-{
- typedef _Function_base::_Base_manager<_Functor> _Base;
-
- public:
- static void
- _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- {
- (*_Base::_M_get_pointer(__functor))(_GLIBCXX_ARGS);
- }
-};
-
-template<typename _Res, typename _Functor _GLIBCXX_COMMA
- _GLIBCXX_TEMPLATE_PARAMS>
-class _Function_handler<_Res(_GLIBCXX_TEMPLATE_ARGS),
- reference_wrapper<_Functor> >
- : public _Function_base::_Ref_manager<_Functor>
-{
- typedef _Function_base::_Ref_manager<_Functor> _Base;
-
- public:
- static _Res
- _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- {
- return __callable_functor(**_Base::_M_get_pointer(__functor))
- (_GLIBCXX_ARGS);
- }
-};
-
-template<typename _Functor _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class _Function_handler<void(_GLIBCXX_TEMPLATE_ARGS),
- reference_wrapper<_Functor> >
- : public _Function_base::_Ref_manager<_Functor>
-{
- typedef _Function_base::_Ref_manager<_Functor> _Base;
-
- public:
- static void
- _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- {
- __callable_functor(**_Base::_M_get_pointer(__functor))(_GLIBCXX_ARGS);
- }
-};
-
-template<typename _Class, typename _Member, typename _Res
- _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class _Function_handler<_Res(_GLIBCXX_TEMPLATE_ARGS), _Member _Class::*>
- : public _Function_handler<void(_GLIBCXX_TEMPLATE_ARGS), _Member _Class::*>
-{
- typedef _Function_handler<void(_GLIBCXX_TEMPLATE_ARGS), _Member _Class::*>
- _Base;
-
- public:
- static _Res
- _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- {
- return std::tr1::mem_fn(_Base::_M_get_pointer(__functor)->__value)
- (_GLIBCXX_ARGS);
- }
-};
-
-template<typename _Class, typename _Member
- _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class _Function_handler<void(_GLIBCXX_TEMPLATE_ARGS), _Member _Class::*>
- : public _Function_base::_Base_manager<
- _Simple_type_wrapper< _Member _Class::* > >
-{
- typedef _Member _Class::* _Functor;
- typedef _Simple_type_wrapper< _Functor > _Wrapper;
- typedef _Function_base::_Base_manager<_Wrapper> _Base;
-
- public:
- static bool
- _M_manager(_Any_data& __dest, const _Any_data& __source,
- _Manager_operation __op)
- {
- switch (__op) {
- case __get_type_info:
- __dest._M_access<const type_info*>() = &typeid(_Functor);
- break;
-
- case __get_functor_ptr:
- __dest._M_access<_Functor*>() =
- &_Base::_M_get_pointer(__source)->__value;
- break;
-
- default:
- _Base::_M_manager(__dest, __source, __op);
- }
- return false;
- }
-
- static void
- _M_invoke(const _Any_data& __functor _GLIBCXX_COMMA _GLIBCXX_PARAMS)
- {
- std::tr1::mem_fn(_Base::_M_get_pointer(__functor)->__value)
- (_GLIBCXX_ARGS);
- }
-};
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class function<_Res(_GLIBCXX_TEMPLATE_ARGS)>
-#if _GLIBCXX_NUM_ARGS == 1
- : public unary_function<_T1, _Res>, private _Function_base
-#elif _GLIBCXX_NUM_ARGS == 2
- : public binary_function<_T1, _T2, _Res>, private _Function_base
-#else
- : private _Function_base
-#endif
-{
- /**
- * @if maint
- * This class is used to implement the safe_bool idiom.
- * @endif
- */
- struct _Hidden_type
- {
- _Hidden_type* _M_bool;
- };
-
- /**
- * @if maint
- * This typedef is used to implement the safe_bool idiom.
- * @endif
- */
- typedef _Hidden_type* _Hidden_type::* _Safe_bool;
-
- typedef _Res _Signature_type(_GLIBCXX_TEMPLATE_ARGS);
-
- struct _Useless {};
-
- public:
- typedef _Res result_type;
-
- // [3.7.2.1] construct/copy/destroy
-
- /**
- * @brief Default construct creates an empty function call wrapper.
- * @post @c !(bool)*this
- */
- function() : _Function_base() { }
-
- /**
- * @brief Default construct creates an empty function call wrapper.
- * @post @c !(bool)*this
- */
- function(_M_clear_type*) : _Function_base() { }
-
- /**
- * @brief %Function copy constructor.
- * @param x A %function object with identical call signature.
- * @pre @c (bool)*this == (bool)x
- *
- * The newly-created %function contains a copy of the target of @a
- * x (if it has one).
- */
- function(const function& __x);
-
- /**
- * @brief Builds a %function that targets a copy of the incoming
- * function object.
- * @param f A %function object that is callable with parameters of
- * type @c T1, @c T2, ..., @c TN and returns a value convertible
- * to @c Res.
- *
- * The newly-created %function object will target a copy of @a
- * f. If @a f is @c reference_wrapper<F>, then this function
- * object will contain a reference to the function object @c
- * f.get(). If @a f is a NULL function pointer or NULL
- * pointer-to-member, the newly-created object will be empty.
- *
- * If @a f is a non-NULL function pointer or an object of type @c
- * reference_wrapper<F>, this function will not throw.
- */
- template<typename _Functor>
- function(_Functor __f,
- typename __gnu_cxx::__enable_if<!is_integral<_Functor>::value, _Useless>::__type = _Useless());
-
- /**
- * @brief %Function assignment operator.
- * @param x A %function with identical call signature.
- * @post @c (bool)*this == (bool)x
- * @returns @c *this
- *
- * The target of @a x is copied to @c *this. If @a x has no
- * target, then @c *this will be empty.
- *
- * If @a x targets a function pointer or a reference to a function
- * object, then this operation will not throw an exception.
- */
- function& operator=(const function& __x)
- {
- function(__x).swap(*this);
- return *this;
- }
-
- /**
- * @brief %Function assignment to zero.
- * @post @c !(bool)*this
- * @returns @c *this
- *
- * The target of @a *this is deallocated, leaving it empty.
- */
- function& operator=(_M_clear_type*)
- {
- if (_M_manager) {
- _M_manager(_M_functor, _M_functor, __destroy_functor);
- _M_manager = 0;
- _M_invoker = 0;
- }
- return *this;
- }
-
- /**
- * @brief %Function assignment to a new target.
- * @param f A %function object that is callable with parameters of
- * type @c T1, @c T2, ..., @c TN and returns a value convertible
- * to @c Res.
- * @return @c *this
- *
- * This %function object wrapper will target a copy of @a
- * f. If @a f is @c reference_wrapper<F>, then this function
- * object will contain a reference to the function object @c
- * f.get(). If @a f is a NULL function pointer or NULL
- * pointer-to-member, @c this object will be empty.
- *
- * If @a f is a non-NULL function pointer or an object of type @c
- * reference_wrapper<F>, this function will not throw.
- */
- template<typename _Functor>
- typename __gnu_cxx::__enable_if<!is_integral<_Functor>::value, function&>::__type
- operator=(_Functor __f)
- {
- function(__f).swap(*this);
- return *this;
- }
-
- // [3.7.2.2] function modifiers
-
- /**
- * @brief Swap the targets of two %function objects.
- * @param f A %function with identical call signature.
- *
- * Swap the targets of @c this function object and @a f. This
- * function will not throw an exception.
- */
- void swap(function& __x)
- {
- _Any_data __old_functor = _M_functor;
- _M_functor = __x._M_functor;
- __x._M_functor = __old_functor;
- _Manager_type __old_manager = _M_manager;
- _M_manager = __x._M_manager;
- __x._M_manager = __old_manager;
- _Invoker_type __old_invoker = _M_invoker;
- _M_invoker = __x._M_invoker;
- __x._M_invoker = __old_invoker;
- }
-
- // [3.7.2.3] function capacity
-
- /**
- * @brief Determine if the %function wrapper has a target.
- *
- * @return @c true when this %function object contains a target,
- * or @c false when it is empty.
- *
- * This function will not throw an exception.
- */
- operator _Safe_bool() const
- {
- if (_M_empty())
- {
- return 0;
- }
- else
- {
- return &_Hidden_type::_M_bool;
- }
- }
-
- // [3.7.2.4] function invocation
-
- /**
- * @brief Invokes the function targeted by @c *this.
- * @returns the result of the target.
- * @throws bad_function_call when @c !(bool)*this
- *
- * The function call operator invokes the target function object
- * stored by @c this.
- */
- _Res operator()(_GLIBCXX_PARAMS) const;
-
- // [3.7.2.5] function target access
- /**
- * @brief Determine the type of the target of this function object
- * wrapper.
- *
- * @returns the type identifier of the target function object, or
- * @c typeid(void) if @c !(bool)*this.
- *
- * This function will not throw an exception.
- */
- const type_info& target_type() const;
-
- /**
- * @brief Access the stored target function object.
- *
- * @return Returns a pointer to the stored target function object,
- * if @c typeid(Functor).equals(target_type()); otherwise, a NULL
- * pointer.
- *
- * This function will not throw an exception.
- */
- template<typename _Functor> _Functor* target();
-
- /**
- * @overload
- */
- template<typename _Functor> const _Functor* target() const;
-
- private:
- // [3.7.2.6] undefined operators
- template<typename _Function>
- void operator==(const function<_Function>&) const;
- template<typename _Function>
- void operator!=(const function<_Function>&) const;
-
- typedef _Res (*_Invoker_type)(const _Any_data& _GLIBCXX_COMMA
- _GLIBCXX_PARAMS);
- _Invoker_type _M_invoker;
-};
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- function<_Res(_GLIBCXX_TEMPLATE_ARGS)>::function(const function& __x)
- : _Function_base()
- {
- if (__x) {
- _M_invoker = __x._M_invoker;
- _M_manager = __x._M_manager;
- __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
- }
- }
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-template<typename _Functor>
- function<_Res(_GLIBCXX_TEMPLATE_ARGS)>
- ::function(_Functor __f,
- typename __gnu_cxx::__enable_if<!is_integral<_Functor>::value, _Useless>::__type)
- : _Function_base()
-{
- typedef _Function_handler<_Signature_type, _Functor> _My_handler;
- if (_My_handler::_M_not_empty_function(__f)) {
- _M_invoker = &_My_handler::_M_invoke;
- _M_manager = &_My_handler::_M_manager;
- _My_handler::_M_init_functor(_M_functor, __f);
- }
-}
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- _Res
- function<_Res(_GLIBCXX_TEMPLATE_ARGS)>::operator()(_GLIBCXX_PARAMS) const
- {
- if (_M_empty())
- {
-#if __EXCEPTIONS
- throw bad_function_call();
-#else
- std::abort();
-#endif
- }
- return _M_invoker(_M_functor _GLIBCXX_COMMA _GLIBCXX_ARGS);
- }
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
- const type_info&
- function<_Res(_GLIBCXX_TEMPLATE_ARGS)>::target_type() const
- {
- if (_M_manager)
- {
- _Any_data __typeinfo_result;
- _M_manager(__typeinfo_result, _M_functor, __get_type_info);
- return *__typeinfo_result._M_access<const type_info*>();
- }
- else
- {
- return typeid(void);
- }
- }
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-template<typename _Functor>
- _Functor*
- function<_Res(_GLIBCXX_TEMPLATE_ARGS)>::target()
- {
- if (typeid(_Functor) == target_type() && _M_manager)
- {
- _Any_data __ptr;
- if (_M_manager(__ptr, _M_functor, __get_functor_ptr)
- && !is_const<_Functor>::value)
- return 0;
- else
- return __ptr._M_access<_Functor*>();
- }
- else
- {
- return 0;
- }
- }
-
-template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-template<typename _Functor>
- const _Functor*
- function<_Res(_GLIBCXX_TEMPLATE_ARGS)>::target() const
- {
- if (typeid(_Functor) == target_type() && _M_manager)
- {
- _Any_data __ptr;
- _M_manager(__ptr, _M_functor, __get_functor_ptr);
- return __ptr._M_access<const _Functor*>();
- }
- else
- {
- return 0;
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-}
diff --git a/contrib/libstdc++/include/tr1/hashtable b/contrib/libstdc++/include/tr1/hashtable
deleted file mode 100644
index 0d760eed1d57..000000000000
--- a/contrib/libstdc++/include/tr1/hashtable
+++ /dev/null
@@ -1,1182 +0,0 @@
-// Internal header for TR1 unordered_set and unordered_map -*- C++ -*-
-
-// Copyright (C) 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 tr1/hashtable
- * This is a TR1 C++ Library header.
- */
-
-// This header file defines std::tr1::hashtable, which is used to
-// implement std::tr1::unordered_set, std::tr1::unordered_map,
-// std::tr1::unordered_multiset, and std::tr1::unordered_multimap.
-// hashtable has many template parameters, partly to accommodate
-// the differences between those four classes and partly to
-// accommodate policy choices that go beyond what TR1 calls for.
-
-// Class template hashtable attempts to encapsulate all reasonable
-// variation among hash tables that use chaining. It does not handle
-// open addressing.
-
-// References:
-// M. Austern, "A Proposal to Add Hash Tables to the Standard
-// Library (revision 4)," WG21 Document N1456=03-0039, 2003.
-// D. E. Knuth, The Art of Computer Programming, v. 3, Sorting and Searching.
-// A. Tavori and V. Dreizin, "Policy-Based Data Structures", 2004.
-// http://gcc.gnu.org/onlinedocs/libstdc++/ext/pb_ds/index.html
-
-#ifndef _TR1_HASHTABLE
-#define _TR1_HASHTABLE 1
-
-#include <utility> // For std::pair
-#include <memory>
-#include <iterator>
-#include <cstddef>
-#include <cstdlib>
-#include <cmath>
-#include <bits/functexcept.h>
-#include <tr1/type_traits> // For true_type and false_type
-#include <tr1/hashtable_policy.h>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // Class template _Hashtable, class definition.
-
- // Meaning of class template _Hashtable's template parameters
-
- // _Key and _Value: arbitrary CopyConstructible types.
-
- // _Allocator: an allocator type ([lib.allocator.requirements]) whose
- // value type is Value. As a conforming extension, we allow for
- // value type != Value.
-
- // _ExtractKey: function object that takes a object of type Value
- // and returns a value of type _Key.
-
- // _Equal: function object that takes two objects of type k and returns
- // a bool-like value that is true if the two objects are considered equal.
-
- // _H1: the hash function. A unary function object with argument type
- // Key and result type size_t. Return values should be distributed
- // over the entire range [0, numeric_limits<size_t>:::max()].
-
- // _H2: the range-hashing function (in the terminology of Tavori and
- // Dreizin). A binary function object whose argument types and result
- // type are all size_t. Given arguments r and N, the return value is
- // in the range [0, N).
-
- // _Hash: the ranged hash function (Tavori and Dreizin). A binary function
- // whose argument types are _Key and size_t and whose result type is
- // size_t. Given arguments k and N, the return value is in the range
- // [0, N). Default: hash(k, N) = h2(h1(k), N). If _Hash is anything other
- // than the default, _H1 and _H2 are ignored.
-
- // _RehashPolicy: Policy class with three members, all of which govern
- // the bucket count. _M_next_bkt(n) returns a bucket count no smaller
- // than n. _M_bkt_for_elements(n) returns a bucket count appropriate
- // for an element count of n. _M_need_rehash(n_bkt, n_elt, n_ins)
- // determines whether, if the current bucket count is n_bkt and the
- // current element count is n_elt, we need to increase the bucket
- // count. If so, returns make_pair(true, n), where n is the new
- // bucket count. If not, returns make_pair(false, <anything>).
-
- // ??? Right now it is hard-wired that the number of buckets never
- // shrinks. Should we allow _RehashPolicy to change that?
-
- // __cache_hash_code: bool. true if we store the value of the hash
- // function along with the value. This is a time-space tradeoff.
- // Storing it may improve lookup speed by reducing the number of times
- // we need to call the Equal function.
-
- // __constant_iterators: bool. true if iterator and const_iterator are
- // both constant iterator types. This is true for unordered_set and
- // unordered_multiset, false for unordered_map and unordered_multimap.
-
- // __unique_keys: bool. true if the return value of _Hashtable::count(k)
- // is always at most one, false if it may be an arbitrary number. This
- // true for unordered_set and unordered_map, false for unordered_multiset
- // and unordered_multimap.
-
- template<typename _Key, typename _Value, typename _Allocator,
- typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash,
- typename _RehashPolicy,
- bool __cache_hash_code,
- bool __constant_iterators,
- bool __unique_keys>
- class _Hashtable
- : public __detail::_Rehash_base<_RehashPolicy,
- _Hashtable<_Key, _Value, _Allocator,
- _ExtractKey,
- _Equal, _H1, _H2, _Hash,
- _RehashPolicy,
- __cache_hash_code,
- __constant_iterators,
- __unique_keys> >,
- public __detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Equal,
- _H1, _H2, _Hash, __cache_hash_code>,
- public __detail::_Map_base<_Key, _Value, _ExtractKey, __unique_keys,
- _Hashtable<_Key, _Value, _Allocator,
- _ExtractKey,
- _Equal, _H1, _H2, _Hash,
- _RehashPolicy,
- __cache_hash_code,
- __constant_iterators,
- __unique_keys> >
- {
- public:
- typedef _Allocator allocator_type;
- typedef _Value value_type;
- typedef _Key key_type;
- typedef _Equal key_equal;
- // mapped_type, if present, comes from _Map_base.
- // hasher, if present, comes from _Hash_code_base.
- typedef typename _Allocator::difference_type difference_type;
- typedef typename _Allocator::size_type size_type;
- typedef typename _Allocator::reference reference;
- typedef typename _Allocator::const_reference const_reference;
-
- typedef __detail::_Node_iterator<value_type, __constant_iterators,
- __cache_hash_code>
- local_iterator;
- typedef __detail::_Node_const_iterator<value_type,
- __constant_iterators,
- __cache_hash_code>
- const_local_iterator;
-
- typedef __detail::_Hashtable_iterator<value_type, __constant_iterators,
- __cache_hash_code>
- iterator;
- typedef __detail::_Hashtable_const_iterator<value_type,
- __constant_iterators,
- __cache_hash_code>
- const_iterator;
-
- template<typename _Key2, typename _Pair, typename _Hashtable>
- friend struct __detail::_Map_base;
-
- private:
- typedef __detail::_Hash_node<_Value, __cache_hash_code> _Node;
- typedef typename _Allocator::template rebind<_Node>::other
- _Node_allocator_type;
- typedef typename _Allocator::template rebind<_Node*>::other
- _Bucket_allocator_type;
-
- typedef typename _Allocator::template rebind<_Value>::other
- _Value_allocator_type;
-
- _Node_allocator_type _M_node_allocator;
- _Node** _M_buckets;
- size_type _M_bucket_count;
- size_type _M_element_count;
- _RehashPolicy _M_rehash_policy;
-
- _Node*
- _M_allocate_node(const value_type& __v);
-
- void
- _M_deallocate_node(_Node* __n);
-
- void
- _M_deallocate_nodes(_Node**, size_type);
-
- _Node**
- _M_allocate_buckets(size_type __n);
-
- void
- _M_deallocate_buckets(_Node**, size_type __n);
-
- public:
- // Constructor, destructor, assignment, swap
- _Hashtable(size_type __bucket_hint,
- const _H1&, const _H2&, const _Hash&,
- const _Equal&, const _ExtractKey&,
- const allocator_type&);
-
- template<typename _InputIterator>
- _Hashtable(_InputIterator __first, _InputIterator __last,
- size_type __bucket_hint,
- const _H1&, const _H2&, const _Hash&,
- const _Equal&, const _ExtractKey&,
- const allocator_type&);
-
- _Hashtable(const _Hashtable&);
-
- _Hashtable&
- operator=(const _Hashtable&);
-
- ~_Hashtable();
-
- void swap(_Hashtable&);
-
- // Basic container operations
- iterator
- begin()
- {
- iterator __i(_M_buckets);
- if (!__i._M_cur_node)
- __i._M_incr_bucket();
- return __i;
- }
-
- const_iterator
- begin() const
- {
- const_iterator __i(_M_buckets);
- if (!__i._M_cur_node)
- __i._M_incr_bucket();
- return __i;
- }
-
- iterator
- end()
- { return iterator(_M_buckets + _M_bucket_count); }
-
- const_iterator
- end() const
- { return const_iterator(_M_buckets + _M_bucket_count); }
-
- size_type
- size() const
- { return _M_element_count; }
-
- bool
- empty() const
- { return size() == 0; }
-
- allocator_type
- get_allocator() const
- { return allocator_type(_M_node_allocator); }
-
- _Value_allocator_type
- _M_get_Value_allocator() const
- { return _Value_allocator_type(_M_node_allocator); }
-
- size_type
- max_size() const
- { return _M_get_Value_allocator().max_size(); }
-
- // Observers
- key_equal
- key_eq() const
- { return this->_M_eq; }
-
- // hash_function, if present, comes from _Hash_code_base.
-
- // Bucket operations
- size_type
- bucket_count() const
- { return _M_bucket_count; }
-
- size_type
- max_bucket_count() const
- { return max_size(); }
-
- size_type
- bucket_size(size_type __n) const
- { return std::distance(begin(__n), end(__n)); }
-
- size_type
- bucket(const key_type& __k) const
- {
- return this->_M_bucket_index(__k, this->_M_hash_code(__k),
- bucket_count());
- }
-
- local_iterator
- begin(size_type __n)
- { return local_iterator(_M_buckets[__n]); }
-
- local_iterator
- end(size_type)
- { return local_iterator(0); }
-
- const_local_iterator
- begin(size_type __n) const
- { return const_local_iterator(_M_buckets[__n]); }
-
- const_local_iterator
- end(size_type) const
- { return const_local_iterator(0); }
-
- float
- load_factor() const
- {
- return static_cast<float>(size()) / static_cast<float>(bucket_count());
- }
-
- // max_load_factor, if present, comes from _Rehash_base.
-
- // Generalization of max_load_factor. Extension, not found in TR1. Only
- // useful if _RehashPolicy is something other than the default.
- const _RehashPolicy&
- __rehash_policy() const
- { return _M_rehash_policy; }
-
- void
- __rehash_policy(const _RehashPolicy&);
-
- // Lookup.
- iterator
- find(const key_type& __k);
-
- const_iterator
- find(const key_type& __k) const;
-
- size_type
- count(const key_type& __k) const;
-
- std::pair<iterator, iterator>
- equal_range(const key_type& __k);
-
- std::pair<const_iterator, const_iterator>
- equal_range(const key_type& __k) const;
-
- private: // Find, insert and erase helper functions
- // ??? This dispatching is a workaround for the fact that we don't
- // have partial specialization of member templates; it would be
- // better to just specialize insert on __unique_keys. There may be a
- // cleaner workaround.
- typedef typename __gnu_cxx::__conditional_type<__unique_keys,
- std::pair<iterator, bool>, iterator>::__type
- _Insert_Return_Type;
-
- typedef typename __gnu_cxx::__conditional_type<__unique_keys,
- std::_Select1st<_Insert_Return_Type>,
- std::_Identity<_Insert_Return_Type>
- >::__type
- _Insert_Conv_Type;
-
- _Node*
- _M_find_node(_Node*, const key_type&,
- typename _Hashtable::_Hash_code_type) const;
-
- iterator
- _M_insert_bucket(const value_type&, size_type,
- typename _Hashtable::_Hash_code_type);
-
- std::pair<iterator, bool>
- _M_insert(const value_type&, std::tr1::true_type);
-
- iterator
- _M_insert(const value_type&, std::tr1::false_type);
-
- void
- _M_erase_node(_Node*, _Node**);
-
- public:
- // Insert and erase
- _Insert_Return_Type
- insert(const value_type& __v)
- { return _M_insert(__v, std::tr1::integral_constant<bool,
- __unique_keys>()); }
-
- iterator
- insert(iterator, const value_type& __v)
- { return iterator(_Insert_Conv_Type()(this->insert(__v))); }
-
- const_iterator
- insert(const_iterator, const value_type& __v)
- { return const_iterator(_Insert_Conv_Type()(this->insert(__v))); }
-
- template<typename _InputIterator>
- void
- insert(_InputIterator __first, _InputIterator __last);
-
- iterator
- erase(iterator);
-
- const_iterator
- erase(const_iterator);
-
- size_type
- erase(const key_type&);
-
- iterator
- erase(iterator, iterator);
-
- const_iterator
- erase(const_iterator, const_iterator);
-
- void
- clear();
-
- // Set number of buckets to be appropriate for container of n element.
- void rehash(size_type __n);
-
- private:
- // Unconditionally change size of bucket array to n.
- void _M_rehash(size_type __n);
- };
-
-
- // Definitions of class template _Hashtable's out-of-line member functions.
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::_Node*
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_allocate_node(const value_type& __v)
- {
- _Node* __n = _M_node_allocator.allocate(1);
- try
- {
- _M_get_Value_allocator().construct(&__n->_M_v, __v);
- __n->_M_next = 0;
- return __n;
- }
- catch(...)
- {
- _M_node_allocator.deallocate(__n, 1);
- __throw_exception_again;
- }
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_deallocate_node(_Node* __n)
- {
- _M_get_Value_allocator().destroy(&__n->_M_v);
- _M_node_allocator.deallocate(__n, 1);
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_deallocate_nodes(_Node** __array, size_type __n)
- {
- for (size_type __i = 0; __i < __n; ++__i)
- {
- _Node* __p = __array[__i];
- while (__p)
- {
- _Node* __tmp = __p;
- __p = __p->_M_next;
- _M_deallocate_node(__tmp);
- }
- __array[__i] = 0;
- }
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::_Node**
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_allocate_buckets(size_type __n)
- {
- _Bucket_allocator_type __alloc(_M_node_allocator);
-
- // We allocate one extra bucket to hold a sentinel, an arbitrary
- // non-null pointer. Iterator increment relies on this.
- _Node** __p = __alloc.allocate(__n + 1);
- std::fill(__p, __p + __n, (_Node*) 0);
- __p[__n] = reinterpret_cast<_Node*>(0x1000);
- return __p;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_deallocate_buckets(_Node** __p, size_type __n)
- {
- _Bucket_allocator_type __alloc(_M_node_allocator);
- __alloc.deallocate(__p, __n + 1);
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _Hashtable(size_type __bucket_hint,
- const _H1& __h1, const _H2& __h2, const _Hash& __h,
- const _Equal& __eq, const _ExtractKey& __exk,
- const allocator_type& __a)
- : __detail::_Rehash_base<_RehashPolicy, _Hashtable>(),
- __detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Equal,
- _H1, _H2, _Hash, __chc>(__exk, __eq,
- __h1, __h2, __h),
- __detail::_Map_base<_Key, _Value, _ExtractKey, __uk, _Hashtable>(),
- _M_node_allocator(__a),
- _M_bucket_count(0),
- _M_element_count(0),
- _M_rehash_policy()
- {
- _M_bucket_count = _M_rehash_policy._M_next_bkt(__bucket_hint);
- _M_buckets = _M_allocate_buckets(_M_bucket_count);
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- template<typename _InputIterator>
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _Hashtable(_InputIterator __f, _InputIterator __l,
- size_type __bucket_hint,
- const _H1& __h1, const _H2& __h2, const _Hash& __h,
- const _Equal& __eq, const _ExtractKey& __exk,
- const allocator_type& __a)
- : __detail::_Rehash_base<_RehashPolicy, _Hashtable>(),
- __detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Equal,
- _H1, _H2, _Hash, __chc>(__exk, __eq,
- __h1, __h2, __h),
- __detail::_Map_base<_Key, _Value, _ExtractKey, __uk, _Hashtable>(),
- _M_node_allocator(__a),
- _M_bucket_count(0),
- _M_element_count(0),
- _M_rehash_policy()
- {
- _M_bucket_count = std::max(_M_rehash_policy._M_next_bkt(__bucket_hint),
- _M_rehash_policy.
- _M_bkt_for_elements(__detail::
- __distance_fw(__f,
- __l)));
- _M_buckets = _M_allocate_buckets(_M_bucket_count);
- try
- {
- for (; __f != __l; ++__f)
- this->insert(*__f);
- }
- catch(...)
- {
- clear();
- _M_deallocate_buckets(_M_buckets, _M_bucket_count);
- __throw_exception_again;
- }
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _Hashtable(const _Hashtable& __ht)
- : __detail::_Rehash_base<_RehashPolicy, _Hashtable>(__ht),
- __detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Equal,
- _H1, _H2, _Hash, __chc>(__ht),
- __detail::_Map_base<_Key, _Value, _ExtractKey, __uk, _Hashtable>(__ht),
- _M_node_allocator(__ht._M_node_allocator),
- _M_bucket_count(__ht._M_bucket_count),
- _M_element_count(__ht._M_element_count),
- _M_rehash_policy(__ht._M_rehash_policy)
- {
- _M_buckets = _M_allocate_buckets(_M_bucket_count);
- try
- {
- for (size_type __i = 0; __i < __ht._M_bucket_count; ++__i)
- {
- _Node* __n = __ht._M_buckets[__i];
- _Node** __tail = _M_buckets + __i;
- while (__n)
- {
- *__tail = _M_allocate_node(__n->_M_v);
- this->_M_copy_code(*__tail, __n);
- __tail = &((*__tail)->_M_next);
- __n = __n->_M_next;
- }
- }
- }
- catch(...)
- {
- clear();
- _M_deallocate_buckets(_M_buckets, _M_bucket_count);
- __throw_exception_again;
- }
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>&
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- operator=(const _Hashtable& __ht)
- {
- _Hashtable __tmp(__ht);
- this->swap(__tmp);
- return *this;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- ~_Hashtable()
- {
- clear();
- _M_deallocate_buckets(_M_buckets, _M_bucket_count);
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- swap(_Hashtable& __x)
- {
- // The only base class with member variables is hash_code_base. We
- // define _Hash_code_base::_M_swap because different specializations
- // have different members.
- __detail::_Hash_code_base<_Key, _Value, _ExtractKey, _Equal,
- _H1, _H2, _Hash, __chc>::_M_swap(__x);
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 431. Swapping containers with unequal allocators.
- std::__alloc_swap<_Node_allocator_type>::_S_do_it(_M_node_allocator,
- __x._M_node_allocator);
-
- std::swap(_M_rehash_policy, __x._M_rehash_policy);
- std::swap(_M_buckets, __x._M_buckets);
- std::swap(_M_bucket_count, __x._M_bucket_count);
- std::swap(_M_element_count, __x._M_element_count);
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- __rehash_policy(const _RehashPolicy& __pol)
- {
- _M_rehash_policy = __pol;
- size_type __n_bkt = __pol._M_bkt_for_elements(_M_element_count);
- if (__n_bkt > _M_bucket_count)
- _M_rehash(__n_bkt);
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::iterator
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- find(const key_type& __k)
- {
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
- _Node* __p = _M_find_node(_M_buckets[__n], __k, __code);
- return __p ? iterator(__p, _M_buckets + __n) : this->end();
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::const_iterator
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- find(const key_type& __k) const
- {
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
- _Node* __p = _M_find_node(_M_buckets[__n], __k, __code);
- return __p ? const_iterator(__p, _M_buckets + __n) : this->end();
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::size_type
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- count(const key_type& __k) const
- {
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
- std::size_t __result = 0;
- for (_Node* __p = _M_buckets[__n]; __p; __p = __p->_M_next)
- if (this->_M_compare(__k, __code, __p))
- ++__result;
- return __result;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- std::pair<typename _Hashtable<_Key, _Value, _Allocator,
- _ExtractKey, _Equal, _H1,
- _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::iterator,
- typename _Hashtable<_Key, _Value, _Allocator,
- _ExtractKey, _Equal, _H1,
- _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::iterator>
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- equal_range(const key_type& __k)
- {
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
- _Node** __head = _M_buckets + __n;
- _Node* __p = _M_find_node(*__head, __k, __code);
-
- if (__p)
- {
- _Node* __p1 = __p->_M_next;
- for (; __p1; __p1 = __p1->_M_next)
- if (!this->_M_compare(__k, __code, __p1))
- break;
-
- iterator __first(__p, __head);
- iterator __last(__p1, __head);
- if (!__p1)
- __last._M_incr_bucket();
- return std::make_pair(__first, __last);
- }
- else
- return std::make_pair(this->end(), this->end());
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- std::pair<typename _Hashtable<_Key, _Value, _Allocator,
- _ExtractKey, _Equal, _H1,
- _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::const_iterator,
- typename _Hashtable<_Key, _Value, _Allocator,
- _ExtractKey, _Equal, _H1,
- _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::const_iterator>
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- equal_range(const key_type& __k) const
- {
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
- _Node** __head = _M_buckets + __n;
- _Node* __p = _M_find_node(*__head, __k, __code);
-
- if (__p)
- {
- _Node* __p1 = __p->_M_next;
- for (; __p1; __p1 = __p1->_M_next)
- if (!this->_M_compare(__k, __code, __p1))
- break;
-
- const_iterator __first(__p, __head);
- const_iterator __last(__p1, __head);
- if (!__p1)
- __last._M_incr_bucket();
- return std::make_pair(__first, __last);
- }
- else
- return std::make_pair(this->end(), this->end());
- }
-
- // Find the node whose key compares equal to k, beginning the search
- // at p (usually the head of a bucket). Return nil if no node is found.
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey,
- _Equal, _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::_Node*
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_find_node(_Node* __p, const key_type& __k,
- typename _Hashtable::_Hash_code_type __code) const
- {
- for (; __p; __p = __p->_M_next)
- if (this->_M_compare(__k, __code, __p))
- return __p;
- return false;
- }
-
- // Insert v in bucket n (assumes no element with its key already present).
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::iterator
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_insert_bucket(const value_type& __v, size_type __n,
- typename _Hashtable::_Hash_code_type __code)
- {
- std::pair<bool, std::size_t> __do_rehash
- = _M_rehash_policy._M_need_rehash(_M_bucket_count,
- _M_element_count, 1);
-
- // Allocate the new node before doing the rehash so that we don't
- // do a rehash if the allocation throws.
- _Node* __new_node = _M_allocate_node(__v);
-
- try
- {
- if (__do_rehash.first)
- {
- const key_type& __k = this->_M_extract(__v);
- __n = this->_M_bucket_index(__k, __code, __do_rehash.second);
- _M_rehash(__do_rehash.second);
- }
-
- __new_node->_M_next = _M_buckets[__n];
- this->_M_store_code(__new_node, __code);
- _M_buckets[__n] = __new_node;
- ++_M_element_count;
- return iterator(__new_node, _M_buckets + __n);
- }
- catch(...)
- {
- _M_deallocate_node(__new_node);
- __throw_exception_again;
- }
- }
-
- // Insert v if no element with its key is already present.
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- std::pair<typename _Hashtable<_Key, _Value, _Allocator,
- _ExtractKey, _Equal, _H1,
- _H2, _Hash, _RehashPolicy,
- __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)
- {
- const key_type& __k = this->_M_extract(__v);
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- size_type __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
-
- if (_Node* __p = _M_find_node(_M_buckets[__n], __k, __code))
- return std::make_pair(iterator(__p, _M_buckets + __n), false);
- return std::make_pair(_M_insert_bucket(__v, __n, __code), true);
- }
-
- // Insert v unconditionally.
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __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)
- {
- std::pair<bool, std::size_t> __do_rehash
- = _M_rehash_policy._M_need_rehash(_M_bucket_count,
- _M_element_count, 1);
- if (__do_rehash.first)
- _M_rehash(__do_rehash.second);
-
- const key_type& __k = this->_M_extract(__v);
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- size_type __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
-
- // First find the node, avoid leaking new_node if compare throws.
- _Node* __prev = _M_find_node(_M_buckets[__n], __k, __code);
- _Node* __new_node = _M_allocate_node(__v);
-
- if (__prev)
- {
- __new_node->_M_next = __prev->_M_next;
- __prev->_M_next = __new_node;
- }
- else
- {
- __new_node->_M_next = _M_buckets[__n];
- _M_buckets[__n] = __new_node;
- }
- this->_M_store_code(__new_node, __code);
-
- ++_M_element_count;
- return iterator(__new_node, _M_buckets + __n);
- }
-
- // For erase(iterator) and erase(const_iterator).
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_erase_node(_Node* __p, _Node** __b)
- {
- _Node* __cur = *__b;
- if (__cur == __p)
- *__b = __cur->_M_next;
- else
- {
- _Node* __next = __cur->_M_next;
- while (__next != __p)
- {
- __cur = __next;
- __next = __cur->_M_next;
- }
- __cur->_M_next = __next->_M_next;
- }
-
- _M_deallocate_node(__p);
- --_M_element_count;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- template<typename _InputIterator>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- insert(_InputIterator __first, _InputIterator __last)
- {
- size_type __n_elt = __detail::__distance_fw(__first, __last);
- std::pair<bool, std::size_t> __do_rehash
- = _M_rehash_policy._M_need_rehash(_M_bucket_count,
- _M_element_count, __n_elt);
- if (__do_rehash.first)
- _M_rehash(__do_rehash.second);
-
- for (; __first != __last; ++__first)
- this->insert(*__first);
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::iterator
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- erase(iterator __it)
- {
- iterator __result = __it;
- ++__result;
- _M_erase_node(__it._M_cur_node, __it._M_cur_bucket);
- return __result;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::const_iterator
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- erase(const_iterator __it)
- {
- const_iterator __result = __it;
- ++__result;
- _M_erase_node(__it._M_cur_node, __it._M_cur_bucket);
- return __result;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::size_type
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- erase(const key_type& __k)
- {
- typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k);
- std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count);
- size_type __result = 0;
-
- _Node** __slot = _M_buckets + __n;
- while (*__slot && !this->_M_compare(__k, __code, *__slot))
- __slot = &((*__slot)->_M_next);
-
- while (*__slot && this->_M_compare(__k, __code, *__slot))
- {
- _Node* __p = *__slot;
- *__slot = __p->_M_next;
- _M_deallocate_node(__p);
- --_M_element_count;
- ++__result;
- }
-
- return __result;
- }
-
- // ??? This could be optimized by taking advantage of the bucket
- // structure, but it's not clear that it's worth doing. It probably
- // wouldn't even be an optimization unless the load factor is large.
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::iterator
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- erase(iterator __first, iterator __last)
- {
- while (__first != __last)
- __first = this->erase(__first);
- return __last;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy,
- __chc, __cit, __uk>::const_iterator
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- erase(const_iterator __first, const_iterator __last)
- {
- while (__first != __last)
- __first = this->erase(__first);
- return __last;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- clear()
- {
- _M_deallocate_nodes(_M_buckets, _M_bucket_count);
- _M_element_count = 0;
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- rehash(size_type __n)
- {
- _M_rehash(std::max(_M_rehash_policy._M_next_bkt(__n),
- _M_rehash_policy._M_bkt_for_elements(_M_element_count
- + 1)));
- }
-
- template<typename _Key, typename _Value,
- typename _Allocator, typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash, typename _RehashPolicy,
- bool __chc, bool __cit, bool __uk>
- void
- _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal,
- _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>::
- _M_rehash(size_type __n)
- {
- _Node** __new_array = _M_allocate_buckets(__n);
- try
- {
- for (size_type __i = 0; __i < _M_bucket_count; ++__i)
- while (_Node* __p = _M_buckets[__i])
- {
- std::size_t __new_index = this->_M_bucket_index(__p, __n);
- _M_buckets[__i] = __p->_M_next;
- __p->_M_next = __new_array[__new_index];
- __new_array[__new_index] = __p;
- }
- _M_deallocate_buckets(_M_buckets, _M_bucket_count);
- _M_bucket_count = __n;
- _M_buckets = __new_array;
- }
- catch(...)
- {
- // A failure here means that a hash function threw an exception.
- // We can't restore the previous state without calling the hash
- // function again, so the only sensible recovery is to delete
- // everything.
- _M_deallocate_nodes(__new_array, __n);
- _M_deallocate_buckets(__new_array, __n);
- _M_deallocate_nodes(_M_buckets, _M_bucket_count);
- _M_element_count = 0;
- __throw_exception_again;
- }
- }
-
-_GLIBCXX_END_NAMESPACE
-} // namespace std::tr1
-
-#endif // _TR1_HASHTABLE
-
diff --git a/contrib/libstdc++/include/tr1/hashtable_policy.h b/contrib/libstdc++/include/tr1/hashtable_policy.h
deleted file mode 100644
index 2d3830d544c8..000000000000
--- a/contrib/libstdc++/include/tr1/hashtable_policy.h
+++ /dev/null
@@ -1,903 +0,0 @@
-// Internal policy header for TR1 unordered_set and unordered_map -*- C++ -*-
-
-// Copyright (C) 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 tr1/hashtable_policy.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_HASHTABLE_POLICY_H
-#define _TR1_HASHTABLE_POLICY_H 1
-
-#include <functional> // _Identity, _Select1st
-#include <tr1/utility>
-#include <ext/type_traits.h>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-namespace __detail
-{
- // Helper function: return distance(first, last) for forward
- // iterators, or 0 for input iterators.
- template<class _Iterator>
- inline typename std::iterator_traits<_Iterator>::difference_type
- __distance_fw(_Iterator __first, _Iterator __last,
- std::input_iterator_tag)
- { return 0; }
-
- template<class _Iterator>
- inline typename std::iterator_traits<_Iterator>::difference_type
- __distance_fw(_Iterator __first, _Iterator __last,
- std::forward_iterator_tag)
- { return std::distance(__first, __last); }
-
- template<class _Iterator>
- inline typename std::iterator_traits<_Iterator>::difference_type
- __distance_fw(_Iterator __first, _Iterator __last)
- {
- typedef typename std::iterator_traits<_Iterator>::iterator_category _Tag;
- return __distance_fw(__first, __last, _Tag());
- }
-
- // XXX This is a hack. _Prime_rehash_policy's member functions, and
- // certainly the list of primes, should be defined in a .cc file.
- // We're temporarily putting them in a header because we don't have a
- // place to put TR1 .cc files yet. There's no good reason for any of
- // _Prime_rehash_policy's member functions to be inline, and there's
- // certainly no good reason for _Primes<> to exist at all.
- struct _LessThan
- {
- template<typename _Tp, typename _Up>
- bool
- operator()(_Tp __x, _Up __y)
- { return __x < __y; }
- };
-
- template<int __ulongsize = sizeof(unsigned long)>
- struct _Primes
- {
- static const int __n_primes = __ulongsize != 8 ? 256 : 256 + 48;
- static const unsigned long __primes[256 + 48 + 1];
- };
-
- template<int __ulongsize>
- const int _Primes<__ulongsize>::__n_primes;
-
- template<int __ulongsize>
- const unsigned long _Primes<__ulongsize>::__primes[256 + 48 + 1] =
- {
- 2ul, 3ul, 5ul, 7ul, 11ul, 13ul, 17ul, 19ul, 23ul, 29ul, 31ul,
- 37ul, 41ul, 43ul, 47ul, 53ul, 59ul, 61ul, 67ul, 71ul, 73ul, 79ul,
- 83ul, 89ul, 97ul, 103ul, 109ul, 113ul, 127ul, 137ul, 139ul, 149ul,
- 157ul, 167ul, 179ul, 193ul, 199ul, 211ul, 227ul, 241ul, 257ul,
- 277ul, 293ul, 313ul, 337ul, 359ul, 383ul, 409ul, 439ul, 467ul,
- 503ul, 541ul, 577ul, 619ul, 661ul, 709ul, 761ul, 823ul, 887ul,
- 953ul, 1031ul, 1109ul, 1193ul, 1289ul, 1381ul, 1493ul, 1613ul,
- 1741ul, 1879ul, 2029ul, 2179ul, 2357ul, 2549ul, 2753ul, 2971ul,
- 3209ul, 3469ul, 3739ul, 4027ul, 4349ul, 4703ul, 5087ul, 5503ul,
- 5953ul, 6427ul, 6949ul, 7517ul, 8123ul, 8783ul, 9497ul, 10273ul,
- 11113ul, 12011ul, 12983ul, 14033ul, 15173ul, 16411ul, 17749ul,
- 19183ul, 20753ul, 22447ul, 24281ul, 26267ul, 28411ul, 30727ul,
- 33223ul, 35933ul, 38873ul, 42043ul, 45481ul, 49201ul, 53201ul,
- 57557ul, 62233ul, 67307ul, 72817ul, 78779ul, 85229ul, 92203ul,
- 99733ul, 107897ul, 116731ul, 126271ul, 136607ul, 147793ul,
- 159871ul, 172933ul, 187091ul, 202409ul, 218971ul, 236897ul,
- 256279ul, 277261ul, 299951ul, 324503ul, 351061ul, 379787ul,
- 410857ul, 444487ul, 480881ul, 520241ul, 562841ul, 608903ul,
- 658753ul, 712697ul, 771049ul, 834181ul, 902483ul, 976369ul,
- 1056323ul, 1142821ul, 1236397ul, 1337629ul, 1447153ul, 1565659ul,
- 1693859ul, 1832561ul, 1982627ul, 2144977ul, 2320627ul, 2510653ul,
- 2716249ul, 2938679ul, 3179303ul, 3439651ul, 3721303ul, 4026031ul,
- 4355707ul, 4712381ul, 5098259ul, 5515729ul, 5967347ul, 6456007ul,
- 6984629ul, 7556579ul, 8175383ul, 8844859ul, 9569143ul, 10352717ul,
- 11200489ul, 12117689ul, 13109983ul, 14183539ul, 15345007ul,
- 16601593ul, 17961079ul, 19431899ul, 21023161ul, 22744717ul,
- 24607243ul, 26622317ul, 28802401ul, 31160981ul, 33712729ul,
- 36473443ul, 39460231ul, 42691603ul, 46187573ul, 49969847ul,
- 54061849ul, 58488943ul, 63278561ul, 68460391ul, 74066549ul,
- 80131819ul, 86693767ul, 93793069ul, 101473717ul, 109783337ul,
- 118773397ul, 128499677ul, 139022417ul, 150406843ul, 162723577ul,
- 176048909ul, 190465427ul, 206062531ul, 222936881ul, 241193053ul,
- 260944219ul, 282312799ul, 305431229ul, 330442829ul, 357502601ul,
- 386778277ul, 418451333ul, 452718089ul, 489790921ul, 529899637ul,
- 573292817ul, 620239453ul, 671030513ul, 725980837ul, 785430967ul,
- 849749479ul, 919334987ul, 994618837ul, 1076067617ul, 1164186217ul,
- 1259520799ul, 1362662261ul, 1474249943ul, 1594975441ul,
- 1725587117ul, 1866894511ul, 2019773507ul, 2185171673ul,
- 2364114217ul, 2557710269ul, 2767159799ul, 2993761039ul,
- 3238918481ul, 3504151727ul, 3791104843ul, 4101556399ul,
- 4294967291ul,
- // Sentinel, so we don't have to test the result of lower_bound,
- // or, on 64-bit machines, rest of the table.
- __ulongsize != 8 ? 4294967291ul : (unsigned long)6442450933ull,
- (unsigned long)8589934583ull,
- (unsigned long)12884901857ull, (unsigned long)17179869143ull,
- (unsigned long)25769803693ull, (unsigned long)34359738337ull,
- (unsigned long)51539607367ull, (unsigned long)68719476731ull,
- (unsigned long)103079215087ull, (unsigned long)137438953447ull,
- (unsigned long)206158430123ull, (unsigned long)274877906899ull,
- (unsigned long)412316860387ull, (unsigned long)549755813881ull,
- (unsigned long)824633720731ull, (unsigned long)1099511627689ull,
- (unsigned long)1649267441579ull, (unsigned long)2199023255531ull,
- (unsigned long)3298534883309ull, (unsigned long)4398046511093ull,
- (unsigned long)6597069766607ull, (unsigned long)8796093022151ull,
- (unsigned long)13194139533241ull, (unsigned long)17592186044399ull,
- (unsigned long)26388279066581ull, (unsigned long)35184372088777ull,
- (unsigned long)52776558133177ull, (unsigned long)70368744177643ull,
- (unsigned long)105553116266399ull, (unsigned long)140737488355213ull,
- (unsigned long)211106232532861ull, (unsigned long)281474976710597ull,
- (unsigned long)562949953421231ull, (unsigned long)1125899906842597ull,
- (unsigned long)2251799813685119ull, (unsigned long)4503599627370449ull,
- (unsigned long)9007199254740881ull, (unsigned long)18014398509481951ull,
- (unsigned long)36028797018963913ull, (unsigned long)72057594037927931ull,
- (unsigned long)144115188075855859ull,
- (unsigned long)288230376151711717ull,
- (unsigned long)576460752303423433ull,
- (unsigned long)1152921504606846883ull,
- (unsigned long)2305843009213693951ull,
- (unsigned long)4611686018427387847ull,
- (unsigned long)9223372036854775783ull,
- (unsigned long)18446744073709551557ull,
- (unsigned long)18446744073709551557ull
- };
-
- // Auxiliary types used for all instantiations of _Hashtable: nodes
- // and iterators.
-
- // Nodes, used to wrap elements stored in the hash table. A policy
- // template parameter of class template _Hashtable controls whether
- // nodes also store a hash code. In some cases (e.g. strings) this
- // may be a performance win.
- template<typename _Value, bool __cache_hash_code>
- struct _Hash_node;
-
- template<typename _Value>
- struct _Hash_node<_Value, true>
- {
- _Value _M_v;
- std::size_t _M_hash_code;
- _Hash_node* _M_next;
- };
-
- template<typename _Value>
- struct _Hash_node<_Value, false>
- {
- _Value _M_v;
- _Hash_node* _M_next;
- };
-
- // Local iterators, used to iterate within a bucket but not between
- // buckets.
- template<typename _Value, bool __cache>
- struct _Node_iterator_base
- {
- _Node_iterator_base(_Hash_node<_Value, __cache>* __p)
- : _M_cur(__p) { }
-
- void
- _M_incr()
- { _M_cur = _M_cur->_M_next; }
-
- _Hash_node<_Value, __cache>* _M_cur;
- };
-
- template<typename _Value, bool __cache>
- inline bool
- operator==(const _Node_iterator_base<_Value, __cache>& __x,
- const _Node_iterator_base<_Value, __cache>& __y)
- { return __x._M_cur == __y._M_cur; }
-
- template<typename _Value, bool __cache>
- inline bool
- operator!=(const _Node_iterator_base<_Value, __cache>& __x,
- const _Node_iterator_base<_Value, __cache>& __y)
- { return __x._M_cur != __y._M_cur; }
-
- template<typename _Value, bool __constant_iterators, bool __cache>
- struct _Node_iterator
- : public _Node_iterator_base<_Value, __cache>
- {
- typedef _Value value_type;
- typedef typename
- __gnu_cxx::__conditional_type<__constant_iterators,
- const _Value*, _Value*>::__type
- pointer;
- typedef typename
- __gnu_cxx::__conditional_type<__constant_iterators,
- const _Value&, _Value&>::__type
- reference;
- typedef std::ptrdiff_t difference_type;
- typedef std::forward_iterator_tag iterator_category;
-
- _Node_iterator()
- : _Node_iterator_base<_Value, __cache>(0) { }
-
- explicit
- _Node_iterator(_Hash_node<_Value, __cache>* __p)
- : _Node_iterator_base<_Value, __cache>(__p) { }
-
- reference
- operator*() const
- { return this->_M_cur->_M_v; }
-
- pointer
- operator->() const
- { return &this->_M_cur->_M_v; }
-
- _Node_iterator&
- operator++()
- {
- this->_M_incr();
- return *this;
- }
-
- _Node_iterator
- operator++(int)
- {
- _Node_iterator __tmp(*this);
- this->_M_incr();
- return __tmp;
- }
- };
-
- template<typename _Value, bool __constant_iterators, bool __cache>
- struct _Node_const_iterator
- : public _Node_iterator_base<_Value, __cache>
- {
- typedef _Value value_type;
- typedef const _Value* pointer;
- typedef const _Value& reference;
- typedef std::ptrdiff_t difference_type;
- typedef std::forward_iterator_tag iterator_category;
-
- _Node_const_iterator()
- : _Node_iterator_base<_Value, __cache>(0) { }
-
- explicit
- _Node_const_iterator(_Hash_node<_Value, __cache>* __p)
- : _Node_iterator_base<_Value, __cache>(__p) { }
-
- _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators,
- __cache>& __x)
- : _Node_iterator_base<_Value, __cache>(__x._M_cur) { }
-
- reference
- operator*() const
- { return this->_M_cur->_M_v; }
-
- pointer
- operator->() const
- { return &this->_M_cur->_M_v; }
-
- _Node_const_iterator&
- operator++()
- {
- this->_M_incr();
- return *this;
- }
-
- _Node_const_iterator
- operator++(int)
- {
- _Node_const_iterator __tmp(*this);
- this->_M_incr();
- return __tmp;
- }
- };
-
- template<typename _Value, bool __cache>
- struct _Hashtable_iterator_base
- {
- _Hashtable_iterator_base(_Hash_node<_Value, __cache>* __node,
- _Hash_node<_Value, __cache>** __bucket)
- : _M_cur_node(__node), _M_cur_bucket(__bucket) { }
-
- void
- _M_incr()
- {
- _M_cur_node = _M_cur_node->_M_next;
- if (!_M_cur_node)
- _M_incr_bucket();
- }
-
- void
- _M_incr_bucket();
-
- _Hash_node<_Value, __cache>* _M_cur_node;
- _Hash_node<_Value, __cache>** _M_cur_bucket;
- };
-
- // Global iterators, used for arbitrary iteration within a hash
- // table. Larger and more expensive than local iterators.
- template<typename _Value, bool __cache>
- void
- _Hashtable_iterator_base<_Value, __cache>::
- _M_incr_bucket()
- {
- ++_M_cur_bucket;
-
- // This loop requires the bucket array to have a non-null sentinel.
- while (!*_M_cur_bucket)
- ++_M_cur_bucket;
- _M_cur_node = *_M_cur_bucket;
- }
-
- template<typename _Value, bool __cache>
- inline bool
- operator==(const _Hashtable_iterator_base<_Value, __cache>& __x,
- const _Hashtable_iterator_base<_Value, __cache>& __y)
- { return __x._M_cur_node == __y._M_cur_node; }
-
- template<typename _Value, bool __cache>
- inline bool
- operator!=(const _Hashtable_iterator_base<_Value, __cache>& __x,
- const _Hashtable_iterator_base<_Value, __cache>& __y)
- { return __x._M_cur_node != __y._M_cur_node; }
-
- template<typename _Value, bool __constant_iterators, bool __cache>
- struct _Hashtable_iterator
- : public _Hashtable_iterator_base<_Value, __cache>
- {
- typedef _Value value_type;
- typedef typename
- __gnu_cxx::__conditional_type<__constant_iterators,
- const _Value*, _Value*>::__type
- pointer;
- typedef typename
- __gnu_cxx::__conditional_type<__constant_iterators,
- const _Value&, _Value&>::__type
- reference;
- typedef std::ptrdiff_t difference_type;
- typedef std::forward_iterator_tag iterator_category;
-
- _Hashtable_iterator()
- : _Hashtable_iterator_base<_Value, __cache>(0, 0) { }
-
- _Hashtable_iterator(_Hash_node<_Value, __cache>* __p,
- _Hash_node<_Value, __cache>** __b)
- : _Hashtable_iterator_base<_Value, __cache>(__p, __b) { }
-
- explicit
- _Hashtable_iterator(_Hash_node<_Value, __cache>** __b)
- : _Hashtable_iterator_base<_Value, __cache>(*__b, __b) { }
-
- reference
- operator*() const
- { return this->_M_cur_node->_M_v; }
-
- pointer
- operator->() const
- { return &this->_M_cur_node->_M_v; }
-
- _Hashtable_iterator&
- operator++()
- {
- this->_M_incr();
- return *this;
- }
-
- _Hashtable_iterator
- operator++(int)
- {
- _Hashtable_iterator __tmp(*this);
- this->_M_incr();
- return __tmp;
- }
- };
-
- template<typename _Value, bool __constant_iterators, bool __cache>
- struct _Hashtable_const_iterator
- : public _Hashtable_iterator_base<_Value, __cache>
- {
- typedef _Value value_type;
- typedef const _Value* pointer;
- typedef const _Value& reference;
- typedef std::ptrdiff_t difference_type;
- typedef std::forward_iterator_tag iterator_category;
-
- _Hashtable_const_iterator()
- : _Hashtable_iterator_base<_Value, __cache>(0, 0) { }
-
- _Hashtable_const_iterator(_Hash_node<_Value, __cache>* __p,
- _Hash_node<_Value, __cache>** __b)
- : _Hashtable_iterator_base<_Value, __cache>(__p, __b) { }
-
- explicit
- _Hashtable_const_iterator(_Hash_node<_Value, __cache>** __b)
- : _Hashtable_iterator_base<_Value, __cache>(*__b, __b) { }
-
- _Hashtable_const_iterator(const _Hashtable_iterator<_Value,
- __constant_iterators, __cache>& __x)
- : _Hashtable_iterator_base<_Value, __cache>(__x._M_cur_node,
- __x._M_cur_bucket) { }
-
- reference
- operator*() const
- { return this->_M_cur_node->_M_v; }
-
- pointer
- operator->() const
- { return &this->_M_cur_node->_M_v; }
-
- _Hashtable_const_iterator&
- operator++()
- {
- this->_M_incr();
- return *this;
- }
-
- _Hashtable_const_iterator
- operator++(int)
- {
- _Hashtable_const_iterator __tmp(*this);
- this->_M_incr();
- return __tmp;
- }
- };
-
-
- // Many of class template _Hashtable's template parameters are policy
- // classes. These are defaults for the policies.
-
- // Default range hashing function: use division to fold a large number
- // into the range [0, N).
- struct _Mod_range_hashing
- {
- typedef std::size_t first_argument_type;
- typedef std::size_t second_argument_type;
- typedef std::size_t result_type;
-
- result_type
- operator()(first_argument_type __num, second_argument_type __den) const
- { return __num % __den; }
- };
-
- // Default ranged hash function H. In principle it should be a
- // function object composed from objects of type H1 and H2 such that
- // h(k, N) = h2(h1(k), N), but that would mean making extra copies of
- // h1 and h2. So instead we'll just use a tag to tell class template
- // hashtable to do that composition.
- struct _Default_ranged_hash { };
-
- // Default value for rehash policy. Bucket size is (usually) the
- // smallest prime that keeps the load factor small enough.
- struct _Prime_rehash_policy
- {
- _Prime_rehash_policy(float __z = 1.0);
-
- float
- max_load_factor() const;
-
- // Return a bucket size no smaller than n.
- std::size_t
- _M_next_bkt(std::size_t __n) const;
-
- // Return a bucket count appropriate for n elements
- std::size_t
- _M_bkt_for_elements(std::size_t __n) const;
-
- // __n_bkt is current bucket count, __n_elt is current element count,
- // and __n_ins is number of elements to be inserted. Do we need to
- // increase bucket count? If so, return make_pair(true, n), where n
- // is the new bucket count. If not, return make_pair(false, 0).
- std::pair<bool, std::size_t>
- _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
- std::size_t __n_ins) const;
-
- float _M_max_load_factor;
- float _M_growth_factor;
- mutable std::size_t _M_next_resize;
- };
-
- inline
- _Prime_rehash_policy::
- _Prime_rehash_policy(float __z)
- : _M_max_load_factor(__z), _M_growth_factor(2.f), _M_next_resize(0)
- { }
-
- inline float
- _Prime_rehash_policy::
- max_load_factor() const
- { return _M_max_load_factor; }
-
- // Return a prime no smaller than n.
- inline std::size_t
- _Prime_rehash_policy::
- _M_next_bkt(std::size_t __n) const
- {
- const unsigned long* const __last = (_Primes<>::__primes
- + _Primes<>::__n_primes);
- const unsigned long* __p = std::lower_bound(_Primes<>::__primes, __last,
- __n);
- _M_next_resize = static_cast<std::size_t>(std::ceil(*__p
- * _M_max_load_factor));
- return *__p;
- }
-
- // Return the smallest prime p such that alpha p >= n, where alpha
- // is the load factor.
- inline std::size_t
- _Prime_rehash_policy::
- _M_bkt_for_elements(std::size_t __n) const
- {
- const unsigned long* const __last = (_Primes<>::__primes
- + _Primes<>::__n_primes);
- const float __min_bkts = __n / _M_max_load_factor;
- const unsigned long* __p = std::lower_bound(_Primes<>::__primes, __last,
- __min_bkts, _LessThan());
- _M_next_resize = static_cast<std::size_t>(std::ceil(*__p
- * _M_max_load_factor));
- return *__p;
- }
-
- // Finds the smallest prime p such that alpha p > __n_elt + __n_ins.
- // If p > __n_bkt, return make_pair(true, p); otherwise return
- // make_pair(false, 0). In principle this isn't very different from
- // _M_bkt_for_elements.
-
- // The only tricky part is that we're caching the element count at
- // which we need to rehash, so we don't have to do a floating-point
- // multiply for every insertion.
-
- inline std::pair<bool, std::size_t>
- _Prime_rehash_policy::
- _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt,
- std::size_t __n_ins) const
- {
- if (__n_elt + __n_ins > _M_next_resize)
- {
- float __min_bkts = ((float(__n_ins) + float(__n_elt))
- / _M_max_load_factor);
- if (__min_bkts > __n_bkt)
- {
- __min_bkts = std::max(__min_bkts, _M_growth_factor * __n_bkt);
- const unsigned long* const __last = (_Primes<>::__primes
- + _Primes<>::__n_primes);
- const unsigned long* __p = std::lower_bound(_Primes<>::__primes,
- __last, __min_bkts,
- _LessThan());
- _M_next_resize =
- static_cast<std::size_t>(std::ceil(*__p * _M_max_load_factor));
- return std::make_pair(true, *__p);
- }
- else
- {
- _M_next_resize =
- static_cast<std::size_t>(std::ceil(__n_bkt
- * _M_max_load_factor));
- return std::make_pair(false, 0);
- }
- }
- else
- return std::make_pair(false, 0);
- }
-
- // Base classes for std::tr1::_Hashtable. We define these base
- // classes because in some cases we want to do different things
- // depending on the value of a policy class. In some cases the
- // policy class affects which member functions and nested typedefs
- // are defined; we handle that by specializing base class templates.
- // Several of the base class templates need to access other members
- // of class template _Hashtable, so we use the "curiously recurring
- // template pattern" for them.
-
- // class template _Map_base. If the hashtable has a value type of the
- // form pair<T1, T2> and a key extraction policy that returns the
- // first part of the pair, the hashtable gets a mapped_type typedef.
- // If it satisfies those criteria and also has unique keys, then it
- // also gets an operator[].
- template<typename _Key, typename _Value, typename _Ex, bool __unique,
- typename _Hashtable>
- struct _Map_base { };
-
- template<typename _Key, typename _Pair, typename _Hashtable>
- struct _Map_base<_Key, _Pair, std::_Select1st<_Pair>, false, _Hashtable>
- {
- typedef typename _Pair::second_type mapped_type;
- };
-
- template<typename _Key, typename _Pair, typename _Hashtable>
- struct _Map_base<_Key, _Pair, std::_Select1st<_Pair>, true, _Hashtable>
- {
- typedef typename _Pair::second_type mapped_type;
-
- mapped_type&
- operator[](const _Key& __k);
- };
-
- template<typename _Key, typename _Pair, typename _Hashtable>
- typename _Map_base<_Key, _Pair, std::_Select1st<_Pair>,
- true, _Hashtable>::mapped_type&
- _Map_base<_Key, _Pair, std::_Select1st<_Pair>, true, _Hashtable>::
- operator[](const _Key& __k)
- {
- _Hashtable* __h = static_cast<_Hashtable*>(this);
- typename _Hashtable::_Hash_code_type __code = __h->_M_hash_code(__k);
- std::size_t __n = __h->_M_bucket_index(__k, __code,
- __h->_M_bucket_count);
-
- typename _Hashtable::_Node* __p =
- __h->_M_find_node(__h->_M_buckets[__n], __k, __code);
- if (!__p)
- return __h->_M_insert_bucket(std::make_pair(__k, mapped_type()),
- __n, __code)->second;
- return (__p->_M_v).second;
- }
-
- // class template _Rehash_base. Give hashtable the max_load_factor
- // functions iff the rehash policy is _Prime_rehash_policy.
- template<typename _RehashPolicy, typename _Hashtable>
- struct _Rehash_base { };
-
- template<typename _Hashtable>
- struct _Rehash_base<_Prime_rehash_policy, _Hashtable>
- {
- float
- max_load_factor() const
- {
- const _Hashtable* __this = static_cast<const _Hashtable*>(this);
- return __this->__rehash_policy().max_load_factor();
- }
-
- void
- max_load_factor(float __z)
- {
- _Hashtable* __this = static_cast<_Hashtable*>(this);
- __this->__rehash_policy(_Prime_rehash_policy(__z));
- }
- };
-
- // Class template _Hash_code_base. Encapsulates two policy issues that
- // aren't quite orthogonal.
- // (1) the difference between using a ranged hash function and using
- // the combination of a hash function and a range-hashing function.
- // In the former case we don't have such things as hash codes, so
- // we have a dummy type as placeholder.
- // (2) Whether or not we cache hash codes. Caching hash codes is
- // meaningless if we have a ranged hash function.
- // We also put the key extraction and equality comparison function
- // objects here, for convenience.
-
- // Primary template: unused except as a hook for specializations.
- template<typename _Key, typename _Value,
- typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash,
- bool __cache_hash_code>
- struct _Hash_code_base;
-
- // Specialization: ranged hash function, no caching hash codes. H1
- // and H2 are provided but ignored. We define a dummy hash code type.
- template<typename _Key, typename _Value,
- typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash>
- struct _Hash_code_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2,
- _Hash, false>
- {
- protected:
- _Hash_code_base(const _ExtractKey& __ex, const _Equal& __eq,
- const _H1&, const _H2&, const _Hash& __h)
- : _M_extract(__ex), _M_eq(__eq), _M_ranged_hash(__h) { }
-
- typedef void* _Hash_code_type;
-
- _Hash_code_type
- _M_hash_code(const _Key& __key) const
- { return 0; }
-
- std::size_t
- _M_bucket_index(const _Key& __k, _Hash_code_type,
- std::size_t __n) const
- { return _M_ranged_hash(__k, __n); }
-
- std::size_t
- _M_bucket_index(const _Hash_node<_Value, false>* __p,
- std::size_t __n) const
- { return _M_ranged_hash(_M_extract(__p->_M_v), __n); }
-
- bool
- _M_compare(const _Key& __k, _Hash_code_type,
- _Hash_node<_Value, false>* __n) const
- { return _M_eq(__k, _M_extract(__n->_M_v)); }
-
- void
- _M_store_code(_Hash_node<_Value, false>*, _Hash_code_type) const
- { }
-
- void
- _M_copy_code(_Hash_node<_Value, false>*,
- const _Hash_node<_Value, false>*) const
- { }
-
- void
- _M_swap(_Hash_code_base& __x)
- {
- std::swap(_M_extract, __x._M_extract);
- std::swap(_M_eq, __x._M_eq);
- std::swap(_M_ranged_hash, __x._M_ranged_hash);
- }
-
- protected:
- _ExtractKey _M_extract;
- _Equal _M_eq;
- _Hash _M_ranged_hash;
- };
-
-
- // No specialization for ranged hash function while caching hash codes.
- // That combination is meaningless, and trying to do it is an error.
-
-
- // Specialization: ranged hash function, cache hash codes. This
- // combination is meaningless, so we provide only a declaration
- // and no definition.
- template<typename _Key, typename _Value,
- typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2, typename _Hash>
- struct _Hash_code_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2,
- _Hash, true>;
-
- // Specialization: hash function and range-hashing function, no
- // caching of hash codes. H is provided but ignored. Provides
- // typedef and accessor required by TR1.
- template<typename _Key, typename _Value,
- typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2>
- struct _Hash_code_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2,
- _Default_ranged_hash, false>
- {
- typedef _H1 hasher;
-
- hasher
- hash_function() const
- { return _M_h1; }
-
- protected:
- _Hash_code_base(const _ExtractKey& __ex, const _Equal& __eq,
- const _H1& __h1, const _H2& __h2,
- const _Default_ranged_hash&)
- : _M_extract(__ex), _M_eq(__eq), _M_h1(__h1), _M_h2(__h2) { }
-
- typedef std::size_t _Hash_code_type;
-
- _Hash_code_type
- _M_hash_code(const _Key& __k) const
- { return _M_h1(__k); }
-
- std::size_t
- _M_bucket_index(const _Key&, _Hash_code_type __c,
- std::size_t __n) const
- { return _M_h2(__c, __n); }
-
- std::size_t
- _M_bucket_index(const _Hash_node<_Value, false>* __p,
- std::size_t __n) const
- { return _M_h2(_M_h1(_M_extract(__p->_M_v)), __n); }
-
- bool
- _M_compare(const _Key& __k, _Hash_code_type,
- _Hash_node<_Value, false>* __n) const
- { return _M_eq(__k, _M_extract(__n->_M_v)); }
-
- void
- _M_store_code(_Hash_node<_Value, false>*, _Hash_code_type) const
- { }
-
- void
- _M_copy_code(_Hash_node<_Value, false>*,
- const _Hash_node<_Value, false>*) const
- { }
-
- void
- _M_swap(_Hash_code_base& __x)
- {
- std::swap(_M_extract, __x._M_extract);
- std::swap(_M_eq, __x._M_eq);
- std::swap(_M_h1, __x._M_h1);
- std::swap(_M_h2, __x._M_h2);
- }
-
- protected:
- _ExtractKey _M_extract;
- _Equal _M_eq;
- _H1 _M_h1;
- _H2 _M_h2;
- };
-
- // Specialization: hash function and range-hashing function,
- // caching hash codes. H is provided but ignored. Provides
- // typedef and accessor required by TR1.
- template<typename _Key, typename _Value,
- typename _ExtractKey, typename _Equal,
- typename _H1, typename _H2>
- struct _Hash_code_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2,
- _Default_ranged_hash, true>
- {
- typedef _H1 hasher;
-
- hasher
- hash_function() const
- { return _M_h1; }
-
- protected:
- _Hash_code_base(const _ExtractKey& __ex, const _Equal& __eq,
- const _H1& __h1, const _H2& __h2,
- const _Default_ranged_hash&)
- : _M_extract(__ex), _M_eq(__eq), _M_h1(__h1), _M_h2(__h2) { }
-
- typedef std::size_t _Hash_code_type;
-
- _Hash_code_type
- _M_hash_code(const _Key& __k) const
- { return _M_h1(__k); }
-
- std::size_t
- _M_bucket_index(const _Key&, _Hash_code_type __c,
- std::size_t __n) const
- { return _M_h2(__c, __n); }
-
- std::size_t
- _M_bucket_index(const _Hash_node<_Value, true>* __p,
- std::size_t __n) const
- { return _M_h2(__p->_M_hash_code, __n); }
-
- bool
- _M_compare(const _Key& __k, _Hash_code_type __c,
- _Hash_node<_Value, true>* __n) const
- { return __c == __n->_M_hash_code && _M_eq(__k, _M_extract(__n->_M_v)); }
-
- void
- _M_store_code(_Hash_node<_Value, true>* __n, _Hash_code_type __c) const
- { __n->_M_hash_code = __c; }
-
- void
- _M_copy_code(_Hash_node<_Value, true>* __to,
- const _Hash_node<_Value, true>* __from) const
- { __to->_M_hash_code = __from->_M_hash_code; }
-
- void
- _M_swap(_Hash_code_base& __x)
- {
- std::swap(_M_extract, __x._M_extract);
- std::swap(_M_eq, __x._M_eq);
- std::swap(_M_h1, __x._M_h1);
- std::swap(_M_h2, __x._M_h2);
- }
-
- protected:
- _ExtractKey _M_extract;
- _Equal _M_eq;
- _H1 _M_h1;
- _H2 _M_h2;
- };
-} // namespace __detail
-_GLIBCXX_END_NAMESPACE
-} // namespace std::tr1
-
-#endif // _TR1_HASHTABLE_POLICY_H
-
diff --git a/contrib/libstdc++/include/tr1/inttypes.h b/contrib/libstdc++/include/tr1/inttypes.h
deleted file mode 100644
index 720089c2459e..000000000000
--- a/contrib/libstdc++/include/tr1/inttypes.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 inttypes.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/inttypes.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_INTTYPES_H
-#define _TR1_INTTYPES_H 1
-
-#include <tr1/cinttypes>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/limits.h b/contrib/libstdc++/include/tr1/limits.h
deleted file mode 100644
index 437d1512ede8..000000000000
--- a/contrib/libstdc++/include/tr1/limits.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 limits.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/limits.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_LIMITS_H
-#define _TR1_LIMITS_H 1
-
-#include <tr1/climits>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/math.h b/contrib/libstdc++/include/tr1/math.h
deleted file mode 100644
index 36fb2fdae506..000000000000
--- a/contrib/libstdc++/include/tr1/math.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// TR1 math.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/math.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_MATH_H
-#define _TR1_MATH_H 1
-
-#include <tr1/cmath>
-
-#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;
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/memory b/contrib/libstdc++/include/tr1/memory
deleted file mode 100644
index 9de80dadfa94..000000000000
--- a/contrib/libstdc++/include/tr1/memory
+++ /dev/null
@@ -1,56 +0,0 @@
-// <tr1/memory> -*- C++ -*-
-
-// Copyright (C) 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 tr1/memory
- * This is a TR1 C++ Library header.
- */
-
-#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 <algorithm> // std::swap
-#include <iosfwd> // std::basic_ostream
-#include <cstdlib> // std::abort
-
-#include <ext/atomicity.h>
-#include <ext/concurrence.h>
-#include <bits/functexcept.h>
-#include <debug/debug.h>
-#include <tr1/type_traits> // tr1::add_reference
-
-#include <tr1/boost_shared_ptr.h>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/mu_iterate.h b/contrib/libstdc++/include/tr1/mu_iterate.h
deleted file mode 100644
index abdc724a7d47..000000000000
--- a/contrib/libstdc++/include/tr1/mu_iterate.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// TR1 functional -*- C++ -*-
-
-// Copyright (C) 2005 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
-// 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/mu_iterate.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Determine the result type when we pass the arguments along. This
-// involves passing along the cv-qualifiers placed on _Mu and
-// unwrapping the argument bundle.
-// @namespace std::tr1
-// @class std::tr1::_Mu::result
-template<typename _CVMu, typename _CVArg
- _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-class result<_CVMu(_CVArg, tuple<_GLIBCXX_TEMPLATE_ARGS>)>
- : public result_of<_CVArg(_GLIBCXX_TEMPLATE_ARGS)> { };
-
-template<typename _CVArg _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
-typename result_of<_CVArg(_GLIBCXX_TEMPLATE_ARGS)>::type
-operator()(_CVArg& __arg, const tuple<_GLIBCXX_TEMPLATE_ARGS>& __tuple)
- const volatile
-{
- return __arg(_GLIBCXX_MU_GET_TUPLE_ARGS);
-}
diff --git a/contrib/libstdc++/include/tr1/random b/contrib/libstdc++/include/tr1/random
deleted file mode 100644
index 492adfd5e74c..000000000000
--- a/contrib/libstdc++/include/tr1/random
+++ /dev/null
@@ -1,2374 +0,0 @@
-// random number generation -*- C++ -*-
-
-// Copyright (C) 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 tr1/random
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_RANDOM
-#define _TR1_RANDOM 1
-
-#include <cmath>
-#include <cstdio>
-#include <string>
-#include <iosfwd>
-#include <limits>
-#include <tr1/type_traits>
-#include <tr1/cmath>
-#include <ext/type_traits.h>
-#include <ext/numeric_traits.h>
-#include <bits/concept_check.h>
-#include <debug/debug.h>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // [5.1] Random number generation
-
- /**
- * @addtogroup tr1_random Random Number Generation
- * A facility for generating random numbers on selected distributions.
- * @{
- */
-
- /*
- * Implementation-space details.
- */
- namespace __detail
- {
- template<typename _UIntType, int __w,
- bool = __w < std::numeric_limits<_UIntType>::digits>
- struct _Shift
- { static const _UIntType __value = 0; };
-
- template<typename _UIntType, int __w>
- struct _Shift<_UIntType, __w, true>
- { static const _UIntType __value = _UIntType(1) << __w; };
-
- template<typename _Tp, _Tp __a, _Tp __c, _Tp __m, bool>
- struct _Mod;
-
- // Dispatch based on modulus value to prevent divide-by-zero compile-time
- // errors when m == 0.
- template<typename _Tp, _Tp __a, _Tp __c, _Tp __m>
- inline _Tp
- __mod(_Tp __x)
- { return _Mod<_Tp, __a, __c, __m, __m == 0>::__calc(__x); }
-
- typedef __gnu_cxx::__conditional_type<(sizeof(unsigned) == 4),
- unsigned, unsigned long>::__type _UInt32Type;
-
- /*
- * An adaptor class for converting the output of any Generator into
- * the input for a specific Distribution.
- */
- template<typename _Engine, typename _Distribution>
- struct _Adaptor
- {
- typedef typename _Engine::result_type _Engine_result_type;
- typedef typename _Distribution::input_type result_type;
-
- public:
- _Adaptor(const _Engine& __g)
- : _M_g(__g) { }
-
- result_type
- min() const
- {
- result_type __return_value = 0;
- if (is_integral<_Engine_result_type>::value
- && is_integral<result_type>::value)
- __return_value = _M_g.min();
- else if (!is_integral<result_type>::value)
- __return_value = result_type(0);
- return __return_value;
- }
-
- result_type
- max() const
- {
- result_type __return_value = 0;
- if (is_integral<_Engine_result_type>::value
- && is_integral<result_type>::value)
- __return_value = _M_g.max();
- else if (!is_integral<result_type>::value)
- __return_value = result_type(1);
- return __return_value;
- }
-
- result_type
- operator()();
-
- private:
- _Engine _M_g;
- };
-
- /*
- * Converts a value generated by the adapted random number generator into a
- * value in the input domain for the dependent random number distribution.
- *
- * Because the type traits are compile time constants only the appropriate
- * clause of the if statements will actually be emitted by the compiler.
- */
- template<typename _Engine, typename _Distribution>
- typename _Adaptor<_Engine, _Distribution>::result_type
- _Adaptor<_Engine, _Distribution>::
- operator()()
- {
- result_type __return_value = 0;
- if (is_integral<_Engine_result_type>::value
- && is_integral<result_type>::value)
- __return_value = _M_g();
- else if (is_integral<_Engine_result_type>::value
- && !is_integral<result_type>::value)
- __return_value = result_type(_M_g() - _M_g.min())
- / result_type(_M_g.max() - _M_g.min() + result_type(1));
- else if (!is_integral<_Engine_result_type>::value
- && !is_integral<result_type>::value)
- __return_value = result_type(_M_g() - _M_g.min())
- / result_type(_M_g.max() - _M_g.min());
- return __return_value;
- }
- } // namespace __detail
-
- /**
- * Produces random numbers on a given disribution function using a un uniform
- * random number generation engine.
- *
- * @todo the engine_value_type needs to be studied more carefully.
- */
- template<typename _Engine, typename _Dist>
- class variate_generator
- {
- // Concept requirements.
- __glibcxx_class_requires(_Engine, _CopyConstructibleConcept)
- // __glibcxx_class_requires(_Engine, _EngineConcept)
- // __glibcxx_class_requires(_Dist, _EngineConcept)
-
- public:
- typedef _Engine engine_type;
- typedef __detail::_Adaptor<_Engine, _Dist> engine_value_type;
- typedef _Dist distribution_type;
- typedef typename _Dist::result_type result_type;
-
- // tr1:5.1.1 table 5.1 requirement
- typedef typename __gnu_cxx::__enable_if<
- is_arithmetic<result_type>::value, result_type>::__type _IsValidType;
-
- /**
- * Constructs a variate generator with the uniform random number
- * generator @p __eng for the random distribution @p __dist.
- *
- * @throws Any exceptions which may thrown by the copy constructors of
- * the @p _Engine or @p _Dist objects.
- */
- variate_generator(engine_type __eng, distribution_type __dist)
- : _M_engine(__eng), _M_dist(__dist) { }
-
- /**
- * Gets the next generated value on the distribution.
- */
- result_type
- operator()()
- { return _M_dist(_M_engine); }
-
- /**
- * WTF?
- */
- template<typename _Tp>
- result_type
- operator()(_Tp __value)
- { return _M_dist(_M_engine, __value); }
-
- /**
- * Gets a reference to the underlying uniform random number generator
- * object.
- */
- engine_value_type&
- engine()
- { return _M_engine; }
-
- /**
- * Gets a const reference to the underlying uniform random number
- * generator object.
- */
- const engine_value_type&
- engine() const
- { return _M_engine; }
-
- /**
- * Gets a reference to the underlying random distribution.
- */
- distribution_type&
- distribution()
- { return _M_dist; }
-
- /**
- * Gets a const reference to the underlying random distribution.
- */
- const distribution_type&
- distribution() const
- { return _M_dist; }
-
- /**
- * Gets the closed lower bound of the distribution interval.
- */
- result_type
- min() const
- { return this->distribution().min(); }
-
- /**
- * Gets the closed upper bound of the distribution interval.
- */
- result_type
- max() const
- { return this->distribution().max(); }
-
- private:
- engine_value_type _M_engine;
- distribution_type _M_dist;
- };
-
-
- /**
- * @addtogroup tr1_random_generators Random Number Generators
- * @ingroup tr1_random
- *
- * These classes define objects which provide random or pseudorandom
- * numbers, either from a discrete or a continuous interval. The
- * random number generator supplied as a part of this library are
- * all uniform random number generators which provide a sequence of
- * random number uniformly distributed over their range.
- *
- * A number generator is a function object with an operator() that
- * takes zero arguments and returns a number.
- *
- * A compliant random number generator must satisy the following
- * requirements. <table border=1 cellpadding=10 cellspacing=0>
- * <caption align=top>Random Number Generator Requirements</caption>
- * <tr><td>To be documented.</td></tr> </table>
- *
- * @{
- */
-
- /**
- * @brief A model of a linear congruential random number generator.
- *
- * A random number generator that produces pseudorandom numbers using the
- * linear function @f$x_{i+1}\leftarrow(ax_{i} + c) \bmod m @f$.
- *
- * The template parameter @p _UIntType must be an unsigned integral type
- * large enough to store values up to (__m-1). If the template parameter
- * @p __m is 0, the modulus @p __m used is
- * std::numeric_limits<_UIntType>::max() plus 1. Otherwise, the template
- * parameters @p __a and @p __c must be less than @p __m.
- *
- * The size of the state is @f$ 1 @f$.
- */
- template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
- class linear_congruential
- {
- __glibcxx_class_requires(_UIntType, _UnsignedIntegerConcept)
- // __glibcpp_class_requires(__a < __m && __c < __m)
-
- public:
- /** The type of the generated random value. */
- typedef _UIntType result_type;
-
- /** The multiplier. */
- static const _UIntType multiplier = __a;
- /** An increment. */
- static const _UIntType increment = __c;
- /** The modulus. */
- static const _UIntType modulus = __m;
-
- /**
- * Constructs a %linear_congruential random number generator engine with
- * seed @p __s. The default seed value is 1.
- *
- * @param __s The initial seed value.
- */
- explicit
- linear_congruential(unsigned long __x0 = 1)
- { this->seed(__x0); }
-
- /**
- * Constructs a %linear_congruential random number generator engine
- * seeded from the generator function @p __g.
- *
- * @param __g The seed generator function.
- */
- template<class _Gen>
- linear_congruential(_Gen& __g)
- { this->seed(__g); }
-
- /**
- * Reseeds the %linear_congruential random number generator engine
- * sequence to the seed @g __s.
- *
- * @param __s The new seed.
- */
- void
- seed(unsigned long __s = 1);
-
- /**
- * Reseeds the %linear_congruential random number generator engine
- * sequence using values from the generator function @p __g.
- *
- * @param __g the seed generator function.
- */
- template<class _Gen>
- void
- seed(_Gen& __g)
- { seed(__g, typename is_fundamental<_Gen>::type()); }
-
- /**
- * Gets the smallest possible value in the output range.
- *
- * The minumum depends on the @p __c parameter: if it is zero, the
- * minimum generated must be > 0, otherwise 0 is allowed.
- */
- result_type
- min() const
- { return (__detail::__mod<_UIntType, 1, 0, __m>(__c) == 0) ? 1 : 0; }
-
- /**
- * Gets the largest possible value in the output range.
- */
- result_type
- max() const
- { return __m - 1; }
-
- /**
- * Gets the next random number in the sequence.
- */
- result_type
- operator()();
-
- /**
- * Compares two linear congruential random number generator
- * objects of the same type for equality.
- *
- * @param __lhs A linear congruential random number generator object.
- * @param __rhs Another linear congruential random number generator obj.
- *
- * @returns true if the two objects are equal, false otherwise.
- */
- friend bool
- operator==(const linear_congruential& __lhs,
- const linear_congruential& __rhs)
- { return __lhs._M_x == __rhs._M_x; }
-
- /**
- * Compares two linear congruential random number generator
- * objects of the same type for inequality.
- *
- * @param __lhs A linear congruential random number generator object.
- * @param __rhs Another linear congruential random number generator obj.
- *
- * @returns true if the two objects are not equal, false otherwise.
- */
- friend bool
- operator!=(const linear_congruential& __lhs,
- const linear_congruential& __rhs)
- { return !(__lhs == __rhs); }
-
- /**
- * Writes the textual representation of the state x(i) of x to @p __os.
- *
- * @param __os The output stream.
- * @param __lcr A % linear_congruential random number generator.
- * @returns __os.
- */
- template<class _UIntType1, _UIntType1 __a1, _UIntType1 __c1,
- _UIntType1 __m1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const linear_congruential<_UIntType1, __a1, __c1,
- __m1>& __lcr);
-
- /**
- * Sets the state of the engine by reading its textual
- * representation from @p __is.
- *
- * The textual representation must have been previously written using an
- * output stream whose imbued locale and whose type's template
- * specialization arguments _CharT and _Traits were the same as those of
- * @p __is.
- *
- * @param __is The input stream.
- * @param __lcr A % linear_congruential random number generator.
- * @returns __is.
- */
- template<class _UIntType1, _UIntType1 __a1, _UIntType1 __c1,
- _UIntType1 __m1,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- linear_congruential<_UIntType1, __a1, __c1, __m1>& __lcr);
-
- private:
- template<class _Gen>
- void
- seed(_Gen& __g, true_type)
- { return seed(static_cast<unsigned long>(__g)); }
-
- template<class _Gen>
- void
- seed(_Gen& __g, false_type);
-
- _UIntType _M_x;
- };
-
- /**
- * The classic Minimum Standard rand0 of Lewis, Goodman, and Miller.
- */
- typedef linear_congruential<unsigned long, 16807, 0, 2147483647> minstd_rand0;
-
- /**
- * An alternative LCR (Lehmer Generator function) .
- */
- typedef linear_congruential<unsigned long, 48271, 0, 2147483647> minstd_rand;
-
-
- /**
- * A generalized feedback shift register discrete random number generator.
- *
- * This algorithm avoind multiplication and division and is designed to be
- * friendly to a pipelined architecture. If the parameters are chosen
- * correctly, this generator will produce numbers with a very long period and
- * fairly good apparent entropy, although still not cryptographically strong.
- *
- * The best way to use this generator is with the predefined mt19937 class.
- *
- * This algorithm was originally invented by Makoto Matsumoto and
- * Takuji Nishimura.
- *
- * @var word_size The number of bits in each element of the state vector.
- * @var state_size The degree of recursion.
- * @var shift_size The period parameter.
- * @var mask_bits The separation point bit index.
- * @var parameter_a The last row of the twist matrix.
- * @var output_u The first right-shift tempering matrix parameter.
- * @var output_s The first left-shift tempering matrix parameter.
- * @var output_b The first left-shift tempering matrix mask.
- * @var output_t The second left-shift tempering matrix parameter.
- * @var output_c The second left-shift tempering matrix mask.
- * @var output_l The second right-shift tempering matrix parameter.
- */
- template<class _UIntType, int __w, int __n, int __m, int __r,
- _UIntType __a, int __u, int __s, _UIntType __b, int __t,
- _UIntType __c, int __l>
- class mersenne_twister
- {
- __glibcxx_class_requires(_UIntType, _UnsignedIntegerConcept)
-
- public:
- // types
- typedef _UIntType result_type;
-
- // parameter values
- static const int word_size = __w;
- static const int state_size = __n;
- static const int shift_size = __m;
- static const int mask_bits = __r;
- static const _UIntType parameter_a = __a;
- static const int output_u = __u;
- static const int output_s = __s;
- static const _UIntType output_b = __b;
- static const int output_t = __t;
- static const _UIntType output_c = __c;
- static const int output_l = __l;
-
- // constructors and member function
- mersenne_twister()
- { seed(); }
-
- explicit
- mersenne_twister(unsigned long __value)
- { seed(__value); }
-
- template<class _Gen>
- mersenne_twister(_Gen& __g)
- { seed(__g); }
-
- void
- seed()
- { seed(5489UL); }
-
- void
- seed(unsigned long __value);
-
- template<class _Gen>
- void
- seed(_Gen& __g)
- { seed(__g, typename is_fundamental<_Gen>::type()); }
-
- result_type
- min() const
- { return 0; };
-
- result_type
- max() const
- { return __detail::_Shift<_UIntType, __w>::__value - 1; }
-
- result_type
- operator()();
-
- /**
- * Compares two % mersenne_twister random number generator objects of
- * the same type for equality.
- *
- * @param __lhs A % mersenne_twister random number generator object.
- * @param __rhs Another % mersenne_twister random number generator
- * object.
- *
- * @returns true if the two objects are equal, false otherwise.
- */
- friend bool
- operator==(const mersenne_twister& __lhs,
- const mersenne_twister& __rhs)
- { return std::equal(__lhs._M_x, __lhs._M_x + state_size, __rhs._M_x); }
-
- /**
- * Compares two % mersenne_twister random number generator objects of
- * the same type for inequality.
- *
- * @param __lhs A % mersenne_twister random number generator object.
- * @param __rhs Another % mersenne_twister random number generator
- * object.
- *
- * @returns true if the two objects are not equal, false otherwise.
- */
- friend bool
- operator!=(const mersenne_twister& __lhs,
- const mersenne_twister& __rhs)
- { return !(__lhs == __rhs); }
-
- /**
- * Inserts the current state of a % mersenne_twister random number
- * generator engine @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A % mersenne_twister random number generator engine.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<class _UIntType1, int __w1, int __n1, int __m1, int __r1,
- _UIntType1 __a1, int __u1, int __s1, _UIntType1 __b1, int __t1,
- _UIntType1 __c1, int __l1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const mersenne_twister<_UIntType1, __w1, __n1, __m1, __r1,
- __a1, __u1, __s1, __b1, __t1, __c1, __l1>& __x);
-
- /**
- * Extracts the current state of a % mersenne_twister random number
- * generator engine @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A % mersenne_twister random number generator engine.
- *
- * @returns The input stream with the state of @p __x extracted or in
- * an error state.
- */
- template<class _UIntType1, int __w1, int __n1, int __m1, int __r1,
- _UIntType1 __a1, int __u1, int __s1, _UIntType1 __b1, int __t1,
- _UIntType1 __c1, int __l1,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- mersenne_twister<_UIntType1, __w1, __n1, __m1, __r1,
- __a1, __u1, __s1, __b1, __t1, __c1, __l1>& __x);
-
- private:
- template<class _Gen>
- void
- seed(_Gen& __g, true_type)
- { return seed(static_cast<unsigned long>(__g)); }
-
- template<class _Gen>
- void
- seed(_Gen& __g, false_type);
-
- _UIntType _M_x[state_size];
- int _M_p;
- };
-
- /**
- * The classic Mersenne Twister.
- *
- * Reference:
- * M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally
- * Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions
- * on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
- */
- typedef mersenne_twister<
- unsigned long, 32, 624, 397, 31,
- 0x9908b0dful, 11, 7,
- 0x9d2c5680ul, 15,
- 0xefc60000ul, 18
- > mt19937;
-
-
- /**
- * @brief The Marsaglia-Zaman generator.
- *
- * This is a model of a Generalized Fibonacci discrete random number
- * generator, sometimes referred to as the SWC generator.
- *
- * A discrete random number generator that produces pseudorandom
- * numbers using @f$x_{i}\leftarrow(x_{i - s} - x_{i - r} -
- * carry_{i-1}) \bmod m @f$.
- *
- * The size of the state is @f$ r @f$
- * and the maximum period of the generator is @f$ m^r - m^s -1 @f$.
- *
- * N1688[4.13] says "the template parameter _IntType shall denote an integral
- * type large enough to store values up to m."
- *
- * @if maint
- * @var _M_x The state of the generator. This is a ring buffer.
- * @var _M_carry The carry.
- * @var _M_p Current index of x(i - r).
- * @endif
- */
- template<typename _IntType, _IntType __m, int __s, int __r>
- class subtract_with_carry
- {
- __glibcxx_class_requires(_IntType, _IntegerConcept)
-
- public:
- /** The type of the generated random value. */
- typedef _IntType result_type;
-
- // parameter values
- static const _IntType modulus = __m;
- static const int long_lag = __r;
- static const int short_lag = __s;
-
- /**
- * Constructs a default-initialized % subtract_with_carry random number
- * generator.
- */
- subtract_with_carry()
- { this->seed(); }
-
- /**
- * Constructs an explicitly seeded % subtract_with_carry random number
- * generator.
- */
- explicit
- subtract_with_carry(unsigned long __value)
- { this->seed(__value); }
-
- /**
- * Constructs a %subtract_with_carry random number generator engine
- * seeded from the generator function @p __g.
- *
- * @param __g The seed generator function.
- */
- template<class _Gen>
- subtract_with_carry(_Gen& __g)
- { this->seed(__g); }
-
- /**
- * Seeds the initial state @f$ x_0 @f$ of the random number generator.
- *
- * N1688[4.19] modifies this as follows. If @p __value == 0,
- * sets value to 19780503. In any case, with a linear
- * congruential generator lcg(i) having parameters @f$ m_{lcg} =
- * 2147483563, a_{lcg} = 40014, c_{lcg} = 0, and lcg(0) = value
- * @f$, sets @f$ x_{-r} \dots x_{-1} @f$ to @f$ lcg(1) \bmod m
- * \dots lcg(r) \bmod m @f$ respectively. If @f$ x_{-1} = 0 @f$
- * set carry to 1, otherwise sets carry to 0.
- */
- void
- seed(unsigned long __value = 19780503);
-
- /**
- * Seeds the initial state @f$ x_0 @f$ of the % subtract_with_carry
- * random number generator.
- */
- template<class _Gen>
- void
- seed(_Gen& __g)
- { seed(__g, typename is_fundamental<_Gen>::type()); }
-
- /**
- * Gets the inclusive minimum value of the range of random integers
- * returned by this generator.
- */
- result_type
- min() const
- { return 0; }
-
- /**
- * Gets the inclusive maximum value of the range of random integers
- * returned by this generator.
- */
- result_type
- max() const
- { return this->modulus - 1; }
-
- /**
- * Gets the next random number in the sequence.
- */
- result_type
- operator()();
-
- /**
- * Compares two % subtract_with_carry random number generator objects of
- * the same type for equality.
- *
- * @param __lhs A % subtract_with_carry random number generator object.
- * @param __rhs Another % subtract_with_carry random number generator
- * object.
- *
- * @returns true if the two objects are equal, false otherwise.
- */
- friend bool
- operator==(const subtract_with_carry& __lhs,
- const subtract_with_carry& __rhs)
- { return std::equal(__lhs._M_x, __lhs._M_x + long_lag, __rhs._M_x); }
-
- /**
- * Compares two % subtract_with_carry random number generator objects of
- * the same type for inequality.
- *
- * @param __lhs A % subtract_with_carry random number generator object.
- * @param __rhs Another % subtract_with_carry random number generator
- * object.
- *
- * @returns true if the two objects are not equal, false otherwise.
- */
- friend bool
- operator!=(const subtract_with_carry& __lhs,
- const subtract_with_carry& __rhs)
- { return !(__lhs == __rhs); }
-
- /**
- * Inserts the current state of a % subtract_with_carry random number
- * generator engine @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A % subtract_with_carry random number generator engine.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _IntType1, _IntType1 __m1, int __s1, int __r1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const subtract_with_carry<_IntType1, __m1, __s1,
- __r1>& __x);
-
- /**
- * Extracts the current state of a % subtract_with_carry random number
- * generator engine @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A % subtract_with_carry random number generator engine.
- *
- * @returns The input stream with the state of @p __x extracted or in
- * an error state.
- */
- template<typename _IntType1, _IntType1 __m1, int __s1, int __r1,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- subtract_with_carry<_IntType1, __m1, __s1, __r1>& __x);
-
- private:
- template<class _Gen>
- void
- seed(_Gen& __g, true_type)
- { return seed(static_cast<unsigned long>(__g)); }
-
- template<class _Gen>
- void
- seed(_Gen& __g, false_type);
-
- typedef typename __gnu_cxx::__add_unsigned<_IntType>::__type _UIntType;
-
- _UIntType _M_x[long_lag];
- _UIntType _M_carry;
- int _M_p;
- };
-
-
- /**
- * @brief The Marsaglia-Zaman generator (floats version).
- *
- * @if maint
- * @var _M_x The state of the generator. This is a ring buffer.
- * @var _M_carry The carry.
- * @var _M_p Current index of x(i - r).
- * @var _M_npows Precomputed negative powers of 2.
- * @endif
- */
- template<typename _RealType, int __w, int __s, int __r>
- class subtract_with_carry_01
- {
- public:
- /** The type of the generated random value. */
- typedef _RealType result_type;
-
- // parameter values
- static const int word_size = __w;
- static const int long_lag = __r;
- static const int short_lag = __s;
-
- /**
- * Constructs a default-initialized % subtract_with_carry_01 random
- * number generator.
- */
- subtract_with_carry_01()
- {
- this->seed();
- _M_initialize_npows();
- }
-
- /**
- * Constructs an explicitly seeded % subtract_with_carry_01 random number
- * generator.
- */
- explicit
- subtract_with_carry_01(unsigned long __value)
- {
- this->seed(__value);
- _M_initialize_npows();
- }
-
- /**
- * Constructs a % subtract_with_carry_01 random number generator engine
- * seeded from the generator function @p __g.
- *
- * @param __g The seed generator function.
- */
- template<class _Gen>
- subtract_with_carry_01(_Gen& __g)
- {
- this->seed(__g);
- _M_initialize_npows();
- }
-
- /**
- * Seeds the initial state @f$ x_0 @f$ of the random number generator.
- */
- void
- seed(unsigned long __value = 19780503);
-
- /**
- * Seeds the initial state @f$ x_0 @f$ of the % subtract_with_carry_01
- * random number generator.
- */
- template<class _Gen>
- void
- seed(_Gen& __g)
- { seed(__g, typename is_fundamental<_Gen>::type()); }
-
- /**
- * Gets the minimum value of the range of random floats
- * returned by this generator.
- */
- result_type
- min() const
- { return 0.0; }
-
- /**
- * Gets the maximum value of the range of random floats
- * returned by this generator.
- */
- result_type
- max() const
- { return 1.0; }
-
- /**
- * Gets the next random number in the sequence.
- */
- result_type
- operator()();
-
- /**
- * Compares two % subtract_with_carry_01 random number generator objects
- * of the same type for equality.
- *
- * @param __lhs A % subtract_with_carry_01 random number
- * generator object.
- * @param __rhs Another % subtract_with_carry_01 random number generator
- * object.
- *
- * @returns true if the two objects are equal, false otherwise.
- */
- friend bool
- operator==(const subtract_with_carry_01& __lhs,
- const subtract_with_carry_01& __rhs)
- {
- for (int __i = 0; __i < long_lag; ++__i)
- if (!std::equal(__lhs._M_x[__i], __lhs._M_x[__i] + __n,
- __rhs._M_x[__i]))
- return false;
- return true;
- }
-
- /**
- * Compares two % subtract_with_carry_01 random number generator objects
- * of the same type for inequality.
- *
- * @param __lhs A % subtract_with_carry_01 random number
- * generator object.
- *
- * @param __rhs Another % subtract_with_carry_01 random number generator
- * object.
- *
- * @returns true if the two objects are not equal, false otherwise.
- */
- friend bool
- operator!=(const subtract_with_carry_01& __lhs,
- const subtract_with_carry_01& __rhs)
- { return !(__lhs == __rhs); }
-
- /**
- * Inserts the current state of a % subtract_with_carry_01 random number
- * generator engine @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A % subtract_with_carry_01 random number generator engine.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _RealType1, int __w1, int __s1, int __r1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const subtract_with_carry_01<_RealType1, __w1, __s1,
- __r1>& __x);
-
- /**
- * Extracts the current state of a % subtract_with_carry_01 random number
- * generator engine @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A % subtract_with_carry_01 random number generator engine.
- *
- * @returns The input stream with the state of @p __x extracted or in
- * an error state.
- */
- template<typename _RealType1, int __w1, int __s1, int __r1,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- subtract_with_carry_01<_RealType1, __w1, __s1, __r1>& __x);
-
- private:
- template<class _Gen>
- void
- seed(_Gen& __g, true_type)
- { return seed(static_cast<unsigned long>(__g)); }
-
- template<class _Gen>
- void
- seed(_Gen& __g, false_type);
-
- void
- _M_initialize_npows();
-
- static const int __n = (__w + 31) / 32;
-
- typedef __detail::_UInt32Type _UInt32Type;
- _UInt32Type _M_x[long_lag][__n];
- _RealType _M_npows[__n];
- _UInt32Type _M_carry;
- int _M_p;
- };
-
- typedef subtract_with_carry_01<float, 24, 10, 24> ranlux_base_01;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 508. Bad parameters for ranlux64_base_01.
- typedef subtract_with_carry_01<double, 48, 5, 12> ranlux64_base_01;
-
-
- /**
- * Produces random numbers from some base engine by discarding blocks of
- * data.
- *
- * 0 <= @p __r <= @p __p
- */
- template<class _UniformRandomNumberGenerator, int __p, int __r>
- class discard_block
- {
- // __glibcxx_class_requires(typename base_type::result_type,
- // ArithmeticTypeConcept)
-
- public:
- /** The type of the underlying generator engine. */
- typedef _UniformRandomNumberGenerator base_type;
- /** The type of the generated random value. */
- typedef typename base_type::result_type result_type;
-
- // parameter values
- static const int block_size = __p;
- static const int used_block = __r;
-
- /**
- * Constructs a default %discard_block engine.
- *
- * The underlying engine is default constructed as well.
- */
- discard_block()
- : _M_n(0) { }
-
- /**
- * Copy constructs a %discard_block engine.
- *
- * Copies an existing base class random number geenerator.
- * @param rng An existing (base class) engine object.
- */
- explicit
- discard_block(const base_type& __rng)
- : _M_b(__rng), _M_n(0) { }
-
- /**
- * Seed constructs a %discard_block engine.
- *
- * Constructs the underlying generator engine seeded with @p __s.
- * @param __s A seed value for the base class engine.
- */
- explicit
- discard_block(unsigned long __s)
- : _M_b(__s), _M_n(0) { }
-
- /**
- * Generator construct a %discard_block engine.
- *
- * @param __g A seed generator function.
- */
- template<class _Gen>
- discard_block(_Gen& __g)
- : _M_b(__g), _M_n(0) { }
-
- /**
- * Reseeds the %discard_block object with the default seed for the
- * underlying base class generator engine.
- */
- void seed()
- {
- _M_b.seed();
- _M_n = 0;
- }
-
- /**
- * Reseeds the %discard_block object with the given seed generator
- * function.
- * @param __g A seed generator function.
- */
- template<class _Gen>
- void seed(_Gen& __g)
- {
- _M_b.seed(__g);
- _M_n = 0;
- }
-
- /**
- * Gets a const reference to the underlying generator engine object.
- */
- const base_type&
- base() const
- { return _M_b; }
-
- /**
- * Gets the minimum value in the generated random number range.
- */
- result_type
- min() const
- { return _M_b.min(); }
-
- /**
- * Gets the maximum value in the generated random number range.
- */
- result_type
- max() const
- { return _M_b.max(); }
-
- /**
- * Gets the next value in the generated random number sequence.
- */
- result_type
- operator()();
-
- /**
- * Compares two %discard_block random number generator objects of
- * the same type for equality.
- *
- * @param __lhs A %discard_block random number generator object.
- * @param __rhs Another %discard_block random number generator
- * object.
- *
- * @returns true if the two objects are equal, false otherwise.
- */
- friend bool
- operator==(const discard_block& __lhs, const discard_block& __rhs)
- { return (__lhs._M_b == __rhs._M_b) && (__lhs._M_n == __rhs._M_n); }
-
- /**
- * Compares two %discard_block random number generator objects of
- * the same type for inequality.
- *
- * @param __lhs A %discard_block random number generator object.
- * @param __rhs Another %discard_block random number generator
- * object.
- *
- * @returns true if the two objects are not equal, false otherwise.
- */
- friend bool
- operator!=(const discard_block& __lhs, const discard_block& __rhs)
- { return !(__lhs == __rhs); }
-
- /**
- * Inserts the current state of a %discard_block random number
- * generator engine @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %discard_block random number generator engine.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<class _UniformRandomNumberGenerator1, int __p1, int __r1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const discard_block<_UniformRandomNumberGenerator1,
- __p1, __r1>& __x);
-
- /**
- * Extracts the current state of a % subtract_with_carry random number
- * generator engine @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %discard_block random number generator engine.
- *
- * @returns The input stream with the state of @p __x extracted or in
- * an error state.
- */
- template<class _UniformRandomNumberGenerator1, int __p1, int __r1,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- discard_block<_UniformRandomNumberGenerator1,
- __p1, __r1>& __x);
-
- private:
- base_type _M_b;
- int _M_n;
- };
-
-
- /**
- * James's luxury-level-3 integer adaptation of Luescher's generator.
- */
- typedef discard_block<
- subtract_with_carry<unsigned long, (1UL << 24), 10, 24>,
- 223,
- 24
- > ranlux3;
-
- /**
- * James's luxury-level-4 integer adaptation of Luescher's generator.
- */
- typedef discard_block<
- subtract_with_carry<unsigned long, (1UL << 24), 10, 24>,
- 389,
- 24
- > ranlux4;
-
- typedef discard_block<
- subtract_with_carry_01<float, 24, 10, 24>,
- 223,
- 24
- > ranlux3_01;
-
- typedef discard_block<
- subtract_with_carry_01<float, 24, 10, 24>,
- 389,
- 24
- > ranlux4_01;
-
-
- /**
- * A random number generator adaptor class that combines two random number
- * generator engines into a single output sequence.
- */
- template<class _UniformRandomNumberGenerator1, int __s1,
- class _UniformRandomNumberGenerator2, int __s2>
- class xor_combine
- {
- // __glibcxx_class_requires(typename _UniformRandomNumberGenerator1::
- // result_type, ArithmeticTypeConcept)
- // __glibcxx_class_requires(typename _UniformRandomNumberGenerator2::
- // result_type, ArithmeticTypeConcept)
-
- public:
- /** The type of the the first underlying generator engine. */
- typedef _UniformRandomNumberGenerator1 base1_type;
- /** The type of the the second underlying generator engine. */
- typedef _UniformRandomNumberGenerator2 base2_type;
-
- private:
- typedef typename base1_type::result_type _Result_type1;
- typedef typename base2_type::result_type _Result_type2;
-
- public:
- /** The type of the generated random value. */
- typedef typename __gnu_cxx::__conditional_type<(sizeof(_Result_type1)
- > sizeof(_Result_type2)),
- _Result_type1, _Result_type2>::__type result_type;
-
- // parameter values
- static const int shift1 = __s1;
- static const int shift2 = __s2;
-
- // constructors and member function
- xor_combine()
- : _M_b1(), _M_b2()
- { _M_initialize_max(); }
-
- xor_combine(const base1_type& __rng1, const base2_type& __rng2)
- : _M_b1(__rng1), _M_b2(__rng2)
- { _M_initialize_max(); }
-
- xor_combine(unsigned long __s)
- : _M_b1(__s), _M_b2(__s + 1)
- { _M_initialize_max(); }
-
- template<class _Gen>
- xor_combine(_Gen& __g)
- : _M_b1(__g), _M_b2(__g)
- { _M_initialize_max(); }
-
- void
- seed()
- {
- _M_b1.seed();
- _M_b2.seed();
- }
-
- template<class _Gen>
- void
- seed(_Gen& __g)
- {
- _M_b1.seed(__g);
- _M_b2.seed(__g);
- }
-
- const base1_type&
- base1() const
- { return _M_b1; }
-
- const base2_type&
- base2() const
- { return _M_b2; }
-
- result_type
- min() const
- { return 0; }
-
- result_type
- max() const
- { return _M_max; }
-
- /**
- * Gets the next random number in the sequence.
- */
- // NB: Not exactly the TR1 formula, per N2079 instead.
- result_type
- operator()()
- {
- return ((result_type(_M_b1() - _M_b1.min()) << shift1)
- ^ (result_type(_M_b2() - _M_b2.min()) << shift2));
- }
-
- /**
- * Compares two %xor_combine random number generator objects of
- * the same type for equality.
- *
- * @param __lhs A %xor_combine random number generator object.
- * @param __rhs Another %xor_combine random number generator
- * object.
- *
- * @returns true if the two objects are equal, false otherwise.
- */
- friend bool
- operator==(const xor_combine& __lhs, const xor_combine& __rhs)
- {
- return (__lhs.base1() == __rhs.base1())
- && (__lhs.base2() == __rhs.base2());
- }
-
- /**
- * Compares two %xor_combine random number generator objects of
- * the same type for inequality.
- *
- * @param __lhs A %xor_combine random number generator object.
- * @param __rhs Another %xor_combine random number generator
- * object.
- *
- * @returns true if the two objects are not equal, false otherwise.
- */
- friend bool
- operator!=(const xor_combine& __lhs, const xor_combine& __rhs)
- { return !(__lhs == __rhs); }
-
- /**
- * Inserts the current state of a %xor_combine random number
- * generator engine @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %xor_combine random number generator engine.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<class _UniformRandomNumberGenerator11, int __s11,
- class _UniformRandomNumberGenerator21, int __s21,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const xor_combine<_UniformRandomNumberGenerator11, __s11,
- _UniformRandomNumberGenerator21, __s21>& __x);
-
- /**
- * Extracts the current state of a %xor_combine random number
- * generator engine @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %xor_combine random number generator engine.
- *
- * @returns The input stream with the state of @p __x extracted or in
- * an error state.
- */
- template<class _UniformRandomNumberGenerator11, int __s11,
- class _UniformRandomNumberGenerator21, int __s21,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- xor_combine<_UniformRandomNumberGenerator11, __s11,
- _UniformRandomNumberGenerator21, __s21>& __x);
-
- private:
- void
- _M_initialize_max();
-
- result_type
- _M_initialize_max_aux(result_type, result_type, int);
-
- base1_type _M_b1;
- base2_type _M_b2;
- result_type _M_max;
- };
-
-
- /**
- * A standard interface to a platform-specific non-deterministic
- * random number generator (if any are available).
- */
- class random_device
- {
- public:
- // types
- typedef unsigned int result_type;
-
- // constructors, destructors and member functions
-
-#ifdef _GLIBCXX_USE_RANDOM_TR1
-
- explicit
- random_device(const std::string& __token = "/dev/urandom")
- {
- if ((__token != "/dev/urandom" && __token != "/dev/random")
- || !(_M_file = std::fopen(__token.c_str(), "rb")))
- std::__throw_runtime_error(__N("random_device::"
- "random_device(const std::string&)"));
- }
-
- ~random_device()
- { std::fclose(_M_file); }
-
-#else
-
- explicit
- random_device(const std::string& __token = "mt19937")
- : _M_mt(_M_strtoul(__token)) { }
-
- private:
- static unsigned long
- _M_strtoul(const std::string& __str)
- {
- unsigned long __ret = 5489UL;
- if (__str != "mt19937")
- {
- const char* __nptr = __str.c_str();
- char* __endptr;
- __ret = std::strtoul(__nptr, &__endptr, 0);
- if (*__nptr == '\0' || *__endptr != '\0')
- std::__throw_runtime_error(__N("random_device::_M_strtoul"
- "(const std::string&)"));
- }
- return __ret;
- }
-
- public:
-
-#endif
-
- result_type
- min() const
- { return std::numeric_limits<result_type>::min(); }
-
- result_type
- max() const
- { return std::numeric_limits<result_type>::max(); }
-
- double
- entropy() const
- { return 0.0; }
-
- result_type
- operator()()
- {
-#ifdef _GLIBCXX_USE_RANDOM_TR1
- result_type __ret;
- std::fread(reinterpret_cast<void*>(&__ret), sizeof(result_type),
- 1, _M_file);
- return __ret;
-#else
- return _M_mt();
-#endif
- }
-
- private:
- random_device(const random_device&);
- void operator=(const random_device&);
-
-#ifdef _GLIBCXX_USE_RANDOM_TR1
- FILE* _M_file;
-#else
- mt19937 _M_mt;
-#endif
- };
-
- /* @} */ // group tr1_random_generators
-
- /**
- * @addtogroup tr1_random_distributions Random Number Distributions
- * @ingroup tr1_random
- * @{
- */
-
- /**
- * @addtogroup tr1_random_distributions_discrete Discrete Distributions
- * @ingroup tr1_random_distributions
- * @{
- */
-
- /**
- * @brief Uniform discrete distribution for random numbers.
- * A discrete random distribution on the range @f$[min, max]@f$ with equal
- * probability throughout the range.
- */
- template<typename _IntType = int>
- class uniform_int
- {
- __glibcxx_class_requires(_IntType, _IntegerConcept)
-
- public:
- /** The type of the parameters of the distribution. */
- typedef _IntType input_type;
- /** The type of the range of the distribution. */
- typedef _IntType result_type;
-
- public:
- /**
- * Constructs a uniform distribution object.
- */
- explicit
- uniform_int(_IntType __min = 0, _IntType __max = 9)
- : _M_min(__min), _M_max(__max)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_min <= _M_max);
- }
-
- /**
- * Gets the inclusive lower bound of the distribution range.
- */
- result_type
- min() const
- { return _M_min; }
-
- /**
- * Gets the inclusive upper bound of the distribution range.
- */
- result_type
- max() const
- { return _M_max; }
-
- /**
- * Resets the distribution state.
- *
- * Does nothing for the uniform integer distribution.
- */
- void
- reset() { }
-
- /**
- * Gets a uniformly distributed random number in the range
- * @f$(min, max)@f$.
- */
- template<typename _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng)
- {
- typedef typename _UniformRandomNumberGenerator::result_type
- _UResult_type;
- return _M_call(__urng, _M_min, _M_max,
- typename is_integral<_UResult_type>::type());
- }
-
- /**
- * Gets a uniform random number in the range @f$[0, n)@f$.
- *
- * This function is aimed at use with std::random_shuffle.
- */
- template<typename _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng, result_type __n)
- {
- typedef typename _UniformRandomNumberGenerator::result_type
- _UResult_type;
- return _M_call(__urng, 0, __n - 1,
- typename is_integral<_UResult_type>::type());
- }
-
- /**
- * Inserts a %uniform_int random number distribution @p __x into the
- * output stream @p os.
- *
- * @param __os An output stream.
- * @param __x A %uniform_int random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _IntType1, typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const uniform_int<_IntType1>& __x);
-
- /**
- * Extracts a %unform_int random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %uniform_int random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _IntType1, typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- uniform_int<_IntType1>& __x);
-
- private:
- template<typename _UniformRandomNumberGenerator>
- result_type
- _M_call(_UniformRandomNumberGenerator& __urng,
- result_type __min, result_type __max, true_type)
- {
- // XXX Must be fixed to also work when __urng.max() - __urng.min()
- // is smaller than __max - __min.
- typedef typename __gnu_cxx::__add_unsigned<typename
- _UniformRandomNumberGenerator::result_type>::__type __utype;
- return result_type((__max - __min + 1.0L)
- * (__utype(__urng()) - __utype(__urng.min()))
- / (__utype(__urng.max())
- - __utype(__urng.min()) + 1.0L)) + __min;
- }
-
- template<typename _UniformRandomNumberGenerator>
- result_type
- _M_call(_UniformRandomNumberGenerator& __urng,
- result_type __min, result_type __max, false_type)
- {
- return result_type((__urng() - __urng.min())
- / (__urng.max() - __urng.min())
- * (__max - __min + 1)) + __min;
- }
-
- _IntType _M_min;
- _IntType _M_max;
- };
-
-
- /**
- * @brief A Bernoulli random number distribution.
- *
- * Generates a sequence of true and false values with likelihood @f$ p @f$
- * that true will come up and @f$ (1 - p) @f$ that false will appear.
- */
- class bernoulli_distribution
- {
- public:
- typedef int input_type;
- typedef bool result_type;
-
- public:
- /**
- * Constructs a Bernoulli distribution with likelihood @p p.
- *
- * @param __p [IN] The likelihood of a true result being returned. Must
- * be in the interval @f$ [0, 1] @f$.
- */
- explicit
- bernoulli_distribution(double __p = 0.5)
- : _M_p(__p)
- {
- _GLIBCXX_DEBUG_ASSERT((_M_p >= 0.0) && (_M_p <= 1.0));
- }
-
- /**
- * Gets the @p p parameter of the distribution.
- */
- double
- p() const
- { return _M_p; }
-
- /**
- * Resets the distribution state.
- *
- * Does nothing for a bernoulli distribution.
- */
- void
- reset() { }
-
- /**
- * Gets the next value in the Bernoullian sequence.
- */
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng)
- {
- if ((__urng() - __urng.min()) < _M_p * (__urng.max() - __urng.min()))
- return true;
- return false;
- }
-
- /**
- * Inserts a %bernoulli_distribution random number distribution
- * @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %bernoulli_distribution random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const bernoulli_distribution& __x);
-
- /**
- * Extracts a %bernoulli_distribution random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %bernoulli_distribution random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- bernoulli_distribution& __x)
- { return __is >> __x._M_p; }
-
- private:
- double _M_p;
- };
-
-
- /**
- * @brief A discrete geometric random number distribution.
- *
- * The formula for the geometric probability mass function is
- * @f$ p(i) = (1 - p)p^{i-1} @f$ where @f$ p @f$ is the parameter of the
- * distribution.
- */
- template<typename _IntType = int, typename _RealType = double>
- class geometric_distribution
- {
- public:
- // types
- typedef _RealType input_type;
- typedef _IntType result_type;
-
- // constructors and member function
- explicit
- geometric_distribution(const _RealType& __p = _RealType(0.5))
- : _M_p(__p)
- {
- _GLIBCXX_DEBUG_ASSERT((_M_p > 0.0) && (_M_p < 1.0));
- _M_initialize();
- }
-
- /**
- * Gets the distribution parameter @p p.
- */
- _RealType
- p() const
- { return _M_p; }
-
- void
- reset() { }
-
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng);
-
- /**
- * Inserts a %geometric_distribution random number distribution
- * @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %geometric_distribution random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _IntType1, typename _RealType1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const geometric_distribution<_IntType1, _RealType1>& __x);
-
- /**
- * Extracts a %geometric_distribution random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %geometric_distribution random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- geometric_distribution& __x)
- {
- __is >> __x._M_p;
- __x._M_initialize();
- return __is;
- }
-
- private:
- void
- _M_initialize()
- { _M_log_p = std::log(_M_p); }
-
- _RealType _M_p;
- _RealType _M_log_p;
- };
-
-
- template<typename _RealType>
- class normal_distribution;
-
- /**
- * @brief A discrete Poisson random number distribution.
- *
- * The formula for the poisson probability mass function is
- * @f$ p(i) = \frac{mean^i}{i!} e^{-mean} @f$ where @f$ mean @f$ is the
- * parameter of the distribution.
- */
- template<typename _IntType = int, typename _RealType = double>
- class poisson_distribution
- {
- public:
- // types
- typedef _RealType input_type;
- typedef _IntType result_type;
-
- // constructors and member function
- explicit
- poisson_distribution(const _RealType& __mean = _RealType(1))
- : _M_mean(__mean), _M_nd()
- {
- _GLIBCXX_DEBUG_ASSERT(_M_mean > 0.0);
- _M_initialize();
- }
-
- /**
- * Gets the distribution parameter @p mean.
- */
- _RealType
- mean() const
- { return _M_mean; }
-
- void
- reset()
- { _M_nd.reset(); }
-
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng);
-
- /**
- * Inserts a %poisson_distribution random number distribution
- * @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %poisson_distribution random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _IntType1, typename _RealType1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const poisson_distribution<_IntType1, _RealType1>& __x);
-
- /**
- * Extracts a %poisson_distribution random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %poisson_distribution random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _IntType1, typename _RealType1,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- poisson_distribution<_IntType1, _RealType1>& __x);
-
- private:
- void
- _M_initialize();
-
- // NB: Unused when _GLIBCXX_USE_C99_MATH_TR1 is undefined.
- normal_distribution<_RealType> _M_nd;
-
- _RealType _M_mean;
-
- // Hosts either log(mean) or the threshold of the simple method.
- _RealType _M_lm_thr;
-#if _GLIBCXX_USE_C99_MATH_TR1
- _RealType _M_lfm, _M_sm, _M_d, _M_scx, _M_1cx, _M_c2b, _M_cb;
-#endif
- };
-
-
- /**
- * @brief A discrete binomial random number distribution.
- *
- * The formula for the binomial probability mass function is
- * @f$ p(i) = \binom{n}{i} p^i (1 - p)^{t - i} @f$ where @f$ t @f$
- * and @f$ p @f$ are the parameters of the distribution.
- */
- template<typename _IntType = int, typename _RealType = double>
- class binomial_distribution
- {
- public:
- // types
- typedef _RealType input_type;
- typedef _IntType result_type;
-
- // constructors and member function
- explicit
- binomial_distribution(_IntType __t = 1,
- const _RealType& __p = _RealType(0.5))
- : _M_t(__t), _M_p(__p), _M_nd()
- {
- _GLIBCXX_DEBUG_ASSERT((_M_t >= 0) && (_M_p >= 0.0) && (_M_p <= 1.0));
- _M_initialize();
- }
-
- /**
- * Gets the distribution @p t parameter.
- */
- _IntType
- t() const
- { return _M_t; }
-
- /**
- * Gets the distribution @p p parameter.
- */
- _RealType
- p() const
- { return _M_p; }
-
- void
- reset()
- { _M_nd.reset(); }
-
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng);
-
- /**
- * Inserts a %binomial_distribution random number distribution
- * @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %binomial_distribution random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _IntType1, typename _RealType1,
- typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const binomial_distribution<_IntType1, _RealType1>& __x);
-
- /**
- * Extracts a %binomial_distribution random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %binomial_distribution random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _IntType1, typename _RealType1,
- typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- binomial_distribution<_IntType1, _RealType1>& __x);
-
- private:
- void
- _M_initialize();
-
- template<class _UniformRandomNumberGenerator>
- result_type
- _M_waiting(_UniformRandomNumberGenerator& __urng, _IntType __t);
-
- // NB: Unused when _GLIBCXX_USE_C99_MATH_TR1 is undefined.
- normal_distribution<_RealType> _M_nd;
-
- _RealType _M_q;
-#if _GLIBCXX_USE_C99_MATH_TR1
- _RealType _M_d1, _M_d2, _M_s1, _M_s2, _M_c,
- _M_a1, _M_a123, _M_s, _M_lf, _M_lp1p;
-#endif
- _RealType _M_p;
- _IntType _M_t;
-
- bool _M_easy;
- };
-
- /* @} */ // group tr1_random_distributions_discrete
-
- /**
- * @addtogroup tr1_random_distributions_continuous Continuous Distributions
- * @ingroup tr1_random_distributions
- * @{
- */
-
- /**
- * @brief Uniform continuous distribution for random numbers.
- *
- * A continuous random distribution on the range [min, max) with equal
- * probability throughout the range. The URNG should be real-valued and
- * deliver number in the range [0, 1).
- */
- template<typename _RealType = double>
- class uniform_real
- {
- public:
- // types
- typedef _RealType input_type;
- typedef _RealType result_type;
-
- public:
- /**
- * Constructs a uniform_real object.
- *
- * @param __min [IN] The lower bound of the distribution.
- * @param __max [IN] The upper bound of the distribution.
- */
- explicit
- uniform_real(_RealType __min = _RealType(0),
- _RealType __max = _RealType(1))
- : _M_min(__min), _M_max(__max)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_min <= _M_max);
- }
-
- result_type
- min() const
- { return _M_min; }
-
- result_type
- max() const
- { return _M_max; }
-
- void
- reset() { }
-
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng)
- { return (__urng() * (_M_max - _M_min)) + _M_min; }
-
- /**
- * Inserts a %uniform_real random number distribution @p __x into the
- * output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %uniform_real random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _RealType1, typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const uniform_real<_RealType1>& __x);
-
- /**
- * Extracts a %unform_real random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %uniform_real random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _RealType1, typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- uniform_real<_RealType1>& __x);
-
- private:
- _RealType _M_min;
- _RealType _M_max;
- };
-
-
- /**
- * @brief An exponential continuous distribution for random numbers.
- *
- * The formula for the exponential probability mass function is
- * @f$ p(x) = \lambda e^{-\lambda x} @f$.
- *
- * <table border=1 cellpadding=10 cellspacing=0>
- * <caption align=top>Distribution Statistics</caption>
- * <tr><td>Mean</td><td>@f$ \frac{1}{\lambda} @f$</td></tr>
- * <tr><td>Median</td><td>@f$ \frac{\ln 2}{\lambda} @f$</td></tr>
- * <tr><td>Mode</td><td>@f$ zero @f$</td></tr>
- * <tr><td>Range</td><td>@f$[0, \infty]@f$</td></tr>
- * <tr><td>Standard Deviation</td><td>@f$ \frac{1}{\lambda} @f$</td></tr>
- * </table>
- */
- template<typename _RealType = double>
- class exponential_distribution
- {
- public:
- // types
- typedef _RealType input_type;
- typedef _RealType result_type;
-
- public:
- /**
- * Constructs an exponential distribution with inverse scale parameter
- * @f$ \lambda @f$.
- */
- explicit
- exponential_distribution(const result_type& __lambda = result_type(1))
- : _M_lambda(__lambda)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_lambda > 0);
- }
-
- /**
- * Gets the inverse scale parameter of the distribution.
- */
- _RealType
- lambda() const
- { return _M_lambda; }
-
- /**
- * Resets the distribution.
- *
- * Has no effect on exponential distributions.
- */
- void
- reset() { }
-
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng)
- { return -std::log(__urng()) / _M_lambda; }
-
- /**
- * Inserts a %exponential_distribution random number distribution
- * @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %exponential_distribution random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _RealType1, typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const exponential_distribution<_RealType1>& __x);
-
- /**
- * Extracts a %exponential_distribution random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %exponential_distribution random number
- * generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- exponential_distribution& __x)
- { return __is >> __x._M_lambda; }
-
- private:
- result_type _M_lambda;
- };
-
-
- /**
- * @brief A normal continuous distribution for random numbers.
- *
- * The formula for the normal probability mass function is
- * @f$ p(x) = \frac{1}{\sigma \sqrt{2 \pi}}
- * e^{- \frac{{x - mean}^ {2}}{2 \sigma ^ {2}} } @f$.
- */
- template<typename _RealType = double>
- class normal_distribution
- {
- public:
- // types
- typedef _RealType input_type;
- typedef _RealType result_type;
-
- public:
- /**
- * Constructs a normal distribution with parameters @f$ mean @f$ and
- * @f$ \sigma @f$.
- */
- explicit
- normal_distribution(const result_type& __mean = result_type(0),
- const result_type& __sigma = result_type(1))
- : _M_mean(__mean), _M_sigma(__sigma), _M_saved_available(false)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_sigma > 0);
- }
-
- /**
- * Gets the mean of the distribution.
- */
- _RealType
- mean() const
- { return _M_mean; }
-
- /**
- * Gets the @f$ \sigma @f$ of the distribution.
- */
- _RealType
- sigma() const
- { return _M_sigma; }
-
- /**
- * Resets the distribution.
- */
- void
- reset()
- { _M_saved_available = false; }
-
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng);
-
- /**
- * Inserts a %normal_distribution random number distribution
- * @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %normal_distribution random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _RealType1, typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const normal_distribution<_RealType1>& __x);
-
- /**
- * Extracts a %normal_distribution random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %normal_distribution random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _RealType1, typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- normal_distribution<_RealType1>& __x);
-
- private:
- result_type _M_mean;
- result_type _M_sigma;
- result_type _M_saved;
- bool _M_saved_available;
- };
-
-
- /**
- * @brief A gamma continuous distribution for random numbers.
- *
- * The formula for the gamma probability mass function is
- * @f$ p(x) = \frac{1}{\Gamma(\alpha)} x^{\alpha - 1} e^{-x} @f$.
- */
- template<typename _RealType = double>
- class gamma_distribution
- {
- public:
- // types
- typedef _RealType input_type;
- typedef _RealType result_type;
-
- public:
- /**
- * Constructs a gamma distribution with parameters @f$ \alpha @f$.
- */
- explicit
- gamma_distribution(const result_type& __alpha_val = result_type(1))
- : _M_alpha(__alpha_val)
- {
- _GLIBCXX_DEBUG_ASSERT(_M_alpha > 0);
- _M_initialize();
- }
-
- /**
- * Gets the @f$ \alpha @f$ of the distribution.
- */
- _RealType
- alpha() const
- { return _M_alpha; }
-
- /**
- * Resets the distribution.
- */
- void
- reset() { }
-
- template<class _UniformRandomNumberGenerator>
- result_type
- operator()(_UniformRandomNumberGenerator& __urng);
-
- /**
- * Inserts a %gamma_distribution random number distribution
- * @p __x into the output stream @p __os.
- *
- * @param __os An output stream.
- * @param __x A %gamma_distribution random number distribution.
- *
- * @returns The output stream with the state of @p __x inserted or in
- * an error state.
- */
- template<typename _RealType1, typename _CharT, typename _Traits>
- friend std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const gamma_distribution<_RealType1>& __x);
-
- /**
- * Extracts a %gamma_distribution random number distribution
- * @p __x from the input stream @p __is.
- *
- * @param __is An input stream.
- * @param __x A %gamma_distribution random number generator engine.
- *
- * @returns The input stream with @p __x extracted or in an error state.
- */
- template<typename _CharT, typename _Traits>
- friend std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- gamma_distribution& __x)
- {
- __is >> __x._M_alpha;
- __x._M_initialize();
- return __is;
- }
-
- private:
- void
- _M_initialize();
-
- result_type _M_alpha;
-
- // Hosts either lambda of GB or d of modified Vaduva's.
- result_type _M_l_d;
- };
-
- /* @} */ // group tr1_random_distributions_continuous
- /* @} */ // group tr1_random_distributions
- /* @} */ // group tr1_random
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#include <tr1/random.tcc>
-
-#endif // _TR1_RANDOM
diff --git a/contrib/libstdc++/include/tr1/random.tcc b/contrib/libstdc++/include/tr1/random.tcc
deleted file mode 100644
index 3962816c8cef..000000000000
--- a/contrib/libstdc++/include/tr1/random.tcc
+++ /dev/null
@@ -1,1547 +0,0 @@
-// random number generation (out of line) -*- C++ -*-
-
-// 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
-// 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/random.tcc
- * This is a TR1 C++ Library header.
- */
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- /*
- * (Further) implementation-space details.
- */
- namespace __detail
- {
- // General case for x = (ax + c) mod m -- use Schrage's algorithm to avoid
- // integer overflow.
- //
- // Because a and c are compile-time integral constants the compiler kindly
- // elides any unreachable paths.
- //
- // Preconditions: a > 0, m > 0.
- //
- template<typename _Tp, _Tp __a, _Tp __c, _Tp __m, bool>
- struct _Mod
- {
- static _Tp
- __calc(_Tp __x)
- {
- if (__a == 1)
- __x %= __m;
- else
- {
- static const _Tp __q = __m / __a;
- static const _Tp __r = __m % __a;
-
- _Tp __t1 = __a * (__x % __q);
- _Tp __t2 = __r * (__x / __q);
- if (__t1 >= __t2)
- __x = __t1 - __t2;
- else
- __x = __m - __t2 + __t1;
- }
-
- if (__c != 0)
- {
- const _Tp __d = __m - __x;
- if (__d > __c)
- __x += __c;
- else
- __x = __c - __d;
- }
- return __x;
- }
- };
-
- // Special case for m == 0 -- use unsigned integer overflow as modulo
- // operator.
- template<typename _Tp, _Tp __a, _Tp __c, _Tp __m>
- struct _Mod<_Tp, __a, __c, __m, true>
- {
- static _Tp
- __calc(_Tp __x)
- { return __a * __x + __c; }
- };
- } // namespace __detail
-
- /**
- * Seeds the LCR with integral value @p __x0, adjusted so that the
- * ring identity is never a member of the convergence set.
- */
- template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
- void
- linear_congruential<_UIntType, __a, __c, __m>::
- seed(unsigned long __x0)
- {
- if ((__detail::__mod<_UIntType, 1, 0, __m>(__c) == 0)
- && (__detail::__mod<_UIntType, 1, 0, __m>(__x0) == 0))
- _M_x = __detail::__mod<_UIntType, 1, 0, __m>(1);
- else
- _M_x = __detail::__mod<_UIntType, 1, 0, __m>(__x0);
- }
-
- /**
- * Seeds the LCR engine with a value generated by @p __g.
- */
- template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
- template<class _Gen>
- void
- linear_congruential<_UIntType, __a, __c, __m>::
- seed(_Gen& __g, false_type)
- {
- _UIntType __x0 = __g();
- if ((__detail::__mod<_UIntType, 1, 0, __m>(__c) == 0)
- && (__detail::__mod<_UIntType, 1, 0, __m>(__x0) == 0))
- _M_x = __detail::__mod<_UIntType, 1, 0, __m>(1);
- else
- _M_x = __detail::__mod<_UIntType, 1, 0, __m>(__x0);
- }
-
- /**
- * Gets the next generated value in sequence.
- */
- template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
- typename linear_congruential<_UIntType, __a, __c, __m>::result_type
- linear_congruential<_UIntType, __a, __c, __m>::
- operator()()
- {
- _M_x = __detail::__mod<_UIntType, __a, __c, __m>(_M_x);
- return _M_x;
- }
-
- template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const linear_congruential<_UIntType, __a, __c, __m>& __lcr)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
- __os.fill(__os.widen(' '));
-
- __os << __lcr._M_x;
-
- __os.flags(__flags);
- __os.fill(__fill);
- return __os;
- }
-
- template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- linear_congruential<_UIntType, __a, __c, __m>& __lcr)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec);
-
- __is >> __lcr._M_x;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<class _UIntType, int __w, int __n, int __m, int __r,
- _UIntType __a, int __u, int __s,
- _UIntType __b, int __t, _UIntType __c, int __l>
- void
- mersenne_twister<_UIntType, __w, __n, __m, __r, __a, __u, __s,
- __b, __t, __c, __l>::
- seed(unsigned long __value)
- {
- _M_x[0] = __detail::__mod<_UIntType, 1, 0,
- __detail::_Shift<_UIntType, __w>::__value>(__value);
-
- for (int __i = 1; __i < state_size; ++__i)
- {
- _UIntType __x = _M_x[__i - 1];
- __x ^= __x >> (__w - 2);
- __x *= 1812433253ul;
- __x += __i;
- _M_x[__i] = __detail::__mod<_UIntType, 1, 0,
- __detail::_Shift<_UIntType, __w>::__value>(__x);
- }
- _M_p = state_size;
- }
-
- template<class _UIntType, int __w, int __n, int __m, int __r,
- _UIntType __a, int __u, int __s,
- _UIntType __b, int __t, _UIntType __c, int __l>
- template<class _Gen>
- void
- mersenne_twister<_UIntType, __w, __n, __m, __r, __a, __u, __s,
- __b, __t, __c, __l>::
- seed(_Gen& __gen, false_type)
- {
- for (int __i = 0; __i < state_size; ++__i)
- _M_x[__i] = __detail::__mod<_UIntType, 1, 0,
- __detail::_Shift<_UIntType, __w>::__value>(__gen());
- _M_p = state_size;
- }
-
- template<class _UIntType, int __w, int __n, int __m, int __r,
- _UIntType __a, int __u, int __s,
- _UIntType __b, int __t, _UIntType __c, int __l>
- typename
- mersenne_twister<_UIntType, __w, __n, __m, __r, __a, __u, __s,
- __b, __t, __c, __l>::result_type
- mersenne_twister<_UIntType, __w, __n, __m, __r, __a, __u, __s,
- __b, __t, __c, __l>::
- operator()()
- {
- // Reload the vector - cost is O(n) amortized over n calls.
- if (_M_p >= state_size)
- {
- const _UIntType __upper_mask = (~_UIntType()) << __r;
- const _UIntType __lower_mask = ~__upper_mask;
-
- for (int __k = 0; __k < (__n - __m); ++__k)
- {
- _UIntType __y = ((_M_x[__k] & __upper_mask)
- | (_M_x[__k + 1] & __lower_mask));
- _M_x[__k] = (_M_x[__k + __m] ^ (__y >> 1)
- ^ ((__y & 0x01) ? __a : 0));
- }
-
- for (int __k = (__n - __m); __k < (__n - 1); ++__k)
- {
- _UIntType __y = ((_M_x[__k] & __upper_mask)
- | (_M_x[__k + 1] & __lower_mask));
- _M_x[__k] = (_M_x[__k + (__m - __n)] ^ (__y >> 1)
- ^ ((__y & 0x01) ? __a : 0));
- }
-
- _UIntType __y = ((_M_x[__n - 1] & __upper_mask)
- | (_M_x[0] & __lower_mask));
- _M_x[__n - 1] = (_M_x[__m - 1] ^ (__y >> 1)
- ^ ((__y & 0x01) ? __a : 0));
- _M_p = 0;
- }
-
- // Calculate o(x(i)).
- result_type __z = _M_x[_M_p++];
- __z ^= (__z >> __u);
- __z ^= (__z << __s) & __b;
- __z ^= (__z << __t) & __c;
- __z ^= (__z >> __l);
-
- return __z;
- }
-
- template<class _UIntType, int __w, int __n, int __m, int __r,
- _UIntType __a, int __u, int __s, _UIntType __b, int __t,
- _UIntType __c, int __l,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const mersenne_twister<_UIntType, __w, __n, __m,
- __r, __a, __u, __s, __b, __t, __c, __l>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
- __os.fill(__space);
-
- for (int __i = 0; __i < __n - 1; ++__i)
- __os << __x._M_x[__i] << __space;
- __os << __x._M_x[__n - 1];
-
- __os.flags(__flags);
- __os.fill(__fill);
- return __os;
- }
-
- template<class _UIntType, int __w, int __n, int __m, int __r,
- _UIntType __a, int __u, int __s, _UIntType __b, int __t,
- _UIntType __c, int __l,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- mersenne_twister<_UIntType, __w, __n, __m,
- __r, __a, __u, __s, __b, __t, __c, __l>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec | __ios_base::skipws);
-
- for (int __i = 0; __i < __n; ++__i)
- __is >> __x._M_x[__i];
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _IntType, _IntType __m, int __s, int __r>
- void
- subtract_with_carry<_IntType, __m, __s, __r>::
- seed(unsigned long __value)
- {
- if (__value == 0)
- __value = 19780503;
-
- std::tr1::linear_congruential<unsigned long, 40014, 0, 2147483563>
- __lcg(__value);
-
- for (int __i = 0; __i < long_lag; ++__i)
- _M_x[__i] = __detail::__mod<_UIntType, 1, 0, modulus>(__lcg());
-
- _M_carry = (_M_x[long_lag - 1] == 0) ? 1 : 0;
- _M_p = 0;
- }
-
- template<typename _IntType, _IntType __m, int __s, int __r>
- template<class _Gen>
- void
- subtract_with_carry<_IntType, __m, __s, __r>::
- seed(_Gen& __gen, false_type)
- {
- const int __n = (std::numeric_limits<_UIntType>::digits + 31) / 32;
-
- for (int __i = 0; __i < long_lag; ++__i)
- {
- _UIntType __tmp = 0;
- _UIntType __factor = 1;
- for (int __j = 0; __j < __n; ++__j)
- {
- __tmp += __detail::__mod<__detail::_UInt32Type, 1, 0, 0>
- (__gen()) * __factor;
- __factor *= __detail::_Shift<_UIntType, 32>::__value;
- }
- _M_x[__i] = __detail::__mod<_UIntType, 1, 0, modulus>(__tmp);
- }
- _M_carry = (_M_x[long_lag - 1] == 0) ? 1 : 0;
- _M_p = 0;
- }
-
- template<typename _IntType, _IntType __m, int __s, int __r>
- typename subtract_with_carry<_IntType, __m, __s, __r>::result_type
- subtract_with_carry<_IntType, __m, __s, __r>::
- operator()()
- {
- // Derive short lag index from current index.
- int __ps = _M_p - short_lag;
- if (__ps < 0)
- __ps += long_lag;
-
- // Calculate new x(i) without overflow or division.
- // NB: Thanks to the requirements for _IntType, _M_x[_M_p] + _M_carry
- // cannot overflow.
- _UIntType __xi;
- if (_M_x[__ps] >= _M_x[_M_p] + _M_carry)
- {
- __xi = _M_x[__ps] - _M_x[_M_p] - _M_carry;
- _M_carry = 0;
- }
- else
- {
- __xi = modulus - _M_x[_M_p] - _M_carry + _M_x[__ps];
- _M_carry = 1;
- }
- _M_x[_M_p] = __xi;
-
- // Adjust current index to loop around in ring buffer.
- if (++_M_p >= long_lag)
- _M_p = 0;
-
- return __xi;
- }
-
- template<typename _IntType, _IntType __m, int __s, int __r,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const subtract_with_carry<_IntType, __m, __s, __r>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
- __os.fill(__space);
-
- for (int __i = 0; __i < __r; ++__i)
- __os << __x._M_x[__i] << __space;
- __os << __x._M_carry;
-
- __os.flags(__flags);
- __os.fill(__fill);
- return __os;
- }
-
- template<typename _IntType, _IntType __m, int __s, int __r,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- subtract_with_carry<_IntType, __m, __s, __r>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec | __ios_base::skipws);
-
- for (int __i = 0; __i < __r; ++__i)
- __is >> __x._M_x[__i];
- __is >> __x._M_carry;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _RealType, int __w, int __s, int __r>
- void
- subtract_with_carry_01<_RealType, __w, __s, __r>::
- _M_initialize_npows()
- {
- for (int __j = 0; __j < __n; ++__j)
-#if _GLIBCXX_USE_C99_MATH_TR1
- _M_npows[__j] = std::tr1::ldexp(_RealType(1), -__w + __j * 32);
-#else
- _M_npows[__j] = std::pow(_RealType(2), -__w + __j * 32);
-#endif
- }
-
- template<typename _RealType, int __w, int __s, int __r>
- void
- subtract_with_carry_01<_RealType, __w, __s, __r>::
- seed(unsigned long __value)
- {
- if (__value == 0)
- __value = 19780503;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 512. Seeding subtract_with_carry_01 from a single unsigned long.
- std::tr1::linear_congruential<unsigned long, 40014, 0, 2147483563>
- __lcg(__value);
-
- this->seed(__lcg);
- }
-
- template<typename _RealType, int __w, int __s, int __r>
- template<class _Gen>
- void
- subtract_with_carry_01<_RealType, __w, __s, __r>::
- seed(_Gen& __gen, false_type)
- {
- for (int __i = 0; __i < long_lag; ++__i)
- {
- for (int __j = 0; __j < __n - 1; ++__j)
- _M_x[__i][__j] = __detail::__mod<_UInt32Type, 1, 0, 0>(__gen());
- _M_x[__i][__n - 1] = __detail::__mod<_UInt32Type, 1, 0,
- __detail::_Shift<_UInt32Type, __w % 32>::__value>(__gen());
- }
-
- _M_carry = 1;
- for (int __j = 0; __j < __n; ++__j)
- if (_M_x[long_lag - 1][__j] != 0)
- {
- _M_carry = 0;
- break;
- }
-
- _M_p = 0;
- }
-
- template<typename _RealType, int __w, int __s, int __r>
- typename subtract_with_carry_01<_RealType, __w, __s, __r>::result_type
- subtract_with_carry_01<_RealType, __w, __s, __r>::
- operator()()
- {
- // Derive short lag index from current index.
- int __ps = _M_p - short_lag;
- if (__ps < 0)
- __ps += long_lag;
-
- _UInt32Type __new_carry;
- for (int __j = 0; __j < __n - 1; ++__j)
- {
- if (_M_x[__ps][__j] > _M_x[_M_p][__j]
- || (_M_x[__ps][__j] == _M_x[_M_p][__j] && _M_carry == 0))
- __new_carry = 0;
- else
- __new_carry = 1;
-
- _M_x[_M_p][__j] = _M_x[__ps][__j] - _M_x[_M_p][__j] - _M_carry;
- _M_carry = __new_carry;
- }
-
- if (_M_x[__ps][__n - 1] > _M_x[_M_p][__n - 1]
- || (_M_x[__ps][__n - 1] == _M_x[_M_p][__n - 1] && _M_carry == 0))
- __new_carry = 0;
- else
- __new_carry = 1;
-
- _M_x[_M_p][__n - 1] = __detail::__mod<_UInt32Type, 1, 0,
- __detail::_Shift<_UInt32Type, __w % 32>::__value>
- (_M_x[__ps][__n - 1] - _M_x[_M_p][__n - 1] - _M_carry);
- _M_carry = __new_carry;
-
- result_type __ret = 0.0;
- for (int __j = 0; __j < __n; ++__j)
- __ret += _M_x[_M_p][__j] * _M_npows[__j];
-
- // Adjust current index to loop around in ring buffer.
- if (++_M_p >= long_lag)
- _M_p = 0;
-
- return __ret;
- }
-
- template<typename _RealType, int __w, int __s, int __r,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const subtract_with_carry_01<_RealType, __w, __s, __r>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
- __os.fill(__space);
-
- for (int __i = 0; __i < __r; ++__i)
- for (int __j = 0; __j < __x.__n; ++__j)
- __os << __x._M_x[__i][__j] << __space;
- __os << __x._M_carry;
-
- __os.flags(__flags);
- __os.fill(__fill);
- return __os;
- }
-
- template<typename _RealType, int __w, int __s, int __r,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- subtract_with_carry_01<_RealType, __w, __s, __r>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec | __ios_base::skipws);
-
- for (int __i = 0; __i < __r; ++__i)
- for (int __j = 0; __j < __x.__n; ++__j)
- __is >> __x._M_x[__i][__j];
- __is >> __x._M_carry;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<class _UniformRandomNumberGenerator, int __p, int __r>
- typename discard_block<_UniformRandomNumberGenerator,
- __p, __r>::result_type
- discard_block<_UniformRandomNumberGenerator, __p, __r>::
- operator()()
- {
- if (_M_n >= used_block)
- {
- while (_M_n < block_size)
- {
- _M_b();
- ++_M_n;
- }
- _M_n = 0;
- }
- ++_M_n;
- return _M_b();
- }
-
- template<class _UniformRandomNumberGenerator, int __p, int __r,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const discard_block<_UniformRandomNumberGenerator,
- __p, __r>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::dec | __ios_base::fixed
- | __ios_base::left);
- __os.fill(__space);
-
- __os << __x._M_b << __space << __x._M_n;
-
- __os.flags(__flags);
- __os.fill(__fill);
- return __os;
- }
-
- template<class _UniformRandomNumberGenerator, int __p, int __r,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- discard_block<_UniformRandomNumberGenerator, __p, __r>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec | __ios_base::skipws);
-
- __is >> __x._M_b >> __x._M_n;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<class _UniformRandomNumberGenerator1, int __s1,
- class _UniformRandomNumberGenerator2, int __s2>
- void
- xor_combine<_UniformRandomNumberGenerator1, __s1,
- _UniformRandomNumberGenerator2, __s2>::
- _M_initialize_max()
- {
- const int __w = std::numeric_limits<result_type>::digits;
-
- const result_type __m1 =
- std::min(result_type(_M_b1.max() - _M_b1.min()),
- __detail::_Shift<result_type, __w - __s1>::__value - 1);
-
- const result_type __m2 =
- std::min(result_type(_M_b2.max() - _M_b2.min()),
- __detail::_Shift<result_type, __w - __s2>::__value - 1);
-
- // NB: In TR1 s1 is not required to be >= s2.
- if (__s1 < __s2)
- _M_max = _M_initialize_max_aux(__m2, __m1, __s2 - __s1) << __s1;
- else
- _M_max = _M_initialize_max_aux(__m1, __m2, __s1 - __s2) << __s2;
- }
-
- template<class _UniformRandomNumberGenerator1, int __s1,
- class _UniformRandomNumberGenerator2, int __s2>
- typename xor_combine<_UniformRandomNumberGenerator1, __s1,
- _UniformRandomNumberGenerator2, __s2>::result_type
- xor_combine<_UniformRandomNumberGenerator1, __s1,
- _UniformRandomNumberGenerator2, __s2>::
- _M_initialize_max_aux(result_type __a, result_type __b, int __d)
- {
- const result_type __two2d = result_type(1) << __d;
- const result_type __c = __a * __two2d;
-
- if (__a == 0 || __b < __two2d)
- return __c + __b;
-
- const result_type __t = std::max(__c, __b);
- const result_type __u = std::min(__c, __b);
-
- result_type __ub = __u;
- result_type __p;
- for (__p = 0; __ub != 1; __ub >>= 1)
- ++__p;
-
- const result_type __two2p = result_type(1) << __p;
- const result_type __k = __t / __two2p;
-
- if (__k & 1)
- return (__k + 1) * __two2p - 1;
-
- if (__c >= __b)
- return (__k + 1) * __two2p + _M_initialize_max_aux((__t % __two2p)
- / __two2d,
- __u % __two2p, __d);
- else
- return (__k + 1) * __two2p + _M_initialize_max_aux((__u % __two2p)
- / __two2d,
- __t % __two2p, __d);
- }
-
- template<class _UniformRandomNumberGenerator1, int __s1,
- class _UniformRandomNumberGenerator2, int __s2,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const xor_combine<_UniformRandomNumberGenerator1, __s1,
- _UniformRandomNumberGenerator2, __s2>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::dec | __ios_base::fixed | __ios_base::left);
- __os.fill(__space);
-
- __os << __x.base1() << __space << __x.base2();
-
- __os.flags(__flags);
- __os.fill(__fill);
- return __os;
- }
-
- template<class _UniformRandomNumberGenerator1, int __s1,
- class _UniformRandomNumberGenerator2, int __s2,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- xor_combine<_UniformRandomNumberGenerator1, __s1,
- _UniformRandomNumberGenerator2, __s2>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::skipws);
-
- __is >> __x._M_b1 >> __x._M_b2;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _IntType, typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const uniform_int<_IntType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__space);
-
- __os << __x.min() << __space << __x.max();
-
- __os.flags(__flags);
- __os.fill(__fill);
- return __os;
- }
-
- template<typename _IntType, typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- uniform_int<_IntType>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec | __ios_base::skipws);
-
- __is >> __x._M_min >> __x._M_max;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const bernoulli_distribution& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__os.widen(' '));
- __os.precision(__gnu_cxx::__numeric_traits<double>::__max_digits10);
-
- __os << __x.p();
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
-
- template<typename _IntType, typename _RealType>
- template<class _UniformRandomNumberGenerator>
- typename geometric_distribution<_IntType, _RealType>::result_type
- geometric_distribution<_IntType, _RealType>::
- operator()(_UniformRandomNumberGenerator& __urng)
- {
- // About the epsilon thing see this thread:
- // http://gcc.gnu.org/ml/gcc-patches/2006-10/msg00971.html
- const _RealType __naf =
- (1 - std::numeric_limits<_RealType>::epsilon()) / 2;
- // The largest _RealType convertible to _IntType.
- const _RealType __thr =
- std::numeric_limits<_IntType>::max() + __naf;
-
- _RealType __cand;
- do
- __cand = std::ceil(std::log(__urng()) / _M_log_p);
- while (__cand >= __thr);
-
- return result_type(__cand + __naf);
- }
-
- template<typename _IntType, typename _RealType,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const geometric_distribution<_IntType, _RealType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__os.widen(' '));
- __os.precision(__gnu_cxx::__numeric_traits<_RealType>::__max_digits10);
-
- __os << __x.p();
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
-
- template<typename _IntType, typename _RealType>
- void
- poisson_distribution<_IntType, _RealType>::
- _M_initialize()
- {
-#if _GLIBCXX_USE_C99_MATH_TR1
- if (_M_mean >= 12)
- {
- const _RealType __m = std::floor(_M_mean);
- _M_lm_thr = std::log(_M_mean);
- _M_lfm = std::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),
- std::min(__m, __dx)));
- const _RealType __cx = 2 * __m + _M_d;
- _M_scx = std::sqrt(__cx / 2);
- _M_1cx = 1 / __cx;
-
- _M_c2b = std::sqrt(__pi_4 * __cx) * std::exp(_M_1cx);
- _M_cb = 2 * __cx * std::exp(-_M_d * _M_1cx * (1 + _M_d / 2)) / _M_d;
- }
- else
-#endif
- _M_lm_thr = std::exp(-_M_mean);
- }
-
- /**
- * A rejection algorithm when mean >= 12 and a simple method based
- * upon the multiplication of uniform random variates otherwise.
- * NB: The former is available only if _GLIBCXX_USE_C99_MATH_TR1
- * is defined.
- *
- * Reference:
- * Devroye, L. "Non-Uniform Random Variates Generation." Springer-Verlag,
- * New York, 1986, Ch. X, Sects. 3.3 & 3.4 (+ Errata!).
- */
- template<typename _IntType, typename _RealType>
- template<class _UniformRandomNumberGenerator>
- typename poisson_distribution<_IntType, _RealType>::result_type
- poisson_distribution<_IntType, _RealType>::
- operator()(_UniformRandomNumberGenerator& __urng)
- {
-#if _GLIBCXX_USE_C99_MATH_TR1
- if (_M_mean >= 12)
- {
- _RealType __x;
-
- // See comments above...
- const _RealType __naf =
- (1 - std::numeric_limits<_RealType>::epsilon()) / 2;
- const _RealType __thr =
- std::numeric_limits<_IntType>::max() + __naf;
-
- const _RealType __m = std::floor(_M_mean);
- // sqrt(pi / 2)
- const _RealType __spi_2 = 1.2533141373155002512078826424055226L;
- const _RealType __c1 = _M_sm * __spi_2;
- const _RealType __c2 = _M_c2b + __c1;
- const _RealType __c3 = __c2 + 1;
- const _RealType __c4 = __c3 + 1;
- // e^(1 / 78)
- const _RealType __e178 = 1.0129030479320018583185514777512983L;
- const _RealType __c5 = __c4 + __e178;
- const _RealType __c = _M_cb + __c5;
- const _RealType __2cx = 2 * (2 * __m + _M_d);
-
- bool __reject = true;
- do
- {
- const _RealType __u = __c * __urng();
- const _RealType __e = -std::log(__urng());
-
- _RealType __w = 0.0;
-
- if (__u <= __c1)
- {
- const _RealType __n = _M_nd(__urng);
- const _RealType __y = -std::abs(__n) * _M_sm - 1;
- __x = std::floor(__y);
- __w = -__n * __n / 2;
- if (__x < -__m)
- continue;
- }
- else if (__u <= __c2)
- {
- const _RealType __n = _M_nd(__urng);
- const _RealType __y = 1 + std::abs(__n) * _M_scx;
- __x = std::ceil(__y);
- __w = __y * (2 - __y) * _M_1cx;
- if (__x > _M_d)
- continue;
- }
- else if (__u <= __c3)
- // NB: This case not in the book, nor in the Errata,
- // but should be ok...
- __x = -1;
- else if (__u <= __c4)
- __x = 0;
- else if (__u <= __c5)
- __x = 1;
- else
- {
- const _RealType __v = -std::log(__urng());
- const _RealType __y = _M_d + __v * __2cx / _M_d;
- __x = std::ceil(__y);
- __w = -_M_d * _M_1cx * (1 + __y / 2);
- }
-
- __reject = (__w - __e - __x * _M_lm_thr
- > _M_lfm - std::tr1::lgamma(__x + __m + 1));
-
- __reject |= __x + __m >= __thr;
-
- } while (__reject);
-
- return result_type(__x + __m + __naf);
- }
- else
-#endif
- {
- _IntType __x = 0;
- _RealType __prod = 1.0;
-
- do
- {
- __prod *= __urng();
- __x += 1;
- }
- while (__prod > _M_lm_thr);
-
- return __x - 1;
- }
- }
-
- template<typename _IntType, typename _RealType,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const poisson_distribution<_IntType, _RealType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__space);
- __os.precision(__gnu_cxx::__numeric_traits<_RealType>::__max_digits10);
-
- __os << __x.mean() << __space << __x._M_nd;
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
- template<typename _IntType, typename _RealType,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- poisson_distribution<_IntType, _RealType>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::skipws);
-
- __is >> __x._M_mean >> __x._M_nd;
- __x._M_initialize();
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _IntType, typename _RealType>
- void
- binomial_distribution<_IntType, _RealType>::
- _M_initialize()
- {
- const _RealType __p12 = _M_p <= 0.5 ? _M_p : 1.0 - _M_p;
-
- _M_easy = true;
-
-#if _GLIBCXX_USE_C99_MATH_TR1
- if (_M_t * __p12 >= 8)
- {
- _M_easy = false;
- const _RealType __np = std::floor(_M_t * __p12);
- const _RealType __pa = __np / _M_t;
- const _RealType __1p = 1 - __pa;
-
- const _RealType __pi_4 = 0.7853981633974483096156608458198757L;
- 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));
- 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));
-
- // sqrt(pi / 2)
- const _RealType __spi_2 = 1.2533141373155002512078826424055226L;
- _M_s1 = std::sqrt(__np * __1p) * (1 + _M_d1 / (4 * __np));
- _M_s2 = std::sqrt(__np * __1p) * (1 + _M_d2 / (4 * _M_t * __1p));
- _M_c = 2 * _M_d1 / __np;
- _M_a1 = std::exp(_M_c) * _M_s1 * __spi_2;
- const _RealType __a12 = _M_a1 + _M_s2 * __spi_2;
- const _RealType __s1s = _M_s1 * _M_s1;
- _M_a123 = __a12 + (std::exp(_M_d1 / (_M_t * __1p))
- * 2 * __s1s / _M_d1
- * std::exp(-_M_d1 * _M_d1 / (2 * __s1s)));
- 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_lp1p = std::log(__pa / __1p);
-
- _M_q = -std::log(1 - (__p12 - __pa) / __1p);
- }
- else
-#endif
- _M_q = -std::log(1 - __p12);
- }
-
- template<typename _IntType, typename _RealType>
- template<class _UniformRandomNumberGenerator>
- typename binomial_distribution<_IntType, _RealType>::result_type
- binomial_distribution<_IntType, _RealType>::
- _M_waiting(_UniformRandomNumberGenerator& __urng, _IntType __t)
- {
- _IntType __x = 0;
- _RealType __sum = 0;
-
- do
- {
- const _RealType __e = -std::log(__urng());
- __sum += __e / (__t - __x);
- __x += 1;
- }
- while (__sum <= _M_q);
-
- return __x - 1;
- }
-
- /**
- * A rejection algorithm when t * p >= 8 and a simple waiting time
- * method - the second in the referenced book - otherwise.
- * NB: The former is available only if _GLIBCXX_USE_C99_MATH_TR1
- * is defined.
- *
- * Reference:
- * Devroye, L. "Non-Uniform Random Variates Generation." Springer-Verlag,
- * New York, 1986, Ch. X, Sect. 4 (+ Errata!).
- */
- template<typename _IntType, typename _RealType>
- template<class _UniformRandomNumberGenerator>
- typename binomial_distribution<_IntType, _RealType>::result_type
- binomial_distribution<_IntType, _RealType>::
- operator()(_UniformRandomNumberGenerator& __urng)
- {
- result_type __ret;
- const _RealType __p12 = _M_p <= 0.5 ? _M_p : 1.0 - _M_p;
-
-#if _GLIBCXX_USE_C99_MATH_TR1
- if (!_M_easy)
- {
- _RealType __x;
-
- // See comments above...
- const _RealType __naf =
- (1 - std::numeric_limits<_RealType>::epsilon()) / 2;
- const _RealType __thr =
- std::numeric_limits<_IntType>::max() + __naf;
-
- const _RealType __np = std::floor(_M_t * __p12);
- const _RealType __pa = __np / _M_t;
-
- // sqrt(pi / 2)
- const _RealType __spi_2 = 1.2533141373155002512078826424055226L;
- const _RealType __a1 = _M_a1;
- const _RealType __a12 = __a1 + _M_s2 * __spi_2;
- const _RealType __a123 = _M_a123;
- const _RealType __s1s = _M_s1 * _M_s1;
- const _RealType __s2s = _M_s2 * _M_s2;
-
- bool __reject;
- do
- {
- const _RealType __u = _M_s * __urng();
-
- _RealType __v;
-
- if (__u <= __a1)
- {
- const _RealType __n = _M_nd(__urng);
- const _RealType __y = _M_s1 * std::abs(__n);
- __reject = __y >= _M_d1;
- if (!__reject)
- {
- const _RealType __e = -std::log(__urng());
- __x = std::floor(__y);
- __v = -__e - __n * __n / 2 + _M_c;
- }
- }
- else if (__u <= __a12)
- {
- const _RealType __n = _M_nd(__urng);
- const _RealType __y = _M_s2 * std::abs(__n);
- __reject = __y >= _M_d2;
- if (!__reject)
- {
- const _RealType __e = -std::log(__urng());
- __x = std::floor(-__y);
- __v = -__e - __n * __n / 2;
- }
- }
- else if (__u <= __a123)
- {
- const _RealType __e1 = -std::log(__urng());
- const _RealType __e2 = -std::log(__urng());
-
- const _RealType __y = _M_d1 + 2 * __s1s * __e1 / _M_d1;
- __x = std::floor(__y);
- __v = (-__e2 + _M_d1 * (1 / (_M_t - __np)
- -__y / (2 * __s1s)));
- __reject = false;
- }
- else
- {
- const _RealType __e1 = -std::log(__urng());
- const _RealType __e2 = -std::log(__urng());
-
- const _RealType __y = _M_d2 + 2 * __s2s * __e1 / _M_d2;
- __x = std::floor(-__y);
- __v = -__e2 - _M_d2 * __y / (2 * __s2s);
- __reject = false;
- }
-
- __reject = __reject || __x < -__np || __x > _M_t - __np;
- if (!__reject)
- {
- const _RealType __lfx =
- std::tr1::lgamma(__np + __x + 1)
- + std::tr1::lgamma(_M_t - (__np + __x) + 1);
- __reject = __v > _M_lf - __lfx + __x * _M_lp1p;
- }
-
- __reject |= __x + __np >= __thr;
- }
- while (__reject);
-
- __x += __np + __naf;
-
- const _IntType __z = _M_waiting(__urng, _M_t - _IntType(__x));
- __ret = _IntType(__x) + __z;
- }
- else
-#endif
- __ret = _M_waiting(__urng, _M_t);
-
- if (__p12 != _M_p)
- __ret = _M_t - __ret;
- return __ret;
- }
-
- template<typename _IntType, typename _RealType,
- typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const binomial_distribution<_IntType, _RealType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__space);
- __os.precision(__gnu_cxx::__numeric_traits<_RealType>::__max_digits10);
-
- __os << __x.t() << __space << __x.p()
- << __space << __x._M_nd;
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
- template<typename _IntType, typename _RealType,
- typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- binomial_distribution<_IntType, _RealType>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec | __ios_base::skipws);
-
- __is >> __x._M_t >> __x._M_p >> __x._M_nd;
- __x._M_initialize();
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _RealType, typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const uniform_real<_RealType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__space);
- __os.precision(__gnu_cxx::__numeric_traits<_RealType>::__max_digits10);
-
- __os << __x.min() << __space << __x.max();
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
- template<typename _RealType, typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- uniform_real<_RealType>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::skipws);
-
- __is >> __x._M_min >> __x._M_max;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _RealType, typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const exponential_distribution<_RealType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__os.widen(' '));
- __os.precision(__gnu_cxx::__numeric_traits<_RealType>::__max_digits10);
-
- __os << __x.lambda();
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
-
- /**
- * Polar method due to Marsaglia.
- *
- * Devroye, L. "Non-Uniform Random Variates Generation." Springer-Verlag,
- * New York, 1986, Ch. V, Sect. 4.4.
- */
- template<typename _RealType>
- template<class _UniformRandomNumberGenerator>
- typename normal_distribution<_RealType>::result_type
- normal_distribution<_RealType>::
- operator()(_UniformRandomNumberGenerator& __urng)
- {
- result_type __ret;
-
- if (_M_saved_available)
- {
- _M_saved_available = false;
- __ret = _M_saved;
- }
- else
- {
- result_type __x, __y, __r2;
- do
- {
- __x = result_type(2.0) * __urng() - 1.0;
- __y = result_type(2.0) * __urng() - 1.0;
- __r2 = __x * __x + __y * __y;
- }
- while (__r2 > 1.0 || __r2 == 0.0);
-
- const result_type __mult = std::sqrt(-2 * std::log(__r2) / __r2);
- _M_saved = __x * __mult;
- _M_saved_available = true;
- __ret = __y * __mult;
- }
-
- __ret = __ret * _M_sigma + _M_mean;
- return __ret;
- }
-
- template<typename _RealType, typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const normal_distribution<_RealType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- const _CharT __space = __os.widen(' ');
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__space);
- __os.precision(__gnu_cxx::__numeric_traits<_RealType>::__max_digits10);
-
- __os << __x._M_saved_available << __space
- << __x.mean() << __space
- << __x.sigma();
- if (__x._M_saved_available)
- __os << __space << __x._M_saved;
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
- template<typename _RealType, typename _CharT, typename _Traits>
- std::basic_istream<_CharT, _Traits>&
- operator>>(std::basic_istream<_CharT, _Traits>& __is,
- normal_distribution<_RealType>& __x)
- {
- typedef std::basic_istream<_CharT, _Traits> __istream_type;
- typedef typename __istream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __is.flags();
- __is.flags(__ios_base::dec | __ios_base::skipws);
-
- __is >> __x._M_saved_available >> __x._M_mean
- >> __x._M_sigma;
- if (__x._M_saved_available)
- __is >> __x._M_saved;
-
- __is.flags(__flags);
- return __is;
- }
-
-
- template<typename _RealType>
- void
- gamma_distribution<_RealType>::
- _M_initialize()
- {
- if (_M_alpha >= 1)
- _M_l_d = std::sqrt(2 * _M_alpha - 1);
- else
- _M_l_d = (std::pow(_M_alpha, _M_alpha / (1 - _M_alpha))
- * (1 - _M_alpha));
- }
-
- /**
- * Cheng's rejection algorithm GB for alpha >= 1 and a modification
- * of Vaduva's rejection from Weibull algorithm due to Devroye for
- * alpha < 1.
- *
- * References:
- * Cheng, R. C. "The Generation of Gamma Random Variables with Non-integral
- * Shape Parameter." Applied Statistics, 26, 71-75, 1977.
- *
- * Vaduva, I. "Computer Generation of Gamma Gandom Variables by Rejection
- * and Composition Procedures." Math. Operationsforschung and Statistik,
- * Series in Statistics, 8, 545-576, 1977.
- *
- * Devroye, L. "Non-Uniform Random Variates Generation." Springer-Verlag,
- * New York, 1986, Ch. IX, Sect. 3.4 (+ Errata!).
- */
- template<typename _RealType>
- template<class _UniformRandomNumberGenerator>
- typename gamma_distribution<_RealType>::result_type
- gamma_distribution<_RealType>::
- operator()(_UniformRandomNumberGenerator& __urng)
- {
- result_type __x;
-
- bool __reject;
- if (_M_alpha >= 1)
- {
- // alpha - log(4)
- const result_type __b = _M_alpha
- - result_type(1.3862943611198906188344642429163531L);
- const result_type __c = _M_alpha + _M_l_d;
- const result_type __1l = 1 / _M_l_d;
-
- // 1 + log(9 / 2)
- const result_type __k = 2.5040773967762740733732583523868748L;
-
- do
- {
- const result_type __u = __urng();
- const result_type __v = __urng();
-
- const result_type __y = __1l * std::log(__v / (1 - __v));
- __x = _M_alpha * std::exp(__y);
-
- const result_type __z = __u * __v * __v;
- const result_type __r = __b + __c * __y - __x;
-
- __reject = __r < result_type(4.5) * __z - __k;
- if (__reject)
- __reject = __r < std::log(__z);
- }
- while (__reject);
- }
- else
- {
- const result_type __c = 1 / _M_alpha;
-
- do
- {
- const result_type __z = -std::log(__urng());
- const result_type __e = -std::log(__urng());
-
- __x = std::pow(__z, __c);
-
- __reject = __z + __e < _M_l_d + __x;
- }
- while (__reject);
- }
-
- return __x;
- }
-
- template<typename _RealType, typename _CharT, typename _Traits>
- std::basic_ostream<_CharT, _Traits>&
- operator<<(std::basic_ostream<_CharT, _Traits>& __os,
- const gamma_distribution<_RealType>& __x)
- {
- typedef std::basic_ostream<_CharT, _Traits> __ostream_type;
- typedef typename __ostream_type::ios_base __ios_base;
-
- const typename __ios_base::fmtflags __flags = __os.flags();
- const _CharT __fill = __os.fill();
- const std::streamsize __precision = __os.precision();
- __os.flags(__ios_base::scientific | __ios_base::left);
- __os.fill(__os.widen(' '));
- __os.precision(__gnu_cxx::__numeric_traits<_RealType>::__max_digits10);
-
- __os << __x.alpha();
-
- __os.flags(__flags);
- __os.fill(__fill);
- __os.precision(__precision);
- return __os;
- }
-
-_GLIBCXX_END_NAMESPACE
-}
diff --git a/contrib/libstdc++/include/tr1/ref_fwd.h b/contrib/libstdc++/include/tr1/ref_fwd.h
deleted file mode 100644
index 6c0efbc60e18..000000000000
--- a/contrib/libstdc++/include/tr1/ref_fwd.h
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-// class template reference_wrapper forwarding header -*- C++ -*-
-
-// Copyright (C) 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 tr1/ref_fwd.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Douglas Gregor <doug.gregor -at- gmail.com>
-#ifndef _TR1_REF_FWD
-#define _TR1_REF_FWD
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-template<typename _Tp>
- class reference_wrapper;
-
-template<typename _Tp>
- reference_wrapper<_Tp>
- ref(_Tp& __t);
-
- // Denotes a const reference should be taken to a variable.
-template<typename _Tp>
- reference_wrapper<const _Tp>
- cref(const _Tp& __t);
-
-_GLIBCXX_END_NAMESPACE
-}
-#endif
diff --git a/contrib/libstdc++/include/tr1/ref_wrap_iterate.h b/contrib/libstdc++/include/tr1/ref_wrap_iterate.h
deleted file mode 100644
index 7c63d2cf18aa..000000000000
--- a/contrib/libstdc++/include/tr1/ref_wrap_iterate.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// TR1 reference_wrapper -*- C++ -*-
-
-// Copyright (C) 2005 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
-// 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/ref_wrap_iterate.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#if _GLIBCXX_NUM_ARGS > 0
-template<_GLIBCXX_TEMPLATE_PARAMS>
- typename result_of<_M_func_type(_GLIBCXX_TEMPLATE_ARGS)>::type
- operator()(_GLIBCXX_REF_PARAMS) const;
-#else
-typename result_of<_M_func_type()>::type
-operator()() const
-{ return get()(); }
-#endif
diff --git a/contrib/libstdc++/include/tr1/repeat.h b/contrib/libstdc++/include/tr1/repeat.h
deleted file mode 100644
index 3f09dd56207b..000000000000
--- a/contrib/libstdc++/include/tr1/repeat.h
+++ /dev/null
@@ -1,677 +0,0 @@
-// TR1 code repetition -*- C++ -*-
-
-// Copyright (C) 2005 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
-// 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/repeat.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_REPEAT_HEADER
-# error Internal error: _GLIBCXX_REPEAT_HEADER must be set
-#endif /* _GLIBCXX_REPEAT_HEADER */
-
-#ifndef _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS
-# define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
-# define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED typename, typename, typename, typename, typename, typename, typename, typename, typename, typename
-# define _GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
-#endif
-
-#define _GLIBCXX_NUM_ARGS 0
-#define _GLIBCXX_COMMA
-#define _GLIBCXX_TEMPLATE_PARAMS
-#define _GLIBCXX_TEMPLATE_ARGS
-#define _GLIBCXX_PARAMS
-#define _GLIBCXX_REF_PARAMS
-#define _GLIBCXX_ARGS
-#define _GLIBCXX_COMMA_SHIFTED
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#define _GLIBCXX_PARAMS_SHIFTED
-#define _GLIBCXX_ARGS_SHIFTED
-#define _GLIBCXX_BIND_MEMBERS_INIT
-#define _GLIBCXX_BIND_MEMBERS
-#define _GLIBCXX_MU_GET_TUPLE_ARGS
-#define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV)
-#define _GLIBCXX_BIND_V_ARGS
-#define _GLIBCXX_TUPLE_ADD_CREF
-#define _GLIBCXX_TUPLE_COPY_INIT
-#define _GLIBCXX_TUPLE_ASSIGN
-#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#define _GLIBCXX_TEMPLATE_PARAMS_U
-#define _GLIBCXX_TEMPLATE_ARGS_U
-#define _GLIBCXX_REF_WRAP_PARAMS
-#define _GLIBCXX_REF_TEMPLATE_ARGS
-#define _GLIBCXX_NUM_ARGS_PLUS_1 1
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T1
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-
-#define _GLIBCXX_NUM_ARGS 1
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1
-#define _GLIBCXX_TEMPLATE_ARGS _T1
-#define _GLIBCXX_PARAMS _T1 __a1
-#define _GLIBCXX_REF_PARAMS _T1& __a1
-#define _GLIBCXX_ARGS __a1
-#define _GLIBCXX_COMMA_SHIFTED
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#define _GLIBCXX_PARAMS_SHIFTED
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 2
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T2
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-
-#define _GLIBCXX_NUM_ARGS 2
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2
-#define _GLIBCXX_ARGS __a1, __a2
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 3
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T3
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_NUM_ARGS 3
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3
-#define _GLIBCXX_ARGS __a1, __a2, __a3
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 4
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T4
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_NUM_ARGS 4
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4
-#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 5
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T5
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_NUM_ARGS 5
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5
-#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 6
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T6
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_NUM_ARGS 6
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6
-#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 7
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T7
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_NUM_ARGS 7
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7
-#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 8
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T8
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_NUM_ARGS 8
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8
-#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass, typename _T8 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type, typename __strip_reference_wrapper<_T8>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 9
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T9
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_NUM_ARGS 9
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9
-#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8
-#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_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_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_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass, typename _T8 = _NullClass, typename _T9 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type, typename __strip_reference_wrapper<_T8>::__type, typename __strip_reference_wrapper<_T9>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8), ref(__a9)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&, _T9&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 10
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T10
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#define _GLIBCXX_LAST_INCLUDE
-#define _GLIBCXX_NUM_ARGS 10
-#define _GLIBCXX_COMMA ,
-#define _GLIBCXX_TEMPLATE_PARAMS typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9, typename _T10
-#define _GLIBCXX_TEMPLATE_ARGS _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9, _T10
-#define _GLIBCXX_PARAMS _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9, _T10 __a10
-#define _GLIBCXX_REF_PARAMS _T1& __a1, _T2& __a2, _T3& __a3, _T4& __a4, _T5& __a5, _T6& __a6, _T7& __a7, _T8& __a8, _T9& __a9, _T10& __a10
-#define _GLIBCXX_ARGS __a1, __a2, __a3, __a4, __a5, __a6, __a7, __a8, __a9, __a10
-#define _GLIBCXX_COMMA_SHIFTED ,
-#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED typename _T1, typename _T2, typename _T3, typename _T4, typename _T5, typename _T6, typename _T7, typename _T8, typename _T9
-#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED _T1, _T2, _T3, _T4, _T5, _T6, _T7, _T8, _T9
-#define _GLIBCXX_PARAMS_SHIFTED _T1 __a1, _T2 __a2, _T3 __a3, _T4 __a4, _T5 __a5, _T6 __a6, _T7 __a7, _T8 __a8, _T9 __a9
-#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_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_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;
-#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS typename _T1 = _NullClass, typename _T2 = _NullClass, typename _T3 = _NullClass, typename _T4 = _NullClass, typename _T5 = _NullClass, typename _T6 = _NullClass, typename _T7 = _NullClass, typename _T8 = _NullClass, typename _T9 = _NullClass, typename _T10 = _NullClass
-#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED typename __strip_reference_wrapper<_T1>::__type, typename __strip_reference_wrapper<_T2>::__type, typename __strip_reference_wrapper<_T3>::__type, typename __strip_reference_wrapper<_T4>::__type, typename __strip_reference_wrapper<_T5>::__type, typename __strip_reference_wrapper<_T6>::__type, typename __strip_reference_wrapper<_T7>::__type, typename __strip_reference_wrapper<_T8>::__type, typename __strip_reference_wrapper<_T9>::__type, typename __strip_reference_wrapper<_T10>::__type
-#define _GLIBCXX_TEMPLATE_PARAMS_U typename _U1, typename _U2, typename _U3, typename _U4, typename _U5, typename _U6, typename _U7, typename _U8, typename _U9, typename _U10
-#define _GLIBCXX_TEMPLATE_ARGS_U _U1, _U2, _U3, _U4, _U5, _U6, _U7, _U8, _U9, _U10
-#define _GLIBCXX_REF_WRAP_PARAMS ref(__a1), ref(__a2), ref(__a3), ref(__a4), ref(__a5), ref(__a6), ref(__a7), ref(__a8), ref(__a9), ref(__a10)
-#define _GLIBCXX_REF_TEMPLATE_ARGS _T1&, _T2&, _T3&, _T4&, _T5&, _T6&, _T7&, _T8&, _T9&, _T10&
-#define _GLIBCXX_NUM_ARGS_PLUS_1 11
-#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T11
-#include _GLIBCXX_REPEAT_HEADER
-#undef _GLIBCXX_T_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_NUM_ARGS_PLUS_1
-#undef _GLIBCXX_REF_TEMPLATE_ARGS
-#undef _GLIBCXX_REF_WRAP_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS_U
-#undef _GLIBCXX_TEMPLATE_PARAMS_U
-#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED
-#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS
-#undef _GLIBCXX_TUPLE_ASSIGN
-#undef _GLIBCXX_TUPLE_COPY_INIT
-#undef _GLIBCXX_TUPLE_ADD_CREF
-#undef _GLIBCXX_BIND_V_ARGS
-#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS
-#undef _GLIBCXX_MU_GET_TUPLE_ARGS
-#undef _GLIBCXX_BIND_MEMBERS_INIT
-#undef _GLIBCXX_BIND_MEMBERS
-#undef _GLIBCXX_ARGS_SHIFTED
-#undef _GLIBCXX_PARAMS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED
-#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED
-#undef _GLIBCXX_COMMA_SHIFTED
-#undef _GLIBCXX_ARGS
-#undef _GLIBCXX_REF_PARAMS
-#undef _GLIBCXX_PARAMS
-#undef _GLIBCXX_TEMPLATE_ARGS
-#undef _GLIBCXX_TEMPLATE_PARAMS
-#undef _GLIBCXX_COMMA
-#undef _GLIBCXX_NUM_ARGS
-#undef _GLIBCXX_LAST_INCLUDE
-
diff --git a/contrib/libstdc++/include/tr1/stdarg.h b/contrib/libstdc++/include/tr1/stdarg.h
deleted file mode 100644
index 87c4cf3064e0..000000000000
--- a/contrib/libstdc++/include/tr1/stdarg.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 stdarg.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/stdarg.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_STDARG_H
-#define _TR1_STDARG_H 1
-
-#include <tr1/cstdarg>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/stdbool.h b/contrib/libstdc++/include/tr1/stdbool.h
deleted file mode 100644
index 5865e02305cf..000000000000
--- a/contrib/libstdc++/include/tr1/stdbool.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 stdbool.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/stdbool.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_STDBOOL_H
-#define _TR1_STDBOOL_H 1
-
-#include <tr1/cstdbool>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/stdint.h b/contrib/libstdc++/include/tr1/stdint.h
deleted file mode 100644
index f9e48707d177..000000000000
--- a/contrib/libstdc++/include/tr1/stdint.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 stdint.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/stdint.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_STDINT_H
-#define _TR1_STDINT_H 1
-
-#include <tr1/cstdint>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/stdio.h b/contrib/libstdc++/include/tr1/stdio.h
deleted file mode 100644
index 763f03e1bfcb..000000000000
--- a/contrib/libstdc++/include/tr1/stdio.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 stdio.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/stdio.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_STDIO_H
-#define _TR1_STDIO_H 1
-
-#include <tr1/cstdio>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/stdlib.h b/contrib/libstdc++/include/tr1/stdlib.h
deleted file mode 100644
index 92bc4687c6f4..000000000000
--- a/contrib/libstdc++/include/tr1/stdlib.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// TR1 stdlib.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/stdlib.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_STDLIB_H
-#define _TR1_STDLIB_H 1
-
-#include <tr1/cstdlib>
-
-#if _GLIBCXX_HOSTED
-
-#if _GLIBCXX_USE_C99
-
-using std::tr1::atoll;
-using std::tr1::strtoll;
-using std::tr1::strtoull;
-
-using std::tr1::abs;
-#if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC
-using std::tr1::div;
-#endif
-
-#endif
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/tgmath.h b/contrib/libstdc++/include/tr1/tgmath.h
deleted file mode 100644
index 90c8a63deaac..000000000000
--- a/contrib/libstdc++/include/tr1/tgmath.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 tgmath.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/tgmath.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_TGMATH_H
-#define _TR1_TGMATH_H 1
-
-#include <tr1/ctgmath>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/tuple b/contrib/libstdc++/include/tr1/tuple
deleted file mode 100644
index 379631d42f25..000000000000
--- a/contrib/libstdc++/include/tr1/tuple
+++ /dev/null
@@ -1,161 +0,0 @@
-// class template tuple -*- C++ -*-
-
-// Copyright (C) 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 tr1/tuple
-* This is a TR1 C++ Library header.
-*/
-
-// Chris Jefferson <chris@bubblescope.net>
-
-#ifndef _TR1_TUPLE
-#define _TR1_TUPLE 1
-
-#include <tr1/utility>
-#include <tr1/ref_fwd.h>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // An implementation specific class which is used in the tuple class
- // when the tuple is not maximum possible size.
- struct _NullClass { };
-
- /// Gives the type of the ith element of a given tuple type.
- template<int __i, typename _Tp>
- struct tuple_element;
-
- /// Finds the size of a given tuple type.
- template<typename _Tp>
- struct tuple_size;
-
- // Adds a const reference to a non-reference type.
- template<typename _Tp>
- struct __add_c_ref
- { typedef const _Tp& type; };
-
- template<typename _Tp>
- struct __add_c_ref<_Tp&>
- { typedef _Tp& type; };
-
- // Adds a reference to a non-reference type.
- template<typename _Tp>
- struct __add_ref
- { typedef _Tp& type; };
-
- template<typename _Tp>
- struct __add_ref<_Tp&>
- { typedef _Tp& type; };
-
- // Class used in the implementation of get
- template<int __i, typename _Tp>
- struct __get_helper;
-
- // Returns a const reference to the ith element of a tuple.
- // Any const or non-const ref elements are returned with their original type.
-
- // This class helps construct the various comparison operations on tuples
- template<int __check_equal_size, int __i, int __j, typename _Tp, typename _Up>
- struct __tuple_compare;
-
- // Helper which adds a reference to a type when given a reference_wrapper
- template<typename _Tp>
- struct __strip_reference_wrapper
- {
- typedef _Tp __type;
- };
-
- template<typename _Tp>
- struct __strip_reference_wrapper<reference_wrapper<_Tp> >
- {
- typedef _Tp& __type;
- };
-
- template<typename _Tp>
- struct __strip_reference_wrapper<const reference_wrapper<_Tp> >
- {
- typedef _Tp& __type;
- };
-
- #include "tuple_defs.h"
-
- template<int __i, int __j, typename _Tp, typename _Up>
- struct __tuple_compare<0, __i, __j, _Tp, _Up>
- {
- static bool __eq(const _Tp& __t, const _Up& __u)
- {
- return get<__i>(__t) == get<__i>(__u) &&
- __tuple_compare<0, __i+1, __j, _Tp, _Up>::__eq(__t, __u);
- }
- static bool __less(const _Tp& __t, const _Up& __u)
- {
- return (get<__i>(__t) < get<__i>(__u)) || !(get<__i>(__u) < get<__i>(__t)) &&
- __tuple_compare<0, __i+1, __j, _Tp, _Up>::__less(__t, __u);
- }
- };
-
- template<int __i, typename _Tp, typename _Up>
- struct __tuple_compare<0, __i, __i, _Tp, _Up>
- {
- static bool __eq(const _Tp&, const _Up&)
- { return true; }
- static bool __less(const _Tp&, const _Up&)
- { return false; }
- };
-
- // A class (and instance) which can be used in 'tie' when an element
- // of a tuple is not required
- struct swallow_assign
- {
- template<class T>
- swallow_assign&
- operator=(const T&)
- { return *this; }
- };
-
- // TODO: Put this in some kind of shared file.
- namespace
- {
- swallow_assign ignore;
- }; // anonymous namespace
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#define _GLIBCXX_CAT(x,y) _GLIBCXX_CAT2(x,y)
-#define _GLIBCXX_CAT2(x,y) x##y
-#define _SHORT_REPEAT
-#define _GLIBCXX_REPEAT_HEADER <tr1/tuple_iterate.h>
-#include <tr1/repeat.h>
-#undef _GLIBCXX_REPEAT_HEADER
-#undef _SHORT_REPEAT
-
-#include <tr1/functional>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/tuple_defs.h b/contrib/libstdc++/include/tr1/tuple_defs.h
deleted file mode 100644
index dba6ccc43578..000000000000
--- a/contrib/libstdc++/include/tr1/tuple_defs.h
+++ /dev/null
@@ -1,114 +0,0 @@
-// class template tuple -*- C++ -*-
-
-// Copyright (C) 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 tr1/tuple_defs.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _GLIBCXX_REPEAT_HEADER
-# define _GLIBCXX_REPEAT_HEADER "tuple_defs.h"
-# include "repeat.h"
-# undef _GLIBCXX_REPEAT_HEADER
-#endif
-
-#ifdef _GLIBCXX_LAST_INCLUDE
-// Chris Jefferson <chris@bubblescope.net>
- template<_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS> class tuple;
-
- // Returns a const reference to the ith element of a tuple.
- // Any const or non-const ref elements are returned with their original type.
- template<int __i, _GLIBCXX_TEMPLATE_PARAMS>
- typename __add_ref<typename tuple_element<__i, tuple<_GLIBCXX_TEMPLATE_ARGS> >::type>::type
- get(tuple<_GLIBCXX_TEMPLATE_ARGS>& __t)
- {
- return __get_helper<__i, tuple<_GLIBCXX_TEMPLATE_ARGS> >::get_value(__t);
- }
-
- template<int __i, _GLIBCXX_TEMPLATE_PARAMS>
- typename __add_c_ref<typename tuple_element<__i, tuple<_GLIBCXX_TEMPLATE_ARGS> >::type>::type
- get(const tuple<_GLIBCXX_TEMPLATE_ARGS>& __t)
- {
- return __get_helper<__i, tuple<_GLIBCXX_TEMPLATE_ARGS> >::get_value(__t);
- }
-
- template<_GLIBCXX_TEMPLATE_PARAMS, _GLIBCXX_TEMPLATE_PARAMS_U>
- bool
- operator==(const tuple<_GLIBCXX_TEMPLATE_ARGS>& __t,
- const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __u)
- {
- typedef tuple<_GLIBCXX_TEMPLATE_ARGS> _Tp;
- typedef tuple<_GLIBCXX_TEMPLATE_ARGS_U> _Up;
- return __tuple_compare<tuple_size<_Tp>::value - tuple_size<_Tp>::value, 0,
- tuple_size<_Tp>::value, _Tp, _Up>::__eq(__t, __u);
- }
-
- template<_GLIBCXX_TEMPLATE_PARAMS, _GLIBCXX_TEMPLATE_PARAMS_U>
- bool
- operator<(const tuple<_GLIBCXX_TEMPLATE_ARGS>& __t,
- const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __u)
- {
- typedef tuple<_GLIBCXX_TEMPLATE_ARGS> _Tp;
- typedef tuple<_GLIBCXX_TEMPLATE_ARGS_U> _Up;
- return __tuple_compare<tuple_size<_Tp>::value - tuple_size<_Tp>::value, 0,
- tuple_size<_Tp>::value, _Tp, _Up>::__less(__t, __u);
- }
-
- template<_GLIBCXX_TEMPLATE_PARAMS, _GLIBCXX_TEMPLATE_PARAMS_U>
- bool
- operator!=(const tuple<_GLIBCXX_TEMPLATE_ARGS>& __t,
- const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __u)
- { return !(__t == __u); }
-
- template<_GLIBCXX_TEMPLATE_PARAMS, _GLIBCXX_TEMPLATE_PARAMS_U>
- bool
- operator>(const tuple<_GLIBCXX_TEMPLATE_ARGS>& __t,
- const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __u)
- { return __u < __t; }
-
- template<_GLIBCXX_TEMPLATE_PARAMS, _GLIBCXX_TEMPLATE_PARAMS_U>
- bool
- operator<=(const tuple<_GLIBCXX_TEMPLATE_ARGS>& __t,
- const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __u)
- { return !(__u < __t); }
-
- template<_GLIBCXX_TEMPLATE_PARAMS, _GLIBCXX_TEMPLATE_PARAMS_U>
- bool
- operator>=(const tuple<_GLIBCXX_TEMPLATE_ARGS>& __t,
- const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __u)
- { return !(__t < __u); }
-
- template<_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS>
- struct __stripped_tuple_type
- {
- typedef tuple<_GLIBCXX_TEMPLATE_ARGS_STRIPPED> __type;
- };
-
-#endif
-
diff --git a/contrib/libstdc++/include/tr1/tuple_iterate.h b/contrib/libstdc++/include/tr1/tuple_iterate.h
deleted file mode 100644
index 42ddf54b78aa..000000000000
--- a/contrib/libstdc++/include/tr1/tuple_iterate.h
+++ /dev/null
@@ -1,172 +0,0 @@
-// class template tuple -*- C++ -*-
-
-// Copyright (C) 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 tr1/tuple_iterate.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-// Chris Jefferson <chris@bubblescope.net>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
-/// @brief class tuple_size
-template<_GLIBCXX_TEMPLATE_PARAMS>
- struct tuple_size<tuple<_GLIBCXX_TEMPLATE_ARGS> >
- { static const int value = _GLIBCXX_NUM_ARGS; };
-
-#if _GLIBCXX_NUM_ARGS > 0
-template<_GLIBCXX_TEMPLATE_PARAMS>
- const int tuple_size<tuple<_GLIBCXX_TEMPLATE_ARGS> >::value;
-#endif
-
-template<_GLIBCXX_TEMPLATE_PARAMS>
-#ifdef _GLIBCXX_LAST_INCLUDE
- class tuple
-#else
- class tuple<_GLIBCXX_TEMPLATE_ARGS>
-#endif
- {
- _GLIBCXX_BIND_MEMBERS
-
- public:
- tuple()
- { }
-
-#if _GLIBCXX_NUM_ARGS == 2
- template<typename _U1, typename _U2>
- tuple(const std::pair<_U1, _U2>& __u) :
- _M_arg1(__u.first), _M_arg2(__u.second)
- { }
-
- template<typename _U1, typename _U2>
- tuple&
- operator=(const std::pair<_U1, _U2>& __u)
- {
- _M_arg1 = __u.first;
- _M_arg2 = __u.second;
- return *this;
- }
-#endif
-
-#if _GLIBCXX_NUM_ARGS > 0
- explicit tuple(_GLIBCXX_TUPLE_ADD_CREF) :
- _GLIBCXX_BIND_MEMBERS_INIT
- { }
-
- template<_GLIBCXX_TEMPLATE_PARAMS_U>
- tuple(const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __in) :
- _GLIBCXX_TUPLE_COPY_INIT
- { }
-
-
- template<_GLIBCXX_TEMPLATE_PARAMS_U>
- tuple&
- operator=(const tuple<_GLIBCXX_TEMPLATE_ARGS_U>& __in)
- {
- _GLIBCXX_TUPLE_ASSIGN
- return *this;
- }
-
- tuple(const tuple& __in) :
- _GLIBCXX_TUPLE_COPY_INIT
- { }
-
-#else
-
- tuple(const tuple&)
- { }
-
-#endif
-
- tuple&
- operator=(const tuple& __in __attribute__((__unused__)) )
- {
- _GLIBCXX_TUPLE_ASSIGN
- return *this;
- }
-
- template<int __i, typename __Type>
- friend class __get_helper;
-
- template<_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED>
- friend class tuple;
- };
-
-#ifndef _GLIBCXX_LAST_INCLUDE
-
-template<typename _Tp>
- struct __get_helper<_GLIBCXX_NUM_ARGS, _Tp>
- {
- static typename __add_ref<typename tuple_element<_GLIBCXX_NUM_ARGS,
- _Tp>::type>::type
- get_value(_Tp& __in)
- { return __in._GLIBCXX_CAT(_M_arg,_GLIBCXX_NUM_ARGS_PLUS_1); }
-
- static typename __add_c_ref<typename tuple_element<_GLIBCXX_NUM_ARGS,
- _Tp>::type>::type
- get_value(const _Tp& __in)
- { return __in._GLIBCXX_CAT(_M_arg,_GLIBCXX_NUM_ARGS_PLUS_1); }
- };
-
-/// @brief class tuple_element
-template<_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS>
- struct tuple_element<_GLIBCXX_NUM_ARGS, tuple<_GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS> >
- { typedef _GLIBCXX_T_NUM_ARGS_PLUS_1 type; };
-
-#endif
-#if _GLIBCXX_NUM_ARGS == 0
-
-tuple<>
-inline make_tuple()
-{ return tuple<>(); }
-
-tuple<>
-inline tie()
-{ return tuple<>(); }
-#else
-
-template<_GLIBCXX_TEMPLATE_PARAMS>
- typename __stripped_tuple_type<_GLIBCXX_TEMPLATE_ARGS>::__type
- inline make_tuple(_GLIBCXX_PARAMS)
- {
- return typename __stripped_tuple_type<_GLIBCXX_TEMPLATE_ARGS>::
- __type(_GLIBCXX_ARGS);
- }
-
-template<_GLIBCXX_TEMPLATE_PARAMS>
- tuple<_GLIBCXX_REF_TEMPLATE_ARGS>
- inline tie(_GLIBCXX_REF_PARAMS)
- { return make_tuple(_GLIBCXX_REF_WRAP_PARAMS); }
-#endif
-
-_GLIBCXX_END_NAMESPACE
-}
diff --git a/contrib/libstdc++/include/tr1/type_traits b/contrib/libstdc++/include/tr1/type_traits
deleted file mode 100644
index 048180150dfe..000000000000
--- a/contrib/libstdc++/include/tr1/type_traits
+++ /dev/null
@@ -1,703 +0,0 @@
-// TR1 type_traits -*- C++ -*-
-
-// Copyright (C) 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 tr1/type_traits
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_TYPE_TRAITS
-#define _TR1_TYPE_TRAITS 1
-
-#include <bits/c++config.h>
-#include <tr1/type_traits_fwd.h>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // For use in __in_array and elsewhere.
- struct __sfinae_types
- {
- typedef char __one;
- typedef struct { char __arr[2]; } __two;
- };
-
- template<typename _Tp>
- struct __in_array
- : public __sfinae_types
- {
- private:
- template<typename _Up>
- static __one __test(_Up(*)[1]);
- template<typename>
- static __two __test(...);
-
- public:
- static const bool __value = sizeof(__test<_Tp>(0)) == 1;
- };
-
-#define _DEFINE_SPEC_BODY(_Value) \
- : public integral_constant<bool, _Value> { };
-
-#define _DEFINE_SPEC_0_HELPER(_Spec, _Value) \
- template<> \
- struct _Spec \
- _DEFINE_SPEC_BODY(_Value)
-
-#define _DEFINE_SPEC_1_HELPER(_Spec, _Value) \
- template<typename _Tp> \
- struct _Spec \
- _DEFINE_SPEC_BODY(_Value)
-
-#define _DEFINE_SPEC_2_HELPER(_Spec, _Value) \
- template<typename _Tp, typename _Cp> \
- struct _Spec \
- _DEFINE_SPEC_BODY(_Value)
-
-#define _DEFINE_SPEC(_Order, _Trait, _Type, _Value) \
- _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type>, _Value) \
- _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type const>, _Value) \
- _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type volatile>, _Value) \
- _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type const volatile>, _Value)
-
- /// @brief helper classes [4.3].
- template<typename _Tp, _Tp __v>
- struct integral_constant
- {
- static const _Tp value = __v;
- typedef _Tp value_type;
- typedef integral_constant<_Tp, __v> type;
- };
- typedef integral_constant<bool, true> true_type;
- typedef integral_constant<bool, false> false_type;
-
- template<typename _Tp, _Tp __v>
- const _Tp integral_constant<_Tp, __v>::value;
-
- /// @brief primary type categories [4.5.1].
- template<typename>
- struct is_void
- : public false_type { };
- _DEFINE_SPEC(0, is_void, void, true)
-
- template<typename>
- struct is_integral
- : public false_type { };
- _DEFINE_SPEC(0, is_integral, bool, true)
- _DEFINE_SPEC(0, is_integral, char, true)
- _DEFINE_SPEC(0, is_integral, signed char, true)
- _DEFINE_SPEC(0, is_integral, unsigned char, true)
-#ifdef _GLIBCXX_USE_WCHAR_T
- _DEFINE_SPEC(0, is_integral, wchar_t, true)
-#endif
- _DEFINE_SPEC(0, is_integral, short, true)
- _DEFINE_SPEC(0, is_integral, unsigned short, true)
- _DEFINE_SPEC(0, is_integral, int, true)
- _DEFINE_SPEC(0, is_integral, unsigned int, true)
- _DEFINE_SPEC(0, is_integral, long, true)
- _DEFINE_SPEC(0, is_integral, unsigned long, true)
- _DEFINE_SPEC(0, is_integral, long long, true)
- _DEFINE_SPEC(0, is_integral, unsigned long long, true)
-
- template<typename>
- struct is_floating_point
- : public false_type { };
- _DEFINE_SPEC(0, is_floating_point, float, true)
- _DEFINE_SPEC(0, is_floating_point, double, true)
- _DEFINE_SPEC(0, is_floating_point, long double, true)
-
- template<typename>
- struct is_array
- : public false_type { };
-
- template<typename _Tp, std::size_t _Size>
- struct is_array<_Tp[_Size]>
- : public true_type { };
-
- template<typename _Tp>
- struct is_array<_Tp[]>
- : public true_type { };
-
- template<typename>
- struct is_pointer
- : public false_type { };
- _DEFINE_SPEC(1, is_pointer, _Tp*, true)
-
- template<typename>
- struct is_reference
- : public false_type { };
-
- template<typename _Tp>
- struct is_reference<_Tp&>
- : public true_type { };
-
- template<typename>
- struct is_member_object_pointer
- : public false_type { };
- _DEFINE_SPEC(2, is_member_object_pointer, _Tp _Cp::*,
- !is_function<_Tp>::value)
-
- template<typename>
- struct is_member_function_pointer
- : public false_type { };
- _DEFINE_SPEC(2, is_member_function_pointer, _Tp _Cp::*,
- is_function<_Tp>::value)
-
- template<typename _Tp>
- struct is_enum
- : public integral_constant<bool, !(is_fundamental<_Tp>::value
- || is_array<_Tp>::value
- || is_pointer<_Tp>::value
- || is_reference<_Tp>::value
- || is_member_pointer<_Tp>::value
- || is_function<_Tp>::value
- || __is_union_or_class<_Tp>::value)>
- { };
-
- template<typename>
- struct is_union { };
-
- template<typename>
- struct is_class { };
-
- template<typename _Tp>
- struct is_function
- : public integral_constant<bool, !(__in_array<_Tp>::__value
- || __is_union_or_class<_Tp>::value
- || is_reference<_Tp>::value
- || is_void<_Tp>::value)>
- { };
-
- /// @brief composite type traits [4.5.2].
- template<typename _Tp>
- struct is_arithmetic
- : public integral_constant<bool, (is_integral<_Tp>::value
- || is_floating_point<_Tp>::value)>
- { };
-
- template<typename _Tp>
- struct is_fundamental
- : public integral_constant<bool, (is_arithmetic<_Tp>::value
- || is_void<_Tp>::value)>
- { };
-
- template<typename _Tp>
- struct is_object
- : public integral_constant<bool, !(is_function<_Tp>::value
- || is_reference<_Tp>::value
- || is_void<_Tp>::value)>
- { };
-
- template<typename _Tp>
- struct is_scalar
- : public integral_constant<bool, (is_arithmetic<_Tp>::value
- || is_enum<_Tp>::value
- || is_pointer<_Tp>::value
- || is_member_pointer<_Tp>::value)>
- { };
-
- template<typename _Tp>
- struct is_compound
- : public integral_constant<bool, !is_fundamental<_Tp>::value> { };
-
- template<typename _Tp>
- struct is_member_pointer
- : public integral_constant<bool,
- (is_member_object_pointer<_Tp>::value
- || is_member_function_pointer<_Tp>::value)>
- { };
-
- template<typename _Tp>
- struct __is_union_or_class_helper
- : public __sfinae_types
- {
- private:
- template<typename _Up>
- static __one __test(int _Up::*);
- template<typename>
- static __two __test(...);
-
- public:
- static const bool __value = sizeof(__test<_Tp>(0)) == 1;
- };
-
- // Extension.
- template<typename _Tp>
- struct __is_union_or_class
- : public integral_constant<bool, __is_union_or_class_helper<_Tp>::__value>
- { };
-
- /// @brief type properties [4.5.3].
- template<typename>
- struct is_const
- : public false_type { };
-
- template<typename _Tp>
- struct is_const<_Tp const>
- : public true_type { };
-
- template<typename>
- struct is_volatile
- : public false_type { };
-
- template<typename _Tp>
- struct is_volatile<_Tp volatile>
- : public true_type { };
-
- template<typename _Tp>
- struct is_pod
- : public integral_constant<bool, (is_void<_Tp>::value
- || is_scalar<typename
- remove_all_extents<_Tp>::type>::value)>
- { };
-
- // NB: Without compiler support we cannot tell union from class types,
- // and is_empty and is_polymorphic don't work at all with the former.
- template<typename _Tp, bool = !__is_union_or_class<_Tp>::value>
- struct __is_empty_helper
- {
- private:
- template<typename>
- struct __first { };
- template<typename _Up>
- struct __second
- : public _Up { };
-
- public:
- static const bool __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>);
- };
-
- template<typename _Tp>
- struct __is_empty_helper<_Tp, true>
- { static const bool __value = false; };
-
- template<typename _Tp>
- struct is_empty
- : public integral_constant<bool, __is_empty_helper<_Tp>::__value>
- { };
-
- template<typename _Tp, bool = !__is_union_or_class<_Tp>::value>
- struct __is_polymorphic_helper
- {
- private:
- template<typename _Up>
- struct __first
- : public _Up { };
- template<typename _Up>
- struct __second
- : public _Up
- {
- virtual void __dummy();
- virtual ~__second() throw();
- };
-
- public:
- static const bool __value = sizeof(__first<_Tp>) == sizeof(__second<_Tp>);
- };
-
- template<typename _Tp>
- struct __is_polymorphic_helper<_Tp, true>
- { static const bool __value = false; };
-
- template<typename _Tp>
- struct is_polymorphic
- : public integral_constant<bool, __is_polymorphic_helper<_Tp>::__value>
- { };
-
- // Exploit the resolution DR core/337.
- template<typename _Tp>
- struct is_abstract
- : public integral_constant<bool, (!__in_array<_Tp>::__value
- && __is_union_or_class<_Tp>::value)> { };
-
- template<typename _Tp>
- struct has_trivial_constructor
- : public integral_constant<bool, is_pod<_Tp>::value> { };
-
- template<typename _Tp>
- struct has_trivial_copy
- : public integral_constant<bool, is_pod<_Tp>::value> { };
-
- template<typename _Tp>
- struct has_trivial_assign
- : public integral_constant<bool, is_pod<_Tp>::value> { };
-
- template<typename _Tp>
- struct has_trivial_destructor
- : public integral_constant<bool, is_pod<_Tp>::value> { };
-
- template<typename _Tp>
- struct has_nothrow_constructor
- : public integral_constant<bool, is_pod<_Tp>::value> { };
-
- template<typename _Tp>
- struct has_nothrow_copy
- : public integral_constant<bool, is_pod<_Tp>::value> { };
-
- template<typename _Tp>
- struct has_nothrow_assign
- : public integral_constant<bool, is_pod<_Tp>::value> { };
-
- template<typename>
- struct has_virtual_destructor
- : public false_type { };
-
- template<typename>
- struct is_signed
- : public false_type { };
- _DEFINE_SPEC(0, is_signed, signed char, true)
- _DEFINE_SPEC(0, is_signed, short, true)
- _DEFINE_SPEC(0, is_signed, int, true)
- _DEFINE_SPEC(0, is_signed, long, true)
- _DEFINE_SPEC(0, is_signed, long long, true)
-
- template<typename>
- struct is_unsigned
- : public false_type { };
- _DEFINE_SPEC(0, is_unsigned, unsigned char, true)
- _DEFINE_SPEC(0, is_unsigned, unsigned short, true)
- _DEFINE_SPEC(0, is_unsigned, unsigned int, true)
- _DEFINE_SPEC(0, is_unsigned, unsigned long, true)
- _DEFINE_SPEC(0, is_unsigned, unsigned long long, true)
-
- template<typename _Tp>
- struct alignment_of
- : public integral_constant<std::size_t, __alignof__(_Tp)> { };
-
- template<typename>
- struct rank
- : public integral_constant<std::size_t, 0> { };
-
- template<typename _Tp, std::size_t _Size>
- struct rank<_Tp[_Size]>
- : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
-
- template<typename _Tp>
- struct rank<_Tp[]>
- : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
-
- template<typename, unsigned>
- struct extent
- : public integral_constant<std::size_t, 0> { };
-
- template<typename _Tp, unsigned _Uint, std::size_t _Size>
- struct extent<_Tp[_Size], _Uint>
- : public integral_constant<std::size_t,
- _Uint == 0 ? _Size : extent<_Tp,
- _Uint - 1>::value>
- { };
-
- template<typename _Tp, unsigned _Uint>
- struct extent<_Tp[], _Uint>
- : public integral_constant<std::size_t,
- _Uint == 0 ? 0 : extent<_Tp,
- _Uint - 1>::value>
- { };
-
- /// @brief relationships between types [4.6].
- template<typename, typename>
- struct is_same
- : public false_type { };
-
- template<typename _Tp>
- struct is_same<_Tp, _Tp>
- : public true_type { };
-
- // See Daveed Vandevoorde explanation in http://tinyurl.com/502f.
- // Also see Rani Sharoni in http://tinyurl.com/6jvyq.
- template<typename _Base, typename _Derived,
- bool = (!__is_union_or_class<_Base>::value
- || !__is_union_or_class<_Derived>::value
- || is_same<_Base, _Derived>::value)>
- struct __is_base_of_helper
- : public __sfinae_types
- {
- private:
- typedef typename remove_cv<_Base>::type _NoCv_Base;
- typedef typename remove_cv<_Derived>::type _NoCv_Derived;
-
- template<typename _Up>
- static __one __test(_NoCv_Derived&, _Up);
- static __two __test(_NoCv_Base&, int);
-
- struct _Conv
- {
- operator _NoCv_Derived&();
- operator _NoCv_Base&() const;
- };
-
- public:
- static const bool __value = sizeof(__test(_Conv(), 0)) == 1;
- };
-
- template<typename _Base, typename _Derived>
- struct __is_base_of_helper<_Base, _Derived, true>
- { static const bool __value = is_same<_Base, _Derived>::value; };
-
- template<typename _Base, typename _Derived>
- struct is_base_of
- : public integral_constant<bool,
- __is_base_of_helper<_Base, _Derived>::__value>
- { };
-
- template<typename _From, typename _To>
- struct __is_convertible_simple
- : public __sfinae_types
- {
- private:
- static __one __test(_To);
- static __two __test(...);
- static _From __makeFrom();
-
- public:
- static const bool __value = sizeof(__test(__makeFrom())) == 1;
- };
-
- template<typename _Tp>
- struct __is_int_or_cref
- {
- typedef typename remove_reference<_Tp>::type __rr_Tp;
- static const bool __value = (is_integral<_Tp>::value
- || (is_integral<__rr_Tp>::value
- && is_const<__rr_Tp>::value
- && !is_volatile<__rr_Tp>::value));
- };
-
- template<typename _From, typename _To,
- bool = (is_void<_From>::value || is_void<_To>::value
- || is_function<_To>::value || is_array<_To>::value
- // This special case is here only to avoid warnings.
- || (is_floating_point<typename
- remove_reference<_From>::type>::value
- && __is_int_or_cref<_To>::__value))>
- struct __is_convertible_helper
- {
- // "An imaginary lvalue of type From...".
- static const bool __value = (__is_convertible_simple<typename
- add_reference<_From>::type, _To>::__value);
- };
-
- template<typename _From, typename _To>
- struct __is_convertible_helper<_From, _To, true>
- { static const bool __value = (is_void<_To>::value
- || (__is_int_or_cref<_To>::__value
- && !is_void<_From>::value)); };
-
- template<typename _From, typename _To>
- struct is_convertible
- : public integral_constant<bool,
- __is_convertible_helper<_From, _To>::__value>
- { };
-
- /// @brief const-volatile modifications [4.7.1].
- template<typename _Tp>
- struct remove_const
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_const<_Tp const>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_volatile
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_volatile<_Tp volatile>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_cv
- {
- typedef typename
- remove_const<typename remove_volatile<_Tp>::type>::type type;
- };
-
- template<typename _Tp>
- struct add_const
- { typedef _Tp const type; };
-
- template<typename _Tp>
- struct add_volatile
- { typedef _Tp volatile type; };
-
- template<typename _Tp>
- struct add_cv
- {
- typedef typename
- add_const<typename add_volatile<_Tp>::type>::type type;
- };
-
- /// @brief reference modifications [4.7.2].
- template<typename _Tp>
- struct remove_reference
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_reference<_Tp&>
- { typedef _Tp type; };
-
- // NB: Careful with reference to void.
- template<typename _Tp, bool = (is_void<_Tp>::value
- || is_reference<_Tp>::value)>
- struct __add_reference_helper
- { typedef _Tp& type; };
-
- template<typename _Tp>
- struct __add_reference_helper<_Tp, true>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct add_reference
- : public __add_reference_helper<_Tp>
- { };
-
- /// @brief array modifications [4.7.3].
- template<typename _Tp>
- struct remove_extent
- { typedef _Tp type; };
-
- template<typename _Tp, std::size_t _Size>
- struct remove_extent<_Tp[_Size]>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_extent<_Tp[]>
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_all_extents
- { typedef _Tp type; };
-
- template<typename _Tp, std::size_t _Size>
- struct remove_all_extents<_Tp[_Size]>
- { typedef typename remove_all_extents<_Tp>::type type; };
-
- template<typename _Tp>
- struct remove_all_extents<_Tp[]>
- { typedef typename remove_all_extents<_Tp>::type type; };
-
- /// @brief pointer modifications [4.7.4].
-#undef _DEFINE_SPEC_BODY
-#define _DEFINE_SPEC_BODY(_Value) \
- { typedef _Tp type; };
-
- template<typename _Tp>
- struct remove_pointer
- { typedef _Tp type; };
- _DEFINE_SPEC(1, remove_pointer, _Tp*, false)
-
- template<typename _Tp>
- struct add_pointer
- { typedef typename remove_reference<_Tp>::type* type; };
-
- /// @brief other transformations [4.8].
-
- // Due to c++/19163 and c++/17743, for the time being we cannot use
- // the correct, neat implementation :-(
- //
- // template<std::size_t _Len, std::size_t _Align>
- // struct aligned_storage
- // { typedef char type[_Len] __attribute__((__aligned__(_Align))); }
- //
- // Temporary workaround, useful for Align up to 32:
- template<std::size_t, std::size_t>
- struct aligned_storage { };
-
- template<std::size_t _Len>
- struct aligned_storage<_Len, 1>
- {
- union type
- {
- unsigned char __data[_Len];
- char __align __attribute__((__aligned__(1)));
- };
- };
-
- template<std::size_t _Len>
- struct aligned_storage<_Len, 2>
- {
- union type
- {
- unsigned char __data[_Len];
- char __align __attribute__((__aligned__(2)));
- };
- };
-
- template<std::size_t _Len>
- struct aligned_storage<_Len, 4>
- {
- union type
- {
- unsigned char __data[_Len];
- char __align __attribute__((__aligned__(4)));
- };
- };
-
- template<std::size_t _Len>
- struct aligned_storage<_Len, 8>
- {
- union type
- {
- unsigned char __data[_Len];
- char __align __attribute__((__aligned__(8)));
- };
- };
-
- template<std::size_t _Len>
- struct aligned_storage<_Len, 16>
- {
- union type
- {
- unsigned char __data[_Len];
- char __align __attribute__((__aligned__(16)));
- };
- };
-
- template<std::size_t _Len>
- struct aligned_storage<_Len, 32>
- {
- union type
- {
- unsigned char __data[_Len];
- char __align __attribute__((__aligned__(32)));
- };
- };
-
-#undef _DEFINE_SPEC_0_HELPER
-#undef _DEFINE_SPEC_1_HELPER
-#undef _DEFINE_SPEC_2_HELPER
-#undef _DEFINE_SPEC
-#undef _DEFINE_SPEC_BODY
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/type_traits_fwd.h b/contrib/libstdc++/include/tr1/type_traits_fwd.h
deleted file mode 100644
index 819bb914817e..000000000000
--- a/contrib/libstdc++/include/tr1/type_traits_fwd.h
+++ /dev/null
@@ -1,226 +0,0 @@
-// TR1 type_traits -*- C++ -*-
-
-// Copyright (C) 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 tr1/type_traits_fwd.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
- */
-
-#ifndef _TYPE_TRAITS_FWD_H
-#define _TYPE_TRAITS_FWD_H 1
-
-#include <cstddef>
-
-// namespace std::tr1
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- /// @brief helper classes [4.3].
- template<typename _Tp, _Tp __v>
- struct integral_constant;
- typedef integral_constant<bool, true> true_type;
- typedef integral_constant<bool, false> false_type;
-
- /// @brief primary type categories [4.5.1].
- template<typename _Tp>
- struct is_void;
-
- template<typename _Tp>
- struct is_integral;
-
- template<typename _Tp>
- struct is_floating_point;
-
- template<typename _Tp>
- struct is_array;
-
- template<typename _Tp>
- struct is_pointer;
-
- template<typename _Tp>
- struct is_reference;
-
- template<typename _Tp>
- struct is_member_object_pointer;
-
- template<typename _Tp>
- struct is_member_function_pointer;
-
- template<typename _Tp>
- struct is_enum;
-
- template<typename _Tp>
- struct is_union;
-
- template<typename _Tp>
- struct is_class;
-
- template<typename _Tp>
- struct is_function;
-
- /// @brief composite type traits [4.5.2].
- template<typename _Tp>
- struct is_arithmetic;
-
- template<typename _Tp>
- struct is_fundamental;
-
- template<typename _Tp>
- struct is_object;
-
- template<typename _Tp>
- struct is_scalar;
-
- template<typename _Tp>
- struct is_compound;
-
- template<typename _Tp>
- struct is_member_pointer;
-
- // Extension.
- template<typename _Tp>
- struct __is_union_or_class;
-
- /// @brief type properties [4.5.3].
- template<typename _Tp>
- struct is_const;
-
- template<typename _Tp>
- struct is_volatile;
-
- template<typename _Tp>
- struct is_pod;
-
- template<typename _Tp>
- struct is_empty;
-
- template<typename _Tp>
- struct is_polymorphic;
-
- template<typename _Tp>
- struct is_abstract;
-
- template<typename _Tp>
- struct has_trivial_constructor;
-
- template<typename _Tp>
- struct has_trivial_copy;
-
- template<typename _Tp>
- struct has_trivial_assign;
-
- template<typename _Tp>
- struct has_trivial_destructor;
-
- template<typename _Tp>
- struct has_nothrow_constructor;
-
- template<typename _Tp>
- struct has_nothrow_copy;
-
- template<typename _Tp>
- struct has_nothrow_assign;
-
- template<typename _Tp>
- struct has_virtual_destructor;
-
- template<typename _Tp>
- struct is_signed;
-
- template<typename _Tp>
- struct is_unsigned;
-
- template<typename _Tp>
- struct alignment_of;
-
- template<typename _Tp>
- struct rank;
-
- template<typename _Tp, unsigned _Uint = 0>
- struct extent;
-
- /// @brief relationships between types [4.6].
- template<typename _Tp, typename _Up>
- struct is_same;
-
- template<typename _From, typename _To>
- struct is_convertible;
-
- template<typename _Base, typename _Derived>
- struct is_base_of;
-
- /// @brief const-volatile modifications [4.7.1].
- template<typename _Tp>
- struct remove_const;
-
- template<typename _Tp>
- struct remove_volatile;
-
- template<typename _Tp>
- struct remove_cv;
-
- template<typename _Tp>
- struct add_const;
-
- template<typename _Tp>
- struct add_volatile;
-
- template<typename _Tp>
- struct add_cv;
-
- /// @brief reference modifications [4.7.2].
- template<typename _Tp>
- struct remove_reference;
-
- template<typename _Tp>
- struct add_reference;
-
- /// @brief array modifications [4.7.3].
- template<typename _Tp>
- struct remove_extent;
-
- template<typename _Tp>
- struct remove_all_extents;
-
- /// @brief pointer modifications [4.7.4].
- template<typename _Tp>
- struct remove_pointer;
-
- template<typename _Tp>
- struct add_pointer;
-
- /// @brief other transformations [4.8].
- template<std::size_t _Len, std::size_t _Align>
- struct aligned_storage;
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/unordered_map b/contrib/libstdc++/include/tr1/unordered_map
deleted file mode 100644
index d613d156ef1e..000000000000
--- a/contrib/libstdc++/include/tr1/unordered_map
+++ /dev/null
@@ -1,168 +0,0 @@
-// TR1 unordered_map -*- C++ -*-
-
-// 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
-// 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/unordered_map
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_UNORDERED_MAP
-#define _TR1_UNORDERED_MAP 1
-
-#include <tr1/hashtable>
-#include <tr1/functional_hash.h>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // XXX When we get typedef templates these class definitions
- // will be unnecessary.
- template<class _Key, class _Tp,
- class _Hash = hash<_Key>,
- class _Pred = std::equal_to<_Key>,
- class _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
- bool __cache_hash_code = false>
- class unordered_map
- : public _Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc,
- std::_Select1st<std::pair<const _Key, _Tp> >, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, false, true>
- {
- typedef _Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc,
- std::_Select1st<std::pair<const _Key, _Tp> >, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, false, true>
- _Base;
-
- public:
- typedef typename _Base::size_type size_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::allocator_type allocator_type;
-
- explicit
- unordered_map(size_type __n = 10,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(),
- __eql, std::_Select1st<std::pair<const _Key, _Tp> >(), __a)
- { }
-
- template<typename _InputIterator>
- unordered_map(_InputIterator __f, _InputIterator __l,
- size_type __n = 10,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(),
- __eql, std::_Select1st<std::pair<const _Key, _Tp> >(), __a)
- { }
- };
-
- template<class _Key, class _Tp,
- class _Hash = hash<_Key>,
- class _Pred = std::equal_to<_Key>,
- class _Alloc = std::allocator<std::pair<const _Key, _Tp> >,
- bool __cache_hash_code = false>
- class unordered_multimap
- : public _Hashtable<_Key, std::pair<const _Key, _Tp>,
- _Alloc,
- std::_Select1st<std::pair<const _Key, _Tp> >, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, false, false>
- {
- typedef _Hashtable<_Key, std::pair<const _Key, _Tp>,
- _Alloc,
- std::_Select1st<std::pair<const _Key, _Tp> >, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, false, false>
- _Base;
-
- public:
- typedef typename _Base::size_type size_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::allocator_type allocator_type;
-
- explicit
- unordered_multimap(size_type __n = 10,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(),
- __eql, std::_Select1st<std::pair<const _Key, _Tp> >(), __a)
- { }
-
-
- template<typename _InputIterator>
- unordered_multimap(_InputIterator __f, _InputIterator __l,
- typename _Base::size_type __n = 0,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(),
- __eql, std::_Select1st<std::pair<const _Key, _Tp> >(), __a)
- { }
- };
-
- template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc,
- bool __cache_hash_code>
- inline void
- swap(unordered_map<_Key, _Tp, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __x,
- unordered_map<_Key, _Tp, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __y)
- { __x.swap(__y); }
-
- template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc,
- bool __cache_hash_code>
- inline void
- swap(unordered_multimap<_Key, _Tp, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __x,
- unordered_multimap<_Key, _Tp, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif // _TR1_UNORDERED_MAP
diff --git a/contrib/libstdc++/include/tr1/unordered_set b/contrib/libstdc++/include/tr1/unordered_set
deleted file mode 100644
index a01b89b3af8f..000000000000
--- a/contrib/libstdc++/include/tr1/unordered_set
+++ /dev/null
@@ -1,166 +0,0 @@
-// TR1 unordered_set -*- C++ -*-
-
-// 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
-// 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/unordered_set
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_UNORDERED_SET
-#define _TR1_UNORDERED_SET 1
-
-#include <tr1/hashtable>
-#include <tr1/functional_hash.h>
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- // XXX When we get typedef templates these class definitions
- // will be unnecessary.
- template<class _Value,
- class _Hash = hash<_Value>,
- class _Pred = std::equal_to<_Value>,
- class _Alloc = std::allocator<_Value>,
- bool __cache_hash_code = false>
- class unordered_set
- : public _Hashtable<_Value, _Value, _Alloc,
- std::_Identity<_Value>, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, true, true>
- {
- typedef _Hashtable<_Value, _Value, _Alloc,
- std::_Identity<_Value>, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, true, true>
- _Base;
-
- public:
- typedef typename _Base::size_type size_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::allocator_type allocator_type;
-
- explicit
- unordered_set(size_type __n = 10,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(), __eql,
- std::_Identity<_Value>(), __a)
- { }
-
- template<typename _InputIterator>
- unordered_set(_InputIterator __f, _InputIterator __l,
- size_type __n = 10,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(), __eql,
- std::_Identity<_Value>(), __a)
- { }
- };
-
- template<class _Value,
- class _Hash = hash<_Value>,
- class _Pred = std::equal_to<_Value>,
- class _Alloc = std::allocator<_Value>,
- bool __cache_hash_code = false>
- class unordered_multiset
- : public _Hashtable<_Value, _Value, _Alloc,
- std::_Identity<_Value>, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, true, false>
- {
- typedef _Hashtable<_Value, _Value, _Alloc,
- std::_Identity<_Value>, _Pred,
- _Hash, __detail::_Mod_range_hashing,
- __detail::_Default_ranged_hash,
- __detail::_Prime_rehash_policy,
- __cache_hash_code, true, false>
- _Base;
-
- public:
- typedef typename _Base::size_type size_type;
- typedef typename _Base::hasher hasher;
- typedef typename _Base::key_equal key_equal;
- typedef typename _Base::allocator_type allocator_type;
-
- explicit
- unordered_multiset(size_type __n = 10,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(), __eql,
- std::_Identity<_Value>(), __a)
- { }
-
-
- template<typename _InputIterator>
- unordered_multiset(_InputIterator __f, _InputIterator __l,
- typename _Base::size_type __n = 0,
- const hasher& __hf = hasher(),
- const key_equal& __eql = key_equal(),
- const allocator_type& __a = allocator_type())
- : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(),
- __detail::_Default_ranged_hash(), __eql,
- std::_Identity<_Value>(), __a)
- { }
- };
-
- template<class _Value, class _Hash, class _Pred, class _Alloc,
- bool __cache_hash_code>
- inline void
- swap (unordered_set<_Value, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __x,
- unordered_set<_Value, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __y)
- { __x.swap(__y); }
-
- template<class _Value, class _Hash, class _Pred, class _Alloc,
- bool __cache_hash_code>
- inline void
- swap(unordered_multiset<_Value, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __x,
- unordered_multiset<_Value, _Hash, _Pred,
- _Alloc, __cache_hash_code>& __y)
- { __x.swap(__y); }
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif // _TR1_UNORDERED_SET
diff --git a/contrib/libstdc++/include/tr1/utility b/contrib/libstdc++/include/tr1/utility
deleted file mode 100644
index 93e00eb3c945..000000000000
--- a/contrib/libstdc++/include/tr1/utility
+++ /dev/null
@@ -1,102 +0,0 @@
-// TR1 utility -*- C++ -*-
-
-// Copyright (C) 2004, 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
-// 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/utility
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_UTILITY
-#define _TR1_UTILITY 1
-
-#include "../utility"
-
-namespace std
-{
-_GLIBCXX_BEGIN_NAMESPACE(tr1)
-
- template<class _Tp> class tuple_size;
- template<int _Int, class _Tp> class tuple_element;
-
- // Various functions which give std::pair a tuple-like interface.
- template<class _Tp1, class _Tp2>
- struct tuple_size<std::pair<_Tp1, _Tp2> >
- { static const int value = 2; };
-
- template<class _Tp1, class _Tp2>
- const int tuple_size<std::pair<_Tp1, _Tp2> >::value;
-
- template<class _Tp1, class _Tp2>
- struct tuple_element<0, std::pair<_Tp1, _Tp2> >
- { typedef _Tp1 type; };
-
- template<class _Tp1, class _Tp2>
- struct tuple_element<1, std::pair<_Tp1, _Tp2> >
- { typedef _Tp2 type; };
-
-
- template<int _Int> struct __pair_get;
-
- template<>
- struct __pair_get<0>
- {
- template<typename _Tp1, typename _Tp2>
- static _Tp1& __get(std::pair<_Tp1, _Tp2>& __pair)
- { return __pair.first; }
-
- template<typename _Tp1, typename _Tp2>
- static const _Tp1& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
- { return __pair.first; }
- };
-
- template<>
- struct __pair_get<1>
- {
- template<typename _Tp1, typename _Tp2>
- static _Tp2& __get(std::pair<_Tp1, _Tp2>& __pair)
- { return __pair.second; }
-
- template<typename _Tp1, typename _Tp2>
- static const _Tp2& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
- { return __pair.second; }
- };
-
- template<int _Int, class _Tp1, class _Tp2>
- inline typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&
- get(std::pair<_Tp1, _Tp2>& __in)
- { return __pair_get<_Int>::__get(__in); }
-
- template<int _Int, class _Tp1, class _Tp2>
- inline const typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type&
- get(const std::pair<_Tp1, _Tp2>& __in)
- { return __pair_get<_Int>::__const_get(__in); }
-
-_GLIBCXX_END_NAMESPACE
-}
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/wchar.h b/contrib/libstdc++/include/tr1/wchar.h
deleted file mode 100644
index 00fb8a0ce8e1..000000000000
--- a/contrib/libstdc++/include/tr1/wchar.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 wchar.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/wchar.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_WCHAR_H
-#define _TR1_WCHAR_H 1
-
-#include <tr1/cwchar>
-
-#endif
diff --git a/contrib/libstdc++/include/tr1/wctype.h b/contrib/libstdc++/include/tr1/wctype.h
deleted file mode 100644
index 9ef23cd63627..000000000000
--- a/contrib/libstdc++/include/tr1/wctype.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// TR1 wctype.h -*- C++ -*-
-
-// Copyright (C) 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 tr1/wctype.h
- * This is a TR1 C++ Library header.
- */
-
-#ifndef _TR1_WCTYPE_H
-#define _TR1_WCTYPE_H 1
-
-#include <tr1/cwctype>
-
-#endif
diff --git a/contrib/libstdc++/libmath/Makefile.am b/contrib/libstdc++/libmath/Makefile.am
deleted file mode 100644
index f9a8d158a7f9..000000000000
--- a/contrib/libstdc++/libmath/Makefile.am
+++ /dev/null
@@ -1,41 +0,0 @@
-## Makefile for the math subdirectory of the GNU C++ Standard library.
-##
-## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
-## Free Software Foundation, Inc.
-##
-## This file is part of the libstdc++ version 3 distribution.
-## Process this file with automake to produce Makefile.in.
-
-## 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.
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-
-noinst_LTLIBRARIES = libmath.la
-
-libmath_la_LIBADD = $(LIBMATHOBJS)
-
-libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
-
-libmath_la_SOURCES = stubs.c
-
-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-
-# Only compiling "C" sources in this directory.
-LIBTOOL = @LIBTOOL@ --tag CC
diff --git a/contrib/libstdc++/libmath/Makefile.in b/contrib/libstdc++/libmath/Makefile.in
deleted file mode 100644
index 799720c425b7..000000000000
--- a/contrib/libstdc++/libmath/Makefile.in
+++ /dev/null
@@ -1,492 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = libmath
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
- $(top_srcdir)/../config/lead-dot.m4 \
- $(top_srcdir)/../config/multi.m4 \
- $(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../config/unwind_ipinfo.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
- $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-am_libmath_la_OBJECTS = stubs.lo
-libmath_la_OBJECTS = $(am_libmath_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp =
-am__depfiles_maybe =
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libmath_la_SOURCES)
-DIST_SOURCES = $(libmath_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
-ACLOCAL = @ACLOCAL@
-ALLOCATOR_H = @ALLOCATOR_H@
-ALLOCATOR_NAME = @ALLOCATOR_NAME@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
-ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASIC_FILE_CC = @BASIC_FILE_CC@
-BASIC_FILE_H = @BASIC_FILE_H@
-CC = @CC@
-CCODECVT_CC = @CCODECVT_CC@
-CCOLLATE_CC = @CCOLLATE_CC@
-CCTYPE_CC = @CCTYPE_CC@
-CFLAGS = @CFLAGS@
-CLOCALE_CC = @CLOCALE_CC@
-CLOCALE_H = @CLOCALE_H@
-CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
-CMESSAGES_CC = @CMESSAGES_CC@
-CMESSAGES_H = @CMESSAGES_H@
-CMONEY_CC = @CMONEY_CC@
-CNUMERIC_CC = @CNUMERIC_CC@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
-CSTDIO_H = @CSTDIO_H@
-CTIME_CC = @CTIME_CC@
-CTIME_H = @CTIME_H@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-C_INCLUDE_DIR = @C_INCLUDE_DIR@
-DEBUG_FLAGS = @DEBUG_FLAGS@
-DEFS = @DEFS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
-ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
-ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
-ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@
-ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
-ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
-ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@
-ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@
-EXEEXT = @EXEEXT@
-EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
-GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
-GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
-GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
-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_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_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
-GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
-GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@
-GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LIBICONV = @LIBICONV@
-LIBMATHOBJS = @LIBMATHOBJS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
-
-# Only compiling "C" sources in this directory.
-LIBTOOL = @LIBTOOL@ --tag CC
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
-OPT_LDFLAGS = @OPT_LDFLAGS@
-OS_INC_SRCDIR = @OS_INC_SRCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SECTION_FLAGS = @SECTION_FLAGS@
-SECTION_LDFLAGS = @SECTION_LDFLAGS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SYMVER_FILE = @SYMVER_FILE@
-TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WARN_FLAGS = @WARN_FLAGS@
-WERROR = @WERROR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__leading_dot = @am__leading_dot@
-am__tar = @am__tar@
-am__untar = @am__untar@
-baseline_dir = @baseline_dir@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-check_msgfmt = @check_msgfmt@
-datadir = @datadir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-glibcxx_MOFILES = @glibcxx_MOFILES@
-glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
-glibcxx_POFILES = @glibcxx_POFILES@
-glibcxx_builddir = @glibcxx_builddir@
-glibcxx_localedir = @glibcxx_localedir@
-glibcxx_prefixdir = @glibcxx_prefixdir@
-glibcxx_srcdir = @glibcxx_srcdir@
-glibcxx_thread_h = @glibcxx_thread_h@
-glibcxx_toolexecdir = @glibcxx_toolexecdir@
-glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
-gxx_include_dir = @gxx_include_dir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libtool_VERSION = @libtool_VERSION@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-port_specific_symbol_files = @port_specific_symbol_files@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toplevel_srcdir = @toplevel_srcdir@
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-noinst_LTLIBRARIES = libmath.la
-libmath_la_LIBADD = $(LIBMATHOBJS)
-libmath_la_DEPENDENCIES = $(libmath_la_LIBADD)
-libmath_la_SOURCES = stubs.c
-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps libmath/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign --ignore-deps libmath/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libmath.la: $(libmath_la_OBJECTS) $(libmath_la_DEPENDENCIES)
- $(LINK) $(libmath_la_LDFLAGS) $(libmath_la_OBJECTS) $(libmath_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-.c.o:
- $(COMPILE) -c $<
-
-.c.obj:
- $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-exec-am:
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags uninstall uninstall-am \
- uninstall-info-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/contrib/libstdc++/libmath/copysignf.c b/contrib/libstdc++/libmath/copysignf.c
deleted file mode 100644
index 1c4909591296..000000000000
--- a/contrib/libstdc++/libmath/copysignf.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copy sign of one number to another. */
-
-/* Copyright (C) 1997, 1998, 1999 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. */
-
-
-#include <math.h>
-#include "mathconf.h"
-
-float
-copysignf (float x, float y)
-{
- /* We use the double version. */
- return copysign (x, y);
-}
diff --git a/contrib/libstdc++/libmath/mathconf.h b/contrib/libstdc++/libmath/mathconf.h
deleted file mode 100644
index be8e96a4b3c5..000000000000
--- a/contrib/libstdc++/libmath/mathconf.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/* Configuration data for libmath subpart of libstdc++. */
-
-/* Copyright (C) 1997-1999, 2000, 2001 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. */
-
-
-#include <config.h>
-
-#ifdef HAVE_ENDIAN_H
-# include <endian.h>
-#else
-# ifdef HAVE_MACHINE_ENDIAN_H
-# ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-# endif
-# include <machine/endian.h>
-# else
-# ifdef HAVE_SYS_MACHINE_H
-# include <sys/machine.h>
-# else
-# if defined HAVE_SYS_ISA_DEFS_H || defined HAVE_MACHINE_PARAM_H
-/* This is on Solaris. */
-# ifdef HAVE_SYS_ISA_DEFS_H
-# include <sys/isa_defs.h>
-# endif
-# ifdef HAVE_MACHINE_PARAM_H
-# include <machine/param.h>
-# endif
-# ifdef _LITTLE_ENDIAN
-# define LITTLE_ENDIAN 1
-# endif
-# ifdef _BIG_ENDIAN
-# define BIG_ENDIAN 1
-# endif
-# define BYTE_ORDER 1
-# else
-/* We have to rely on the AC_C_BIGENDIAN test. */
-# ifdef WORDS_BIGENDIAN
-# define BIG_ENDIAN 1
-# else
-# define LITTLE_ENDIAN 1
-# endif
-# define BYTE_ORDER 1
-# endif
-# endif
-# endif
-#endif
-
-typedef unsigned int U_int32_t __attribute ((mode (SI)));
-typedef int Int32_t __attribute ((mode (SI)));
-typedef unsigned int U_int64_t __attribute ((mode (DI)));
-typedef int Int64_t __attribute ((mode (DI)));
-
-#ifdef HAVE_NAN_H
-# include <nan.h>
-#endif
-
-#ifdef HAVE_IEEEFP_H
-# include <ieeefp.h>
-#endif
-
-#ifdef HAVE_FP_H
-# include <fp.h>
-#endif
-
-#ifdef HAVE_FLOAT_H
-# include <float.h>
-#endif
-
-/* `float' variant of HUGE_VAL. */
-#ifndef HUGE_VALF
-# ifdef HUGE_VALf
-# define HUGE_VALF HUGE_VALf
-# else
-# define HUGE_VALF HUGE_VAL
-# endif
-#endif
-
-/* `long double' variant of HUGE_VAL. */
-#ifndef HUGE_VALL
-# ifdef HUGE_VALl
-# define HUGE_VALL HUGE_VALl
-# else
-# define HUGE_VALL HUGE_VAL
-# endif
-#endif
-
-/* Make sure that at least HUGE_VAL is defined. */
-#ifndef HUGE_VAL
-# ifdef HUGE
-# define HUGE_VAL HUGE
-# else
-# ifdef MAXFLOAT
-# define HUGE_VAL MAXFLOAT
-# else
-# error "We need HUGE_VAL!"
-# endif
-# endif
-#endif
-
-#ifndef M_PI
-# define M_PI 3.14159265358979323846
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* signbit is a macro in ISO C99. */
-#ifndef signbit
-extern int __signbitf (float);
-extern int __signbit (double);
-extern int __signbitl (long double);
-
-# define signbit(x) \
- (sizeof (x) == sizeof (float) ? \
- __signbitf (x) \
- : sizeof (x) == sizeof (double) ? \
- __signbit (x) : __signbitl (x))
-#endif
-
-#if BYTE_ORDER == BIG_ENDIAN
-typedef union
-{
- double value;
- struct
- {
- U_int32_t msw;
- U_int32_t lsw;
- } parts;
-} ieee_double_shape_type;
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN
-typedef union
-{
- double value;
- struct
- {
- U_int32_t lsw;
- U_int32_t msw;
- } parts;
-} ieee_double_shape_type;
-#endif
-/* Get the more significant 32 bit int from a double. */
-#define GET_HIGH_WORD(i,d) \
-do { \
- ieee_double_shape_type gh_u; \
- gh_u.value = (d); \
- (i) = gh_u.parts.msw; \
-} while (0)
-
-
-typedef union
-{
- float value;
- U_int32_t word;
-} ieee_float_shape_type;
-/* Get a 32 bit int from a float. */
-#define GET_FLOAT_WORD(i,d) \
-do { \
- ieee_float_shape_type gf_u; \
- gf_u.value = (d); \
- (i) = gf_u.word; \
-} while (0)
-
-
-#if BYTE_ORDER == BIG_ENDIAN
-typedef union
-{
- long double value;
- struct
- {
- unsigned int sign_exponent:16;
- unsigned int empty:16;
- U_int32_t msw;
- U_int32_t lsw;
- } parts;
-} ieee_long_double_shape_type;
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN
-typedef union
-{
- long double value;
- struct
- {
- U_int32_t lsw;
- U_int32_t msw;
- unsigned int sign_exponent:16;
- unsigned int empty:16;
- } parts;
-} ieee_long_double_shape_type;
-#endif
-/* Get int from the exponent of a long double. */
-#define GET_LDOUBLE_EXP(exp,d) \
-do { \
- ieee_long_double_shape_type ge_u; \
- ge_u.value = (d); \
- (exp) = ge_u.parts.sign_exponent; \
-} while (0)
-
-#if BYTE_ORDER == BIG_ENDIAN
-typedef union
-{
- long double value;
- struct
- {
- U_int64_t msw;
- U_int64_t lsw;
- } parts64;
- struct
- {
- U_int32_t w0, w1, w2, w3;
- } parts32;
-} ieee_quad_double_shape_type;
-#endif
-#if BYTE_ORDER == LITTLE_ENDIAN
-typedef union
-{
- long double value;
- struct
- {
- U_int64_t lsw;
- U_int64_t msw;
- } parts64;
- struct
- {
- U_int32_t w3, w2, w1, w0;
- } parts32;
-} ieee_quad_double_shape_type;
-#endif
-/* Get most significant 64 bit int from a quad long double. */
-#define GET_LDOUBLE_MSW64(msw,d) \
-do { \
- ieee_quad_double_shape_type qw_u; \
- qw_u.value = (d); \
- (msw) = qw_u.parts64.msw; \
-} while (0)
-
-
-/* Replacement for non-existing float functions. */
-#if !defined(HAVE_FABSF) && !defined(HAVE___BUILTIN_FABSF)
-# define fabsf(x) fabs (x)
-#endif
-#if !defined(HAVE_COSF) && !defined(HAVE___BUILTIN_COSF)
-# define cosf(x) cos (x)
-#endif
-#ifndef HAVE_COSHF
-# define coshf(x) cosh (x)
-#endif
-#ifndef HAVE_EXPF
-# define expf(x) expf (x)
-#endif
-#ifndef HAVE_LOGF
-# define logf(x) log(x)
-#endif
-#ifndef HAVE_LOG10F
-# define log10f(x) log10 (x)
-#endif
-#ifndef HAVE_POWF
-# define powf(x, y) pow (x, y)
-#endif
-#if !defined(HAVE_SINF) && !defined(HAVE___BUILTIN_SINF)
-# define sinf(x) sin (x)
-#endif
-#ifndef HAVE_SINHF
-# define sinhf(x) sinh (x)
-#endif
-#if !defined(HAVE_SQRTF) && !defined(HAVE___BUILTIN_SQRTF)
-# define sqrtf(x) sqrt (x)
-#endif
-#ifndef HAVE_TANF
-# define tanf(x) tan (x)
-#endif
-#ifndef HAVE_TANHF
-# define tanhf(x) tanh (x)
-#endif
-#ifndef HAVE_STRTOF
-# define strtof(s, e) strtod (s, e)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/contrib/libstdc++/libmath/signbit.c b/contrib/libstdc++/libmath/signbit.c
deleted file mode 100644
index e8d380dc84c4..000000000000
--- a/contrib/libstdc++/libmath/signbit.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Return nonzero value if number is negative. */
-
-/* Copyright (C) 1997, 1998, 1999 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. */
-
-
-#include <math.h>
-#include "mathconf.h"
-
-int
-__signbit (double x)
-{
- Int32_t hx;
-
- GET_HIGH_WORD (hx, x);
- return hx & 0x80000000;
-}
diff --git a/contrib/libstdc++/libmath/signbitf.c b/contrib/libstdc++/libmath/signbitf.c
deleted file mode 100644
index b18afc1cf124..000000000000
--- a/contrib/libstdc++/libmath/signbitf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Return nonzero value if number is negative. */
-
-/* Copyright (C) 1997, 1998, 1999 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. */
-
-
-#include <math.h>
-#include "mathconf.h"
-
-int
-__signbitf (float x)
-{
- Int32_t hx;
-
- GET_FLOAT_WORD (hx, x);
- return hx & 0x80000000;
-}
diff --git a/contrib/libstdc++/libmath/signbitl.c b/contrib/libstdc++/libmath/signbitl.c
deleted file mode 100644
index 52cbfbad4d21..000000000000
--- a/contrib/libstdc++/libmath/signbitl.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Return nonzero value if number is negative. */
-
-/* Copyright (C) 1997, 1998, 1999 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. */
-
-#include <float.h>
-#include <math.h>
-#include "mathconf.h"
-
-int
-__signbitl (long double x)
-{
-#if LDBL_MANT_DIG == 113
- Int64_t msw;
-
- GET_LDOUBLE_MSW64 (msw, x);
- return msw < 0;
-#else
- Int32_t e;
-
- GET_LDOUBLE_EXP (e, x);
- return e & 0x8000;
-#endif
-}
diff --git a/contrib/libstdc++/libmath/stubs.c b/contrib/libstdc++/libmath/stubs.c
deleted file mode 100644
index 72c4f75a9d18..000000000000
--- a/contrib/libstdc++/libmath/stubs.c
+++ /dev/null
@@ -1,455 +0,0 @@
-/* Stub definitions for libmath subpart of libstdc++. */
-
-/* Copyright (C) 2001, 2002, 2003 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. */
-
-#include <math.h>
-#include "config.h"
-
-/* For targets which do not have support for long double versions,
- we use the crude approximation. We'll do better later. */
-
-
-#ifndef HAVE_FABSF
-float
-fabsf(float x)
-{
- return (float) fabs(x);
-}
-#endif
-
-#ifndef HAVE_FABSL
-long double
-fabsl(long double x)
-{
- return fabs((double) x);
-}
-#endif
-
-
-#ifndef HAVE_ACOSF
-float
-acosf(float x)
-{
- return (float) acos(x);
-}
-#endif
-
-#ifndef HAVE_ACOSL
-long double
-acosl(long double x)
-{
- return acos((double) x);
-}
-#endif
-
-
-#ifndef HAVE_ASINF
-float
-asinf(float x)
-{
- return (float) asin(x);
-}
-#endif
-
-#ifndef HAVE_ASINL
-long double
-asinl(long double x)
-{
- return asin((double) x);
-}
-#endif
-
-
-#ifndef HAVE_ATANF
-float
-atanf(float x)
-{
- return (float) atan(x);
-}
-#endif
-
-#ifndef HAVE_ATANL
-long double
-atanl(long double x)
-{
- return atan ((double) x);
-}
-#endif
-
-
-#ifndef HAVE_ATAN2F
-float
-atan2f(float x, float y)
-{
- return (float) atan2(x, y);
-}
-#endif
-
-#ifndef HAVE_ATAN2L
-long double
-atan2l(long double x, long double y)
-{
- return atan2((double) x, (double) y);
-}
-#endif
-
-
-#ifndef HAVE_CEILF
-float
-ceilf(float x)
-{
- return (float) ceil(x);
-}
-#endif
-
-#ifndef HAVE_CEILL
-long double
-ceill(long double x)
-{
- return ceil((double) x);
-}
-#endif
-
-
-#ifndef HAVE_COSF
-float
-cosf(float x)
-{
- return (float) cos(x);
-}
-#endif
-
-#ifndef HAVE_COSL
-long double
-cosl(long double x)
-{
- return cos((double) x);
-}
-#endif
-
-
-#ifndef HAVE_COSHF
-float
-coshf(float x)
-{
- return (float) cosh(x);
-}
-#endif
-
-#ifndef HAVE_COSHL
-long double
-coshl(long double x)
-{
- return cosh((double) x);
-}
-#endif
-
-
-#ifndef HAVE_EXPF
-float
-expf(float x)
-{
- return (float) exp(x);
-}
-#endif
-
-#ifndef HAVE_EXPL
-long double
-expl(long double x)
-{
- return exp((double) x);
-}
-#endif
-
-
-#ifndef HAVE_FLOORF
-float
-floorf(float x)
-{
- return (float) floor(x);
-}
-#endif
-
-#ifndef HAVE_FLOORL
-long double
-floorl(long double x)
-{
- return floor((double) x);
-}
-#endif
-
-
-#ifndef HAVE_FMODF
-float
-fmodf(float x, float y)
-{
- return (float) fmod(x, y);
-}
-#endif
-
-#ifndef HAVE_FMODL
-long double
-fmodl(long double x, long double y)
-{
- return fmod((double) x, (double) y);
-}
-#endif
-
-
-#ifndef HAVE_FREXPF
-float
-frexpf(float x, int *exp)
-{
- return (float) frexp(x, exp);
-}
-#endif
-
-#ifndef HAVE_FREXPL
-long double
-frexpl(long double x, int *exp)
-{
- return frexp((double) x, exp);
-}
-#endif
-
-
-#ifndef HAVE_SQRTF
-float
-sqrtf(float x)
-{
- return (float) sqrt(x);
-}
-#endif
-
-#ifndef HAVE_SQRTL
-long double
-sqrtl(long double x)
-{
- return sqrt((double) x);
-}
-#endif
-
-
-/* Compute the hypothenuse of a right triangle with side x and y. */
-#ifndef HAVE_HYPOTF
-float
-hypotf(float x, float y)
-{
- float s = fabsf(x) + fabsf(y);
- if (s == 0.0F)
- return s;
- x /= s; y /= s;
- return s * sqrtf(x * x + y * y);
-}
-#endif
-
-#ifndef HAVE_HYPOT
-double
-hypot(double x, double y)
-{
- double s = fabs(x) + fabs(y);
- if (s == 0.0)
- return s;
- x /= s; y /= s;
- return s * sqrt(x * x + y * y);
-}
-#endif
-
-#ifndef HAVE_HYPOTL
-long double
-hypotl(long double x, long double y)
-{
- long double s = fabsl(x) + fabsl(y);
- if (s == 0.0L)
- return s;
- x /= s; y /= s;
- return s * sqrtl(x * x + y * y);
-}
-#endif
-
-
-
-#ifndef HAVE_LDEXPF
-float
-ldexpf(float x, int exp)
-{
- return (float) ldexp(x, exp);
-}
-#endif
-
-#ifndef HAVE_LDEXPL
-long double
-ldexpl(long double x, int exp)
-{
- return ldexp((double) x, exp);
-}
-#endif
-
-
-#ifndef HAVE_LOGF
-float
-logf(float x)
-{
- return (float) log(x);
-}
-#endif
-
-#ifndef HAVE_LOGL
-long double
-logl(long double x)
-{
- return log((double) x);
-}
-#endif
-
-
-#ifndef HAVE_LOG10F
-float
-log10f(float x)
-{
- return (float) log10(x);
-}
-#endif
-
-#ifndef HAVE_LOG10L
-long double
-log10l(long double x)
-{
- return log10((double) x);
-}
-#endif
-
-
-#ifndef HAVE_MODFF
-float
-modff(float x, float *iptr)
-{
- double result, temp;
-
- result = modf(x, &temp);
- *iptr = (float) temp;
- return (float) result;
-}
-#endif
-
-#ifndef HAVE_MODFL
-long double
-modfl(long double x, long double *iptr)
-{
- double result, temp;
-
- result = modf((double) x, &temp);
- *iptr = temp;
- return result;
-}
-#endif
-
-
-#ifndef HAVE_POWF
-float
-powf(float x, float y)
-{
- return (float) pow(x, y);
-}
-#endif
-
-#ifndef HAVE_POWL
-long double
-powl(long double x, long double y)
-{
- return pow((double) x, (double) y);
-}
-#endif
-
-
-#ifndef HAVE_SINF
-float
-sinf(float x)
-{
- return (float) sin(x);
-}
-#endif
-
-#ifndef HAVE_SINL
-long double
-sinl(long double x)
-{
- return sin((double) x);
-}
-#endif
-
-
-#ifndef HAVE_SINHF
-float
-sinhf(float x)
-{
- return (float) sinh(x);
-}
-#endif
-
-#ifndef HAVE_SINHL
-long double
-sinhl(long double x)
-{
- return sinh((double) x);
-}
-#endif
-
-
-#ifndef HAVE_TANF
-float
-tanf(float x)
-{
- return (float) tan(x);
-}
-#endif
-
-#ifndef HAVE_TANL
-long double
-tanl(long double x)
-{
- return tan((double) x);
-}
-#endif
-
-
-#ifndef HAVE_TANHF
-float
-tanhf(float x)
-{
- return (float) tanh(x);
-}
-#endif
-
-#ifndef HAVE_TANHL
-long double
-tanhl(long double x)
-{
- return tanh((double) x);
-}
-#endif
diff --git a/contrib/libstdc++/libsupc++/Makefile.am b/contrib/libstdc++/libsupc++/Makefile.am
deleted file mode 100644
index 4ce286159693..000000000000
--- a/contrib/libstdc++/libsupc++/Makefile.am
+++ /dev/null
@@ -1,171 +0,0 @@
-## Makefile for the GNU C++ Support library.
-##
-## Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
-## Free Software Foundation, Inc.
-##
-## Process this file with automake to produce Makefile.in.
-##
-## This file is part of GCC.
-##
-## GCC 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.
-##
-## GCC 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 GCC; see the file COPYING. If not, write to
-## the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-## Boston, MA 02110-1301, USA.
-
-include $(top_srcdir)/fragment.am
-
-# Need this library to both be part of libstdc++.a, and installed
-# separately too.
-# 1) separate libsupc++.la
-toolexeclib_LTLIBRARIES = libsupc++.la
-# 2) integrated libsupc++convenience.la that is to be a part of libstdc++.a
-noinst_LTLIBRARIES = libsupc++convenience.la
-
-
-headers = \
- exception new typeinfo cxxabi.h exception_defines.h
-
-if GLIBCXX_HOSTED
- c_sources = \
- cp-demangle.c
-endif
-
-sources = \
- del_op.cc \
- del_opnt.cc \
- del_opv.cc \
- del_opvnt.cc \
- eh_alloc.cc \
- eh_arm.cc \
- eh_aux_runtime.cc \
- eh_call.cc \
- eh_catch.cc \
- eh_exception.cc \
- eh_globals.cc \
- eh_personality.cc \
- eh_term_handler.cc \
- eh_terminate.cc \
- eh_throw.cc \
- eh_type.cc \
- eh_unex_handler.cc \
- guard.cc \
- new_handler.cc \
- new_op.cc \
- new_opnt.cc \
- new_opv.cc \
- new_opvnt.cc \
- pure.cc \
- tinfo.cc \
- tinfo2.cc \
- vec.cc \
- vterminate.cc
-
-libsupc___la_SOURCES = $(sources) $(c_sources)
-libsupc__convenience_la_SOURCES = $(sources) $(c_sources)
-
-glibcxxinstalldir = $(gxx_include_dir)
-glibcxxinstall_HEADERS = $(headers)
-
-# AM_CXXFLAGS needs to be in each subdirectory so that it can be
-# modified in a per-library or per-sub-library way. Need to manually
-# set this option because CONFIG_CXXFLAGS has to be after
-# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
-# as the occasion call for it.
-AM_CXXFLAGS = \
- -fno-implicit-templates \
- $(LIBSUPCXX_PICFLAGS) \
- $(WARN_CXXFLAGS) \
- $(OPTIMIZE_CXXFLAGS) \
- $(CONFIG_CXXFLAGS)
-
-AM_MAKEFLAGS = \
- "gxx_include_dir=$(gxx_include_dir)"
-
-
-# Use special rules for pulling things out of libiberty. These
-# objects should be compiled with the "C" compiler, not the C++
-# compiler, and also should not use the C++ includes.
-C_INCLUDES = -I.. -I$(toplevel_srcdir)/libiberty -I$(toplevel_srcdir)/include
-C_COMPILE = \
- $(CC) $(DEFS) $(C_INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-
-# LTCOMPILE is copied from LTCXXCOMPILE below.
-LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared --mode=compile $(CC) \
- $(DEFS) $(C_INCLUDES) $(LIBSUPCXX_PICFLAGS) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-
-cp-demangle.c:
- rm -f $@
- $(LN_S) $(toplevel_srcdir)/libiberty/cp-demangle.c $@
-cp-demangle.lo: cp-demangle.c
- $(LTCOMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
-cp-demangle.o: cp-demangle.c
- $(C_COMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
-
-
-# libstdc++ libtool notes
-
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
-# using the C++ compiler, because that will enable the settings
-# detected when C++ support was being configured. However, when no
-# such flag is given in the command line, libtool attempts to figure
-# it out by matching the compiler name in each configuration section
-# against a prefix of the command line. The problem is that, if the
-# compiler name and its initial flags stored in the libtool
-# configuration file don't match those in the command line, libtool
-# can't decide which configuration to use, and it gives up. The
-# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
-# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
-# attempt to infer which configuration to use.
-#
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
-LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
- --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-
-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
-
-# 3) We'd have a problem when building the shared libstdc++ object if
-# the rules automake generates would be used. We cannot allow g++ to
-# be used since this would add -lstdc++ to the link line which of
-# course is problematic at this point. So, we get the top-level
-# directory to configure libstdc++-v3 to use gcc as the C++
-# compilation driver.
-CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared \
- --mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
-
-# We have to have rules modified from the default to counteract SUN make
-# prepending each of $(glibcxxinstall_HEADERS) with VPATH below.
-install-glibcxxinstallHEADERS: $(glibcxxinstall_HEADERS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibcxxinstalldir)
- @list='$(glibcxxinstall_HEADERS)'; for p in $$list; do \
- q=`echo $$p | sed -e 's,.*/,,'`; \
- if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(glibcxxinstalldir)/$$q"; \
- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(glibcxxinstalldir)/$$q; \
- done
-
-uninstall-glibcxxinstallHEADERS:
- @$(NORMAL_UNINSTALL)
- list='$(glibcxxinstall_HEADERS)'; for p in $$list; do \
- q=`echo $$p | sed -e 's,.*/,,'`; \
- rm -f $(DESTDIR)$(glibcxxinstalldir)/$$q; \
- done
diff --git a/contrib/libstdc++/libsupc++/Makefile.in b/contrib/libstdc++/libsupc++/Makefile.in
deleted file mode 100644
index 9b2a0611ffc3..000000000000
--- a/contrib/libstdc++/libsupc++/Makefile.in
+++ /dev/null
@@ -1,731 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-DIST_COMMON = $(glibcxxinstall_HEADERS) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(top_srcdir)/fragment.am
-subdir = libsupc++
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
- $(top_srcdir)/../config/lead-dot.m4 \
- $(top_srcdir)/../config/multi.m4 \
- $(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../config/unwind_ipinfo.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
- $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(toolexeclibdir)" \
- "$(DESTDIR)$(glibcxxinstalldir)"
-toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
-libsupc___la_LIBADD =
-am__libsupc___la_SOURCES_DIST = del_op.cc del_opnt.cc del_opv.cc \
- del_opvnt.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc \
- eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc \
- eh_personality.cc eh_term_handler.cc eh_terminate.cc \
- eh_throw.cc eh_type.cc eh_unex_handler.cc guard.cc \
- new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc \
- pure.cc tinfo.cc tinfo2.cc vec.cc vterminate.cc cp-demangle.c
-am__objects_1 = del_op.lo del_opnt.lo del_opv.lo del_opvnt.lo \
- eh_alloc.lo eh_arm.lo eh_aux_runtime.lo eh_call.lo eh_catch.lo \
- eh_exception.lo eh_globals.lo eh_personality.lo \
- eh_term_handler.lo eh_terminate.lo eh_throw.lo eh_type.lo \
- eh_unex_handler.lo guard.lo new_handler.lo new_op.lo \
- new_opnt.lo new_opv.lo new_opvnt.lo pure.lo tinfo.lo tinfo2.lo \
- vec.lo vterminate.lo
-@GLIBCXX_HOSTED_TRUE@am__objects_2 = cp-demangle.lo
-am_libsupc___la_OBJECTS = $(am__objects_1) $(am__objects_2)
-libsupc___la_OBJECTS = $(am_libsupc___la_OBJECTS)
-libsupc__convenience_la_LIBADD =
-am__libsupc__convenience_la_SOURCES_DIST = del_op.cc del_opnt.cc \
- del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \
- eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc \
- eh_globals.cc eh_personality.cc eh_term_handler.cc \
- eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc \
- guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc \
- new_opvnt.cc pure.cc tinfo.cc tinfo2.cc vec.cc vterminate.cc \
- cp-demangle.c
-am_libsupc__convenience_la_OBJECTS = $(am__objects_1) $(am__objects_2)
-libsupc__convenience_la_OBJECTS = \
- $(am_libsupc__convenience_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp =
-am__depfiles_maybe =
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-SOURCES = $(libsupc___la_SOURCES) $(libsupc__convenience_la_SOURCES)
-DIST_SOURCES = $(am__libsupc___la_SOURCES_DIST) \
- $(am__libsupc__convenience_la_SOURCES_DIST)
-glibcxxinstallHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(glibcxxinstall_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
-ACLOCAL = @ACLOCAL@
-ALLOCATOR_H = @ALLOCATOR_H@
-ALLOCATOR_NAME = @ALLOCATOR_NAME@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
-ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASIC_FILE_CC = @BASIC_FILE_CC@
-BASIC_FILE_H = @BASIC_FILE_H@
-CC = @CC@
-CCODECVT_CC = @CCODECVT_CC@
-CCOLLATE_CC = @CCOLLATE_CC@
-CCTYPE_CC = @CCTYPE_CC@
-CFLAGS = @CFLAGS@
-CLOCALE_CC = @CLOCALE_CC@
-CLOCALE_H = @CLOCALE_H@
-CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
-CMESSAGES_CC = @CMESSAGES_CC@
-CMESSAGES_H = @CMESSAGES_H@
-CMONEY_CC = @CMONEY_CC@
-CNUMERIC_CC = @CNUMERIC_CC@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
-CSTDIO_H = @CSTDIO_H@
-CTIME_CC = @CTIME_CC@
-CTIME_H = @CTIME_H@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-C_INCLUDE_DIR = @C_INCLUDE_DIR@
-DEBUG_FLAGS = @DEBUG_FLAGS@
-DEFS = @DEFS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
-ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
-ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
-ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@
-ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
-ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
-ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@
-ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@
-EXEEXT = @EXEEXT@
-EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
-GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
-GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
-GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
-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_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_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
-GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
-GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@
-GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LIBICONV = @LIBICONV@
-LIBMATHOBJS = @LIBMATHOBJS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
-OPT_LDFLAGS = @OPT_LDFLAGS@
-OS_INC_SRCDIR = @OS_INC_SRCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SECTION_FLAGS = @SECTION_FLAGS@
-SECTION_LDFLAGS = @SECTION_LDFLAGS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SYMVER_FILE = @SYMVER_FILE@
-TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WARN_FLAGS = @WARN_FLAGS@
-WERROR = @WERROR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__leading_dot = @am__leading_dot@
-am__tar = @am__tar@
-am__untar = @am__untar@
-baseline_dir = @baseline_dir@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-check_msgfmt = @check_msgfmt@
-datadir = @datadir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-glibcxx_MOFILES = @glibcxx_MOFILES@
-glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
-glibcxx_POFILES = @glibcxx_POFILES@
-glibcxx_builddir = @glibcxx_builddir@
-glibcxx_localedir = @glibcxx_localedir@
-glibcxx_prefixdir = @glibcxx_prefixdir@
-glibcxx_srcdir = @glibcxx_srcdir@
-glibcxx_thread_h = @glibcxx_thread_h@
-glibcxx_toolexecdir = @glibcxx_toolexecdir@
-glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
-gxx_include_dir = @gxx_include_dir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libtool_VERSION = @libtool_VERSION@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-port_specific_symbol_files = @port_specific_symbol_files@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toplevel_srcdir = @toplevel_srcdir@
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-MAINT_CHARSET = latin1
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-PWD_COMMAND = $${PWDCMD-pwd}
-STAMP = echo timestamp >
-toolexecdir = $(glibcxx_toolexecdir)
-toolexeclibdir = $(glibcxx_toolexeclibdir)
-
-# These bits are all figured out from configure. Look in acinclude.m4
-# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
-CONFIG_CXXFLAGS = \
- $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS)
-
-WARN_CXXFLAGS = \
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
-
-# -I/-D flags to pass when compiling.
-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-
-# Need this library to both be part of libstdc++.a, and installed
-# separately too.
-# 1) separate libsupc++.la
-toolexeclib_LTLIBRARIES = libsupc++.la
-# 2) integrated libsupc++convenience.la that is to be a part of libstdc++.a
-noinst_LTLIBRARIES = libsupc++convenience.la
-headers = \
- exception new typeinfo cxxabi.h exception_defines.h
-
-@GLIBCXX_HOSTED_TRUE@c_sources = \
-@GLIBCXX_HOSTED_TRUE@ cp-demangle.c
-
-sources = \
- del_op.cc \
- del_opnt.cc \
- del_opv.cc \
- del_opvnt.cc \
- eh_alloc.cc \
- eh_arm.cc \
- eh_aux_runtime.cc \
- eh_call.cc \
- eh_catch.cc \
- eh_exception.cc \
- eh_globals.cc \
- eh_personality.cc \
- eh_term_handler.cc \
- eh_terminate.cc \
- eh_throw.cc \
- eh_type.cc \
- eh_unex_handler.cc \
- guard.cc \
- new_handler.cc \
- new_op.cc \
- new_opnt.cc \
- new_opv.cc \
- new_opvnt.cc \
- pure.cc \
- tinfo.cc \
- tinfo2.cc \
- vec.cc \
- vterminate.cc
-
-libsupc___la_SOURCES = $(sources) $(c_sources)
-libsupc__convenience_la_SOURCES = $(sources) $(c_sources)
-glibcxxinstalldir = $(gxx_include_dir)
-glibcxxinstall_HEADERS = $(headers)
-
-# AM_CXXFLAGS needs to be in each subdirectory so that it can be
-# modified in a per-library or per-sub-library way. Need to manually
-# set this option because CONFIG_CXXFLAGS has to be after
-# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
-# as the occasion call for it.
-AM_CXXFLAGS = \
- -fno-implicit-templates \
- $(LIBSUPCXX_PICFLAGS) \
- $(WARN_CXXFLAGS) \
- $(OPTIMIZE_CXXFLAGS) \
- $(CONFIG_CXXFLAGS)
-
-AM_MAKEFLAGS = \
- "gxx_include_dir=$(gxx_include_dir)"
-
-
-# Use special rules for pulling things out of libiberty. These
-# objects should be compiled with the "C" compiler, not the C++
-# compiler, and also should not use the C++ includes.
-C_INCLUDES = -I.. -I$(toplevel_srcdir)/libiberty -I$(toplevel_srcdir)/include
-C_COMPILE = \
- $(CC) $(DEFS) $(C_INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-
-
-# LTCOMPILE is copied from LTCXXCOMPILE below.
-LTCOMPILE = $(LIBTOOL) --tag CC --tag disable-shared --mode=compile $(CC) \
- $(DEFS) $(C_INCLUDES) $(LIBSUPCXX_PICFLAGS) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-
-
-# libstdc++ libtool notes
-
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
-# using the C++ compiler, because that will enable the settings
-# detected when C++ support was being configured. However, when no
-# such flag is given in the command line, libtool attempts to figure
-# it out by matching the compiler name in each configuration section
-# against a prefix of the command line. The problem is that, if the
-# compiler name and its initial flags stored in the libtool
-# configuration file don't match those in the command line, libtool
-# can't decide which configuration to use, and it gives up. The
-# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
-# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
-# attempt to infer which configuration to use.
-#
-# We have to put --tag disable-shared after --tag CXX lest things
-# CXX undo the affect of disable-shared.
-LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
- --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-
-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
-
-# 3) We'd have a problem when building the shared libstdc++ object if
-# the rules automake generates would be used. We cannot allow g++ to
-# be used since this would add -lstdc++ to the link line which of
-# course is problematic at this point. So, we get the top-level
-# directory to configure libstdc++-v3 to use gcc as the C++
-# compilation driver.
-CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared \
- --mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .cc .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps libsupc++/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign --ignore-deps libsupc++/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(toolexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(toolexeclibdir)"
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(toolexeclibdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-toolexeclibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$p"; \
- done
-
-clean-toolexeclibLTLIBRARIES:
- -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libsupc++.la: $(libsupc___la_OBJECTS) $(libsupc___la_DEPENDENCIES)
- $(CXXLINK) -rpath $(toolexeclibdir) $(libsupc___la_LDFLAGS) $(libsupc___la_OBJECTS) $(libsupc___la_LIBADD) $(LIBS)
-libsupc++convenience.la: $(libsupc__convenience_la_OBJECTS) $(libsupc__convenience_la_DEPENDENCIES)
- $(CXXLINK) $(libsupc__convenience_la_LDFLAGS) $(libsupc__convenience_la_OBJECTS) $(libsupc__convenience_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-.c.o:
- $(COMPILE) -c $<
-
-.c.obj:
- $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- $(LTCOMPILE) -c -o $@ $<
-
-.cc.o:
- $(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/..
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(glibcxxinstalldir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- clean-toolexeclibLTLIBRARIES mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-glibcxxinstallHEADERS
-
-install-exec-am: install-toolexeclibLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-glibcxxinstallHEADERS uninstall-info-am \
- uninstall-toolexeclibLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES \
- clean-toolexeclibLTLIBRARIES ctags distclean distclean-compile \
- distclean-generic distclean-libtool distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-glibcxxinstallHEADERS install-info install-info-am \
- install-man install-strip install-toolexeclibLTLIBRARIES \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-glibcxxinstallHEADERS \
- uninstall-info-am uninstall-toolexeclibLTLIBRARIES
-
-
-cp-demangle.c:
- rm -f $@
- $(LN_S) $(toplevel_srcdir)/libiberty/cp-demangle.c $@
-cp-demangle.lo: cp-demangle.c
- $(LTCOMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
-cp-demangle.o: cp-demangle.c
- $(C_COMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
-
-# We have to have rules modified from the default to counteract SUN make
-# prepending each of $(glibcxxinstall_HEADERS) with VPATH below.
-install-glibcxxinstallHEADERS: $(glibcxxinstall_HEADERS)
- @$(NORMAL_INSTALL)
- $(mkinstalldirs) $(DESTDIR)$(glibcxxinstalldir)
- @list='$(glibcxxinstall_HEADERS)'; for p in $$list; do \
- q=`echo $$p | sed -e 's,.*/,,'`; \
- if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
- echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(glibcxxinstalldir)/$$q"; \
- $(INSTALL_DATA) $$d$$p $(DESTDIR)$(glibcxxinstalldir)/$$q; \
- done
-
-uninstall-glibcxxinstallHEADERS:
- @$(NORMAL_UNINSTALL)
- list='$(glibcxxinstall_HEADERS)'; for p in $$list; do \
- q=`echo $$p | sed -e 's,.*/,,'`; \
- rm -f $(DESTDIR)$(glibcxxinstalldir)/$$q; \
- done
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/contrib/libstdc++/libsupc++/cxxabi.h b/contrib/libstdc++/libsupc++/cxxabi.h
deleted file mode 100644
index c0418d825888..000000000000
--- a/contrib/libstdc++/libsupc++/cxxabi.h
+++ /dev/null
@@ -1,537 +0,0 @@
-// new abi support -*- C++ -*-
-
-// Copyright (C) 2000, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-// Written by Nathan Sidwell, Codesourcery LLC, <nathan@codesourcery.com>
-
-/* This file declares the new abi entry points into the runtime. It is not
- normally necessary for user programs to include this header, or use the
- entry points directly. However, this header is available should that be
- needed.
-
- Some of the entry points are intended for both C and C++, thus this header
- is includable from both C and C++. Though the C++ specific parts are not
- available in C, naturally enough. */
-
-/** @file cxxabi.h
- * The header provides an interface to the C++ ABI.
- */
-
-#ifndef _CXXABI_H
-#define _CXXABI_H 1
-
-#pragma GCC visibility push(default)
-
-#include <stddef.h>
-#include <bits/cxxabi_tweaks.h>
-
-#ifdef __cplusplus
-namespace __cxxabiv1
-{
- extern "C"
- {
-#endif
-
- typedef __cxa_cdtor_return_type (*__cxa_cdtor_type)(void *);
-
- // Allocate array.
- void*
- __cxa_vec_new(size_t __element_count, size_t __element_size,
- size_t __padding_size, __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor);
-
- void*
- __cxa_vec_new2(size_t __element_count, size_t __element_size,
- size_t __padding_size, __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor, void *(*__alloc) (size_t),
- void (*__dealloc) (void*));
-
- void*
- __cxa_vec_new3(size_t __element_count, size_t __element_size,
- size_t __padding_size, __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor, void *(*__alloc) (size_t),
- void (*__dealloc) (void*, size_t));
-
- // Construct array.
- __cxa_vec_ctor_return_type
- __cxa_vec_ctor(void* __array_address, size_t __element_count,
- size_t __element_size, __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor);
-
- __cxa_vec_ctor_return_type
- __cxa_vec_cctor(void* dest_array, void* src_array, size_t element_count,
- size_t element_size,
- __cxa_cdtor_return_type (*constructor) (void*, void*),
- __cxa_cdtor_type destructor);
-
- // Destruct array.
- void
- __cxa_vec_dtor(void* __array_address, size_t __element_count,
- size_t __element_size, __cxa_cdtor_type destructor);
-
- void
- __cxa_vec_cleanup(void* __array_address, size_t __element_count,
- size_t __element_size, __cxa_cdtor_type destructor);
-
- // Destruct and release array.
- void
- __cxa_vec_delete(void* __array_address, size_t __element_size,
- size_t __padding_size, __cxa_cdtor_type destructor);
-
- void
- __cxa_vec_delete2(void* __array_address, size_t __element_size,
- size_t __padding_size, __cxa_cdtor_type destructor,
- void (*__dealloc) (void*));
-
- void
- __cxa_vec_delete3(void* __array_address, size_t __element_size,
- size_t __padding_size, __cxa_cdtor_type destructor,
- void (*__dealloc) (void*, size_t));
-
- int
- __cxa_guard_acquire(__guard*);
-
- void
- __cxa_guard_release(__guard*);
-
- void
- __cxa_guard_abort(__guard*);
-
- // Pure virtual functions.
- void
- __cxa_pure_virtual(void);
-
- // Exception handling.
- void
- __cxa_bad_cast();
-
- void
- __cxa_bad_typeid();
-
- // DSO destruction.
- int
- __cxa_atexit(void (*)(void*), void*, void*);
-
- int
- __cxa_finalize(void*);
-
- // Demangling routines.
- char*
- __cxa_demangle(const char* __mangled_name, char* __output_buffer,
- size_t* __length, int* __status);
-#ifdef __cplusplus
- }
-} // namespace __cxxabiv1
-#endif
-
-#ifdef __cplusplus
-
-#include <typeinfo>
-
-namespace __cxxabiv1
-{
- // Type information for int, float etc.
- class __fundamental_type_info : public std::type_info
- {
- public:
- explicit
- __fundamental_type_info(const char* __n) : std::type_info(__n) { }
-
- virtual
- ~__fundamental_type_info();
- };
-
- // Type information for array objects.
- class __array_type_info : public std::type_info
- {
- public:
- explicit
- __array_type_info(const char* __n) : std::type_info(__n) { }
-
- virtual
- ~__array_type_info();
- };
-
- // Type information for functions (both member and non-member).
- class __function_type_info : public std::type_info
- {
- public:
- explicit
- __function_type_info(const char* __n) : std::type_info(__n) { }
-
- virtual
- ~__function_type_info();
-
- protected:
- // Implementation defined member function.
- virtual bool
- __is_function_p() const;
- };
-
- // Type information for enumerations.
- class __enum_type_info : public std::type_info
- {
- public:
- explicit
- __enum_type_info(const char* __n) : std::type_info(__n) { }
-
- virtual
- ~__enum_type_info();
- };
-
- // Common type information for simple pointers and pointers to member.
- class __pbase_type_info : public std::type_info
- {
- public:
- unsigned int __flags; // Qualification of the target object.
- const std::type_info* __pointee; // Type of pointed to object.
-
- explicit
- __pbase_type_info(const char* __n, int __quals,
- const std::type_info* __type)
- : std::type_info(__n), __flags(__quals), __pointee(__type)
- { }
-
- virtual
- ~__pbase_type_info();
-
- // Implementation defined type.
- enum __masks
- {
- __const_mask = 0x1,
- __volatile_mask = 0x2,
- __restrict_mask = 0x4,
- __incomplete_mask = 0x8,
- __incomplete_class_mask = 0x10
- };
-
- protected:
- __pbase_type_info(const __pbase_type_info&);
-
- __pbase_type_info&
- operator=(const __pbase_type_info&);
-
- // Implementation defined member functions.
- virtual bool
- __do_catch(const std::type_info* __thr_type, void** __thr_obj,
- unsigned int __outer) const;
-
- inline virtual bool
- __pointer_catch(const __pbase_type_info* __thr_type, void** __thr_obj,
- unsigned __outer) const;
- };
-
- // Type information for simple pointers.
- class __pointer_type_info : public __pbase_type_info
- {
- public:
- explicit
- __pointer_type_info(const char* __n, int __quals,
- const std::type_info* __type)
- : __pbase_type_info (__n, __quals, __type) { }
-
-
- virtual
- ~__pointer_type_info();
-
- protected:
- // Implementation defined member functions.
- virtual bool
- __is_pointer_p() const;
-
- virtual bool
- __pointer_catch(const __pbase_type_info* __thr_type, void** __thr_obj,
- unsigned __outer) const;
- };
-
- class __class_type_info;
-
- // Type information for a pointer to member variable.
- class __pointer_to_member_type_info : public __pbase_type_info
- {
- public:
- __class_type_info* __context; // Class of the member.
-
- explicit
- __pointer_to_member_type_info(const char* __n, int __quals,
- const std::type_info* __type,
- __class_type_info* __klass)
- : __pbase_type_info(__n, __quals, __type), __context(__klass) { }
-
- virtual
- ~__pointer_to_member_type_info();
-
- protected:
- __pointer_to_member_type_info(const __pointer_to_member_type_info&);
-
- __pointer_to_member_type_info&
- operator=(const __pointer_to_member_type_info&);
-
- // Implementation defined member function.
- virtual bool
- __pointer_catch(const __pbase_type_info* __thr_type, void** __thr_obj,
- unsigned __outer) const;
- };
-
- // Helper class for __vmi_class_type.
- class __base_class_type_info
- {
- public:
- const __class_type_info* __base_type; // Base class type.
- long __offset_flags; // Offset and info.
-
- enum __offset_flags_masks
- {
- __virtual_mask = 0x1,
- __public_mask = 0x2,
- __hwm_bit = 2,
- __offset_shift = 8 // Bits to shift offset.
- };
-
- // Implementation defined member functions.
- bool
- __is_virtual_p() const
- { return __offset_flags & __virtual_mask; }
-
- bool
- __is_public_p() const
- { return __offset_flags & __public_mask; }
-
- ptrdiff_t
- __offset() const
- {
- // This shift, being of a signed type, is implementation
- // defined. GCC implements such shifts as arithmetic, which is
- // what we want.
- return static_cast<ptrdiff_t>(__offset_flags) >> __offset_shift;
- }
- };
-
- // Type information for a class.
- class __class_type_info : public std::type_info
- {
- public:
- explicit
- __class_type_info (const char *__n) : type_info(__n) { }
-
- virtual
- ~__class_type_info ();
-
- // Implementation defined types.
- // The type sub_kind tells us about how a base object is contained
- // within a derived object. We often do this lazily, hence the
- // UNKNOWN value. At other times we may use NOT_CONTAINED to mean
- // not publicly contained.
- enum __sub_kind
- {
- // We have no idea.
- __unknown = 0,
-
- // Not contained within us (in some circumstances this might
- // mean not contained publicly)
- __not_contained,
-
- // Contained ambiguously.
- __contained_ambig,
-
- // Via a virtual path.
- __contained_virtual_mask = __base_class_type_info::__virtual_mask,
-
- // Via a public path.
- __contained_public_mask = __base_class_type_info::__public_mask,
-
- // Contained within us.
- __contained_mask = 1 << __base_class_type_info::__hwm_bit,
-
- __contained_private = __contained_mask,
- __contained_public = __contained_mask | __contained_public_mask
- };
-
- struct __upcast_result;
- struct __dyncast_result;
-
- protected:
- // Implementation defined member functions.
- virtual bool
- __do_upcast(const __class_type_info* __dst_type, void**__obj_ptr) const;
-
- virtual bool
- __do_catch(const type_info* __thr_type, void** __thr_obj,
- unsigned __outer) const;
-
- public:
- // Helper for upcast. See if DST is us, or one of our bases.
- // Return false if not found, true if found.
- virtual bool
- __do_upcast(const __class_type_info* __dst, const void* __obj,
- __upcast_result& __restrict __result) const;
-
- // Indicate whether SRC_PTR of type SRC_TYPE is contained publicly
- // within OBJ_PTR. OBJ_PTR points to a base object of our type,
- // which is the destination type. SRC2DST indicates how SRC
- // objects might be contained within this type. If SRC_PTR is one
- // of our SRC_TYPE bases, indicate the virtuality. Returns
- // not_contained for non containment or private containment.
- inline __sub_kind
- __find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr,
- const __class_type_info* __src_type,
- const void* __src_ptr) const;
-
- // Helper for dynamic cast. ACCESS_PATH gives the access from the
- // most derived object to this base. DST_TYPE indicates the
- // desired type we want. OBJ_PTR points to a base of our type
- // within the complete object. SRC_TYPE indicates the static type
- // started from and SRC_PTR points to that base within the most
- // derived object. Fill in RESULT with what we find. Return true
- // if we have located an ambiguous match.
- virtual bool
- __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path,
- const __class_type_info* __dst_type, const void* __obj_ptr,
- const __class_type_info* __src_type, const void* __src_ptr,
- __dyncast_result& __result) const;
-
- // Helper for find_public_subobj. SRC2DST indicates how SRC_TYPE
- // bases are inherited by the type started from -- which is not
- // necessarily the current type. The current type will be a base
- // of the destination type. OBJ_PTR points to the current base.
- virtual __sub_kind
- __do_find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr,
- const __class_type_info* __src_type,
- const void* __src_ptr) const;
- };
-
- // Type information for a class with a single non-virtual base.
- class __si_class_type_info : public __class_type_info
- {
- public:
- const __class_type_info* __base_type;
-
- explicit
- __si_class_type_info(const char *__n, const __class_type_info *__base)
- : __class_type_info(__n), __base_type(__base) { }
-
- virtual
- ~__si_class_type_info();
-
- protected:
- __si_class_type_info(const __si_class_type_info&);
-
- __si_class_type_info&
- operator=(const __si_class_type_info&);
-
- // Implementation defined member functions.
- virtual bool
- __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path,
- const __class_type_info* __dst_type, const void* __obj_ptr,
- const __class_type_info* __src_type, const void* __src_ptr,
- __dyncast_result& __result) const;
-
- virtual __sub_kind
- __do_find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr,
- const __class_type_info* __src_type,
- const void* __sub_ptr) const;
-
- virtual bool
- __do_upcast(const __class_type_info*__dst, const void*__obj,
- __upcast_result& __restrict __result) const;
- };
-
- // Type information for a class with multiple and/or virtual bases.
- class __vmi_class_type_info : public __class_type_info
- {
- public:
- unsigned int __flags; // Details about the class hierarchy.
- unsigned int __base_count; // Number of direct bases.
-
- // The array of bases uses the trailing array struct hack so this
- // class is not constructable with a normal constructor. It is
- // internally generated by the compiler.
- __base_class_type_info __base_info[1]; // Array of bases.
-
- explicit
- __vmi_class_type_info(const char* __n, int ___flags)
- : __class_type_info(__n), __flags(___flags), __base_count(0) { }
-
- virtual
- ~__vmi_class_type_info();
-
- // Implementation defined types.
- enum __flags_masks
- {
- __non_diamond_repeat_mask = 0x1, // Distinct instance of repeated base.
- __diamond_shaped_mask = 0x2, // Diamond shaped multiple inheritance.
- __flags_unknown_mask = 0x10
- };
-
- protected:
- // Implementation defined member functions.
- virtual bool
- __do_dyncast(ptrdiff_t __src2dst, __sub_kind __access_path,
- const __class_type_info* __dst_type, const void* __obj_ptr,
- const __class_type_info* __src_type, const void* __src_ptr,
- __dyncast_result& __result) const;
-
- virtual __sub_kind
- __do_find_public_src(ptrdiff_t __src2dst, const void* __obj_ptr,
- const __class_type_info* __src_type,
- const void* __src_ptr) const;
-
- virtual bool
- __do_upcast(const __class_type_info* __dst, const void* __obj,
- __upcast_result& __restrict __result) const;
- };
-
- // Dynamic cast runtime.
- // src2dst has the following possible values
- // >-1: src_type is a unique public non-virtual base of dst_type
- // dst_ptr + src2dst == src_ptr
- // -1: unspecified relationship
- // -2: src_type is not a public base of dst_type
- // -3: src_type is a multiple public non-virtual base of dst_type
- extern "C" void*
- __dynamic_cast(const void* __src_ptr, // Starting object.
- const __class_type_info* __src_type, // Static type of object.
- const __class_type_info* __dst_type, // Desired target type.
- ptrdiff_t __src2dst); // How src and dst are related.
-
-
- // Returns the type_info for the currently handled exception [15.3/8], or
- // null if there is none.
- extern "C" std::type_info*
- __cxa_current_exception_type();
-} // namespace __cxxabiv1
-
-// User programs should use the alias `abi'.
-namespace abi = __cxxabiv1;
-
-#endif // __cplusplus
-
-#pragma GCC visibility pop
-
-#endif // __CXXABI_H
diff --git a/contrib/libstdc++/libsupc++/del_op.cc b/contrib/libstdc++/libsupc++/del_op.cc
deleted file mode 100644
index 93f4aa8373cb..000000000000
--- a/contrib/libstdc++/libsupc++/del_op.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "new"
-#if _GLIBCXX_HOSTED
-#include <cstdlib>
-#endif
-
-#if _GLIBCXX_HOSTED
-using std::free;
-#else
-// A freestanding C runtime may not provide "free" -- but there is no
-// other reasonable way to implement "operator delete".
-extern "C" void free(void *);
-#endif
-
-_GLIBCXX_WEAK_DEFINITION void
-operator delete (void *ptr) throw ()
-{
- if (ptr)
- free (ptr);
-}
diff --git a/contrib/libstdc++/libsupc++/del_opnt.cc b/contrib/libstdc++/libsupc++/del_opnt.cc
deleted file mode 100644
index 1aa25d76ba5b..000000000000
--- a/contrib/libstdc++/libsupc++/del_opnt.cc
+++ /dev/null
@@ -1,41 +0,0 @@
-// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "new"
-
-extern "C" void free (void *);
-
-_GLIBCXX_WEAK_DEFINITION void
-operator delete (void *ptr, const std::nothrow_t&) throw ()
-{
- if (ptr)
- free (ptr);
-}
diff --git a/contrib/libstdc++/libsupc++/del_opv.cc b/contrib/libstdc++/libsupc++/del_opv.cc
deleted file mode 100644
index 9a08afbb54be..000000000000
--- a/contrib/libstdc++/libsupc++/del_opv.cc
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "new"
-
-_GLIBCXX_WEAK_DEFINITION void
-operator delete[] (void *ptr) throw ()
-{
- ::operator delete (ptr);
-}
diff --git a/contrib/libstdc++/libsupc++/del_opvnt.cc b/contrib/libstdc++/libsupc++/del_opvnt.cc
deleted file mode 100644
index 4dbe48931cfc..000000000000
--- a/contrib/libstdc++/libsupc++/del_opvnt.cc
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "new"
-
-_GLIBCXX_WEAK_DEFINITION void
-operator delete[] (void *ptr, const std::nothrow_t&) throw ()
-{
- ::operator delete (ptr);
-}
diff --git a/contrib/libstdc++/libsupc++/eh_alloc.cc b/contrib/libstdc++/libsupc++/eh_alloc.cc
deleted file mode 100644
index 4233502deef6..000000000000
--- a/contrib/libstdc++/libsupc++/eh_alloc.cc
+++ /dev/null
@@ -1,166 +0,0 @@
-// -*- C++ -*- Allocate exception objects.
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
-// Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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 is derived from the C++ ABI for IA-64. Where we diverge
-// for cross-architecture compatibility are noted with "@@@".
-
-#include <bits/c++config.h>
-#include <cstdlib>
-#if _GLIBCXX_HOSTED
-#include <cstring>
-#endif
-#include <climits>
-#include <exception>
-#include "unwind-cxx.h"
-#include <ext/concurrence.h>
-
-#if _GLIBCXX_HOSTED
-using std::free;
-using std::malloc;
-using std::memset;
-#else
-// In a freestanding environment, these functions may not be available
-// -- but for now, we assume that they are.
-extern "C" void *malloc (std::size_t);
-extern "C" void free(void *);
-extern "C" void *memset (void *, int, std::size_t);
-#endif
-
-using namespace __cxxabiv1;
-
-// ??? How to control these parameters.
-
-// Guess from the size of basic types how large a buffer is reasonable.
-// Note that the basic c++ exception header has 13 pointers and 2 ints,
-// so on a system with PSImode pointers we're talking about 56 bytes
-// just for overhead.
-
-#if INT_MAX == 32767
-# define EMERGENCY_OBJ_SIZE 128
-# define EMERGENCY_OBJ_COUNT 16
-#elif LONG_MAX == 2147483647
-# define EMERGENCY_OBJ_SIZE 512
-# define EMERGENCY_OBJ_COUNT 32
-#else
-# define EMERGENCY_OBJ_SIZE 1024
-# define EMERGENCY_OBJ_COUNT 64
-#endif
-
-#ifndef __GTHREADS
-# undef EMERGENCY_OBJ_COUNT
-# define EMERGENCY_OBJ_COUNT 4
-#endif
-
-/* APPLE LOCAL begin reduce emergency buffer size */
-/* 256 bytes is more than large enough for an std::bad_alloc object */
-#undef EMERGENCY_OBJ_SIZE
-#undef EMERGENCY_OBJ_COUNT
-#define EMERGENCY_OBJ_SIZE 256
-#define EMERGENCY_OBJ_COUNT 2
-/* APPLE LOCAL end reduce emergency buffer size */
-
-#if INT_MAX == 32767 || EMERGENCY_OBJ_COUNT <= 32
-typedef unsigned int bitmask_type;
-#else
-typedef unsigned long bitmask_type;
-#endif
-
-
-typedef char one_buffer[EMERGENCY_OBJ_SIZE] __attribute__((aligned));
-static one_buffer emergency_buffer[EMERGENCY_OBJ_COUNT];
-static bitmask_type emergency_used;
-
-namespace
-{
- // A single mutex controlling emergency allocations.
- __gnu_cxx::__mutex emergency_mutex;
-}
-
-extern "C" void *
-__cxxabiv1::__cxa_allocate_exception(std::size_t thrown_size) throw()
-{
- void *ret;
-
- thrown_size += sizeof (__cxa_exception);
- ret = malloc (thrown_size);
-
- if (! ret)
- {
- __gnu_cxx::__scoped_lock sentry(emergency_mutex);
-
- bitmask_type used = emergency_used;
- unsigned int which = 0;
-
- if (thrown_size > EMERGENCY_OBJ_SIZE)
- goto failed;
- while (used & 1)
- {
- used >>= 1;
- if (++which >= EMERGENCY_OBJ_COUNT)
- goto failed;
- }
-
- emergency_used |= (bitmask_type)1 << which;
- ret = &emergency_buffer[which][0];
-
- failed:;
-
- if (!ret)
- std::terminate ();
- }
-
- // We have an uncaught exception as soon as we allocate memory. This
- // yields uncaught_exception() true during the copy-constructor that
- // initializes the exception object. See Issue 475.
- __cxa_eh_globals *globals = __cxa_get_globals ();
- globals->uncaughtExceptions += 1;
-
- memset (ret, 0, sizeof (__cxa_exception));
-
- return (void *)((char *)ret + sizeof (__cxa_exception));
-}
-
-
-extern "C" void
-__cxxabiv1::__cxa_free_exception(void *vptr) throw()
-{
- char *ptr = (char *) vptr;
- if (ptr >= &emergency_buffer[0][0]
- && ptr < &emergency_buffer[0][0] + sizeof (emergency_buffer))
- {
- const unsigned int which
- = (unsigned)(ptr - &emergency_buffer[0][0]) / EMERGENCY_OBJ_SIZE;
-
- __gnu_cxx::__scoped_lock sentry(emergency_mutex);
- emergency_used &= ~((bitmask_type)1 << which);
- }
- else
- free (ptr - sizeof (__cxa_exception));
-}
diff --git a/contrib/libstdc++/libsupc++/eh_arm.cc b/contrib/libstdc++/libsupc++/eh_arm.cc
deleted file mode 100644
index 87fccba0aacf..000000000000
--- a/contrib/libstdc++/libsupc++/eh_arm.cc
+++ /dev/null
@@ -1,170 +0,0 @@
-// -*- C++ -*- ARM specific Exception handling support routines.
-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <cxxabi.h>
-#include "unwind-cxx.h"
-
-#ifdef __ARM_EABI_UNWINDER__
-
-using namespace __cxxabiv1;
-
-
-// Given the thrown type THROW_TYPE, pointer to a variable containing a
-// pointer to the exception object THROWN_PTR_P and a type CATCH_TYPE to
-// compare against, return whether or not there is a match and if so,
-// update *THROWN_PTR_P.
-
-extern "C" __cxa_type_match_result
-__cxa_type_match(_Unwind_Exception* ue_header,
- const std::type_info* catch_type,
- bool is_reference __attribute__((__unused__)),
- void** thrown_ptr_p)
-{
- if (!__is_gxx_exception_class(ue_header->exception_class))
- return ctm_failed;
-
- __cxa_exception* xh = __get_exception_header_from_ue(ue_header);
- const std::type_info* throw_type = xh->exceptionType;
- void* thrown_ptr = *thrown_ptr_p;
-
- // Pointer types need to adjust the actual pointer, not
- // the pointer to pointer that is the exception object.
- // This also has the effect of passing pointer types
- // "by value" through the __cxa_begin_catch return value.
- if (throw_type->__is_pointer_p())
- thrown_ptr = *(void**) thrown_ptr;
-
- if (catch_type->__do_catch(throw_type, &thrown_ptr, 1))
- {
- *thrown_ptr_p = thrown_ptr;
-
- if (typeid(*catch_type) == typeid (typeid(void*)))
- {
- const __pointer_type_info *catch_pointer_type =
- static_cast<const __pointer_type_info *> (catch_type);
- const __pointer_type_info *throw_pointer_type =
- static_cast<const __pointer_type_info *> (throw_type);
-
- if (typeid (*catch_pointer_type->__pointee) != typeid (void)
- && (*catch_pointer_type->__pointee !=
- *throw_pointer_type->__pointee))
- return ctm_succeeded_with_ptr_to_base;
- }
-
- return ctm_succeeded;
- }
-
- return ctm_failed;
-}
-
-// ABI defined routine called at the start of a cleanup handler.
-extern "C" bool
-__cxa_begin_cleanup(_Unwind_Exception* ue_header)
-{
- __cxa_eh_globals *globals = __cxa_get_globals();
- __cxa_exception *header = __get_exception_header_from_ue(ue_header);
- bool native = __is_gxx_exception_class(header->unwindHeader.exception_class);
-
-
- if (native)
- {
- header->propagationCount++;
- // Add it to the chain if this is the first time we've seen this
- // exception.
- if (header->propagationCount == 1)
- {
- header->nextPropagatingException = globals->propagatingExceptions;
- globals->propagatingExceptions = header;
- }
- }
- else
- {
- // Remember the exception object, so end_cleanup can return it.
- // These cannot be stacked, so we must abort if we already have
- // a propagating exception.
- if (globals->propagatingExceptions)
- std::terminate ();
- globals->propagatingExceptions = header;
- }
-
- return true;
-}
-
-// Do the work for __cxa_end_cleanup. Returns the currently propagating
-// exception object.
-extern "C" _Unwind_Exception *
-__gnu_end_cleanup(void)
-{
- __cxa_exception *header;
- __cxa_eh_globals *globals = __cxa_get_globals();
-
- header = globals->propagatingExceptions;
-
- // Check something hasn't gone horribly wrong.
- if (!header)
- std::terminate();
-
- if (__is_gxx_exception_class(header->unwindHeader.exception_class))
- {
- header->propagationCount--;
- if (header->propagationCount == 0)
- {
- // Remove exception from chain.
- globals->propagatingExceptions = header->nextPropagatingException;
- header->nextPropagatingException = NULL;
- }
- }
- else
- globals->propagatingExceptions = NULL;
-
- return &header->unwindHeader;
-}
-
-// Assembly wrapper to call __gnu_end_cleanup without clobbering r1-r3.
-// Also push r4 to preserve stack alignment.
-#ifdef __thumb__
-asm (".global __cxa_end_cleanup\n"
-" .type __cxa_end_cleanup, \"function\"\n"
-" .thumb_func\n"
-"__cxa_end_cleanup:\n"
-" push\t{r1, r2, r3, r4}\n"
-" bl\t__gnu_end_cleanup\n"
-" pop\t{r1, r2, r3, r4}\n"
-" bl\t_Unwind_Resume @ Never returns\n");
-#else
-asm (".global __cxa_end_cleanup\n"
-" .type __cxa_end_cleanup, \"function\"\n"
-"__cxa_end_cleanup:\n"
-" stmfd\tsp!, {r1, r2, r3, r4}\n"
-" bl\t__gnu_end_cleanup\n"
-" ldmfd\tsp!, {r1, r2, r3, r4}\n"
-" bl\t_Unwind_Resume @ Never returns\n");
-#endif
-
-#endif
diff --git a/contrib/libstdc++/libsupc++/eh_aux_runtime.cc b/contrib/libstdc++/libsupc++/eh_aux_runtime.cc
deleted file mode 100644
index e0dbcc9d155b..000000000000
--- a/contrib/libstdc++/libsupc++/eh_aux_runtime.cc
+++ /dev/null
@@ -1,56 +0,0 @@
-// -*- C++ -*- Common throw conditions.
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include "typeinfo"
-#include "exception"
-#include <cstdlib>
-#include "unwind-cxx.h"
-#include "exception_defines.h"
-
-extern "C" void
-__cxxabiv1::__cxa_bad_cast ()
-{
-#ifdef __EXCEPTIONS
- throw std::bad_cast();
-#else
- std::abort();
-#endif
-}
-
-extern "C" void
-__cxxabiv1::__cxa_bad_typeid ()
-{
-#ifdef __EXCEPTIONS
- throw std::bad_typeid();
-#else
- std::abort();
-#endif
-}
-
diff --git a/contrib/libstdc++/libsupc++/eh_call.cc b/contrib/libstdc++/libsupc++/eh_call.cc
deleted file mode 100644
index edf62188a6b6..000000000000
--- a/contrib/libstdc++/libsupc++/eh_call.cc
+++ /dev/null
@@ -1,161 +0,0 @@
-// -*- C++ -*- Helpers for calling unextected and terminate
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include <cstdlib>
-#include <exception_defines.h>
-#include "unwind-cxx.h"
-
-using namespace __cxxabiv1;
-
-#include "unwind-pe.h"
-
-
-// Helper routine for when the exception handling code needs to call
-// terminate.
-
-extern "C" void
-__cxa_call_terminate(_Unwind_Exception* ue_header)
-{
-
- if (ue_header)
- {
- // terminate is classed as a catch handler.
- __cxa_begin_catch(ue_header);
-
- // Call the terminate handler that was in effect when we threw this
- // exception. */
- if (__is_gxx_exception_class(ue_header->exception_class))
- {
- __cxa_exception* xh;
-
- xh = __get_exception_header_from_ue(ue_header);
- __terminate(xh->terminateHandler);
- }
- }
- /* Call the global routine if we don't have anything better. */
- std::terminate();
-}
-
-
-#ifdef __ARM_EABI_UNWINDER__
-// The ARM EABI __cxa_call_unexpected has the same semantics as the generic
-// routine, but the exception specification has a different format.
-extern "C" void
-__cxa_call_unexpected(void* exc_obj_in)
-{
- _Unwind_Exception* exc_obj
- = reinterpret_cast<_Unwind_Exception*>(exc_obj_in);
-
- int rtti_count = 0;
- _Unwind_Word rtti_stride = 0;
- _Unwind_Word* rtti_list = NULL;
- bool foreign_exception;
- std::unexpected_handler unexpectedHandler = NULL;
- std::terminate_handler terminateHandler = NULL;
- __cxa_exception* xh;
- if (__is_gxx_exception_class(exc_obj->exception_class))
- {
- // Save data from the EO, which may be clobbered by _cxa_begin_catch.
- xh = __get_exception_header_from_ue(exc_obj);
- unexpectedHandler = xh->unexpectedHandler;
- terminateHandler = xh->terminateHandler;
- rtti_count = exc_obj->barrier_cache.bitpattern[1];
-
- rtti_stride = exc_obj->barrier_cache.bitpattern[3];
- rtti_list = (_Unwind_Word*) exc_obj->barrier_cache.bitpattern[4];
- foreign_exception = false;
- }
- else
- foreign_exception = true;
-
- /* This must be called after extracting data from the EO, but before
- calling unexpected(). */
- __cxa_begin_catch(exc_obj);
-
- // This function is a handler for our exception argument. If we exit
- // by throwing a different exception, we'll need the original cleaned up.
- struct end_catch_protect
- {
- end_catch_protect() { }
- ~end_catch_protect() { __cxa_end_catch(); }
- } end_catch_protect_obj;
-
-
- try
- {
- if (foreign_exception)
- std::unexpected();
- else
- __unexpected(unexpectedHandler);
- }
- catch(...)
- {
- /* See if the new exception matches the rtti list. */
- if (foreign_exception)
- std::terminate();
-
- // Get the exception thrown from unexpected.
-
- __cxa_eh_globals* globals = __cxa_get_globals_fast();
- __cxa_exception* new_xh = globals->caughtExceptions;
- void* new_ptr = new_xh + 1;
- const std::type_info* catch_type;
- int n;
- bool bad_exception_allowed = false;
- const std::type_info& bad_exc = typeid(std::bad_exception);
-
- // Check the new exception against the rtti list
- for (n = 0; n < rtti_count; n++)
- {
- _Unwind_Word offset;
-
- offset = (_Unwind_Word) &rtti_list[n * (rtti_stride >> 2)];
- offset = _Unwind_decode_target2(offset);
- catch_type = (const std::type_info*) (offset);
-
- if (__cxa_type_match(&new_xh->unwindHeader, catch_type, false,
- &new_ptr) != ctm_failed)
- __throw_exception_again;
-
- if (catch_type->__do_catch(&bad_exc, 0, 1))
- bad_exception_allowed = true;
- }
-
- // If the exception spec allows std::bad_exception, throw that.
-#ifdef __EXCEPTIONS
- if (bad_exception_allowed)
- throw std::bad_exception();
-#endif
-
- // Otherwise, die.
- __terminate(terminateHandler);
- }
-}
-#endif // __ARM_EABI_UNWINDER__
diff --git a/contrib/libstdc++/libsupc++/eh_catch.cc b/contrib/libstdc++/libsupc++/eh_catch.cc
deleted file mode 100644
index 77b8a82dd167..000000000000
--- a/contrib/libstdc++/libsupc++/eh_catch.cc
+++ /dev/null
@@ -1,143 +0,0 @@
-// -*- C++ -*- Exception handling routines for catching.
-// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <cstdlib>
-#include "unwind-cxx.h"
-
-using namespace __cxxabiv1;
-
-extern "C" void *
-__cxxabiv1::__cxa_get_exception_ptr(void *exc_obj_in) throw()
-{
- _Unwind_Exception *exceptionObject
- = reinterpret_cast <_Unwind_Exception *>(exc_obj_in);
-
- return __gxx_caught_object(exceptionObject);
-}
-
-extern "C" void *
-__cxxabiv1::__cxa_begin_catch (void *exc_obj_in) throw()
-{
- _Unwind_Exception *exceptionObject
- = reinterpret_cast <_Unwind_Exception *>(exc_obj_in);
- __cxa_eh_globals *globals = __cxa_get_globals ();
- __cxa_exception *prev = globals->caughtExceptions;
- __cxa_exception *header = __get_exception_header_from_ue (exceptionObject);
- void* objectp;
-
- // Foreign exceptions can't be stacked here. If the exception stack is
- // empty, then fine. Otherwise we really have no choice but to terminate.
- // Note that this use of "header" is a lie. It's fine so long as we only
- // examine header->unwindHeader though.
- if (!__is_gxx_exception_class(header->unwindHeader.exception_class))
- {
- if (prev != 0)
- std::terminate ();
-
- // Remember for end_catch and rethrow.
- globals->caughtExceptions = header;
-
- // ??? No sensible value to return; we don't know what the
- // object is, much less where it is in relation to the header.
- return 0;
- }
-
- int count = header->handlerCount;
- // Count is less than zero if this exception was rethrown from an
- // immediately enclosing region.
- if (count < 0)
- count = -count + 1;
- else
- count += 1;
- header->handlerCount = count;
- globals->uncaughtExceptions -= 1;
-
- if (header != prev)
- {
- header->nextException = prev;
- globals->caughtExceptions = header;
- }
-
- objectp = __gxx_caught_object(exceptionObject);
-#ifdef __ARM_EABI_UNWINDER__
- _Unwind_Complete(exceptionObject);
-#endif
- return objectp;
-}
-
-
-extern "C" void
-__cxxabiv1::__cxa_end_catch ()
-{
- __cxa_eh_globals *globals = __cxa_get_globals_fast ();
- __cxa_exception *header = globals->caughtExceptions;
-
- // A rethrow of a foreign exception will be removed from the
- // the exception stack immediately by __cxa_rethrow.
- if (!header)
- return;
-
- // A foreign exception couldn't have been stacked (see above),
- // so by definition processing must be complete.
- if (!__is_gxx_exception_class(header->unwindHeader.exception_class))
- {
- globals->caughtExceptions = 0;
- _Unwind_DeleteException (&header->unwindHeader);
- return;
- }
-
- int count = header->handlerCount;
- if (count < 0)
- {
- // This exception was rethrown. Decrement the (inverted) catch
- // count and remove it from the chain when it reaches zero.
- if (++count == 0)
- globals->caughtExceptions = header->nextException;
- }
- else if (--count == 0)
- {
- // Handling for this exception is complete. Destroy the object.
- globals->caughtExceptions = header->nextException;
- _Unwind_DeleteException (&header->unwindHeader);
- return;
- }
- else if (count < 0)
- // A bug in the exception handling library or compiler.
- std::terminate ();
-
- header->handlerCount = count;
-}
-
-
-bool
-std::uncaught_exception() throw()
-{
- __cxa_eh_globals *globals = __cxa_get_globals ();
- return globals->uncaughtExceptions != 0;
-}
diff --git a/contrib/libstdc++/libsupc++/eh_exception.cc b/contrib/libstdc++/libsupc++/eh_exception.cc
deleted file mode 100644
index 40bb839bb7ab..000000000000
--- a/contrib/libstdc++/libsupc++/eh_exception.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-// -*- C++ -*- std::exception implementation.
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-// 2003, 2004, 2005, 2006, 2007
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include "typeinfo"
-#include "exception"
-#include "unwind-cxx.h"
-
-std::exception::~exception() throw() { }
-
-std::bad_exception::~bad_exception() throw() { }
-
-const char*
-std::exception::what() const throw()
-{
- // NB: Another elegant option would be returning typeid(*this).name()
- // and not overriding what() in bad_exception, bad_alloc, etc. In
- // that case, however, mangled names would be returned, PR 14493.
- return "std::exception";
-}
-
-const char*
-std::bad_exception::what() const throw()
-{
- return "std::bad_exception";
-}
diff --git a/contrib/libstdc++/libsupc++/eh_globals.cc b/contrib/libstdc++/libsupc++/eh_globals.cc
deleted file mode 100644
index 424e375696e4..000000000000
--- a/contrib/libstdc++/libsupc++/eh_globals.cc
+++ /dev/null
@@ -1,162 +0,0 @@
-// -*- C++ -*- Manage the thread-local exception globals.
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
-// Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include <exception>
-#include <cstdlib>
-#include "cxxabi.h"
-#include "unwind-cxx.h"
-#include "bits/gthr.h"
-
-#if _GLIBCXX_HOSTED
-using std::free;
-using std::malloc;
-#else
-// In a freestanding environment, these functions may not be
-// available -- but for now, we assume that they are.
-extern "C" void *malloc (std::size_t);
-extern "C" void free(void *);
-#endif
-
-using namespace __cxxabiv1;
-
-#if _GLIBCXX_HAVE_TLS
-
-namespace
-{
- abi::__cxa_eh_globals*
- get_global() throw()
- {
- static __thread abi::__cxa_eh_globals global;
- return &global;
- }
-} // anonymous namespace
-
-extern "C" __cxa_eh_globals*
-__cxxabiv1::__cxa_get_globals_fast() throw()
-{ return get_global(); }
-
-extern "C" __cxa_eh_globals*
-__cxxabiv1::__cxa_get_globals() throw()
-{ return get_global(); }
-
-
-#else
-
-// Single-threaded fallback buffer.
-static __cxa_eh_globals eh_globals;
-
-#if __GTHREADS
-
-static void
-eh_globals_dtor(void* ptr)
-{
- if (ptr)
- {
- __cxa_eh_globals* g = reinterpret_cast<__cxa_eh_globals*>(ptr);
- __cxa_exception* exn = g->caughtExceptions;
- __cxa_exception* next;
- while (exn)
- {
- next = exn->nextException;
- _Unwind_DeleteException(&exn->unwindHeader);
- exn = next;
- }
- free(ptr);
- }
-}
-
-struct __eh_globals_init
-{
- __gthread_key_t _M_key;
- bool _M_init;
-
- __eh_globals_init() : _M_init(false)
- {
- if (__gthread_active_p())
- _M_init = __gthread_key_create(&_M_key, eh_globals_dtor) == 0;
- }
-
- ~__eh_globals_init()
- {
- if (_M_init)
- __gthread_key_delete(_M_key);
- _M_init = false;
- }
-};
-
-static __eh_globals_init init;
-
-extern "C" __cxa_eh_globals*
-__cxxabiv1::__cxa_get_globals_fast() throw()
-{
- __cxa_eh_globals* g;
- if (init._M_init)
- g = static_cast<__cxa_eh_globals*>(__gthread_getspecific(init._M_key));
- else
- g = &eh_globals;
- return g;
-}
-
-extern "C" __cxa_eh_globals*
-__cxxabiv1::__cxa_get_globals() throw()
-{
- __cxa_eh_globals* g;
- if (init._M_init)
- {
- g = static_cast<__cxa_eh_globals*>(__gthread_getspecific(init._M_key));
- if (!g)
- {
- void* v = malloc(sizeof(__cxa_eh_globals));
- if (v == 0 || __gthread_setspecific(init._M_key, v) != 0)
- std::terminate();
- g = static_cast<__cxa_eh_globals*>(v);
- g->caughtExceptions = 0;
- g->uncaughtExceptions = 0;
- }
- }
- else
- g = &eh_globals;
- return g;
-}
-
-#else
-
-extern "C" __cxa_eh_globals*
-__cxxabiv1::__cxa_get_globals_fast() throw()
-{ return &eh_globals; }
-
-extern "C" __cxa_eh_globals*
-__cxxabiv1::__cxa_get_globals() throw()
-{ return &eh_globals; }
-
-#endif
-
-#endif
diff --git a/contrib/libstdc++/libsupc++/eh_personality.cc b/contrib/libstdc++/libsupc++/eh_personality.cc
deleted file mode 100644
index 12bba96b2b87..000000000000
--- a/contrib/libstdc++/libsupc++/eh_personality.cc
+++ /dev/null
@@ -1,759 +0,0 @@
-// -*- C++ -*- The GNU C++ exception personality routine.
-// Copyright (C) 2001, 2002, 2003, 2006, 2008 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include <cstdlib>
-#include <exception_defines.h>
-#include "unwind-cxx.h"
-
-using namespace __cxxabiv1;
-
-#ifdef __ARM_EABI_UNWINDER__
-#define NO_SIZE_OF_ENCODED_VALUE
-#endif
-
-#include "unwind-pe.h"
-
-
-struct lsda_header_info
-{
- _Unwind_Ptr Start;
- _Unwind_Ptr LPStart;
- _Unwind_Ptr ttype_base;
- const unsigned char *TType;
- const unsigned char *action_table;
- unsigned char ttype_encoding;
- unsigned char call_site_encoding;
-};
-
-static const unsigned char *
-parse_lsda_header (_Unwind_Context *context, const unsigned char *p,
- lsda_header_info *info)
-{
- _Unwind_Word tmp;
- unsigned char lpstart_encoding;
-
- info->Start = (context ? _Unwind_GetRegionStart (context) : 0);
-
- // Find @LPStart, the base to which landing pad offsets are relative.
- lpstart_encoding = *p++;
- if (lpstart_encoding != DW_EH_PE_omit)
- p = read_encoded_value (context, lpstart_encoding, p, &info->LPStart);
- else
- info->LPStart = info->Start;
-
- // Find @TType, the base of the handler and exception spec type data.
- info->ttype_encoding = *p++;
- if (info->ttype_encoding != DW_EH_PE_omit)
- {
- p = read_uleb128 (p, &tmp);
- info->TType = p + tmp;
- }
- else
- info->TType = 0;
-
- // The encoding and length of the call-site table; the action table
- // immediately follows.
- info->call_site_encoding = *p++;
- p = read_uleb128 (p, &tmp);
- info->action_table = p + tmp;
-
- return p;
-}
-
-#ifdef __ARM_EABI_UNWINDER__
-
-// Return an element from a type table.
-
-static const std::type_info*
-get_ttype_entry(lsda_header_info* info, _Unwind_Word i)
-{
- _Unwind_Ptr ptr;
-
- ptr = (_Unwind_Ptr) (info->TType - (i * 4));
- ptr = _Unwind_decode_target2(ptr);
-
- return reinterpret_cast<const std::type_info *>(ptr);
-}
-
-// The ABI provides a routine for matching exception object types.
-typedef _Unwind_Control_Block _throw_typet;
-#define get_adjusted_ptr(catch_type, throw_type, thrown_ptr_p) \
- (__cxa_type_match (throw_type, catch_type, false, thrown_ptr_p) \
- != ctm_failed)
-
-// Return true if THROW_TYPE matches one if the filter types.
-
-static bool
-check_exception_spec(lsda_header_info* info, _throw_typet* throw_type,
- void* thrown_ptr, _Unwind_Sword filter_value)
-{
- const _Unwind_Word* e = ((const _Unwind_Word*) info->TType)
- - filter_value - 1;
-
- while (1)
- {
- const std::type_info* catch_type;
- _Unwind_Word tmp;
-
- tmp = *e;
-
- // Zero signals the end of the list. If we've not found
- // a match by now, then we've failed the specification.
- if (tmp == 0)
- return false;
-
- tmp = _Unwind_decode_target2((_Unwind_Word) e);
-
- // Match a ttype entry.
- catch_type = reinterpret_cast<const std::type_info*>(tmp);
-
- // ??? There is currently no way to ask the RTTI code about the
- // relationship between two types without reference to a specific
- // object. There should be; then we wouldn't need to mess with
- // thrown_ptr here.
- if (get_adjusted_ptr(catch_type, throw_type, &thrown_ptr))
- return true;
-
- // Advance to the next entry.
- e++;
- }
-}
-
-
-// Save stage1 handler information in the exception object
-
-static inline void
-save_caught_exception(struct _Unwind_Exception* ue_header,
- struct _Unwind_Context* context,
- void* thrown_ptr,
- int handler_switch_value,
- const unsigned char* language_specific_data,
- _Unwind_Ptr landing_pad,
- const unsigned char* action_record
- __attribute__((__unused__)))
-{
- ue_header->barrier_cache.sp = _Unwind_GetGR(context, 13);
- ue_header->barrier_cache.bitpattern[0] = (_uw) thrown_ptr;
- ue_header->barrier_cache.bitpattern[1]
- = (_uw) handler_switch_value;
- ue_header->barrier_cache.bitpattern[2]
- = (_uw) language_specific_data;
- ue_header->barrier_cache.bitpattern[3] = (_uw) landing_pad;
-}
-
-
-// Restore the catch handler data saved during phase1.
-
-static inline void
-restore_caught_exception(struct _Unwind_Exception* ue_header,
- int& handler_switch_value,
- const unsigned char*& language_specific_data,
- _Unwind_Ptr& landing_pad)
-{
- handler_switch_value = (int) ue_header->barrier_cache.bitpattern[1];
- language_specific_data =
- (const unsigned char*) ue_header->barrier_cache.bitpattern[2];
- landing_pad = (_Unwind_Ptr) ue_header->barrier_cache.bitpattern[3];
-}
-
-#define CONTINUE_UNWINDING \
- do \
- { \
- if (__gnu_unwind_frame(ue_header, context) != _URC_OK) \
- return _URC_FAILURE; \
- return _URC_CONTINUE_UNWIND; \
- } \
- while (0)
-
-#else
-typedef const std::type_info _throw_typet;
-
-
-// Return an element from a type table.
-
-static const std::type_info *
-get_ttype_entry (lsda_header_info *info, _Unwind_Word i)
-{
- _Unwind_Ptr ptr;
-
- i *= size_of_encoded_value (info->ttype_encoding);
- read_encoded_value_with_base (info->ttype_encoding, info->ttype_base,
- info->TType - i, &ptr);
-
- return reinterpret_cast<const std::type_info *>(ptr);
-}
-
-// Given the thrown type THROW_TYPE, pointer to a variable containing a
-// pointer to the exception object THROWN_PTR_P and a type CATCH_TYPE to
-// compare against, return whether or not there is a match and if so,
-// update *THROWN_PTR_P.
-
-static bool
-get_adjusted_ptr (const std::type_info *catch_type,
- const std::type_info *throw_type,
- void **thrown_ptr_p)
-{
- void *thrown_ptr = *thrown_ptr_p;
-
- // Pointer types need to adjust the actual pointer, not
- // the pointer to pointer that is the exception object.
- // This also has the effect of passing pointer types
- // "by value" through the __cxa_begin_catch return value.
- if (throw_type->__is_pointer_p ())
- thrown_ptr = *(void **) thrown_ptr;
-
- if (catch_type->__do_catch (throw_type, &thrown_ptr, 1))
- {
- *thrown_ptr_p = thrown_ptr;
- return true;
- }
-
- return false;
-}
-
-// Return true if THROW_TYPE matches one if the filter types.
-
-static bool
-check_exception_spec(lsda_header_info* info, _throw_typet* throw_type,
- void* thrown_ptr, _Unwind_Sword filter_value)
-{
- const unsigned char *e = info->TType - filter_value - 1;
-
- while (1)
- {
- const std::type_info *catch_type;
- _Unwind_Word tmp;
-
- e = read_uleb128 (e, &tmp);
-
- // Zero signals the end of the list. If we've not found
- // a match by now, then we've failed the specification.
- if (tmp == 0)
- return false;
-
- // Match a ttype entry.
- catch_type = get_ttype_entry (info, tmp);
-
- // ??? There is currently no way to ask the RTTI code about the
- // relationship between two types without reference to a specific
- // object. There should be; then we wouldn't need to mess with
- // thrown_ptr here.
- if (get_adjusted_ptr (catch_type, throw_type, &thrown_ptr))
- return true;
- }
-}
-
-
-// Save stage1 handler information in the exception object
-
-static inline void
-save_caught_exception(struct _Unwind_Exception* ue_header,
- struct _Unwind_Context* context
- __attribute__((__unused__)),
- void* thrown_ptr,
- int handler_switch_value,
- const unsigned char* language_specific_data,
- _Unwind_Ptr landing_pad __attribute__((__unused__)),
- const unsigned char* action_record)
-{
- __cxa_exception* xh = __get_exception_header_from_ue(ue_header);
-
- xh->handlerSwitchValue = handler_switch_value;
- xh->actionRecord = action_record;
- xh->languageSpecificData = language_specific_data;
- xh->adjustedPtr = thrown_ptr;
-
- // ??? Completely unknown what this field is supposed to be for.
- // ??? Need to cache TType encoding base for call_unexpected.
- xh->catchTemp = landing_pad;
-}
-
-
-// Restore the catch handler information saved during phase1.
-
-static inline void
-restore_caught_exception(struct _Unwind_Exception* ue_header,
- int& handler_switch_value,
- const unsigned char*& language_specific_data,
- _Unwind_Ptr& landing_pad)
-{
- __cxa_exception* xh = __get_exception_header_from_ue(ue_header);
- handler_switch_value = xh->handlerSwitchValue;
- language_specific_data = xh->languageSpecificData;
- landing_pad = (_Unwind_Ptr) xh->catchTemp;
-}
-
-#define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND
-
-#endif // !__ARM_EABI_UNWINDER__
-
-// Return true if the filter spec is empty, ie throw().
-
-static bool
-empty_exception_spec (lsda_header_info *info, _Unwind_Sword filter_value)
-{
- const unsigned char *e = info->TType - filter_value - 1;
- _Unwind_Word tmp;
-
- e = read_uleb128 (e, &tmp);
- return tmp == 0;
-}
-
-namespace __cxxabiv1
-{
-
-// Using a different personality function name causes link failures
-// when trying to mix code using different exception handling models.
-#ifdef _GLIBCXX_SJLJ_EXCEPTIONS
-#define PERSONALITY_FUNCTION __gxx_personality_sj0
-#define __builtin_eh_return_data_regno(x) x
-#else
-#define PERSONALITY_FUNCTION __gxx_personality_v0
-#endif
-
-extern "C" _Unwind_Reason_Code
-#ifdef __ARM_EABI_UNWINDER__
-PERSONALITY_FUNCTION (_Unwind_State state,
- struct _Unwind_Exception* ue_header,
- struct _Unwind_Context* context)
-#else
-PERSONALITY_FUNCTION (int version,
- _Unwind_Action actions,
- _Unwind_Exception_Class exception_class,
- struct _Unwind_Exception *ue_header,
- struct _Unwind_Context *context)
-#endif
-{
- enum found_handler_type
- {
- found_nothing,
- found_terminate,
- found_cleanup,
- found_handler
- } found_type;
-
- lsda_header_info info;
- const unsigned char *language_specific_data;
- const unsigned char *action_record;
- const unsigned char *p;
- _Unwind_Ptr landing_pad, ip;
- int handler_switch_value;
- void* thrown_ptr = ue_header + 1;
- bool foreign_exception;
- int ip_before_insn = 0;
-
-#ifdef __ARM_EABI_UNWINDER__
- _Unwind_Action actions;
-
- switch (state & _US_ACTION_MASK)
- {
- case _US_VIRTUAL_UNWIND_FRAME:
- actions = _UA_SEARCH_PHASE;
- break;
-
- case _US_UNWIND_FRAME_STARTING:
- actions = _UA_CLEANUP_PHASE;
- if (!(state & _US_FORCE_UNWIND)
- && ue_header->barrier_cache.sp == _Unwind_GetGR(context, 13))
- actions |= _UA_HANDLER_FRAME;
- break;
-
- case _US_UNWIND_FRAME_RESUME:
- CONTINUE_UNWINDING;
- break;
-
- default:
- std::abort();
- }
- actions |= state & _US_FORCE_UNWIND;
-
- // We don't know which runtime we're working with, so can't check this.
- // However the ABI routines hide this from us, and we don't actually need
- // to know.
- foreign_exception = false;
-
- // The dwarf unwinder assumes the context structure holds things like the
- // function and LSDA pointers. The ARM implementation caches these in
- // the exception header (UCB). To avoid rewriting everything we make the
- // virtual IP register point at the UCB.
- ip = (_Unwind_Ptr) ue_header;
- _Unwind_SetGR(context, 12, ip);
-#else
- __cxa_exception* xh = __get_exception_header_from_ue(ue_header);
-
- // Interface version check.
- if (version != 1)
- return _URC_FATAL_PHASE1_ERROR;
- foreign_exception = !__is_gxx_exception_class(exception_class);
-#endif
-
- // Shortcut for phase 2 found handler for domestic exception.
- if (actions == (_UA_CLEANUP_PHASE | _UA_HANDLER_FRAME)
- && !foreign_exception)
- {
- restore_caught_exception(ue_header, handler_switch_value,
- language_specific_data, landing_pad);
- found_type = (landing_pad == 0 ? found_terminate : found_handler);
- goto install_context;
- }
-
- language_specific_data = (const unsigned char *)
- _Unwind_GetLanguageSpecificData (context);
-
- // If no LSDA, then there are no handlers or cleanups.
- if (! language_specific_data)
- CONTINUE_UNWINDING;
-
- // Parse the LSDA header.
- p = parse_lsda_header (context, language_specific_data, &info);
- info.ttype_base = base_of_encoded_value (info.ttype_encoding, context);
-#ifdef _GLIBCXX_HAVE_GETIPINFO
- ip = _Unwind_GetIPInfo (context, &ip_before_insn);
-#else
- ip = _Unwind_GetIP (context);
-#endif
- if (! ip_before_insn)
- --ip;
- landing_pad = 0;
- action_record = 0;
- handler_switch_value = 0;
-
-#ifdef _GLIBCXX_SJLJ_EXCEPTIONS
- // The given "IP" is an index into the call-site table, with two
- // exceptions -- -1 means no-action, and 0 means terminate. But
- // since we're using uleb128 values, we've not got random access
- // to the array.
- if ((int) ip < 0)
- return _URC_CONTINUE_UNWIND;
- else if (ip == 0)
- {
- // Fall through to set found_terminate.
- }
- else
- {
- _Unwind_Word cs_lp, cs_action;
- do
- {
- p = read_uleb128 (p, &cs_lp);
- p = read_uleb128 (p, &cs_action);
- }
- while (--ip);
-
- // Can never have null landing pad for sjlj -- that would have
- // been indicated by a -1 call site index.
- landing_pad = cs_lp + 1;
- if (cs_action)
- action_record = info.action_table + cs_action - 1;
- goto found_something;
- }
-#else
- // Search the call-site table for the action associated with this IP.
- while (p < info.action_table)
- {
- _Unwind_Ptr cs_start, cs_len, cs_lp;
- _Unwind_Word cs_action;
-
- // Note that all call-site encodings are "absolute" displacements.
- p = read_encoded_value (0, info.call_site_encoding, p, &cs_start);
- p = read_encoded_value (0, info.call_site_encoding, p, &cs_len);
- p = read_encoded_value (0, info.call_site_encoding, p, &cs_lp);
- p = read_uleb128 (p, &cs_action);
-
- // The table is sorted, so if we've passed the ip, stop.
- if (ip < info.Start + cs_start)
- p = info.action_table;
- else if (ip < info.Start + cs_start + cs_len)
- {
- if (cs_lp)
- landing_pad = info.LPStart + cs_lp;
- if (cs_action)
- action_record = info.action_table + cs_action - 1;
- goto found_something;
- }
- }
-#endif // _GLIBCXX_SJLJ_EXCEPTIONS
-
- // If ip is not present in the table, call terminate. This is for
- // a destructor inside a cleanup, or a library routine the compiler
- // was not expecting to throw.
- found_type = found_terminate;
- goto do_something;
-
- found_something:
- if (landing_pad == 0)
- {
- // If ip is present, and has a null landing pad, there are
- // no cleanups or handlers to be run.
- found_type = found_nothing;
- }
- else if (action_record == 0)
- {
- // If ip is present, has a non-null landing pad, and a null
- // action table offset, then there are only cleanups present.
- // Cleanups use a zero switch value, as set above.
- found_type = found_cleanup;
- }
- else
- {
- // Otherwise we have a catch handler or exception specification.
-
- _Unwind_Sword ar_filter, ar_disp;
- const std::type_info* catch_type;
- _throw_typet* throw_type;
- bool saw_cleanup = false;
- bool saw_handler = false;
-
- // During forced unwinding, we only run cleanups. With a foreign
- // exception class, there's no exception type.
- // ??? What to do about GNU Java and GNU Ada exceptions.
-
- if ((actions & _UA_FORCE_UNWIND)
- || foreign_exception)
- throw_type = 0;
- else
-#ifdef __ARM_EABI_UNWINDER__
- throw_type = ue_header;
-#else
- throw_type = xh->exceptionType;
-#endif
-
- while (1)
- {
- p = action_record;
- p = read_sleb128 (p, &ar_filter);
- read_sleb128 (p, &ar_disp);
-
- if (ar_filter == 0)
- {
- // Zero filter values are cleanups.
- saw_cleanup = true;
- }
- else if (ar_filter > 0)
- {
- // Positive filter values are handlers.
- catch_type = get_ttype_entry (&info, ar_filter);
-
- // Null catch type is a catch-all handler; we can catch foreign
- // exceptions with this. Otherwise we must match types.
- if (! catch_type
- || (throw_type
- && get_adjusted_ptr (catch_type, throw_type,
- &thrown_ptr)))
- {
- saw_handler = true;
- break;
- }
- }
- else
- {
- // Negative filter values are exception specifications.
- // ??? How do foreign exceptions fit in? As far as I can
- // see we can't match because there's no __cxa_exception
- // object to stuff bits in for __cxa_call_unexpected to use.
- // Allow them iff the exception spec is non-empty. I.e.
- // a throw() specification results in __unexpected.
- if (throw_type
- ? ! check_exception_spec (&info, throw_type, thrown_ptr,
- ar_filter)
- : empty_exception_spec (&info, ar_filter))
- {
- saw_handler = true;
- break;
- }
- }
-
- if (ar_disp == 0)
- break;
- action_record = p + ar_disp;
- }
-
- if (saw_handler)
- {
- handler_switch_value = ar_filter;
- found_type = found_handler;
- }
- else
- found_type = (saw_cleanup ? found_cleanup : found_nothing);
- }
-
- do_something:
- if (found_type == found_nothing)
- CONTINUE_UNWINDING;
-
- if (actions & _UA_SEARCH_PHASE)
- {
- if (found_type == found_cleanup)
- CONTINUE_UNWINDING;
-
- // For domestic exceptions, we cache data from phase 1 for phase 2.
- if (!foreign_exception)
- {
- save_caught_exception(ue_header, context, thrown_ptr,
- handler_switch_value, language_specific_data,
- landing_pad, action_record);
- }
- return _URC_HANDLER_FOUND;
- }
-
- install_context:
-
- // We can't use any of the cxa routines with foreign exceptions,
- // because they all expect ue_header to be a struct __cxa_exception.
- // So in that case, call terminate or unexpected directly.
- if ((actions & _UA_FORCE_UNWIND)
- || foreign_exception)
- {
- if (found_type == found_terminate)
- std::terminate ();
- else if (handler_switch_value < 0)
- {
- try
- { std::unexpected (); }
- catch(...)
- { std::terminate (); }
- }
- }
- else
- {
- if (found_type == found_terminate)
- __cxa_call_terminate(ue_header);
-
- // Cache the TType base value for __cxa_call_unexpected, as we won't
- // have an _Unwind_Context then.
- if (handler_switch_value < 0)
- {
- parse_lsda_header (context, language_specific_data, &info);
-
-#ifdef __ARM_EABI_UNWINDER__
- const _Unwind_Word* e;
- _Unwind_Word n;
-
- e = ((const _Unwind_Word*) info.TType) - handler_switch_value - 1;
- // Count the number of rtti objects.
- n = 0;
- while (e[n] != 0)
- n++;
-
- // Count.
- ue_header->barrier_cache.bitpattern[1] = n;
- // Base (obsolete)
- ue_header->barrier_cache.bitpattern[2] = 0;
- // Stride.
- ue_header->barrier_cache.bitpattern[3] = 4;
- // List head.
- ue_header->barrier_cache.bitpattern[4] = (_Unwind_Word) e;
-#else
- xh->catchTemp = base_of_encoded_value (info.ttype_encoding, context);
-#endif
- }
- }
-
- /* For targets with pointers smaller than the word size, we must extend the
- pointer, and this extension is target dependent. */
- _Unwind_SetGR (context, __builtin_eh_return_data_regno (0),
- __builtin_extend_pointer (ue_header));
- _Unwind_SetGR (context, __builtin_eh_return_data_regno (1),
- handler_switch_value);
- _Unwind_SetIP (context, landing_pad);
-#ifdef __ARM_EABI_UNWINDER__
- if (found_type == found_cleanup)
- __cxa_begin_cleanup(ue_header);
-#endif
- return _URC_INSTALL_CONTEXT;
-}
-
-/* The ARM EABI implementation of __cxa_call_unexpected is in a
- different file so that the personality routine (PR) can be used
- standalone. The generic routine shared datastructures with the PR
- so it is most convenient to implement it here. */
-#ifndef __ARM_EABI_UNWINDER__
-extern "C" void
-__cxa_call_unexpected (void *exc_obj_in)
-{
- _Unwind_Exception *exc_obj
- = reinterpret_cast <_Unwind_Exception *>(exc_obj_in);
-
- __cxa_begin_catch (exc_obj);
-
- // This function is a handler for our exception argument. If we exit
- // by throwing a different exception, we'll need the original cleaned up.
- struct end_catch_protect
- {
- end_catch_protect() { }
- ~end_catch_protect() { __cxa_end_catch(); }
- } end_catch_protect_obj;
-
- lsda_header_info info;
- __cxa_exception *xh = __get_exception_header_from_ue (exc_obj);
- const unsigned char *xh_lsda;
- _Unwind_Sword xh_switch_value;
- std::terminate_handler xh_terminate_handler;
-
- // If the unexpectedHandler rethrows the exception (e.g. to categorize it),
- // it will clobber data about the current handler. So copy the data out now.
- xh_lsda = xh->languageSpecificData;
- xh_switch_value = xh->handlerSwitchValue;
- xh_terminate_handler = xh->terminateHandler;
- info.ttype_base = (_Unwind_Ptr) xh->catchTemp;
-
- try
- { __unexpected (xh->unexpectedHandler); }
- catch(...)
- {
- // Get the exception thrown from unexpected.
-
- __cxa_eh_globals *globals = __cxa_get_globals_fast ();
- __cxa_exception *new_xh = globals->caughtExceptions;
- void *new_ptr = new_xh + 1;
-
- // We don't quite have enough stuff cached; re-parse the LSDA.
- parse_lsda_header (0, xh_lsda, &info);
-
- // If this new exception meets the exception spec, allow it.
- if (check_exception_spec (&info, new_xh->exceptionType,
- new_ptr, xh_switch_value))
- __throw_exception_again;
-
- // If the exception spec allows std::bad_exception, throw that.
- // We don't have a thrown object to compare against, but since
- // bad_exception doesn't have virtual bases, that's OK; just pass 0.
-#ifdef __EXCEPTIONS
- const std::type_info &bad_exc = typeid (std::bad_exception);
- if (check_exception_spec (&info, &bad_exc, 0, xh_switch_value))
- throw std::bad_exception();
-#endif
-
- // Otherwise, die.
- __terminate (xh_terminate_handler);
- }
-}
-#endif
-
-} // namespace __cxxabiv1
diff --git a/contrib/libstdc++/libsupc++/eh_term_handler.cc b/contrib/libstdc++/libsupc++/eh_term_handler.cc
deleted file mode 100644
index b3914974931d..000000000000
--- a/contrib/libstdc++/libsupc++/eh_term_handler.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// -*- C++ -*- std::terminate handler
-// Copyright (C) 2002, 2003 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "unwind-cxx.h"
-
-/* We default to the talkative, informative handler in a normal hosted
- library. This pulls in the demangler, the dyn-string utilities, and
- elements of the I/O library. For a low-memory environment, you can return
- to the earlier "silent death" handler by including <cstdlib>, initializing
- to "std::abort", and rebuilding the library. In a freestanding mode, we
- default to this latter approach. */
-
-#if ! _GLIBCXX_HOSTED
-# include <cstdlib>
-#endif
-
-/* The current installed user handler. */
-std::terminate_handler __cxxabiv1::__terminate_handler =
-#if _GLIBCXX_HOSTED
- __gnu_cxx::__verbose_terminate_handler;
-#else
- std::abort;
-#endif
-
diff --git a/contrib/libstdc++/libsupc++/eh_terminate.cc b/contrib/libstdc++/libsupc++/eh_terminate.cc
deleted file mode 100644
index ffd8a52971f0..000000000000
--- a/contrib/libstdc++/libsupc++/eh_terminate.cc
+++ /dev/null
@@ -1,83 +0,0 @@
-// -*- C++ -*- std::terminate, std::unexpected and friends.
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include "typeinfo"
-#include "exception"
-#include <cstdlib>
-#include "unwind-cxx.h"
-#include "exception_defines.h"
-
-using namespace __cxxabiv1;
-
-void
-__cxxabiv1::__terminate (std::terminate_handler handler)
-{
- try {
- handler ();
- std::abort ();
- } catch (...) {
- std::abort ();
- }
-}
-
-void
-std::terminate ()
-{
- __terminate (__terminate_handler);
-}
-
-void
-__cxxabiv1::__unexpected (std::unexpected_handler handler)
-{
- handler();
- std::terminate ();
-}
-
-void
-std::unexpected ()
-{
- __unexpected (__unexpected_handler);
-}
-
-std::terminate_handler
-std::set_terminate (std::terminate_handler func) throw()
-{
- std::terminate_handler old = __terminate_handler;
- __terminate_handler = func;
- return old;
-}
-
-std::unexpected_handler
-std::set_unexpected (std::unexpected_handler func) throw()
-{
- std::unexpected_handler old = __unexpected_handler;
- __unexpected_handler = func;
- return old;
-}
diff --git a/contrib/libstdc++/libsupc++/eh_throw.cc b/contrib/libstdc++/libsupc++/eh_throw.cc
deleted file mode 100644
index b405f8f7c641..000000000000
--- a/contrib/libstdc++/libsupc++/eh_throw.cc
+++ /dev/null
@@ -1,110 +0,0 @@
-// -*- C++ -*- Exception handling routines for throwing.
-// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "unwind-cxx.h"
-
-using namespace __cxxabiv1;
-
-
-static void
-__gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc)
-{
- __cxa_exception *header = __get_exception_header_from_ue (exc);
-
- // If we haven't been caught by a foreign handler, then this is
- // some sort of unwind error. In that case just die immediately.
- // _Unwind_DeleteException in the HP-UX IA64 libunwind library
- // returns _URC_NO_REASON and not _URC_FOREIGN_EXCEPTION_CAUGHT
- // like the GCC _Unwind_DeleteException function does.
- if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON)
- __terminate (header->terminateHandler);
-
- if (header->exceptionDestructor)
- header->exceptionDestructor (header + 1);
-
- __cxa_free_exception (header + 1);
-}
-
-
-extern "C" void
-__cxxabiv1::__cxa_throw (void *obj, std::type_info *tinfo,
- void (*dest) (void *))
-{
- __cxa_exception *header = __get_exception_header_from_obj (obj);
- header->exceptionType = tinfo;
- header->exceptionDestructor = dest;
- header->unexpectedHandler = __unexpected_handler;
- header->terminateHandler = __terminate_handler;
- __GXX_INIT_EXCEPTION_CLASS(header->unwindHeader.exception_class);
- header->unwindHeader.exception_cleanup = __gxx_exception_cleanup;
-
-#ifdef _GLIBCXX_SJLJ_EXCEPTIONS
- _Unwind_SjLj_RaiseException (&header->unwindHeader);
-#else
- _Unwind_RaiseException (&header->unwindHeader);
-#endif
-
- // Some sort of unwinding error. Note that terminate is a handler.
- __cxa_begin_catch (&header->unwindHeader);
- std::terminate ();
-}
-
-extern "C" void
-__cxxabiv1::__cxa_rethrow ()
-{
- __cxa_eh_globals *globals = __cxa_get_globals ();
- __cxa_exception *header = globals->caughtExceptions;
-
- globals->uncaughtExceptions += 1;
-
- // Watch for luser rethrowing with no active exception.
- if (header)
- {
- // Tell __cxa_end_catch this is a rethrow.
- if (!__is_gxx_exception_class(header->unwindHeader.exception_class))
- globals->caughtExceptions = 0;
- else
- header->handlerCount = -header->handlerCount;
-
-#ifdef _GLIBCXX_SJLJ_EXCEPTIONS
- _Unwind_SjLj_Resume_or_Rethrow (&header->unwindHeader);
-#else
-#if defined(_LIBUNWIND_STD_ABI)
- _Unwind_RaiseException (&header->unwindHeader);
-#else
- _Unwind_Resume_or_Rethrow (&header->unwindHeader);
-#endif
-#endif
-
- // Some sort of unwinding error. Note that terminate is a handler.
- __cxa_begin_catch (&header->unwindHeader);
- }
- std::terminate ();
-}
diff --git a/contrib/libstdc++/libsupc++/eh_type.cc b/contrib/libstdc++/libsupc++/eh_type.cc
deleted file mode 100644
index 99627efdd976..000000000000
--- a/contrib/libstdc++/libsupc++/eh_type.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// -*- C++ -*- Exception handling routines for catching.
-// Copyright (C) 2001 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-
-#include <typeinfo>
-#include <cxxabi.h>
-#include "unwind-cxx.h"
-
-namespace __cxxabiv1
-{
-
-// Returns the type_info for the currently handled exception [15.3/8], or
-// null if there is none.
-extern "C"
-std::type_info *__cxa_current_exception_type ()
-{
- __cxa_eh_globals *globals = __cxa_get_globals ();
- __cxa_exception *header = globals->caughtExceptions;
- if (header)
- return header->exceptionType;
- else
- return 0;
-}
-
-} // namespace __cxxabiv1
diff --git a/contrib/libstdc++/libsupc++/eh_unex_handler.cc b/contrib/libstdc++/libsupc++/eh_unex_handler.cc
deleted file mode 100644
index a57166a8bb08..000000000000
--- a/contrib/libstdc++/libsupc++/eh_unex_handler.cc
+++ /dev/null
@@ -1,34 +0,0 @@
-// -*- C++ -*- std::unexpected handler
-// Copyright (C) 2002 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include "unwind-cxx.h"
-
-/* The current installed user handler. */
-std::unexpected_handler __cxxabiv1::__unexpected_handler = std::terminate;
-
diff --git a/contrib/libstdc++/libsupc++/exception b/contrib/libstdc++/libsupc++/exception
deleted file mode 100644
index a7e2db78dd19..000000000000
--- a/contrib/libstdc++/libsupc++/exception
+++ /dev/null
@@ -1,135 +0,0 @@
-// Exception Handling support header for -*- C++ -*-
-
-// Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-// 2004, 2005, 2006, 2007
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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 exception
- * This is a Standard C++ Library header.
- */
-
-#ifndef __EXCEPTION__
-#define __EXCEPTION__
-
-#pragma GCC visibility push(default)
-
-#include <bits/c++config.h>
-
-extern "C++" {
-
-namespace std
-{
- /**
- * @brief Base class for all library exceptions.
- *
- * This is the base class for all exceptions thrown by the standard
- * library, and by certain language expressions. You are free to derive
- * your own %exception classes, or use a different hierarchy, or to
- * throw non-class data (e.g., fundamental types).
- */
- class exception
- {
- public:
- exception() throw() { }
- virtual ~exception() throw();
-
- /** Returns a C-style character string describing the general cause
- * of the current error. */
- virtual const char* what() const throw();
- };
-
- /** If an %exception is thrown which is not listed in a function's
- * %exception specification, one of these may be thrown. */
- class bad_exception : public exception
- {
- public:
- bad_exception() throw() { }
-
- // This declaration is not useless:
- // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118
- virtual ~bad_exception() throw();
-
- // See comment in eh_exception.cc.
- virtual const char* what() const throw();
- };
-
- /// If you write a replacement %terminate handler, it must be of this type.
- typedef void (*terminate_handler) ();
-
- /// If you write a replacement %unexpected handler, it must be of this type.
- typedef void (*unexpected_handler) ();
-
- /// Takes a new handler function as an argument, returns the old function.
- terminate_handler set_terminate(terminate_handler) throw();
-
- /** The runtime will call this function if %exception handling must be
- * abandoned for any reason. It can also be called by the user. */
- void terminate() __attribute__ ((__noreturn__));
-
- /// Takes a new handler function as an argument, returns the old function.
- unexpected_handler set_unexpected(unexpected_handler) throw();
-
- /** The runtime will call this function if an %exception is thrown which
- * violates the function's %exception specification. */
- void unexpected() __attribute__ ((__noreturn__));
-
- /** [18.6.4]/1: "Returns true after completing evaluation of a
- * throw-expression until either completing initialization of the
- * exception-declaration in the matching handler or entering @c unexpected()
- * due to the throw; or after entering @c terminate() for any reason
- * other than an explicit call to @c terminate(). [Note: This includes
- * stack unwinding [15.2]. end note]"
- *
- * 2: "When @c uncaught_exception() is true, throwing an %exception can
- * result in a call of @c terminate() (15.5.1)."
- */
- bool uncaught_exception() throw();
-} // namespace std
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- /** A replacement for the standard terminate_handler which prints more
- information about the terminating exception (if any) on stderr. Call
- @code
- std::set_terminate (__gnu_cxx::__verbose_terminate_handler)
- @endcode
- to use. For more info, see
- http://gcc.gnu.org/onlinedocs/libstdc++/19_diagnostics/howto.html#4
-
- In 3.4 and later, this is on by default.
- */
- void __verbose_terminate_handler ();
-
-_GLIBCXX_END_NAMESPACE
-
-} // extern "C++"
-
-#pragma GCC visibility pop
-
-#endif
diff --git a/contrib/libstdc++/libsupc++/exception_defines.h b/contrib/libstdc++/libsupc++/exception_defines.h
deleted file mode 100644
index 446ed9466cb2..000000000000
--- a/contrib/libstdc++/libsupc++/exception_defines.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// -fno-exceptions Support -*- C++ -*-
-
-// Copyright (C) 2001, 2003 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.
-
-//
-// ISO C++ 14882: 19.1 Exception classes
-//
-
-/** @file exception_defines.h
- * This is a Standard C++ Library header.
- */
-
-#ifndef _EXCEPTION_DEFINES_H
-#define _EXCEPTION_DEFINES_H 1
-
-#ifndef __EXCEPTIONS
-// Iff -fno-exceptions, transform error handling code to work without it.
-# define try if (true)
-# define catch(X) if (false)
-# define __throw_exception_again
-#else
-// Else proceed normally.
-# define __throw_exception_again throw
-#endif
-
-#endif
diff --git a/contrib/libstdc++/libsupc++/guard.cc b/contrib/libstdc++/libsupc++/guard.cc
deleted file mode 100644
index eb6421689b3a..000000000000
--- a/contrib/libstdc++/libsupc++/guard.cc
+++ /dev/null
@@ -1,201 +0,0 @@
-// Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-
-// GCC 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 GCC; 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.
-
-// Written by Mark Mitchell, CodeSourcery LLC, <mark@codesourcery.com>
-// Thread support written by Jason Merrill, Red Hat Inc. <jason@redhat.com>
-
-#include <bits/c++config.h>
-#include <cxxabi.h>
-#include <exception>
-#include <new>
-#include <ext/atomicity.h>
-#include <ext/concurrence.h>
-
-// The IA64/generic ABI uses the first byte of the guard variable.
-// The ARM EABI uses the least significant bit.
-
-// Thread-safe static local initialization support.
-#ifdef __GTHREADS
-namespace
-{
- // A single mutex controlling all static initializations.
- static __gnu_cxx::__recursive_mutex* static_mutex;
-
- typedef char fake_recursive_mutex[sizeof(__gnu_cxx::__recursive_mutex)]
- __attribute__ ((aligned(__alignof__(__gnu_cxx::__recursive_mutex))));
- fake_recursive_mutex fake_mutex;
-
- static void init()
- { static_mutex = new (&fake_mutex) __gnu_cxx::__recursive_mutex(); }
-
- __gnu_cxx::__recursive_mutex&
- get_static_mutex()
- {
- static __gthread_once_t once = __GTHREAD_ONCE_INIT;
- __gthread_once(&once, init);
- return *static_mutex;
- }
-}
-
-#ifndef _GLIBCXX_GUARD_TEST_AND_ACQUIRE
-inline bool
-__test_and_acquire (__cxxabiv1::__guard *g)
-{
- bool b = _GLIBCXX_GUARD_TEST (g);
- _GLIBCXX_READ_MEM_BARRIER;
- return b;
-}
-#define _GLIBCXX_GUARD_TEST_AND_ACQUIRE(G) __test_and_acquire (G)
-#endif
-
-#ifndef _GLIBCXX_GUARD_SET_AND_RELEASE
-inline void
-__set_and_release (__cxxabiv1::__guard *g)
-{
- _GLIBCXX_WRITE_MEM_BARRIER;
- _GLIBCXX_GUARD_SET (g);
-}
-#define _GLIBCXX_GUARD_SET_AND_RELEASE(G) __set_and_release (G)
-#endif
-
-#else /* !__GTHREADS */
-
-#undef _GLIBCXX_GUARD_TEST_AND_ACQUIRE
-#undef _GLIBCXX_GUARD_SET_AND_RELEASE
-#define _GLIBCXX_GUARD_SET_AND_RELEASE(G) _GLIBCXX_GUARD_SET (G)
-
-#endif /* __GTHREADS */
-
-namespace __gnu_cxx
-{
- // 6.7[stmt.dcl]/4: If control re-enters the declaration (recursively)
- // while the object is being initialized, the behavior is undefined.
-
- // Since we already have a library function to handle locking, we might
- // as well check for this situation and throw an exception.
- // We use the second byte of the guard variable to remember that we're
- // in the middle of an initialization.
- class recursive_init_error: public std::exception
- {
- public:
- recursive_init_error() throw() { }
- virtual ~recursive_init_error() throw ();
- };
-
- recursive_init_error::~recursive_init_error() throw() { }
-}
-
-namespace __cxxabiv1
-{
- static inline int
- recursion_push (__guard* g)
- { return ((char *)g)[1]++; }
-
- static inline void
- recursion_pop (__guard* g)
- { --((char *)g)[1]; }
-
- static int
- acquire (__guard *g)
- {
- if (_GLIBCXX_GUARD_TEST (g))
- return 0;
-
- if (recursion_push (g))
- {
-#ifdef __EXCEPTIONS
- throw __gnu_cxx::recursive_init_error();
-#else
- // Use __builtin_trap so we don't require abort().
- __builtin_trap ();
-#endif
- }
- return 1;
- }
-
- extern "C"
- int __cxa_guard_acquire (__guard *g)
- {
-#ifdef __GTHREADS
- // If the target can reorder loads, we need to insert a read memory
- // barrier so that accesses to the guarded variable happen after the
- // guard test.
- if (_GLIBCXX_GUARD_TEST_AND_ACQUIRE (g))
- return 0;
-
- if (__gthread_active_p ())
- {
- // Simple wrapper for exception safety.
- struct mutex_wrapper
- {
- bool unlock;
- mutex_wrapper() : unlock(true)
- { get_static_mutex().lock(); }
-
- ~mutex_wrapper()
- {
- if (unlock)
- static_mutex->unlock();
- }
- };
-
- mutex_wrapper mw;
- if (acquire (g))
- {
- mw.unlock = false;
- return 1;
- }
-
- return 0;
- }
-#endif
-
- return acquire (g);
- }
-
- extern "C"
- void __cxa_guard_abort (__guard *g)
- {
- recursion_pop (g);
-#ifdef __GTHREADS
- if (__gthread_active_p ())
- static_mutex->unlock();
-#endif
- }
-
- extern "C"
- void __cxa_guard_release (__guard *g)
- {
- recursion_pop (g);
- _GLIBCXX_GUARD_SET_AND_RELEASE (g);
-#ifdef __GTHREADS
- if (__gthread_active_p ())
- static_mutex->unlock();
-#endif
- }
-}
diff --git a/contrib/libstdc++/libsupc++/new b/contrib/libstdc++/libsupc++/new
deleted file mode 100644
index a821783b14a6..000000000000
--- a/contrib/libstdc++/libsupc++/new
+++ /dev/null
@@ -1,116 +0,0 @@
-// The -*- C++ -*- dynamic memory management header.
-
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-// 2003, 2004, 2005, 2006, 2007
-// Free Software Foundation
-
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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 new
- * This is a Standard C++ Library header.
- *
- * The header @c new defines several functions to manage dynamic memory and
- * handling memory allocation errors; see
- * http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4 for more.
- */
-
-#ifndef _NEW
-#define _NEW
-
-#include <cstddef>
-#include <exception>
-
-#pragma GCC visibility push(default)
-
-extern "C++" {
-
-namespace std
-{
- /**
- * @brief Exception possibly thrown by @c new.
- *
- * @c bad_alloc (or classes derived from it) is used to report allocation
- * errors from the throwing forms of @c new. */
- class bad_alloc : public exception
- {
- public:
- bad_alloc() throw() { }
-
- // This declaration is not useless:
- // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118
- virtual ~bad_alloc() throw();
-
- // See comment in eh_exception.cc.
- virtual const char* what() const throw();
- };
-
- struct nothrow_t { };
-
- extern const nothrow_t nothrow;
-
- /** If you write your own error handler to be called by @c new, it must
- * be of this type. */
- typedef void (*new_handler)();
-
- /// Takes a replacement handler as the argument, returns the
- /// previous handler.
- new_handler set_new_handler(new_handler) throw();
-} // namespace std
-
-//@{
-/** These are replaceable signatures:
- * - normal single new and delete (no arguments, throw @c bad_alloc on error)
- * - normal array new and delete (same)
- * - @c nothrow single new and delete (take a @c nothrow argument, return
- * @c NULL on error)
- * - @c nothrow array new and delete (same)
- *
- * Placement new and delete signatures (take a memory address argument,
- * does nothing) may not be replaced by a user's program.
-*/
-void* operator new(std::size_t) throw (std::bad_alloc);
-void* operator new[](std::size_t) throw (std::bad_alloc);
-void operator delete(void*) throw();
-void operator delete[](void*) throw();
-void* operator new(std::size_t, const std::nothrow_t&) throw();
-void* operator new[](std::size_t, const std::nothrow_t&) throw();
-void operator delete(void*, const std::nothrow_t&) throw();
-void operator delete[](void*, const std::nothrow_t&) throw();
-
-// Default placement versions of operator new.
-inline void* operator new(std::size_t, void* __p) throw() { return __p; }
-inline void* operator new[](std::size_t, void* __p) throw() { return __p; }
-
-// Default placement versions of operator delete.
-inline void operator delete (void*, void*) throw() { }
-inline void operator delete[](void*, void*) throw() { }
-//@}
-} // extern "C++"
-
-#pragma GCC visibility pop
-
-#endif
diff --git a/contrib/libstdc++/libsupc++/new_handler.cc b/contrib/libstdc++/libsupc++/new_handler.cc
deleted file mode 100644
index 3580acb09771..000000000000
--- a/contrib/libstdc++/libsupc++/new_handler.cc
+++ /dev/null
@@ -1,54 +0,0 @@
-// Implementation file for the -*- C++ -*- dynamic memory management header.
-
-// Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-// 2005, 2006, 2007
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include "new"
-
-const std::nothrow_t std::nothrow = { };
-
-using std::new_handler;
-new_handler __new_handler;
-
-new_handler
-std::set_new_handler (new_handler handler) throw()
-{
- new_handler prev_handler = __new_handler;
- __new_handler = handler;
- return prev_handler;
-}
-
-std::bad_alloc::~bad_alloc() throw() { }
-
-const char*
-std::bad_alloc::what() const throw()
-{
- return "std::bad_alloc";
-}
diff --git a/contrib/libstdc++/libsupc++/new_op.cc b/contrib/libstdc++/libsupc++/new_op.cc
deleted file mode 100644
index 8059d1d110cc..000000000000
--- a/contrib/libstdc++/libsupc++/new_op.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-// Support routines for the -*- C++ -*- dynamic memory management.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include <cstdlib>
-#include <exception_defines.h>
-#include "new"
-
-using std::new_handler;
-using std::bad_alloc;
-#if _GLIBCXX_HOSTED
-using std::malloc;
-#else
-// A freestanding C runtime may not provide "malloc" -- but there is no
-// other reasonable way to implement "operator new".
-extern "C" void *malloc (std::size_t);
-#endif
-
-extern new_handler __new_handler;
-
-_GLIBCXX_WEAK_DEFINITION void *
-operator new (std::size_t sz) throw (std::bad_alloc)
-{
- void *p;
-
- /* malloc (0) is unpredictable; avoid it. */
- if (sz == 0)
- sz = 1;
- p = (void *) malloc (sz);
- while (p == 0)
- {
- new_handler handler = __new_handler;
- if (! handler)
-#ifdef __EXCEPTIONS
- throw bad_alloc();
-#else
- std::abort();
-#endif
- handler ();
- p = (void *) malloc (sz);
- }
-
- return p;
-}
diff --git a/contrib/libstdc++/libsupc++/new_opnt.cc b/contrib/libstdc++/libsupc++/new_opnt.cc
deleted file mode 100644
index 65b79a355f05..000000000000
--- a/contrib/libstdc++/libsupc++/new_opnt.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-// Support routines for the -*- C++ -*- dynamic memory management.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include <exception_defines.h>
-#include "new"
-
-using std::new_handler;
-using std::bad_alloc;
-
-extern "C" void *malloc (std::size_t);
-extern new_handler __new_handler;
-
-_GLIBCXX_WEAK_DEFINITION void *
-operator new (std::size_t sz, const std::nothrow_t&) throw()
-{
- void *p;
-
- /* malloc (0) is unpredictable; avoid it. */
- if (sz == 0)
- sz = 1;
- p = (void *) malloc (sz);
- while (p == 0)
- {
- new_handler handler = __new_handler;
- if (! handler)
- return 0;
- try
- {
- handler ();
- }
- catch (bad_alloc &)
- {
- return 0;
- }
-
- p = (void *) malloc (sz);
- }
-
- return p;
-}
diff --git a/contrib/libstdc++/libsupc++/new_opv.cc b/contrib/libstdc++/libsupc++/new_opv.cc
deleted file mode 100644
index e40565bada71..000000000000
--- a/contrib/libstdc++/libsupc++/new_opv.cc
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "new"
-
-_GLIBCXX_WEAK_DEFINITION void*
-operator new[] (std::size_t sz) throw (std::bad_alloc)
-{
- return ::operator new(sz);
-}
diff --git a/contrib/libstdc++/libsupc++/new_opvnt.cc b/contrib/libstdc++/libsupc++/new_opvnt.cc
deleted file mode 100644
index 7d59d43c33fb..000000000000
--- a/contrib/libstdc++/libsupc++/new_opvnt.cc
+++ /dev/null
@@ -1,38 +0,0 @@
-// Boilerplate support routines for -*- C++ -*- dynamic memory management.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include "new"
-
-_GLIBCXX_WEAK_DEFINITION void*
-operator new[] (std::size_t sz, const std::nothrow_t& nothrow) throw()
-{
- return ::operator new(sz, nothrow);
-}
diff --git a/contrib/libstdc++/libsupc++/pure.cc b/contrib/libstdc++/libsupc++/pure.cc
deleted file mode 100644
index 8734730e5e80..000000000000
--- a/contrib/libstdc++/libsupc++/pure.cc
+++ /dev/null
@@ -1,56 +0,0 @@
-// -*- C++ -*-
-// Copyright (C) 2000, 2001 Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include <cxxabi.h>
-#include "unwind-cxx.h"
-
-#if _GLIBCXX_HOSTED
-#ifdef _GLIBCXX_HAVE_UNISTD_H
-# include <unistd.h>
-# define writestr(str) write(2, str, sizeof(str) - 1)
-# ifdef __GNU_LIBRARY__
- /* Avoid forcing the library's meaning of `write' on the user program
- by using the "internal" name (for use within the library). */
-/*# define write(fd, buf, n) __write((fd), (buf), (n))*/
-# endif
-#else
-# include <cstdio>
-# define writestr(str) std::fputs(str, stderr)
-#endif
-#else
-# define writestr(str) /* Empty */
-#endif
-
-extern "C" void
-__cxxabiv1::__cxa_pure_virtual (void)
-{
- writestr ("pure virtual method called\n");
- std::terminate ();
-}
diff --git a/contrib/libstdc++/libsupc++/tinfo.cc b/contrib/libstdc++/libsupc++/tinfo.cc
deleted file mode 100644
index 3b6260f41dd5..000000000000
--- a/contrib/libstdc++/libsupc++/tinfo.cc
+++ /dev/null
@@ -1,756 +0,0 @@
-// Methods for type_info for -*- C++ -*- Run Time Type Identification.
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-// 2003, 2004, 2005, 2006, 2007
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-
-// GCC 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 GCC; 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.
-
-#include <bits/c++config.h>
-#include <cstddef>
-#include "tinfo.h"
-#include "new" // for placement new
-
-// This file contains the minimal working set necessary to link with code
-// that uses virtual functions and -frtti but does not actually use RTTI
-// functionality.
-
-std::type_info::
-~type_info ()
-{ }
-
-std::bad_cast::~bad_cast() throw() { }
-std::bad_typeid::~bad_typeid() throw() { }
-
-const char*
-std::bad_cast::what() const throw()
-{
- return "std::bad_cast";
-}
-
-const char*
-std::bad_typeid::what() const throw()
-{
- return "std::bad_typeid";
-}
-
-#if !__GXX_MERGED_TYPEINFO_NAMES
-
-// We can't rely on common symbols being shared between shared objects.
-bool std::type_info::
-operator== (const std::type_info& arg) const
-{
- return (&arg == this) || (__builtin_strcmp (name (), arg.name ()) == 0);
-}
-
-#endif
-
-namespace std {
-
-// return true if this is a type_info for a pointer type
-bool type_info::
-__is_pointer_p () const
-{
- return false;
-}
-
-// return true if this is a type_info for a function type
-bool type_info::
-__is_function_p () const
-{
- return false;
-}
-
-// try and catch a thrown object.
-bool type_info::
-__do_catch (const type_info *thr_type, void **, unsigned) const
-{
- return *this == *thr_type;
-}
-
-// upcast from this type to the target. __class_type_info will override
-bool type_info::
-__do_upcast (const abi::__class_type_info *, void **) const
-{
- return false;
-}
-
-}
-
-namespace {
-
-using namespace std;
-using namespace abi;
-
-// Initial part of a vtable, this structure is used with offsetof, so we don't
-// have to keep alignments consistent manually.
-struct vtable_prefix
-{
- // Offset to most derived object.
- ptrdiff_t whole_object;
-
- // Additional padding if necessary.
-#ifdef _GLIBCXX_VTABLE_PADDING
- ptrdiff_t padding1;
-#endif
-
- // Pointer to most derived type_info.
- const __class_type_info *whole_type;
-
- // Additional padding if necessary.
-#ifdef _GLIBCXX_VTABLE_PADDING
- ptrdiff_t padding2;
-#endif
-
- // What a class's vptr points to.
- const void *origin;
-};
-
-template <typename T>
-inline const T *
-adjust_pointer (const void *base, ptrdiff_t offset)
-{
- return reinterpret_cast <const T *>
- (reinterpret_cast <const char *> (base) + offset);
-}
-
-// ADDR is a pointer to an object. Convert it to a pointer to a base,
-// using OFFSET. IS_VIRTUAL is true, if we are getting a virtual base.
-inline void const *
-convert_to_base (void const *addr, bool is_virtual, ptrdiff_t offset)
-{
- if (is_virtual)
- {
- const void *vtable = *static_cast <const void *const *> (addr);
-
- offset = *adjust_pointer<ptrdiff_t> (vtable, offset);
- }
-
- return adjust_pointer<void> (addr, offset);
-}
-
-// some predicate functions for __class_type_info::__sub_kind
-inline bool contained_p (__class_type_info::__sub_kind access_path)
-{
- return access_path >= __class_type_info::__contained_mask;
-}
-inline bool public_p (__class_type_info::__sub_kind access_path)
-{
- return access_path & __class_type_info::__contained_public_mask;
-}
-inline bool virtual_p (__class_type_info::__sub_kind access_path)
-{
- return (access_path & __class_type_info::__contained_virtual_mask);
-}
-inline bool contained_public_p (__class_type_info::__sub_kind access_path)
-{
- return ((access_path & __class_type_info::__contained_public)
- == __class_type_info::__contained_public);
-}
-inline bool contained_nonpublic_p (__class_type_info::__sub_kind access_path)
-{
- return ((access_path & __class_type_info::__contained_public)
- == __class_type_info::__contained_mask);
-}
-inline bool contained_nonvirtual_p (__class_type_info::__sub_kind access_path)
-{
- return ((access_path & (__class_type_info::__contained_mask
- | __class_type_info::__contained_virtual_mask))
- == __class_type_info::__contained_mask);
-}
-
-static const __class_type_info *const nonvirtual_base_type =
- static_cast <const __class_type_info *> (0) + 1;
-
-} // namespace
-
-namespace __cxxabiv1
-{
-
-__class_type_info::
-~__class_type_info ()
-{}
-
-__si_class_type_info::
-~__si_class_type_info ()
-{}
-
-__vmi_class_type_info::
-~__vmi_class_type_info ()
-{}
-
-// __upcast_result is used to hold information during traversal of a class
-// hierarchy when catch matching.
-struct __class_type_info::__upcast_result
-{
- const void *dst_ptr; // pointer to caught object
- __sub_kind part2dst; // path from current base to target
- int src_details; // hints about the source type hierarchy
- const __class_type_info *base_type; // where we found the target,
- // if in vbase the __class_type_info of vbase
- // if a non-virtual base then 1
- // else NULL
- __upcast_result (int d)
- :dst_ptr (NULL), part2dst (__unknown), src_details (d), base_type (NULL)
- {}
-};
-
-// __dyncast_result is used to hold information during traversal of a class
-// hierarchy when dynamic casting.
-struct __class_type_info::__dyncast_result
-{
- const void *dst_ptr; // pointer to target object or NULL
- __sub_kind whole2dst; // path from most derived object to target
- __sub_kind whole2src; // path from most derived object to sub object
- __sub_kind dst2src; // path from target to sub object
- int whole_details; // details of the whole class hierarchy
-
- __dyncast_result (int details_ = __vmi_class_type_info::__flags_unknown_mask)
- :dst_ptr (NULL), whole2dst (__unknown),
- whole2src (__unknown), dst2src (__unknown),
- whole_details (details_)
- {}
-
-protected:
- __dyncast_result(const __dyncast_result&);
-
- __dyncast_result&
- operator=(const __dyncast_result&);
-};
-
-bool __class_type_info::
-__do_catch (const type_info *thr_type,
- void **thr_obj,
- unsigned outer) const
-{
- if (*this == *thr_type)
- return true;
- if (outer >= 4)
- // Neither `A' nor `A *'.
- return false;
- return thr_type->__do_upcast (this, thr_obj);
-}
-
-bool __class_type_info::
-__do_upcast (const __class_type_info *dst_type,
- void **obj_ptr) const
-{
- __upcast_result result (__vmi_class_type_info::__flags_unknown_mask);
-
- __do_upcast (dst_type, *obj_ptr, result);
- if (!contained_public_p (result.part2dst))
- return false;
- *obj_ptr = const_cast <void *> (result.dst_ptr);
- return true;
-}
-
-inline __class_type_info::__sub_kind __class_type_info::
-__find_public_src (ptrdiff_t src2dst,
- const void *obj_ptr,
- const __class_type_info *src_type,
- const void *src_ptr) const
-{
- if (src2dst >= 0)
- return adjust_pointer <void> (obj_ptr, src2dst) == src_ptr
- ? __contained_public : __not_contained;
- if (src2dst == -2)
- return __not_contained;
- return __do_find_public_src (src2dst, obj_ptr, src_type, src_ptr);
-}
-
-__class_type_info::__sub_kind __class_type_info::
-__do_find_public_src (ptrdiff_t,
- const void *obj_ptr,
- const __class_type_info *,
- const void *src_ptr) const
-{
- if (src_ptr == obj_ptr)
- // Must be our type, as the pointers match.
- return __contained_public;
- return __not_contained;
-}
-
-__class_type_info::__sub_kind __si_class_type_info::
-__do_find_public_src (ptrdiff_t src2dst,
- const void *obj_ptr,
- const __class_type_info *src_type,
- const void *src_ptr) const
-{
- if (src_ptr == obj_ptr && *this == *src_type)
- return __contained_public;
- return __base_type->__do_find_public_src (src2dst, obj_ptr, src_type, src_ptr);
-}
-
-__class_type_info::__sub_kind __vmi_class_type_info::
-__do_find_public_src (ptrdiff_t src2dst,
- const void *obj_ptr,
- const __class_type_info *src_type,
- const void *src_ptr) const
-{
- if (obj_ptr == src_ptr && *this == *src_type)
- return __contained_public;
-
- for (std::size_t i = __base_count; i--;)
- {
- if (!__base_info[i].__is_public_p ())
- continue; // Not public, can't be here.
-
- const void *base = obj_ptr;
- ptrdiff_t offset = __base_info[i].__offset ();
- bool is_virtual = __base_info[i].__is_virtual_p ();
-
- if (is_virtual)
- {
- if (src2dst == -3)
- continue; // Not a virtual base, so can't be here.
- }
- base = convert_to_base (base, is_virtual, offset);
-
- __sub_kind base_kind = __base_info[i].__base_type->__do_find_public_src
- (src2dst, base, src_type, src_ptr);
- if (contained_p (base_kind))
- {
- if (is_virtual)
- base_kind = __sub_kind (base_kind | __contained_virtual_mask);
- return base_kind;
- }
- }
-
- return __not_contained;
-}
-
-bool __class_type_info::
-__do_dyncast (ptrdiff_t,
- __sub_kind access_path,
- const __class_type_info *dst_type,
- const void *obj_ptr,
- const __class_type_info *src_type,
- const void *src_ptr,
- __dyncast_result &__restrict result) const
-{
- if (obj_ptr == src_ptr && *this == *src_type)
- {
- // The src object we started from. Indicate how we are accessible from
- // the most derived object.
- result.whole2src = access_path;
- return false;
- }
- if (*this == *dst_type)
- {
- result.dst_ptr = obj_ptr;
- result.whole2dst = access_path;
- result.dst2src = __not_contained;
- return false;
- }
- return false;
-}
-
-bool __si_class_type_info::
-__do_dyncast (ptrdiff_t src2dst,
- __sub_kind access_path,
- const __class_type_info *dst_type,
- const void *obj_ptr,
- const __class_type_info *src_type,
- const void *src_ptr,
- __dyncast_result &__restrict result) const
-{
- if (*this == *dst_type)
- {
- result.dst_ptr = obj_ptr;
- result.whole2dst = access_path;
- if (src2dst >= 0)
- result.dst2src = adjust_pointer <void> (obj_ptr, src2dst) == src_ptr
- ? __contained_public : __not_contained;
- else if (src2dst == -2)
- result.dst2src = __not_contained;
- return false;
- }
- if (obj_ptr == src_ptr && *this == *src_type)
- {
- // The src object we started from. Indicate how we are accessible from
- // the most derived object.
- result.whole2src = access_path;
- return false;
- }
- return __base_type->__do_dyncast (src2dst, access_path, dst_type, obj_ptr,
- src_type, src_ptr, result);
-}
-
-// This is a big hairy function. Although the run-time behaviour of
-// dynamic_cast is simple to describe, it gives rise to some non-obvious
-// behaviour. We also desire to determine as early as possible any definite
-// answer we can get. Because it is unknown what the run-time ratio of
-// succeeding to failing dynamic casts is, we do not know in which direction
-// to bias any optimizations. To that end we make no particular effort towards
-// early fail answers or early success answers. Instead we try to minimize
-// work by filling in things lazily (when we know we need the information),
-// and opportunisticly take early success or failure results.
-bool __vmi_class_type_info::
-__do_dyncast (ptrdiff_t src2dst,
- __sub_kind access_path,
- const __class_type_info *dst_type,
- const void *obj_ptr,
- const __class_type_info *src_type,
- const void *src_ptr,
- __dyncast_result &__restrict result) const
-{
- if (result.whole_details & __flags_unknown_mask)
- result.whole_details = __flags;
-
- if (obj_ptr == src_ptr && *this == *src_type)
- {
- // The src object we started from. Indicate how we are accessible from
- // the most derived object.
- result.whole2src = access_path;
- return false;
- }
- if (*this == *dst_type)
- {
- result.dst_ptr = obj_ptr;
- result.whole2dst = access_path;
- if (src2dst >= 0)
- result.dst2src = adjust_pointer <void> (obj_ptr, src2dst) == src_ptr
- ? __contained_public : __not_contained;
- else if (src2dst == -2)
- result.dst2src = __not_contained;
- return false;
- }
-
- bool result_ambig = false;
- for (std::size_t i = __base_count; i--;)
- {
- __dyncast_result result2 (result.whole_details);
- void const *base = obj_ptr;
- __sub_kind base_access = access_path;
- ptrdiff_t offset = __base_info[i].__offset ();
- bool is_virtual = __base_info[i].__is_virtual_p ();
-
- if (is_virtual)
- base_access = __sub_kind (base_access | __contained_virtual_mask);
- base = convert_to_base (base, is_virtual, offset);
-
- if (!__base_info[i].__is_public_p ())
- {
- if (src2dst == -2 &&
- !(result.whole_details
- & (__non_diamond_repeat_mask | __diamond_shaped_mask)))
- // The hierarchy has no duplicate bases (which might ambiguate
- // things) and where we started is not a public base of what we
- // want (so it cannot be a downcast). There is nothing of interest
- // hiding in a non-public base.
- continue;
- base_access = __sub_kind (base_access & ~__contained_public_mask);
- }
-
- bool result2_ambig
- = __base_info[i].__base_type->__do_dyncast (src2dst, base_access,
- dst_type, base,
- src_type, src_ptr, result2);
- result.whole2src = __sub_kind (result.whole2src | result2.whole2src);
- if (result2.dst2src == __contained_public
- || result2.dst2src == __contained_ambig)
- {
- result.dst_ptr = result2.dst_ptr;
- result.whole2dst = result2.whole2dst;
- result.dst2src = result2.dst2src;
- // Found a downcast which can't be bettered or an ambiguous downcast
- // which can't be disambiguated
- return result2_ambig;
- }
-
- if (!result_ambig && !result.dst_ptr)
- {
- // Not found anything yet.
- result.dst_ptr = result2.dst_ptr;
- result.whole2dst = result2.whole2dst;
- result_ambig = result2_ambig;
- if (result.dst_ptr && result.whole2src != __unknown
- && !(__flags & __non_diamond_repeat_mask))
- // Found dst and src and we don't have repeated bases.
- return result_ambig;
- }
- else if (result.dst_ptr && result.dst_ptr == result2.dst_ptr)
- {
- // Found at same address, must be via virtual. Pick the most
- // accessible path.
- result.whole2dst =
- __sub_kind (result.whole2dst | result2.whole2dst);
- }
- else if ((result.dst_ptr != 0 && result2.dst_ptr != 0)
- || (result.dst_ptr != 0 && result2_ambig)
- || (result2.dst_ptr != 0 && result_ambig))
- {
- // Found two different DST_TYPE bases, or a valid one and a set of
- // ambiguous ones, must disambiguate. See whether SRC_PTR is
- // contained publicly within one of the non-ambiguous choices. If it
- // is in only one, then that's the choice. If it is in both, then
- // we're ambiguous and fail. If it is in neither, we're ambiguous,
- // but don't yet fail as we might later find a third base which does
- // contain SRC_PTR.
-
- __sub_kind new_sub_kind = result2.dst2src;
- __sub_kind old_sub_kind = result.dst2src;
-
- if (contained_p (result.whole2src)
- && (!virtual_p (result.whole2src)
- || !(result.whole_details & __diamond_shaped_mask)))
- {
- // We already found SRC_PTR as a base of most derived, and
- // either it was non-virtual, or the whole hierarchy is
- // not-diamond shaped. Therefore if it is in either choice, it
- // can only be in one of them, and we will already know.
- if (old_sub_kind == __unknown)
- old_sub_kind = __not_contained;
- if (new_sub_kind == __unknown)
- new_sub_kind = __not_contained;
- }
- else
- {
- if (old_sub_kind >= __not_contained)
- ;// already calculated
- else if (contained_p (new_sub_kind)
- && (!virtual_p (new_sub_kind)
- || !(__flags & __diamond_shaped_mask)))
- // Already found inside the other choice, and it was
- // non-virtual or we are not diamond shaped.
- old_sub_kind = __not_contained;
- else
- old_sub_kind = dst_type->__find_public_src
- (src2dst, result.dst_ptr, src_type, src_ptr);
-
- if (new_sub_kind >= __not_contained)
- ;// already calculated
- else if (contained_p (old_sub_kind)
- && (!virtual_p (old_sub_kind)
- || !(__flags & __diamond_shaped_mask)))
- // Already found inside the other choice, and it was
- // non-virtual or we are not diamond shaped.
- new_sub_kind = __not_contained;
- else
- new_sub_kind = dst_type->__find_public_src
- (src2dst, result2.dst_ptr, src_type, src_ptr);
- }
-
- // Neither sub_kind can be contained_ambig -- we bail out early
- // when we find those.
- if (contained_p (__sub_kind (new_sub_kind ^ old_sub_kind)))
- {
- // Only on one choice, not ambiguous.
- if (contained_p (new_sub_kind))
- {
- // Only in new.
- result.dst_ptr = result2.dst_ptr;
- result.whole2dst = result2.whole2dst;
- result_ambig = false;
- old_sub_kind = new_sub_kind;
- }
- result.dst2src = old_sub_kind;
- if (public_p (result.dst2src))
- return false; // Can't be an ambiguating downcast for later discovery.
- if (!virtual_p (result.dst2src))
- return false; // Found non-virtually can't be bettered
- }
- else if (contained_p (__sub_kind (new_sub_kind & old_sub_kind)))
- {
- // In both.
- result.dst_ptr = NULL;
- result.dst2src = __contained_ambig;
- return true; // Fail.
- }
- else
- {
- // In neither publicly, ambiguous for the moment, but keep
- // looking. It is possible that it was private in one or
- // both and therefore we should fail, but that's just tough.
- result.dst_ptr = NULL;
- result.dst2src = __not_contained;
- result_ambig = true;
- }
- }
-
- if (result.whole2src == __contained_private)
- // We found SRC_PTR as a private non-virtual base, therefore all
- // cross casts will fail. We have already found a down cast, if
- // there is one.
- return result_ambig;
- }
-
- return result_ambig;
-}
-
-bool __class_type_info::
-__do_upcast (const __class_type_info *dst, const void *obj,
- __upcast_result &__restrict result) const
-{
- if (*this == *dst)
- {
- result.dst_ptr = obj;
- result.base_type = nonvirtual_base_type;
- result.part2dst = __contained_public;
- return true;
- }
- return false;
-}
-
-bool __si_class_type_info::
-__do_upcast (const __class_type_info *dst, const void *obj_ptr,
- __upcast_result &__restrict result) const
-{
- if (__class_type_info::__do_upcast (dst, obj_ptr, result))
- return true;
-
- return __base_type->__do_upcast (dst, obj_ptr, result);
-}
-
-bool __vmi_class_type_info::
-__do_upcast (const __class_type_info *dst, const void *obj_ptr,
- __upcast_result &__restrict result) const
-{
- if (__class_type_info::__do_upcast (dst, obj_ptr, result))
- return true;
-
- int src_details = result.src_details;
- if (src_details & __flags_unknown_mask)
- src_details = __flags;
-
- for (std::size_t i = __base_count; i--;)
- {
- __upcast_result result2 (src_details);
- const void *base = obj_ptr;
- ptrdiff_t offset = __base_info[i].__offset ();
- bool is_virtual = __base_info[i].__is_virtual_p ();
- bool is_public = __base_info[i].__is_public_p ();
-
- if (!is_public && !(src_details & __non_diamond_repeat_mask))
- // original cannot have an ambiguous base, so skip private bases
- continue;
-
- if (base)
- base = convert_to_base (base, is_virtual, offset);
-
- if (__base_info[i].__base_type->__do_upcast (dst, base, result2))
- {
- if (result2.base_type == nonvirtual_base_type && is_virtual)
- result2.base_type = __base_info[i].__base_type;
- if (contained_p (result2.part2dst) && !is_public)
- result2.part2dst = __sub_kind (result2.part2dst & ~__contained_public_mask);
-
- if (!result.base_type)
- {
- result = result2;
- if (!contained_p (result.part2dst))
- return true; // found ambiguously
-
- if (result.part2dst & __contained_public_mask)
- {
- if (!(__flags & __non_diamond_repeat_mask))
- return true; // cannot have an ambiguous other base
- }
- else
- {
- if (!virtual_p (result.part2dst))
- return true; // cannot have another path
- if (!(__flags & __diamond_shaped_mask))
- return true; // cannot have a more accessible path
- }
- }
- else if (result.dst_ptr != result2.dst_ptr)
- {
- // Found an ambiguity.
- result.dst_ptr = NULL;
- result.part2dst = __contained_ambig;
- return true;
- }
- else if (result.dst_ptr)
- {
- // Ok, found real object via a virtual path.
- result.part2dst
- = __sub_kind (result.part2dst | result2.part2dst);
- }
- else
- {
- // Dealing with a null pointer, need to check vbase
- // containing each of the two choices.
- if (result2.base_type == nonvirtual_base_type
- || result.base_type == nonvirtual_base_type
- || !(*result2.base_type == *result.base_type))
- {
- // Already ambiguous, not virtual or via different virtuals.
- // Cannot match.
- result.part2dst = __contained_ambig;
- return true;
- }
- result.part2dst
- = __sub_kind (result.part2dst | result2.part2dst);
- }
- }
- }
- return result.part2dst != __unknown;
-}
-
-// this is the external interface to the dynamic cast machinery
-extern "C" void *
-__dynamic_cast (const void *src_ptr, // object started from
- const __class_type_info *src_type, // type of the starting object
- const __class_type_info *dst_type, // desired target type
- ptrdiff_t src2dst) // how src and dst are related
-{
- const void *vtable = *static_cast <const void *const *> (src_ptr);
- const vtable_prefix *prefix =
- adjust_pointer <vtable_prefix> (vtable,
- -offsetof (vtable_prefix, origin));
- const void *whole_ptr =
- adjust_pointer <void> (src_ptr, prefix->whole_object);
- const __class_type_info *whole_type = prefix->whole_type;
- __class_type_info::__dyncast_result result;
-
- whole_type->__do_dyncast (src2dst, __class_type_info::__contained_public,
- dst_type, whole_ptr, src_type, src_ptr, result);
- if (!result.dst_ptr)
- return NULL;
- if (contained_public_p (result.dst2src))
- // Src is known to be a public base of dst.
- return const_cast <void *> (result.dst_ptr);
- if (contained_public_p (__class_type_info::__sub_kind (result.whole2src & result.whole2dst)))
- // Both src and dst are known to be public bases of whole. Found a valid
- // cross cast.
- return const_cast <void *> (result.dst_ptr);
- if (contained_nonvirtual_p (result.whole2src))
- // Src is known to be a non-public nonvirtual base of whole, and not a
- // base of dst. Found an invalid cross cast, which cannot also be a down
- // cast
- return NULL;
- if (result.dst2src == __class_type_info::__unknown)
- result.dst2src = dst_type->__find_public_src (src2dst, result.dst_ptr,
- src_type, src_ptr);
- if (contained_public_p (result.dst2src))
- // Found a valid down cast
- return const_cast <void *> (result.dst_ptr);
- // Must be an invalid down cast, or the cross cast wasn't bettered
- return NULL;
-}
-
-} // namespace __cxxabiv1
diff --git a/contrib/libstdc++/libsupc++/tinfo.h b/contrib/libstdc++/libsupc++/tinfo.h
deleted file mode 100644
index b94c4cc09b59..000000000000
--- a/contrib/libstdc++/libsupc++/tinfo.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// RTTI support internals for -*- C++ -*-
-// Copyright (C) 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2004
-// Free Software Foundation
-
-// This file is part of GCC.
-//
-// GCC 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.
-
-// GCC 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 GCC; 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.
-
-#include "typeinfo"
-#include <cstddef>
-
-// Class declarations shared between the typeinfo implementation files.
-
-#include <cxxabi.h>
diff --git a/contrib/libstdc++/libsupc++/tinfo2.cc b/contrib/libstdc++/libsupc++/tinfo2.cc
deleted file mode 100644
index 2f5a2cd32bcb..000000000000
--- a/contrib/libstdc++/libsupc++/tinfo2.cc
+++ /dev/null
@@ -1,167 +0,0 @@
-// Methods for type_info for -*- C++ -*- Run Time Type Identification.
-
-// Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2002
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-
-// GCC 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 GCC; 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.
-
-#include <cstddef>
-#include "tinfo.h"
-#include "new" // for placement new
-
-// We can't rely on having stdlib.h if we're freestanding.
-extern "C" void abort ();
-
-using std::type_info;
-
-#if !__GXX_MERGED_TYPEINFO_NAMES
-
-bool
-type_info::before (const type_info &arg) const
-{
- return __builtin_strcmp (name (), arg.name ()) < 0;
-}
-
-#endif
-
-#include <cxxabi.h>
-
-namespace __cxxabiv1 {
-
-using namespace std;
-
-// This has special meaning to the compiler, and will cause it
-// to emit the type_info structures for the fundamental types which are
-// mandated to exist in the runtime.
-__fundamental_type_info::
-~__fundamental_type_info ()
-{}
-
-__array_type_info::
-~__array_type_info ()
-{}
-
-__function_type_info::
-~__function_type_info ()
-{}
-
-__enum_type_info::
-~__enum_type_info ()
-{}
-
-__pbase_type_info::
-~__pbase_type_info ()
-{}
-
-__pointer_type_info::
-~__pointer_type_info ()
-{}
-
-__pointer_to_member_type_info::
-~__pointer_to_member_type_info ()
-{}
-
-bool __pointer_type_info::
-__is_pointer_p () const
-{
- return true;
-}
-
-bool __function_type_info::
-__is_function_p () const
-{
- return true;
-}
-
-bool __pbase_type_info::
-__do_catch (const type_info *thr_type,
- void **thr_obj,
- unsigned outer) const
-{
- if (*this == *thr_type)
- return true; // same type
- if (typeid (*this) != typeid (*thr_type))
- return false; // not both same kind of pointers
-
- if (!(outer & 1))
- // We're not the same and our outer pointers are not all const qualified
- // Therefore there must at least be a qualification conversion involved
- // But for that to be valid, our outer pointers must be const qualified.
- return false;
-
- const __pbase_type_info *thrown_type =
- static_cast <const __pbase_type_info *> (thr_type);
-
- if (thrown_type->__flags & ~__flags)
- // We're less qualified.
- return false;
-
- if (!(__flags & __const_mask))
- outer &= ~1;
-
- return __pointer_catch (thrown_type, thr_obj, outer);
-}
-
-inline bool __pbase_type_info::
-__pointer_catch (const __pbase_type_info *thrown_type,
- void **thr_obj,
- unsigned outer) const
-{
- return __pointee->__do_catch (thrown_type->__pointee, thr_obj, outer + 2);
-}
-
-bool __pointer_type_info::
-__pointer_catch (const __pbase_type_info *thrown_type,
- void **thr_obj,
- unsigned outer) const
-{
- if (outer < 2 && *__pointee == typeid (void))
- {
- // conversion to void
- return !thrown_type->__pointee->__is_function_p ();
- }
-
- return __pbase_type_info::__pointer_catch (thrown_type, thr_obj, outer);
-}
-
-bool __pointer_to_member_type_info::
-__pointer_catch (const __pbase_type_info *thr_type,
- void **thr_obj,
- unsigned outer) const
-{
- // This static cast is always valid, as our caller will have determined that
- // thr_type is really a __pointer_to_member_type_info.
- const __pointer_to_member_type_info *thrown_type =
- static_cast <const __pointer_to_member_type_info *> (thr_type);
-
- if (*__context != *thrown_type->__context)
- return false; // not pointers to member of same class
-
- return __pbase_type_info::__pointer_catch (thrown_type, thr_obj, outer);
-}
-
-} // namespace std
diff --git a/contrib/libstdc++/libsupc++/typeinfo b/contrib/libstdc++/libsupc++/typeinfo
deleted file mode 100644
index cddb65eda8f5..000000000000
--- a/contrib/libstdc++/libsupc++/typeinfo
+++ /dev/null
@@ -1,169 +0,0 @@
-// RTTI support for -*- C++ -*-
-// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-// 2003, 2004, 2005, 2006, 2007
-// Free Software Foundation
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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 typeinfo
- * This is a Standard C++ Library header.
- */
-
-#ifndef _TYPEINFO
-#define _TYPEINFO
-
-#include <exception>
-
-#pragma GCC visibility push(default)
-
-extern "C++" {
-
-namespace __cxxabiv1
-{
- class __class_type_info;
-} // namespace __cxxabiv1
-
-#ifndef __GXX_MERGED_TYPEINFO_NAMES
- #if !__GXX_WEAK__
- // If weak symbols are not supported, typeinfo names are not merged.
- #define __GXX_MERGED_TYPEINFO_NAMES 0
- #else
- // On platforms that support weak symbols, typeinfo names are merged.
- #define __GXX_MERGED_TYPEINFO_NAMES 1
- #endif
-#endif
-
-namespace std
-{
- /**
- * @brief Part of RTTI.
- *
- * The @c type_info class describes type information generated by
- * an implementation.
- */
- class type_info
- {
- public:
- /** Destructor first. Being the first non-inline virtual function, this
- * controls in which translation unit the vtable is emitted. The
- * compiler makes use of that information to know where to emit
- * the runtime-mandated type_info structures in the new-abi. */
- virtual ~type_info();
-
- /** Returns an @e implementation-defined byte string; this is not
- * portable between compilers! */
- const char* name() const
- { return __name; }
-
-#if !__GXX_MERGED_TYPEINFO_NAMES
- bool before(const type_info& __arg) const;
-
- // In old abi, or when weak symbols are not supported, there can
- // be multiple instances of a type_info object for one
- // type. Uniqueness must use the _name value, not object address.
- bool operator==(const type_info& __arg) const;
-#else
- /** Returns true if @c *this precedes @c __arg in the implementation's
- * collation order. */
- // In new abi we can rely on type_info's NTBS being unique,
- // and therefore address comparisons are sufficient.
- bool before(const type_info& __arg) const
- { return __name < __arg.__name; }
-
- bool operator==(const type_info& __arg) const
- { return __name == __arg.__name; }
-#endif
- bool operator!=(const type_info& __arg) const
- { return !operator==(__arg); }
-
- // Return true if this is a pointer type of some kind
- virtual bool __is_pointer_p() const;
-
- // Return true if this is a function type
- virtual bool __is_function_p() const;
-
- // Try and catch a thrown type. Store an adjusted pointer to the
- // caught type in THR_OBJ. If THR_TYPE is not a pointer type, then
- // THR_OBJ points to the thrown object. If THR_TYPE is a pointer
- // type, then THR_OBJ is the pointer itself. OUTER indicates the
- // number of outer pointers, and whether they were const
- // qualified.
- virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
- unsigned __outer) const;
-
- // Internally used during catch matching
- virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
- void **__obj_ptr) const;
-
- protected:
- const char *__name;
-
- explicit type_info(const char *__n): __name(__n) { }
-
- private:
- /// Assigning type_info is not supported.
- type_info& operator=(const type_info&);
- type_info(const type_info&);
- };
-
- /**
- * @brief Thrown during incorrect typecasting.
- *
- * If you attempt an invalid @c dynamic_cast expression, an instance of
- * this class (or something derived from this class) is thrown. */
- class bad_cast : public exception
- {
- public:
- bad_cast() throw() { }
-
- // This declaration is not useless:
- // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118
- virtual ~bad_cast() throw();
-
- // See comment in eh_exception.cc.
- virtual const char* what() const throw();
- };
-
- /** If you use a NULL pointer in a @c typeid expression, this is thrown. */
- class bad_typeid : public exception
- {
- public:
- bad_typeid () throw() { }
-
- // This declaration is not useless:
- // http://gcc.gnu.org/onlinedocs/gcc-3.0.2/gcc_6.html#SEC118
- virtual ~bad_typeid() throw();
-
- // See comment in eh_exception.cc.
- virtual const char* what() const throw();
- };
-} // namespace std
-
-#pragma GCC visibility pop
-
-} // extern "C++"
-#endif
diff --git a/contrib/libstdc++/libsupc++/unwind-cxx.h b/contrib/libstdc++/libsupc++/unwind-cxx.h
deleted file mode 100644
index 2ccd11e633f2..000000000000
--- a/contrib/libstdc++/libsupc++/unwind-cxx.h
+++ /dev/null
@@ -1,253 +0,0 @@
-// -*- C++ -*- Exception handling and frame unwind runtime interface routines.
-// Copyright (C) 2001 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-//
-// GCC 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 GCC; 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 is derived from the C++ ABI for IA-64. Where we diverge
-// for cross-architecture compatibility are noted with "@@@".
-
-#ifndef _UNWIND_CXX_H
-#define _UNWIND_CXX_H 1
-
-// Level 2: C++ ABI
-
-#include <typeinfo>
-#include <exception>
-#include <cstddef>
-#include "unwind.h"
-
-#pragma GCC visibility push(default)
-
-namespace __cxxabiv1
-{
-
-// A C++ exception object consists of a header, which is a wrapper around
-// an unwind object header with additional C++ specific information,
-// followed by the exception object itself.
-
-struct __cxa_exception
-{
- // Manage the exception object itself.
- std::type_info *exceptionType;
- void (*exceptionDestructor)(void *);
-
- // The C++ standard has entertaining rules wrt calling set_terminate
- // and set_unexpected in the middle of the exception cleanup process.
- std::unexpected_handler unexpectedHandler;
- std::terminate_handler terminateHandler;
-
- // The caught exception stack threads through here.
- __cxa_exception *nextException;
-
- // How many nested handlers have caught this exception. A negated
- // value is a signal that this object has been rethrown.
- int handlerCount;
-
-#ifdef __ARM_EABI_UNWINDER__
- // Stack of exceptions in cleanups.
- __cxa_exception* nextPropagatingException;
-
- // The nuber of active cleanup handlers for this exception.
- int propagationCount;
-#else
- // Cache parsed handler data from the personality routine Phase 1
- // for Phase 2 and __cxa_call_unexpected.
- int handlerSwitchValue;
- const unsigned char *actionRecord;
- const unsigned char *languageSpecificData;
- _Unwind_Ptr catchTemp;
- void *adjustedPtr;
-#endif
-
- // The generic exception header. Must be last.
- _Unwind_Exception unwindHeader;
-};
-
-// Each thread in a C++ program has access to a __cxa_eh_globals object.
-struct __cxa_eh_globals
-{
- __cxa_exception *caughtExceptions;
- unsigned int uncaughtExceptions;
-#ifdef __ARM_EABI_UNWINDER__
- __cxa_exception* propagatingExceptions;
-#endif
-};
-
-
-// The __cxa_eh_globals for the current thread can be obtained by using
-// either of the following functions. The "fast" version assumes at least
-// one prior call of __cxa_get_globals has been made from the current
-// thread, so no initialization is necessary.
-extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
-extern "C" __cxa_eh_globals *__cxa_get_globals_fast () throw();
-
-// Allocate memory for the exception plus the thown object.
-extern "C" void *__cxa_allocate_exception(std::size_t thrown_size) throw();
-
-// Free the space allocated for the exception.
-extern "C" void __cxa_free_exception(void *thrown_exception) throw();
-
-// Throw the exception.
-extern "C" void __cxa_throw (void *thrown_exception,
- std::type_info *tinfo,
- void (*dest) (void *))
- __attribute__((noreturn));
-
-// Used to implement exception handlers.
-extern "C" void *__cxa_get_exception_ptr (void *) throw();
-extern "C" void *__cxa_begin_catch (void *) throw();
-extern "C" void __cxa_end_catch ();
-extern "C" void __cxa_rethrow () __attribute__((noreturn));
-
-// These facilitate code generation for recurring situations.
-extern "C" void __cxa_bad_cast ();
-extern "C" void __cxa_bad_typeid ();
-
-// @@@ These are not directly specified by the IA-64 C++ ABI.
-
-// Handles re-checking the exception specification if unexpectedHandler
-// throws, and if bad_exception needs to be thrown. Called from the
-// compiler.
-extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));
-extern "C" void __cxa_call_terminate (_Unwind_Exception*) __attribute__((noreturn));
-
-#ifdef __ARM_EABI_UNWINDER__
-// Arm EABI specified routines.
-typedef enum {
- ctm_failed = 0,
- ctm_succeeded = 1,
- ctm_succeeded_with_ptr_to_base = 2
-} __cxa_type_match_result;
-extern "C" __cxa_type_match_result __cxa_type_match(_Unwind_Exception*, const std::type_info*,
- bool, void**);
-extern "C" bool __cxa_begin_cleanup (_Unwind_Exception*);
-extern "C" void __cxa_end_cleanup (void);
-#endif
-
-// Invokes given handler, dying appropriately if the user handler was
-// so inconsiderate as to return.
-extern void __terminate(std::terminate_handler) __attribute__((noreturn));
-extern void __unexpected(std::unexpected_handler) __attribute__((noreturn));
-
-// The current installed user handlers.
-extern std::terminate_handler __terminate_handler;
-extern std::unexpected_handler __unexpected_handler;
-
-// These are explicitly GNU C++ specific.
-
-// Acquire the C++ exception header from the C++ object.
-static inline __cxa_exception *
-__get_exception_header_from_obj (void *ptr)
-{
- return reinterpret_cast<__cxa_exception *>(ptr) - 1;
-}
-
-// Acquire the C++ exception header from the generic exception header.
-static inline __cxa_exception *
-__get_exception_header_from_ue (_Unwind_Exception *exc)
-{
- return reinterpret_cast<__cxa_exception *>(exc + 1) - 1;
-}
-
-#if defined(__ARM_EABI_UNWINDER__) && !defined(__FreeBSD__)
-static inline bool
-__is_gxx_exception_class(_Unwind_Exception_Class c)
-{
- // TODO: Take advantage of the fact that c will always be word aligned.
- return c[0] == 'G'
- && c[1] == 'N'
- && c[2] == 'U'
- && c[3] == 'C'
- && c[4] == 'C'
- && c[5] == '+'
- && c[6] == '+'
- && c[7] == '\0';
-}
-
-static inline void
-__GXX_INIT_EXCEPTION_CLASS(_Unwind_Exception_Class c)
-{
- c[0] = 'G';
- c[1] = 'N';
- c[2] = 'U';
- c[3] = 'C';
- c[4] = 'C';
- c[5] = '+';
- c[6] = '+';
- c[7] = '\0';
-}
-#else // !__ARM_EABI_UNWINDER__ || __FreeBSD__
-// This is the exception class we report -- "GNUCC++\0".
-const _Unwind_Exception_Class __gxx_exception_class
-= ((((((((_Unwind_Exception_Class) 'G'
- << 8 | (_Unwind_Exception_Class) 'N')
- << 8 | (_Unwind_Exception_Class) 'U')
- << 8 | (_Unwind_Exception_Class) 'C')
- << 8 | (_Unwind_Exception_Class) 'C')
- << 8 | (_Unwind_Exception_Class) '+')
- << 8 | (_Unwind_Exception_Class) '+')
- << 8 | (_Unwind_Exception_Class) '\0');
-
-static inline bool
-__is_gxx_exception_class(_Unwind_Exception_Class c)
-{
- return c == __gxx_exception_class;
-}
-#define __GXX_INIT_EXCEPTION_CLASS(c) c = __gxx_exception_class
-#endif
-
-#ifdef __ARM_EABI_UNWINDER__
-static inline void*
-__gxx_caught_object(_Unwind_Exception* eo)
-{
- return (void*)eo->barrier_cache.bitpattern[0];
-}
-#else // !__ARM_EABI_UNWINDER__
-
-// GNU C++ personality routine, Version 0.
-extern "C" _Unwind_Reason_Code __gxx_personality_v0
- (int, _Unwind_Action, _Unwind_Exception_Class,
- struct _Unwind_Exception *, struct _Unwind_Context *);
-
-// GNU C++ sjlj personality routine, Version 0.
-extern "C" _Unwind_Reason_Code __gxx_personality_sj0
- (int, _Unwind_Action, _Unwind_Exception_Class,
- struct _Unwind_Exception *, struct _Unwind_Context *);
-
-static inline void*
-__gxx_caught_object(_Unwind_Exception* eo)
-{
- __cxa_exception* header = __get_exception_header_from_ue (eo);
- return header->adjustedPtr;
-}
-#endif // !__ARM_EABI_UNWINDER__
-
-} /* namespace __cxxabiv1 */
-
-#pragma GCC visibility pop
-
-#endif // _UNWIND_CXX_H
diff --git a/contrib/libstdc++/libsupc++/vec.cc b/contrib/libstdc++/libsupc++/vec.cc
deleted file mode 100644
index 08a710718b09..000000000000
--- a/contrib/libstdc++/libsupc++/vec.cc
+++ /dev/null
@@ -1,512 +0,0 @@
-// New abi Support -*- C++ -*-
-
-// Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
-//
-// This file is part of GCC.
-//
-// GCC 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.
-
-// GCC 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 GCC; 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.
-
-// Written by Nathan Sidwell, Codesourcery LLC, <nathan@codesourcery.com>
-
-#include <cxxabi.h>
-#include <new>
-#include <exception>
-#include <exception_defines.h>
-#include "unwind-cxx.h"
-
-namespace __cxxabiv1
-{
- namespace
- {
- struct uncatch_exception
- {
- uncatch_exception();
- ~uncatch_exception () { __cxa_begin_catch (&p->unwindHeader); }
-
- __cxa_exception* p;
-
- private:
- uncatch_exception&
- operator=(const uncatch_exception&);
-
- uncatch_exception(const uncatch_exception&);
- };
-
- uncatch_exception::uncatch_exception() : p(0)
- {
- __cxa_eh_globals *globals = __cxa_get_globals_fast ();
-
- p = globals->caughtExceptions;
- p->handlerCount -= 1;
- globals->caughtExceptions = p->nextException;
- globals->uncaughtExceptions += 1;
- }
- }
-
- // Allocate and construct array.
- extern "C" void *
- __cxa_vec_new(std::size_t element_count,
- std::size_t element_size,
- std::size_t padding_size,
- __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor)
- {
- return __cxa_vec_new2(element_count, element_size, padding_size,
- constructor, destructor,
- &operator new[], &operator delete []);
- }
-
- extern "C" void *
- __cxa_vec_new2(std::size_t element_count,
- std::size_t element_size,
- std::size_t padding_size,
- __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor,
- void *(*alloc) (std::size_t),
- void (*dealloc) (void *))
- {
- std::size_t size = element_count * element_size + padding_size;
- char *base = static_cast <char *> (alloc (size));
- if (!base)
- return base;
-
- if (padding_size)
- {
- base += padding_size;
- reinterpret_cast <std::size_t *> (base)[-1] = element_count;
-#ifdef _GLIBCXX_ELTSIZE_IN_COOKIE
- reinterpret_cast <std::size_t *> (base)[-2] = element_size;
-#endif
- }
- try
- {
- __cxa_vec_ctor(base, element_count, element_size,
- constructor, destructor);
- }
- catch (...)
- {
- {
- uncatch_exception ue;
- dealloc(base - padding_size);
- }
- __throw_exception_again;
- }
- return base;
- }
-
- extern "C" void *
- __cxa_vec_new3(std::size_t element_count,
- std::size_t element_size,
- std::size_t padding_size,
- __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor,
- void *(*alloc) (std::size_t),
- void (*dealloc) (void *, std::size_t))
- {
- std::size_t size = element_count * element_size + padding_size;
- char *base = static_cast<char *>(alloc (size));
- if (!base)
- return base;
-
- if (padding_size)
- {
- base += padding_size;
- reinterpret_cast<std::size_t *>(base)[-1] = element_count;
-#ifdef _GLIBCXX_ELTSIZE_IN_COOKIE
- reinterpret_cast <std::size_t *> (base)[-2] = element_size;
-#endif
- }
- try
- {
- __cxa_vec_ctor(base, element_count, element_size,
- constructor, destructor);
- }
- catch (...)
- {
- {
- uncatch_exception ue;
- dealloc(base - padding_size, size);
- }
- __throw_exception_again;
- }
- return base;
- }
-
- // Construct array.
- extern "C" __cxa_vec_ctor_return_type
- __cxa_vec_ctor(void *array_address,
- std::size_t element_count,
- std::size_t element_size,
- __cxa_cdtor_type constructor,
- __cxa_cdtor_type destructor)
- {
- std::size_t ix = 0;
- char *ptr = static_cast<char *>(array_address);
-
- try
- {
- if (constructor)
- for (; ix != element_count; ix++, ptr += element_size)
- constructor(ptr);
- }
- catch (...)
- {
- {
- uncatch_exception ue;
- __cxa_vec_cleanup(array_address, ix, element_size, destructor);
- }
- __throw_exception_again;
- }
- _GLIBCXX_CXA_VEC_CTOR_RETURN (array_address);
- }
-
- // Construct an array by copying.
- extern "C" __cxa_vec_ctor_return_type
- __cxa_vec_cctor(void *dest_array,
- void *src_array,
- std::size_t element_count,
- std::size_t element_size,
- __cxa_cdtor_return_type (*constructor) (void *, void *),
- __cxa_cdtor_type destructor)
- {
- std::size_t ix = 0;
- char *dest_ptr = static_cast<char *>(dest_array);
- char *src_ptr = static_cast<char *>(src_array);
-
- try
- {
- if (constructor)
- for (; ix != element_count;
- ix++, src_ptr += element_size, dest_ptr += element_size)
- constructor(dest_ptr, src_ptr);
- }
- catch (...)
- {
- {
- uncatch_exception ue;
- __cxa_vec_cleanup(dest_array, ix, element_size, destructor);
- }
- __throw_exception_again;
- }
- _GLIBCXX_CXA_VEC_CTOR_RETURN (dest_array);
- }
-
- // Destruct array.
- extern "C" void
- __cxa_vec_dtor(void *array_address,
- std::size_t element_count,
- std::size_t element_size,
- __cxa_cdtor_type destructor)
- {
- if (destructor)
- {
- char *ptr = static_cast<char *>(array_address);
- std::size_t ix = element_count;
-
- ptr += element_count * element_size;
-
- try
- {
- while (ix--)
- {
- ptr -= element_size;
- destructor(ptr);
- }
- }
- catch (...)
- {
- {
- uncatch_exception ue;
- __cxa_vec_cleanup(array_address, ix, element_size, destructor);
- }
- __throw_exception_again;
- }
- }
- }
-
- // Destruct array as a result of throwing an exception.
- // [except.ctor]/3 If a destructor called during stack unwinding
- // exits with an exception, terminate is called.
- extern "C" void
- __cxa_vec_cleanup(void *array_address,
- std::size_t element_count,
- std::size_t element_size,
- __cxa_cdtor_type destructor)
- {
- if (destructor)
- {
- char *ptr = static_cast <char *> (array_address);
- std::size_t ix = element_count;
-
- ptr += element_count * element_size;
-
- try
- {
- while (ix--)
- {
- ptr -= element_size;
- destructor(ptr);
- }
- }
- catch (...)
- {
- std::terminate();
- }
- }
- }
-
- // Destruct and release array.
- extern "C" void
- __cxa_vec_delete(void *array_address,
- std::size_t element_size,
- std::size_t padding_size,
- __cxa_cdtor_type destructor)
- {
- __cxa_vec_delete2(array_address, element_size, padding_size,
- destructor,
- &operator delete []);
- }
-
- extern "C" void
- __cxa_vec_delete2(void *array_address,
- std::size_t element_size,
- std::size_t padding_size,
- __cxa_cdtor_type destructor,
- void (*dealloc) (void *))
- {
- if (!array_address)
- return;
-
- char* base = static_cast<char *>(array_address);
-
- if (padding_size)
- {
- std::size_t element_count = reinterpret_cast<std::size_t *>(base)[-1];
- base -= padding_size;
- try
- {
- __cxa_vec_dtor(array_address, element_count, element_size,
- destructor);
- }
- catch (...)
- {
- {
- uncatch_exception ue;
- dealloc(base);
- }
- __throw_exception_again;
- }
- }
- dealloc(base);
- }
-
- extern "C" void
- __cxa_vec_delete3(void *array_address,
- std::size_t element_size,
- std::size_t padding_size,
- __cxa_cdtor_type destructor,
- void (*dealloc) (void *, std::size_t))
- {
- if (!array_address)
- return;
-
- char* base = static_cast <char *> (array_address);
- std::size_t size = 0;
-
- if (padding_size)
- {
- std::size_t element_count = reinterpret_cast<std::size_t *> (base)[-1];
- base -= padding_size;
- size = element_count * element_size + padding_size;
- try
- {
- __cxa_vec_dtor(array_address, element_count, element_size,
- destructor);
- }
- catch (...)
- {
- {
- uncatch_exception ue;
- dealloc(base, size);
- }
- __throw_exception_again;
- }
- }
- dealloc(base, size);
- }
-} // namespace __cxxabiv1
-
-#if defined(__arm__) && defined(__ARM_EABI__)
-
-// The ARM C++ ABI requires that the library provide these additional
-// helper functions. There are placed in this file, despite being
-// architecture-specifier, so that the compiler can inline the __cxa
-// functions into these functions as appropriate.
-
-namespace __aeabiv1
-{
- extern "C" void *
- __aeabi_vec_ctor_nocookie_nodtor (void *array_address,
- abi::__cxa_cdtor_type constructor,
- std::size_t element_size,
- std::size_t element_count)
- {
- return abi::__cxa_vec_ctor (array_address, element_count, element_size,
- constructor, /*destructor=*/NULL);
- }
-
- extern "C" void *
- __aeabi_vec_ctor_cookie_nodtor (void *array_address,
- abi::__cxa_cdtor_type constructor,
- std::size_t element_size,
- std::size_t element_count)
- {
- if (array_address == NULL)
- return NULL;
-
- array_address = reinterpret_cast<std::size_t *>(array_address) + 2;
- reinterpret_cast<std::size_t *>(array_address)[-2] = element_size;
- reinterpret_cast<std::size_t *>(array_address)[-1] = element_count;
- return abi::__cxa_vec_ctor (array_address,
- element_count, element_size,
- constructor, /*destructor=*/NULL);
- }
-
- extern "C" void *
- __aeabi_vec_cctor_nocookie_nodtor (void *dest_array,
- void *src_array,
- std::size_t element_size,
- std::size_t element_count,
- void *(*constructor) (void *, void *))
- {
- return abi::__cxa_vec_cctor (dest_array, src_array,
- element_count, element_size,
- constructor, NULL);
- }
-
- extern "C" void *
- __aeabi_vec_new_cookie_noctor (std::size_t element_size,
- std::size_t element_count)
- {
- return abi::__cxa_vec_new(element_count, element_size,
- 2 * sizeof (std::size_t),
- /*constructor=*/NULL, /*destructor=*/NULL);
- }
-
- extern "C" void *
- __aeabi_vec_new_nocookie (std::size_t element_size,
- std::size_t element_count,
- abi::__cxa_cdtor_type constructor)
- {
- return abi::__cxa_vec_new (element_count, element_size, 0, constructor,
- NULL);
- }
-
- extern "C" void *
- __aeabi_vec_new_cookie_nodtor (std::size_t element_size,
- std::size_t element_count,
- abi::__cxa_cdtor_type constructor)
- {
- return abi::__cxa_vec_new(element_count, element_size,
- 2 * sizeof (std::size_t),
- constructor, NULL);
- }
-
- extern "C" void *
- __aeabi_vec_new_cookie(std::size_t element_size,
- std::size_t element_count,
- abi::__cxa_cdtor_type constructor,
- abi::__cxa_cdtor_type destructor)
- {
- return abi::__cxa_vec_new (element_count, element_size,
- 2 * sizeof (std::size_t),
- constructor, destructor);
- }
-
-
- extern "C" void *
- __aeabi_vec_dtor (void *array_address,
- abi::__cxa_cdtor_type destructor,
- std::size_t element_size,
- std::size_t element_count)
- {
- abi::__cxa_vec_dtor (array_address, element_count, element_size,
- destructor);
- return reinterpret_cast<std::size_t*> (array_address) - 2;
- }
-
- extern "C" void *
- __aeabi_vec_dtor_cookie (void *array_address,
- abi::__cxa_cdtor_type destructor)
- {
- abi::__cxa_vec_dtor (array_address,
- reinterpret_cast<std::size_t *>(array_address)[-1],
- reinterpret_cast<std::size_t *>(array_address)[-2],
- destructor);
- return reinterpret_cast<std::size_t*> (array_address) - 2;
- }
-
-
- extern "C" void
- __aeabi_vec_delete (void *array_address,
- abi::__cxa_cdtor_type destructor)
- {
- abi::__cxa_vec_delete (array_address,
- reinterpret_cast<std::size_t *>(array_address)[-2],
- 2 * sizeof (std::size_t),
- destructor);
- }
-
- extern "C" void
- __aeabi_vec_delete3 (void *array_address,
- abi::__cxa_cdtor_type destructor,
- void (*dealloc) (void *, std::size_t))
- {
- abi::__cxa_vec_delete3 (array_address,
- reinterpret_cast<std::size_t *>(array_address)[-2],
- 2 * sizeof (std::size_t),
- destructor, dealloc);
- }
-
- extern "C" void
- __aeabi_vec_delete3_nodtor (void *array_address,
- void (*dealloc) (void *, std::size_t))
- {
- abi::__cxa_vec_delete3 (array_address,
- reinterpret_cast<std::size_t *>(array_address)[-2],
- 2 * sizeof (std::size_t),
- /*destructor=*/NULL, dealloc);
- }
-
- extern "C" int
- __aeabi_atexit (void *object,
- void (*destructor) (void *),
- void *dso_handle)
- {
- return abi::__cxa_atexit(destructor, object, dso_handle);
- }
-} // namespace __aeabiv1
-
-#endif // defined(__arm__) && defined(__ARM_EABI__)
diff --git a/contrib/libstdc++/libsupc++/vterminate.cc b/contrib/libstdc++/libsupc++/vterminate.cc
deleted file mode 100644
index dd3b657c0e62..000000000000
--- a/contrib/libstdc++/libsupc++/vterminate.cc
+++ /dev/null
@@ -1,103 +0,0 @@
-// Verbose terminate_handler -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation
-//
-// 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.
-
-#include <bits/c++config.h>
-
-#if _GLIBCXX_HOSTED
-#include <cstdlib>
-#include <exception>
-#include <exception_defines.h>
-#include <cxxabi.h>
-# include <cstdio>
-
-using namespace std;
-using namespace abi;
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // A replacement for the standard terminate_handler which prints
- // more information about the terminating exception (if any) on
- // stderr.
- void __verbose_terminate_handler()
- {
- static bool terminating;
- if (terminating)
- {
- fputs("terminate called recursively\n", stderr);
- abort ();
- }
- terminating = true;
-
- // Make sure there was an exception; terminate is also called for an
- // attempt to rethrow when there is no suitable exception.
- type_info *t = __cxa_current_exception_type();
- if (t)
- {
- // Note that "name" is the mangled name.
- char const *name = t->name();
- {
- int status = -1;
- char *dem = 0;
-
- dem = __cxa_demangle(name, 0, 0, &status);
-
- fputs("terminate called after throwing an instance of '", stderr);
- if (status == 0)
- fputs(dem, stderr);
- else
- fputs(name, stderr);
- fputs("'\n", stderr);
-
- if (status == 0)
- free(dem);
- }
-
- // If the exception is derived from std::exception, we can
- // give more information.
- try { __throw_exception_again; }
-#ifdef __EXCEPTIONS
- catch (exception &exc)
- {
- char const *w = exc.what();
- fputs(" what(): ", stderr);
- fputs(w, stderr);
- fputs("\n", stderr);
- }
-#endif
- catch (...) { }
- }
- else
- fputs("terminate called without an active exception\n", stderr);
-
- abort();
- }
-
-_GLIBCXX_END_NAMESPACE
-
-#endif
diff --git a/contrib/libstdc++/linkage.m4 b/contrib/libstdc++/linkage.m4
deleted file mode 100644
index 1d289b4aede5..000000000000
--- a/contrib/libstdc++/linkage.m4
+++ /dev/null
@@ -1,542 +0,0 @@
-dnl
-dnl This file contains macros for testing linkage.
-dnl
-
-dnl
-dnl Check to see if the (math function) argument passed is
-dnl declared when using the c++ compiler
-dnl ASSUMES argument is a math function with ONE parameter
-dnl
-dnl GLIBCXX_CHECK_MATH_DECL_1
-AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_1], [
- AC_MSG_CHECKING([for $1 declaration])
- if test x${glibcxx_cv_func_$1_use+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <math.h>
- #ifdef HAVE_IEEEFP_H
- #include <ieeefp.h>
- #endif
- ],
- [ $1(0);],
- [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
- AC_LANG_RESTORE
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_use)
-])
-
-
-dnl
-dnl Define autoheader template for using the underscore functions
-dnl For each parameter, create a macro where if func doesn't exist,
-dnl but _func does, then it will "#define func _func".
-dnl
-dnl GLIBCXX_MAYBE_UNDERSCORED_FUNCS
-AC_DEFUN([GLIBCXX_MAYBE_UNDERSCORED_FUNCS],
-[AC_FOREACH([glibcxx_ufunc], [$1],
- [AH_VERBATIM(_[]glibcxx_ufunc,
-[#if defined (]AS_TR_CPP(HAVE__[]glibcxx_ufunc)[) && ! defined (]AS_TR_CPP(HAVE_[]glibcxx_ufunc)[)
-# define ]AS_TR_CPP(HAVE_[]glibcxx_ufunc)[ 1
-# define ]glibcxx_ufunc[ _]glibcxx_ufunc[
-#endif])])
-])
-
-
-dnl
-dnl Check to see if the (math function) argument passed is
-dnl 1) declared when using the c++ compiler
-dnl 2) has "C" linkage
-dnl 3) if not, see if 1) and 2) for argument prepended with '_'
-dnl
-dnl Define HAVE_CARGF etc if "cargf" is declared and links
-dnl
-dnl argument 1 is name of function to check
-dnl
-dnl ASSUMES argument is a math function with ONE parameter
-dnl
-dnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1
-AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1], [
- GLIBCXX_CHECK_MATH_DECL_1($1)
- if test x$glibcxx_cv_func_$1_use = x"yes"; then
- AC_CHECK_FUNCS($1)
- else
- GLIBCXX_CHECK_MATH_DECL_1(_$1)
- if test x$glibcxx_cv_func__$1_use = x"yes"; then
- AC_CHECK_FUNCS(_$1)
- fi
- fi
- GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
-])
-
-
-dnl
-dnl Like GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of
-dnl of functions at once. It's an all-or-nothing check -- either
-dnl HAVE_XYZ is defined for each of the functions, or for none of them.
-dnl Doing it this way saves significant configure time.
-AC_DEFUN([GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1], [
- define([funclist],patsubst($3,\(\w+\)\(\W*\),\1 ))dnl
- AC_MSG_CHECKING([for $1 functions])
- AC_CACHE_VAL(glibcxx_cv_func_$2_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <math.h>],
- patsubst(funclist,[\w+],[\& (0);]),
- [glibcxx_cv_func_$2_use=yes],
- [glibcxx_cv_func_$2_use=no])
- AC_LANG_RESTORE])
- AC_MSG_RESULT($glibcxx_cv_func_$2_use)
- if test x$glibcxx_cv_func_$2_use = x"yes"; then
- AC_CHECK_FUNCS(funclist)
- else
- AC_MSG_CHECKING([for _$1 functions])
- AC_CACHE_VAL(glibcxx_cv_func__$2_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <math.h>],
- patsubst(funclist,[\w+],[_\& (0);]),
- [glibcxx_cv_func__$2_use=yes],
- [glibcxx_cv_func__$2_use=no])
- AC_LANG_RESTORE])
- AC_MSG_RESULT($glibcxx_cv_func__$2_use)
- if test x$glibcxx_cv_func__$2_use = x"yes"; then
- AC_CHECK_FUNCS(patsubst(funclist,[\w+],[_\&]))
- fi
- fi
- GLIBCXX_MAYBE_UNDERSCORED_FUNCS(funclist)
- undefine([funclist])
-])
-
-dnl
-dnl Check to see if the (math function) argument passed is
-dnl declared when using the c++ compiler
-dnl ASSUMES argument is a math function with TWO parameters
-dnl
-dnl GLIBCXX_CHECK_MATH_DECL_2
-AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_2], [
- AC_MSG_CHECKING([for $1 declaration])
- if test x${glibcxx_cv_func_$1_use+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <math.h>],
- [ $1(0, 0);],
- [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
- AC_LANG_RESTORE
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_use)
-])
-
-dnl
-dnl Check to see if the (math function) argument passed is
-dnl 1) declared when using the c++ compiler
-dnl 2) has "C" linkage
-dnl
-dnl Define HAVE_CARGF etc if "cargf" is declared and links
-dnl
-dnl argument 1 is name of function to check
-dnl
-dnl ASSUMES argument is a math function with TWO parameters
-dnl
-dnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2
-AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2], [
- GLIBCXX_CHECK_MATH_DECL_2($1)
- if test x$glibcxx_cv_func_$1_use = x"yes"; then
- AC_CHECK_FUNCS($1)
- else
- GLIBCXX_CHECK_MATH_DECL_2(_$1)
- if test x$glibcxx_cv_func__$1_use = x"yes"; then
- AC_CHECK_FUNCS(_$1)
- fi
- fi
- GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
-])
-
-
-dnl
-dnl Check to see if the (math function) argument passed is
-dnl declared when using the c++ compiler
-dnl ASSUMES argument is a math function with THREE parameters
-dnl
-dnl GLIBCXX_CHECK_MATH_DECL_3
-AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_3], [
- AC_MSG_CHECKING([for $1 declaration])
- if test x${glibcxx_cv_func_$1_use+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <math.h>],
- [ $1(0, 0, 0);],
- [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
- AC_LANG_RESTORE
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_use)
-])
-
-dnl
-dnl Check to see if the (math function) argument passed is
-dnl 1) declared when using the c++ compiler
-dnl 2) has "C" linkage
-dnl
-dnl Define HAVE_CARGF etc if "cargf" is declared and links
-dnl
-dnl argument 1 is name of function to check
-dnl
-dnl ASSUMES argument is a math function with THREE parameters
-dnl
-dnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3
-AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3], [
- GLIBCXX_CHECK_MATH_DECL_3($1)
- if test x$glibcxx_cv_func_$1_use = x"yes"; then
- AC_CHECK_FUNCS($1)
- else
- GLIBCXX_CHECK_MATH_DECL_3(_$1)
- if test x$glibcxx_cv_func__$1_use = x"yes"; then
- AC_CHECK_FUNCS(_$1)
- fi
- fi
- GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
-])
-
-
-dnl
-dnl Check to see if the (stdlib function) argument passed is
-dnl 1) declared when using the c++ compiler
-dnl 2) has "C" linkage
-dnl
-dnl argument 1 is name of function to check
-dnl
-dnl ASSUMES argument is a stdlib function without parameters
-dnl
-dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0
-AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0], [
- AC_MSG_CHECKING([for $1 declaration])
- if test x${glibcxx_cv_func_$1_use+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <stdlib.h>],
- [ $1();],
- [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
- AC_LANG_RESTORE
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_use)
- if test x$glibcxx_cv_func_$1_use = x"yes"; then
- AC_CHECK_FUNCS($1)
- fi
-])
-
-
-dnl
-dnl Check to see if the (stdlib function) argument passed is
-dnl 1) declared when using the c++ compiler
-dnl 2) has "C" linkage
-dnl
-dnl argument 1 is name of function to check
-dnl
-dnl ASSUMES argument is a stdlib function with TWO parameters
-dnl
-dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2
-AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2], [
- AC_MSG_CHECKING([for $1 declaration])
- if test x${glibcxx_cv_func_$1_use+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <stdlib.h>],
- [ $1(0, 0);],
- [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
- AC_LANG_RESTORE
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_use)
- if test x$glibcxx_cv_func_$1_use = x"yes"; then
- AC_CHECK_FUNCS($1)
- fi
- GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1)
-])
-
-
-dnl
-dnl Check to see if the (stdlib function) argument passed is
-dnl 1) declared when using the c++ compiler
-dnl 2) has "C" linkage
-dnl
-dnl argument 1 is name of function to check
-dnl
-dnl ASSUMES argument is a stdlib function with THREE parameters
-dnl
-dnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3
-AC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3], [
- AC_MSG_CHECKING([for $1 declaration])
- if test x${glibcxx_cv_func_$1_use+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <stdlib.h>],
- [ $1(0, 0, 0);],
- [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
- AC_LANG_RESTORE
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_use)
- if test x$glibcxx_cv_func_$1_use = x"yes"; then
- AC_CHECK_FUNCS($1)
- fi
-])
-
-dnl
-dnl Because the builtins are picky picky picky about the arguments they take,
-dnl do an explict linkage tests here.
-dnl Check to see if the (math function) argument passed is
-dnl 1) declared when using the c++ compiler
-dnl 2) has "C" linkage
-dnl
-dnl Define HAVE_CARGF etc if "cargf" is declared and links
-dnl
-dnl argument 1 is name of function to check
-dnl
-dnl ASSUMES argument is a math function with ONE parameter
-dnl
-dnl GLIBCXX_CHECK_BUILTIN_MATH_DECL_LINKAGE_1
-AC_DEFUN([GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1], [
- AC_MSG_CHECKING([for $1 declaration])
- if test x${glibcxx_cv_func_$1_use+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_use, [
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([#include <math.h>],
- [ $1(0);],
- [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no])
- AC_LANG_RESTORE
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_use)
- if test x$glibcxx_cv_func_$1_use = x"yes"; then
- AC_MSG_CHECKING([for $1 linkage])
- if test x${glibcxx_cv_func_$1_link+set} != xset; then
- AC_CACHE_VAL(glibcxx_cv_func_$1_link, [
- AC_TRY_LINK([#include <math.h>],
- [ $1(0);],
- [glibcxx_cv_func_$1_link=yes], [glibcxx_cv_func_$1_link=no])
- ])
- fi
- AC_MSG_RESULT($glibcxx_cv_func_$1_link)
- define([NAME], [translit([$1],[abcdefghijklmnopqrstuvwxyz],
- [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
- if test x$glibcxx_cv_func_$1_link = x"yes"; then
- AC_DEFINE([HAVE_]NAME, 1, [Define if the compiler/host combination has $1.])
- fi
- undefine([NAME])
- fi
-])
-
-
-dnl
-dnl Check to see what builtin math functions are supported
-dnl
-dnl check for __builtin_abs
-dnl check for __builtin_fabsf
-dnl check for __builtin_fabs
-dnl check for __builtin_fabl
-dnl check for __builtin_labs
-dnl check for __builtin_sqrtf
-dnl check for __builtin_sqrtl
-dnl check for __builtin_sqrt
-dnl check for __builtin_sinf
-dnl check for __builtin_sin
-dnl check for __builtin_sinl
-dnl check for __builtin_cosf
-dnl check for __builtin_cos
-dnl check for __builtin_cosl
-dnl
-dnl GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT
-AC_DEFUN([GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT], [
- dnl Test for builtin math functions.
- dnl These are made in gcc/c-common.c
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_abs)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsf)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabs)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_fabsl)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_labs)
-
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtf)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrt)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sqrtl)
-
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinf)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sin)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_sinl)
-
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosf)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cos)
- GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1(__builtin_cosl)
-])
-
-dnl
-dnl Check to see what the underlying c library is like
-dnl These checks need to do two things:
-dnl 1) make sure the name is declared when using the c++ compiler
-dnl 2) make sure the name has "C" linkage
-dnl This might seem like overkill but experience has shown that it's not...
-dnl
-dnl Define HAVE_STRTOLD if "strtold" is declared and links
-dnl Define HAVE_STRTOF if "strtof" is declared and links
-dnl
-dnl GLIBCXX_CHECK_STDLIB_SUPPORT
-AC_DEFUN([GLIBCXX_CHECK_STDLIB_SUPPORT], [
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
- GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold)
- GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtof)
-
- CXXFLAGS="$ac_save_CXXFLAGS"
-])
-
-dnl
-dnl Check to see what the underlying c library or math library is like.
-dnl These checks need to do two things:
-dnl 1) make sure the name is declared when using the c++ compiler
-dnl 2) make sure the name has "C" linkage
-dnl This might seem like overkill but experience has shown that it's not...
-dnl
-dnl Define HAVE_CARGF etc if "cargf" is found.
-dnl
-dnl GLIBCXX_CHECK_MATH_SUPPORT
-AC_DEFUN([GLIBCXX_CHECK_MATH_SUPPORT], [
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
- CXXFLAGS='-fno-builtin -D_GNU_SOURCE'
-
- dnl Check libm
- AC_CHECK_LIB(m, sin, libm="-lm")
- ac_save_LIBS="$LIBS"
- LIBS="$LIBS $libm"
-
- dnl Check to see if certain C math functions exist.
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnan)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finite)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(copysign)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincos)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypot)
-
- dnl Check to see if basic C math functions have float versions.
- GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig,
- float_trig,
- acosf asinf atanf \
- cosf sinf tanf \
- coshf sinhf tanhf)
- GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float round,
- float_round,
- ceilf floorf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinff)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2f)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10f)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modff)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitef)
-
- dnl Check to see if basic C math functions have long double versions.
- GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double trig,
- long_double_trig,
- acosl asinl atanl \
- cosl sinl tanl \
- coshl sinhl tanhl)
- GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double round,
- long_double_round,
- ceill floorl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(copysignl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10l)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modfl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl)
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitel)
-
- LIBS="$ac_save_LIBS"
- CXXFLAGS="$ac_save_CXXFLAGS"
-])
-
-
-dnl
-dnl Check to see if there is native support for complex
-dnl
-dnl Don't compile bits in math/* if native support exits.
-dnl
-dnl Define USE_COMPLEX_LONG_DOUBLE etc if "copysignl" is found.
-dnl
-dnl GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-AC_DEFUN([GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT], [
- dnl Check for complex versions of math functions of platform. This will
- dnl always pass if libm is available, and fail if it isn't. If it is
- dnl available, we assume we'll need it later, so add it to LIBS.
- AC_CHECK_LIB(m, main)
- AC_REPLACE_MATHFUNCS(copysignf)
-
- dnl For __signbit to signbit conversions.
- dnl Not sure why this is done, as these will be macros mostly.
- dnl Should probably coordinate this with std_cmath.h.
- AC_CHECK_FUNCS([__signbit], , [LIBMATHOBJS="$LIBMATHOBJS signbit.lo"])
-
- AC_CHECK_FUNCS([__signbitf], , [LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"])
-
- dnl Compile the long double complex functions only if the function
- dnl provides the non-complex long double functions that are needed.
- dnl Currently this includes copysignl, which should be
- dnl cached from the GLIBCXX_CHECK_MATH_SUPPORT macro, above.
- if test x$ac_cv_func_copysignl = x"yes"; then
- AC_CHECK_FUNCS([__signbitl], , [LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"])
- fi
-
- # Used in libmath/Makefile.am.
- if test -n "$LIBMATHOBJS"; then
- need_libmath=yes
- fi
- AC_SUBST(LIBMATHOBJS)
-])
-
-
-# Check for functions in math library.
-# Ulrich Drepper <drepper@cygnus.com>, 1998.
-#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-#
-# serial 1
-#
-dnl AC_REPLACE_MATHFUNCS(FUNCTION...)
-AC_DEFUN([AC_REPLACE_MATHFUNCS],
-[AC_CHECK_FUNCS([$1], , [LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"])])
diff --git a/contrib/libstdc++/scripts/check_performance b/contrib/libstdc++/scripts/check_performance
deleted file mode 100755
index b7bbd6d02021..000000000000
--- a/contrib/libstdc++/scripts/check_performance
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/env bash
-
-# Script to do performance testing.
-
-# Invocation
-# check_performance SRC_DIR BUILD_DIR
-
-# 1: variables
-#
-SRC_DIR=$1
-BUILD_DIR=$2
-
-# Now that we've successfully translated the numerical option into
-# a symbolic one, we can safely ignore it.
-shift
-
-# This has been true all along. Found out about it the hard way...
-case $BASH_VERSION in
- 1*)
- echo 'You need bash 2.x to run check_performance. Exiting.';
- exit 1 ;;
- *) ;;
-esac
-
-flags_script=$BUILD_DIR/scripts/testsuite_flags
-INCLUDES=`$flags_script --build-includes`
-PCH_FLAGS=`$flags_script --cxxpchflags`
-FLAGS=`$flags_script --cxxflags`
-THREAD_FLAG='-pthread'
-COMPILER=`$flags_script --build-cxx`
-SH_FLAG="-Wl,--rpath -Wl,$BUILD_DIR/../../gcc \
- -Wl,--rpath -Wl,$BUILD_DIR/src/.libs"
-ST_FLAG="-static"
-LINK=$SH_FLAG
-CXX="$COMPILER $INCLUDES $PCH_FLAGS $FLAGS $LINK"
-LIBS="./libtestc++.a"
-TESTS_FILE="testsuite_files_performance"
-
-for NAME in `cat $TESTS_FILE`
-do
- RUN=true
- TESTNAME=$SRC_DIR/testsuite/$NAME
- FILE_NAME="`basename $NAME`"
- FILE_NAME="`echo $FILE_NAME | sed 's/.cc//g'`"
-
- # TEST_S == single thread
- # TEST_B == do both single and multi-thread
- # TEST_T == multi-thread
- for CYCLE in `sed -n 's,.*\(TEST_[SB][0-9]*\)$,\1,p' $TESTNAME`
- do
- RUN=false
- echo $NAME $CYCLE
- EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`"
- $CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME
- if [ -f $EXE_NAME ]; then
- ./$EXE_NAME
- else
- echo "compile error:"
- echo "$CXX -DNOTHREAD -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME"
- fi
- done
-
- for CYCLE in `sed -n 's,.*\(TEST_[TB][0-9]*\)$,\1,p' $TESTNAME`
- do
- RUN=false
- echo $NAME $CYCLE thread
- EXE_NAME="`echo $FILE_NAME-$CYCLE.exe`"
- $CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME
- if [ -f $EXE_NAME ]; then
- ./$EXE_NAME
- else
- echo "compile error:"
- echo "$CXX $THREAD_FLAG -D$CYCLE $TESTNAME $LIBS -o $EXE_NAME"
- fi
- done
-
- if $RUN; then
- echo $NAME
- EXE_NAME="`echo $FILE_NAME.exe`"
- $CXX $TESTNAME $LIBS -o $EXE_NAME
- if [ -f $EXE_NAME ]; then
- ./$EXE_NAME >& tmp.$FILE_NAME
- else
- echo "compile error:"
- echo "$CXX $TESTNAME $LIBS -o $EXE_NAME"
- fi
- if [ -s tmp.$FILE_NAME ]; then
- mv tmp.$FILE_NAME $FILE_NAME.xml
- fi
- fi
-done
-
-exit 0
diff --git a/contrib/libstdc++/scripts/create_testsuite_files b/contrib/libstdc++/scripts/create_testsuite_files
deleted file mode 100755
index 8d87e09d0170..000000000000
--- a/contrib/libstdc++/scripts/create_testsuite_files
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/bin/sh
-
-# Constructs lists of source files (full pathnames) to test. Two
-# files are constructed: testsuite_files, which is used to test with
-# the default dg-runtest command, and testsuite_files_interactive,
-# which is used to test cases that require input to be entered. In
-# addition, both lists are pruned of wchar_t tests if the toolchain
-# under test does not support wchar_t functionality.
-#
-# We mimic the mkcheck script in that the first time this is run, all
-# existing files are listed in "testsuite_files" in the output
-# directory. Subsequent runs pull the list from that file, allowing
-# users to trim the list down to problematic tests, or just run
-# paticular directories or sub-directories of tests.
-#
-# Selecting individual tests can also be done with RUNTESTFLAGS, but
-# that doesn't really do all that we are trying to accomplish here.
-
-LC_ALL=C
-export LC_ALL
-
-# Both of these are in the appropriate testsuite subdirectories.
-srcdir="$1"
-outdir="$2"
-
-tmp="${TMPDIR:-/tmp}/ctt$$"
-tests_file_normal="$outdir/testsuite_files"
-tests_file_inter="$outdir/testsuite_files_interactive"
-tests_file_perf="$outdir/testsuite_files_performance"
-
-cd $srcdir
-# This is the ugly version of "everything but the current directory". It's
-# what has to happen when find(1) doesn't support -mindepth, or -xtype.
-dlist=`echo [0-9][0-9]*`
-dlist="$dlist abi backward ext performance thread tr1"
-find $dlist "(" -type f -o -type l ")" -name "*.cc" -print > $tmp.01
-find $dlist "(" -type f -o -type l ")" -name "*.c" -print > $tmp.02
-cat $tmp.01 $tmp.02 | sort > $tmp.1
-if test ! -s "$tmp.1"; then
- exit 1
-fi
-
-# Now filter out classes of tests. These classes are run using special rules.
-grep _xin $tmp.1 > $tests_file_inter
-grep -v _xin $tmp.1 > $tmp.4
-
-grep performance $tmp.4 > $tests_file_perf
-grep -v performance $tmp.4 > $tmp.5
-
-# ...more filters go here.
-cp $tmp.5 $tests_file_normal
-
-rm $tmp*
-exit 0
diff --git a/contrib/libstdc++/scripts/extract_symvers b/contrib/libstdc++/scripts/extract_symvers
deleted file mode 100755
index 8a74db9f3379..000000000000
--- a/contrib/libstdc++/scripts/extract_symvers
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2002, 2003 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.
-
-
-if test ${#} -lt 2 || test $1 = '--help'; then
- echo "Usage: extract_symvers shared_lib output_file" 1>&2
- exit 1
-fi
-
-lib=$1
-output=$2
-
-# GNU binutils, somewhere after version 2.11.2, requires -W/--wide to avoid
-# default line truncation. -W is not supported and truncation did not occur
-# by default before that point.
-readelf="readelf --symbols"
-if readelf --help | grep -- --wide > /dev/null; then
- readelf="$readelf --wide"
-fi
-
-# This avoids weird sorting problems later.
-LC_ALL=C
-export LC_ALL
-LANG=C
-export LANG
-
-tmp=extract.$$
-
-${readelf} ${lib} | sed '/\.dynsym/,/^$/p;d' | egrep -v ' (LOCAL|UND) ' |\
-awk '{ if ($4 == "FUNC" || $4 == "NOTYPE")
- printf "%s:%s\n", $4, $8;
- else if ($4 == "OBJECT")
- printf "%s:%s:%s\n", $4, $3, $8;
- }' | sort | uniq > $tmp 2>&1
-# else printf "Huh? What is %s?\n", $8;
-
-
-# I think we'll be doing some more with this file, but for now, dump.
-mv $tmp $output
-
-exit 0
diff --git a/contrib/libstdc++/scripts/gen_bind_includers.pl b/contrib/libstdc++/scripts/gen_bind_includers.pl
deleted file mode 100644
index 52b11d28332b..000000000000
--- a/contrib/libstdc++/scripts/gen_bind_includers.pl
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/perl -w
-use English;
-
-$max = shift @ARGV;
-
-$template_params = "typename _U1";
-$template_args = "_U1";
-$params = "_U1& __u1";
-$args = "__u1";
-
-for ($num_args = 2; $num_args <= $max; ++$num_args) {
- $template_params .= ", typename _U$num_args";
- $template_args .= ", _U$num_args";
- $params .= ", _U$num_args& __u$num_args";
- $args .= ", __u$num_args";
- print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n";
- print "#define _GLIBCXX_BIND_COMMA ,\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n";
- print "#define _GLIBCXX_BIND_PARAMS $params\n";
- print "#define _GLIBCXX_BIND_ARGS $args\n";
- print "#include _GLIBCXX_BIND_REPEAT_HEADER\n";
- print "#undef _GLIBCXX_BIND_ARGS\n";
- print "#undef _GLIBCXX_BIND_PARAMS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n";
- print "#undef _GLIBCXX_BIND_COMMA\n";
- print "#undef _GLIBCXX_BIND_NUM_ARGS\n";
- print "\n";
-}
diff --git a/contrib/libstdc++/scripts/gen_includers.pl b/contrib/libstdc++/scripts/gen_includers.pl
deleted file mode 100644
index 477f028408fe..000000000000
--- a/contrib/libstdc++/scripts/gen_includers.pl
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/perl -w
-use English;
-
-$max = shift @ARGV;
-
-$template_params = "typename _T1";
-$template_params_unnamed = "typename";
-$template_args = "_T1";
-$params = "_T1 __a1";
-$ref_params = "_T1& __a1";
-$args = "__a1";
-$bind_members = "_T1 _M_arg1;";
-$bind_members_init = "_M_arg1(__a1)";
-$mu_get_tuple_args = "::std::tr1::get<0>(__tuple)";
-$bind_v_template_args = "typename result_of<_Mu<_T1> _CV(_T1, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type";
-$bind_v_args = "_Mu<_T1>()(_M_arg1, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))";
-$tuple_add_cref = "typename __add_c_ref<_T1>::type __a1";
-$tuple_copy_init = "_M_arg1(__in._M_arg1)";
-$tuple_assign = "_M_arg1 = __in._M_arg1;";
-$template_params_null_class = "typename _T1 = _NullClass";
-$template_args_stripped = "typename __strip_reference_wrapper<_T1>::__type";
-$template_params_u = "typename _U1";
-$template_args_u = "_U1";
-$ref_wrap_params = "ref(__a1)";
-$ref_template_args = "_T1&";
-for ($num_args = 2; $num_args <= $max; ++$num_args) {
- $prev_args = $num_args - 1;
- $next_args = $num_args + 1;
- $template_params_shifted = $template_params;
- $template_args_shifted = $template_args;
- $params_shifted = $params;
- $args_shifted = $args;
- $template_params .= ", typename _T$num_args";
- $template_params_unnamed .= ", typename";
- $template_args .= ", _T$num_args";
- $params .= ", _T$num_args __a$num_args";
- $ref_params .=", _T$num_args& __a$num_args";
- $args .= ", __a$num_args";
- $bind_members .= " _T$num_args _M_arg$num_args;";
- $bind_members_init .= ", _M_arg$num_args(__a$num_args)";
- $mu_get_tuple_args .= ", ::std::tr1::get<$prev_args>(__tuple)";
- $bind_v_template_args .= ", typename result_of<_Mu<_T$num_args> _CV(_T$num_args, tuple<_GLIBCXX_BIND_TEMPLATE_ARGS>)>::type";
- $bind_v_args .= ", _Mu<_T$num_args>()(_M_arg$num_args, ::std::tr1::tie(_GLIBCXX_BIND_ARGS))";
- $tuple_add_cref .= ", typename __add_c_ref<_T$num_args>::type __a$num_args";
- $tuple_copy_init .= ", _M_arg$num_args(__in._M_arg$num_args)";
- $tuple_assign .= " _M_arg$num_args = __in._M_arg$num_args;";
- $template_params_null_class .= ", typename _T$num_args = _NullClass";
- $template_args_stripped .= ", typename __strip_reference_wrapper<_T$num_args>::__type";
- $template_params_u .= ", typename _U$num_args";
- $template_args_u .= ", _U$num_args";
- $ref_wrap_params .= ", ref(__a$num_args)";
- $ref_template_args .= ", _T$num_args&";
-
- if ($num_args == $max) {
- print "#define _GLIBCXX_LAST_INCLUDE\n"
- }
- print "#define _GLIBCXX_NUM_ARGS $num_args\n";
- print "#define _GLIBCXX_COMMA ,\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS $template_params\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS $template_args\n";
- print "#define _GLIBCXX_PARAMS $params\n";
- print "#define _GLIBCXX_REF_PARAMS $ref_params\n";
- print "#define _GLIBCXX_ARGS $args\n";
- print "#define _GLIBCXX_COMMA_SHIFTED ,\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS_SHIFTED $template_params_shifted\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS_SHIFTED $template_args_shifted\n";
- print "#define _GLIBCXX_PARAMS_SHIFTED $params_shifted\n";
- print "#define _GLIBCXX_ARGS_SHIFTED $args_shifted\n";
- print "#define _GLIBCXX_BIND_MEMBERS $bind_members\n";
- print "#define _GLIBCXX_BIND_MEMBERS_INIT $bind_members_init\n";
- print "#define _GLIBCXX_MU_GET_TUPLE_ARGS $mu_get_tuple_args\n";
- print "#define _GLIBCXX_BIND_V_TEMPLATE_ARGS(_CV) $bind_v_template_args\n";
- print "#define _GLIBCXX_BIND_V_ARGS $bind_v_args\n";
- print "#define _GLIBCXX_TUPLE_ADD_CREF $tuple_add_cref\n";
- print "#define _GLIBCXX_TUPLE_COPY_INIT $tuple_copy_init\n";
- print "#define _GLIBCXX_TUPLE_ASSIGN $tuple_assign\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS $template_params_null_class\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS_STRIPPED $template_args_stripped\n";
- print "#define _GLIBCXX_TEMPLATE_PARAMS_U $template_params_u\n";
- print "#define _GLIBCXX_TEMPLATE_ARGS_U $template_args_u\n";
- print "#define _GLIBCXX_REF_WRAP_PARAMS $ref_wrap_params\n";
- print "#define _GLIBCXX_REF_TEMPLATE_ARGS $ref_template_args\n";
- print "#define _GLIBCXX_NUM_ARGS_PLUS_1 $next_args\n";
- print "#define _GLIBCXX_T_NUM_ARGS_PLUS_1 _T$next_args\n";
- print "#include _GLIBCXX_REPEAT_HEADER\n";
- print "#undef _GLIBCXX_T_NUM_ARGS_PLUS_1\n";
- print "#undef _GLIBCXX_NUM_ARGS_PLUS_1\n";
- print "#undef _GLIBCXX_REF_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_REF_WRAP_PARAMS\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS_U\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS_U\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS_STRIPPED\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS\n";
- print "#undef _GLIBCXX_TUPLE_ASSIGN\n";
- print "#undef _GLIBCXX_TUPLE_COPY_INIT\n";
- print "#undef _GLIBCXX_TUPLE_ADD_CREF\n";
- print "#undef _GLIBCXX_BIND_V_ARGS\n";
- print "#undef _GLIBCXX_BIND_V_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_MU_GET_TUPLE_ARGS\n";
- print "#undef _GLIBCXX_BIND_MEMBERS_INIT\n";
- print "#undef _GLIBCXX_BIND_MEMBERS\n";
- print "#undef _GLIBCXX_ARGS_SHIFTED\n";
- print "#undef _GLIBCXX_PARAMS_SHIFTED\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS_SHIFTED\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS_SHIFTED\n";
- print "#undef _GLIBCXX_COMMA_SHIFTED\n";
- print "#undef _GLIBCXX_ARGS\n";
- print "#undef _GLIBCXX_REF_PARAMS\n";
- print "#undef _GLIBCXX_PARAMS\n";
- print "#undef _GLIBCXX_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_TEMPLATE_PARAMS\n";
- print "#undef _GLIBCXX_COMMA\n";
- print "#undef _GLIBCXX_NUM_ARGS\n";
- if ($num_args == $max) {
- print "#undef _GLIBCXX_LAST_INCLUDE\n"
- }
-}
-
-print "\n";
-print "#ifndef _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS\n";
-print "# define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS $template_params\n";
-print "# define _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED $template_params_unnamed\n";
-print "# define _GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS $template_args\n";
-print "#endif\n";
-print "\n";
-
diff --git a/contrib/libstdc++/scripts/gen_includers2.pl b/contrib/libstdc++/scripts/gen_includers2.pl
deleted file mode 100644
index 88e9becd1a47..000000000000
--- a/contrib/libstdc++/scripts/gen_includers2.pl
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/perl -w
-use English;
-
-$max = shift @ARGV;
-
-$template_params = "typename _U1";
-$template_args = "_U1";
-$params = "_U1& __u1";
-$args = "__u1";
-
-for ($num_args = 2; $num_args <= $max; ++$num_args) {
- $template_params .= ", typename _U$num_args";
- $template_args .= ", _U$num_args";
- $params .= ", _U$num_args& __u$num_args";
- $args .= ", __u$num_args";
- print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n";
- print "#define _GLIBCXX_BIND_COMMA ,\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n";
- print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n";
- print "#define _GLIBCXX_BIND_PARAMS $params\n";
- print "#define _GLIBCXX_BIND_ARGS $args\n";
- print "#include _GLIBCXX_BIND_REPEAT_HEADER\n";
- print "#undef _GLIBCXX_BIND_ARGS\n";
- print "#undef _GLIBCXX_BIND_PARAMS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n";
- print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n";
- print "#undef _GLIBCXX_BIND_COMMA\n";
- print "#undef _GLIBCXX_BIND_NUM_ARGS\n";
- print "\n";
-}
-
diff --git a/contrib/libstdc++/scripts/make_exports.pl b/contrib/libstdc++/scripts/make_exports.pl
deleted file mode 100644
index 7c9e4e31d4f8..000000000000
--- a/contrib/libstdc++/scripts/make_exports.pl
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/perl -w
-
-# This script takes two arguments, a version script and a dynamic library
-# (in that order), and prints a list of symbols to be exported from the
-# library.
-# It expects a 'nm' with the POSIX '-P' option, but everyone has one of
-# those, right? It also expects that symbol names have a leading underscore,
-# which is somewhat less likely.
-
-use File::Glob ':glob';
-use FileHandle;
-use IPC::Open2;
-
-# The glob patterns that are to be applied to the demangled name
-my @cxx_globs = ();
-# The glob patterns that apply directly to the name in the .o files
-my @globs = ();
-# The patterns for local variables (usually just '*').
-my @ignored = ();
-
-##########
-# Fill in the various glob arrays.
-
-# The next pattern will go into this array.
-my $glob = \@globs;
-my $symvers = shift;
-
-open F,$symvers or die $!;
-
-while (<F>) {
- chomp;
- # Lines of the form '} SOME_VERSION_NAME_1.0;'
- if (/^[ \t]*\}[ \tA-Z0-9_.a-z]*;[ \t]*$/) {
- $glob = \@globs;
- next;
- }
- # Comment and blank lines
- next if (/^[ \t]*\#/);
- next if (/^[ \t]*$/);
- # Lines of the form 'SOME_VERSION_NAME_1.1 {'
- next if (/^[A-Z0-9_. \t]*{$/);
- # Ignore 'global:'
- next if (/^[ \t]*global:$/);
- # After 'local:', globs should be ignored, they won't be exported.
- if (/^[ \t]*local:$/) {
- $glob = \@ignored;
- next;
- }
- # After 'extern "C++"', globs are C++ patterns
- if (/^[ \t]*extern \"C\+\+\"[ \t]*$/) {
- $glob = \@cxx_globs;
- next;
- }
- # Catch globs. Note that '{}' is not allowed in globs by this script,
- # so only '*' and '[]' are available.
- if (/^[ \t]*([^ \t;{}#]+);?[ \t]*$/) {
- my $ptn = $1;
- # Turn the glob into a regex by replacing '*' with '.*'.
- $ptn =~ s/\*/\.\*/g;
- push @$glob,$ptn;
- next;
- }
- # Important sanity check. This script can't handle lots of formats
- # that GNU ld can, so be sure to error out if one is seen!
- die "strange line `$_'";
-}
-close F;
-
-# Make 'if (1)' for debugging.
-if (0) {
- print "cxx:\n";
- (printf "%s\n",$_) foreach (@cxx_globs);
- print "globs:\n";
- (printf "%s\n", $_) foreach (@globs);
- print "ignored:\n";
- (printf "%s\n", $_) foreach (@ignored);
-}
-
-##########
-# Combine the arrays into single regular expressions
-# This cuts the time required from about 30 seconds to about 0.5 seconds.
-
-my $glob_regex = '^_(' . (join '|',@globs) . ')$';
-my $cxx_regex = (join '|',@cxx_globs);
-
-##########
-# Get all the symbols from the library, match them, and add them to a hash.
-
-my %export_hash = ();
-my $nm = $ENV{'NM_FOR_TARGET'} || "nm";
-# Process each symbol.
-print STDERR $nm.' -P '.(join ' ',@ARGV).'|';
-open NM,$nm.' -P '.(join ' ',@ARGV).'|' or die $!;
-# Talk to c++filt through a pair of file descriptors.
-open2(*FILTIN, *FILTOUT, "c++filt -_") or die $!;
-NAME: while (<NM>) {
- my $i;
- chomp;
-
- # nm prints out stuff at the start, ignore it.
- next if (/^$/);
- next if (/:$/);
- # Ignore undefined and local symbols.
- next if (/^([^ ]+) [Ua-z] /);
-
- # $sym is the name of the symbol, $noeh_sym is the same thing with
- # any '.eh' suffix removed.
- die "unknown nm output $_" if (! /^([^ ]+) [A-Z] /);
- my $sym = $1;
- my $noeh_sym = $sym;
- $noeh_sym =~ s/\.eh$//;
-
- # Maybe it matches one of the patterns based on the symbol in the .o file.
- if ($noeh_sym =~ /$glob_regex/) {
- $export_hash{$sym} = 1;
- next NAME;
- }
-
- # No? Well, maybe its demangled form matches one of those patterns.
- printf FILTOUT "%s\n",$noeh_sym;
- my $dem = <FILTIN>;
- chomp $dem;
- if ($dem =~ /$cxx_regex/) {
- $export_hash{$sym} = 2;
- next NAME;
- }
-
- # No? Well, then ignore it.
-}
-close NM or die "nm error";
-close FILTOUT or die "c++filt error";
-close FILTIN or die "c++filt error";
-
-##########
-# Print out the export file
-
-# Print information about generating this file
-print "# This is a generated file.\n";
-print "# It was generated by:\n";
-printf "# %s %s %s\n", $0, $symvers, (join ' ',@ARGV);
-
-foreach my $i (keys %export_hash) {
- printf "%s\n",$i or die;
-}
diff --git a/contrib/libstdc++/scripts/make_graph.py b/contrib/libstdc++/scripts/make_graph.py
deleted file mode 100755
index 61e18be47681..000000000000
--- a/contrib/libstdc++/scripts/make_graph.py
+++ /dev/null
@@ -1,576 +0,0 @@
-#!/usr/bin/python
-
-import string
-import sys
-import re
-import os
-import platform
-import commands
-from Numeric import *
-from pychart import *
-from xml.dom import minidom
-
-class exception:
- pass
-
-
-def comp_platform_info(compiler):
- ret = '<ul>\n'
- so = commands.getstatusoutput('cat /proc/cpuinfo | grep \'cpu MHz\'')
- if so[0] == 0:
- ret += '<li>CPU speed - %s</li>\n' % so[1]
- so = commands.getstatusoutput('cat /proc/meminfo | grep \'MemTotal\'')
- if so[0] == 0:
- ret += '<li>Memory - %s</li>\n' % so[1]
- ret += '<li>Platform - %s</li>\n' % platform.platform()
- so = commands.getstatusoutput(compiler + ' --version')
- if so[0] == 0:
- ret += '<li>Compiler - %s</li>\n' % so[1]
- ret += '</ul>\n'
- return ret
-
-
-class res:
- """
- A 'structure' representing the results of a test.
- """
- def __init__(self, x_label, y_label, cntnr_list, cntnr_descs, res_sets):
- self.x_label = x_label
- self.y_label = y_label
- self.cntnr_list = cntnr_list
- self.cntnr_descs = cntnr_descs
- self.res_sets = res_sets
-
-
-class res_getter:
- """
- This class returns a res object for some test.
- """
- class __sorter:
- def __accum(self, results):
- total = 0
- for result in results:
- total = total + result[1]
- return total
-
- def sort(self, cntnr_list, res_sets):
- cntnrs_and_totals = []
- for cntnr in cntnr_list:
- results = res_sets[cntnr]
- total = self.__accum(results)
- cntnrs_and_totals.append((cntnr, total))
- by_total = lambda x,y: x[1] > y[1] and -1 or 1
- cntnrs_and_totals.sort(by_total)
- ret = []
- for cntnr_and_total in cntnrs_and_totals:
- cntnr = cntnr_and_total[0]
- ret.append(cntnr)
- return ret
-
- def __init__(self, test_infos_f_name):
- self.__test_to_container_res_sets = {}
- self.__test_to_f_names = {}
- tests_dat = minidom.parse(test_infos_f_name)
- for test in tests_dat.getElementsByTagName('test'):
- test_name = test.attributes['name'].value
- self.__test_to_f_names[test_name] = test.getElementsByTagName('file')[0].attributes['name'].value
- cntnr_list = []
- for cntnr in test.getElementsByTagName('cntnr'):
- cntnr_list.append(cntnr.attributes['name'].value)
- self.__test_to_container_res_sets[test_name] = cntnr_list
-
- def __get_label(self, tst_dat, label_name):
- label = tst_dat.getElementsByTagName(label_name)[0].firstChild.data
- label = string.strip(label, '\n')
- label = string.strip(label)
- return label
-
- def __parse_res_sets(self, f_name, cntnr_list):
- tst_dat = minidom.parse(f_name)
- x_label = self.__get_label(tst_dat, 'x_name')
- y_label = self.__get_label(tst_dat, 'y_name')
- parsed_container_list = tst_dat.getElementsByTagName('cntnr')
- res_sets = {}
- cntnr_descs = {}
- for cntnr in parsed_container_list:
- cntnr_name = cntnr.attributes["name"].value
- res_sets[cntnr_name] = []
- for cntnr in parsed_container_list:
- cntnr_name = cntnr.attributes["name"].value
- cntnr_desc = cntnr.getElementsByTagName('desc')
- if res_sets.has_key(cntnr_name):
- res_set = []
- result_list = cntnr.getElementsByTagName('result')
- for result in result_list:
- x = string.atol(result.attributes["x"].value)
- y = string.atof(result.attributes["y"].value)
- res_set.append((x, y))
- res_sets[cntnr_name] = res_set
- cntnr_descs[cntnr_name] = cntnr_desc[0]
- return (x_label, y_label, cntnr_descs, res_sets)
-
- def get(self, res_dir, test_name):
- cntnr_list = self.__test_to_container_res_sets[test_name]
- f_name = res_dir + '/' + self.__test_to_f_names[test_name]
- parsed = self.__parse_res_sets(f_name, cntnr_list)
- x_label = parsed[0]
- y_label = parsed[1]
- cntnr_descs = parsed[2]
- res_sets = parsed[3]
- cntnr_list = self.__sorter().sort(cntnr_list, res_sets)
- return res(x_label, y_label, cntnr_list, cntnr_descs, res_sets)
-
-
-class png_maker:
- """
- This class creates a png file from a result set.
- """
- class __style_chooser:
- def __init__(self):
- self.native_re = re.compile(r'n_(?:.*?)')
-
- self.native_tick_mark_0 = tick_mark.Circle(size = 4)
- self.native_tick_mark_1 = tick_mark.Square(size = 4)
- self.native_line_style_0 = line_style.T(color = color.black, width=2)
- self.native_line_style_1 = line_style.T(color = color.black, width=2)
-
- self.mask_re = re.compile(r'mask(?:.*?)')
- self.mod_re = re.compile(r'mod(?:.*?)')
-
- self.rb_tree_mmap_rb_tree_set_re = re.compile(r'rb_tree_mmap_rb_tree_set(?:.*?)')
- self.rb_tree_mmap_lu_mtf_set_re = re.compile(r'rb_tree_mmap_lu_mtf_set(?:.*?)')
-
- self.splay_re = re.compile(r'splay(?:.*?)')
- self.rb_tree_re = re.compile(r'rb_tree(?:.*?)')
- self.ov_tree_re = re.compile(r'ov_tree(?:.*?)')
- self.splay_tree_re = re.compile(r'splay_tree(?:.*?)')
-
- self.pat_trie_re = re.compile(r'pat_trie(?:.*?)')
-
- self.lc_1div8_1div2_re = re.compile(r'lc_1div8_1div2(?:.*?)')
- self.lc_1div8_1div1_re = re.compile(r'lc_1div8_1div1(?:.*?)')
- self.mcolc_1div2_re = re.compile(r'mcolc_1div2(?:.*?)')
-
- def choose(self, cntnr):
- if self.native_re.search(cntnr):
- if cntnr == 'n_pq_vector':
- return (self.native_tick_mark_1, self.native_line_style_1)
-
- return (self.native_tick_mark_0, self.native_line_style_0)
-
- # tick_mark predefined
- # square, circle3, dia, tri, dtri, star, plus5, x5, gray70dia, blackdtri, blackdia
- if self.mask_re.search(cntnr):
- clr = color.navy
- elif self.mod_re.search(cntnr):
- clr = color.green4
- elif self.rb_tree_mmap_rb_tree_set_re.search(cntnr):
- clr = color.mediumblue
- tm = tick_mark.square
- elif self.rb_tree_mmap_lu_mtf_set_re.search(cntnr) or cntnr == 'rc_binomial_heap':
- clr = color.gray50
- tm = tick_mark.dia
- elif self.splay_tree_re.search(cntnr) or cntnr == 'binomial_heap':
- clr = color.gray58
- tm = tick_mark.tri
- elif self.rb_tree_re.search(cntnr) or cntnr == 'binary_heap':
- clr = color.red3
- tm = tick_mark.dtri
- elif self.ov_tree_re.search(cntnr) or cntnr == 'thin_heap':
- clr = color.orangered1
- tm = tick_mark.star
- elif self.pat_trie_re.search(cntnr) or cntnr == 'pairing_heap':
- clr = color.blueviolet
- tm = tick_mark.plus5
- else:
- sys.stderr.write(cntnr + '\n')
- raise exception
-
- # mask / mod
- if cntnr.find('lc_1div8_1div') <> -1:
- if cntnr.find('mask') <> -1:
- # mask
- if self.lc_1div8_1div2_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.x5
- else:
- tm = tick_mark.gray70dia
- if self.lc_1div8_1div1_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.dia
- else:
- tm = tick_mark.circle3
- else:
- # mod
- if self.lc_1div8_1div2_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.tri
- else:
- tm = tick_mark.square
- if self.lc_1div8_1div1_re.search(cntnr):
- if cntnr.find('nsth') <> -1:
- tm = tick_mark.dtri
- else:
- tm = tick_mark.star
-
- if self.mcolc_1div2_re.search(cntnr):
- tm = tick_mark.circle3
-
- return (tm, line_style.T(color = clr, width = 2))
-
-
- def __init__(self):
- self.__sc = self.__style_chooser()
- self.__mmap_re = re.compile('mmap_')
-
- def __container_label_name(self, cntnr):
- return self.__mmap_re.sub('\nmmap_\n', cntnr)
-
- def make(self, res, of_name):
- theme.output_format = 'png'
- theme.output_file = of_name
- theme.scale_factor = 2
-# theme.default_font_size = 5
- theme.use_color = 1
- theme.reinitialize()
- y_tick_interval = self.__get_y_tics(res)
- xaxis = axis.X(format = '/a90/hL%d',
- tic_interval = 200,
- label = res.x_label)
- yaxis = axis.Y(format = '%.2e',
- tic_interval = y_tick_interval,
- label = res.y_label)
- legend_lines = len(res.cntnr_list)
- legend_vloc = 50 + (legend_lines * 10)
- ar = area.T(x_axis = xaxis, y_axis = yaxis,
- legend = legend.T(loc=(0,-legend_vloc),
- frame_line_style=None,
- inter_row_sep=2),
- size=(240,110))
- plot_list = []
- for cntnr in res.cntnr_list:
- style = self.__sc.choose(cntnr)
- print cntnr
- pl = line_plot.T(label = self.__container_label_name(cntnr),
- data = res.res_sets[cntnr],
- tick_mark = style[0],
- line_style = style[1])
- plot_list.append(pl)
- for plot in plot_list:
- ar.add_plot(plot)
- ar.draw()
-
-
- def __get_y_tics(self, res):
- mx = 0
- for cntnr in res.cntnr_list:
- m = max(d[1] for d in res.res_sets[cntnr])
- mx = max(m, mx)
- return mx / 5
-
-
-
-def make_tt(s):
- return '<tt>' + s + '</tt>'
-
-def make_b(s):
- return '<b>' + s + '</b>'
-
-def make_ttb(s):
- return '<tt><b>' + s + '</b></tt>'
-
-def make_i(s):
- return '<i>' + s + '</i>'
-
-def make_pb_ds_class_href(c_name):
- return '<a href = "' + c_name + '.html">' + make_tt(c_name) + '</a>\n'
-
-def build_value_to_pb_ds_class_href(s_desc):
- value = s_desc.attributes['value'].value
- ret = make_pb_ds_class_href(value)
- return ret
-
-class hash_desc_to_html_builder:
- def build_specific_comb_hash_fn(self, s_desc):
- comb_hash_fn_desc = s_desc.getElementsByTagName('Comb_Hash_Fn')[0]
- ret = make_tt('Comb_Hash_Fn')
- ret = ret + ' = '
- ret = ret + build_value_to_pb_ds_class_href(comb_hash_fn_desc)
- return ret
-
- def __build_nom_denom(self, s_desc):
- nom_denom = s_desc.attributes['nom'].value + '/' + s_desc.attributes['denom'].value
- return make_i(nom_denom)
-
- def __build_lc_trigger_desc(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + make_i('&alpha;<sub>min</sub>')
- ret = ret + ' = ' + self.__build_nom_denom(s_desc.getElementsByTagName('alpha_min')[0])
- ret = ret + ' and ' + make_i('&alpha;<sub>max</sub>')
- ret = ret + ' = ' + self.__build_nom_denom(s_desc.getElementsByTagName('alpha_max')[0])
- return ret
-
- def build_specific_resize_policy(self, s_desc):
- ret = make_tt('Resize_Policy')
- ret = ret + ' = '
- resize_policy_desc = s_desc.getElementsByTagName('Resize_Policy')[0]
- ret = ret + build_value_to_pb_ds_class_href(resize_policy_desc)
- ret = ret + ' with ' + make_tt('Size_Policy')
- ret = ret + ' = '
- size_policy_desc = resize_policy_desc.getElementsByTagName('Size_Policy')[0]
- ret = ret + build_value_to_pb_ds_class_href(size_policy_desc)
- ret = ret + ', and ' + make_tt('Trigger_Policy')
- ret = ret + ' = '
- trigger_policy_desc = resize_policy_desc.getElementsByTagName('Trigger_Policy')[0]
- if trigger_policy_desc.attributes['value'].value == 'hash_load_check_resize_trigger':
- ret = ret + self.__build_lc_trigger_desc(trigger_policy_desc)
- else:
- raise exception
- return ret
-
-
-class cc_hash_desc_to_html_builder:
- def __init__(self):
- self.__hash_builder = hash_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + 'with ' + self.__hash_builder.build_specific_comb_hash_fn(s_desc)
- ret = ret + ', and ' + self.__hash_builder.build_specific_resize_policy(s_desc)
- return ret
-
-
-class gp_hash_desc_to_html_builder:
- def __init__(self):
- self.__hash_builder = hash_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + self.__hash_builder.build_specific_comb_hash_fn(s_desc)
- ret = ret + ', ' + self.__hash_builder.build_specific_resize_policy(s_desc)
- ret = ret + ', and ' + make_tt('Probe_Fn')
- ret = ret + ' = '
- probe_fn = s_desc.getElementsByTagName('Probe_Fn')[0].attributes['value'].value
- ret = ret + make_pb_ds_class_href(probe_fn)
- return ret
-
-
-class basic_tree_like_desc_to_html_builder:
- def build_tag(self, s_desc):
- ret = make_tt('Tag')
- ret = ret + ' = '
- tag_desc = s_desc.getElementsByTagName('Tag')[0]
- ret = ret + build_value_to_pb_ds_class_href(tag_desc)
- return ret
-
- def build_node_update(self, s_desc):
- ret = make_tt('Node_Update')
- ret = ret + ' = '
- node_update_desc = s_desc.getElementsByTagName('Node_Update')[0]
- ret = ret + build_value_to_pb_ds_class_href(node_update_desc)
- return ret
-
-
-class basic_tree_desc_to_html_builder:
- def __init__(self):
- self.__tree_like_builder = basic_tree_like_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + self.__tree_like_builder.build_tag(s_desc)
- ret = ret + ', and ' + self.__tree_like_builder.build_node_update(s_desc)
- return ret
-
-
-class basic_trie_desc_to_html_builder:
- def __init__(self):
- self.__tree_like_builder = basic_tree_like_desc_to_html_builder()
-
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + self.__tree_like_builder.build_tag(s_desc)
- ret = ret + ', and ' + self.__tree_like_builder.build_node_update(s_desc)
- return ret
-
-class lu_desc_to_html_builder:
- def build(self, s_desc):
- ret = build_value_to_pb_ds_class_href(s_desc)
- ret = ret + ' with ' + make_tt('Update_Policy')
- ret = ret + ' = '
- update_policy_desc = s_desc.getElementsByTagName('Update_Policy')[0]
- ret = ret + build_value_to_pb_ds_class_href(update_policy_desc)
- return ret
-
-
-class std_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- return make_tt(value.replace('std_', 'std::'))
-
-
-class std_tr1_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- ret = make_tt(value.replace('std_tr1_', 'std::tr1::'))
- ret = ret + ' with ' + make_tt('cache_hash_code')
- ret = ret + ' = '
- cache_hash_code = s_desc.getElementsByTagName('cache_hash_code')[0].attributes['value'].value
- ret = ret + make_ttb(cache_hash_code)
- return ret
-
-class gnucxx_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- return make_tt(value.replace('__gnucxx_', '__gnucxx::'))
-
-class stdext_desc_to_html_builder:
- def build(self, s_desc):
- value = s_desc.attributes['value'].value
- return make_tt(value.replace('stdext_', 'stdext::'))
-
-class npq_desc_to_html_builder:
- def build(self, vector):
- if vector:
- under = make_tt('std::vector')
- else:
- under = make_tt('std::deque')
-
- return make_tt('std::priority_queue') + ' adapting ' + under
-
-class binary_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('binary_heap_tag')
- return ret
-
-class thin_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('thin_heap_tag')
- return ret
-
-class binomial_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('binomial_heap_tag')
- return ret
-
-class rc_binomial_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('rc_binomial_heap_tag')
- return ret
-
-class pairing_heap_desc_to_html_builder:
- def build(self, s_desc):
- ret = make_pb_ds_class_href('priority_queue')
- ret = ret + ' with ' + make_tt('Tag')
- ret = ret + ' = ' + make_pb_ds_class_href('pairing_heap_tag')
- return ret
-
-class legend_desc_builder:
- """
- Returns a string corresponding to a specific container type.
- """
- def __init__(self):
- self.__cc_hash_builder = cc_hash_desc_to_html_builder()
- self.__gp_hash_builder = gp_hash_desc_to_html_builder()
- self.__basic_tree_builder = basic_tree_desc_to_html_builder()
- self.__basic_trie_builder = basic_trie_desc_to_html_builder()
- self.__lu_builder = lu_desc_to_html_builder()
- self.__std_builder = std_desc_to_html_builder()
- self.__std_tr1_builder = std_tr1_desc_to_html_builder()
- self.__gnucxx_builder = gnucxx_desc_to_html_builder()
- self.__stdext_builder = stdext_desc_to_html_builder()
- self.__npq_builder = npq_desc_to_html_builder()
- self.__thin_heap_builder = thin_heap_desc_to_html_builder()
- self.__thin_heap_builder = thin_heap_desc_to_html_builder()
- self.__binary_heap_builder = binary_heap_desc_to_html_builder()
- self.__binomial_heap_builder = binomial_heap_desc_to_html_builder()
- self.__rc_binomial_heap_builder = rc_binomial_heap_desc_to_html_builder()
- self.__pairing_heap_builder = pairing_heap_desc_to_html_builder()
-
- def __build_specific(self, s_desc):
- type = s_desc.attributes['value'].value
-
- if type == 'thin_heap':
- return self.__thin_heap_builder.build(s_desc)
- if type == 'binary_heap':
- return self.__binary_heap_builder.build(s_desc)
- if type == 'binomial_heap':
- return self.__binomial_heap_builder.build(s_desc)
- if type == 'rc_binomial_heap':
- return self.__rc_binomial_heap_builder.build(s_desc)
- if type == 'pairing_heap':
- return self.__pairing_heap_builder.build(s_desc)
- if type == 'cc_hash_table':
- ret = self.__cc_hash_builder.build(s_desc)
- elif type == 'gp_hash_table':
- ret = self.__gp_hash_builder.build(s_desc)
- elif type == 'tree':
- ret = self.__basic_tree_builder.build(s_desc)
- elif type == 'trie':
- ret = self.__basic_trie_builder.build(s_desc)
- elif type == 'list_update':
- ret = self.__lu_builder.build(s_desc)
- elif type == 'std::priority_queue_vector':
- return self.__npq_builder.build(True)
- elif type == 'std::priority_queue_deque':
- return self.__npq_builder.build(False)
- elif type == 'std_set' or type == 'std_map' or type == 'std_multimap':
- return self.__std_builder.build(s_desc)
- elif type == 'std_tr1_unordered_set' or type == 'std_tr1_unordered_map':
- return self.__std_tr1_builder.build(s_desc)
- elif type == 'stdext_hash_set' or type == 'stdext_hash_map' or type == 'stdext_hash_multimap':
- return self.__stdext_builder.build(s_desc)
- elif type == '__gnucxx_hash_set' or type == '__gnucxx_hash_map' or type == '__gnucxx_hash_multimap':
- return self.__gnucxx_builder.build(s_desc)
- else:
- sys.stderr.write('cannot recognize %s\n' % type)
- raise exception
- return ret
-
-
- def build(self, desc):
- s_descs = desc.getElementsByTagName('type')
- if s_descs.length == 0:
- print desc.toxml()
- raise exception
- ret = ''
- count = 0
- for s_desc in s_descs:
- if count > 0:
- ret = ret + ', mapping each key to '
- ret = ret + self.__build_specific(s_desc)
- count = count + 1
- return ret
-
-
-def main(doc_dir, res_dir, test_infos_f_name, test_name, build_name):
- res_gtr = res_getter(test_infos_f_name)
- res = res_gtr.get(res_dir, test_name)
- png_mkr = png_maker()
- png_of_name = doc_dir + '/' + test_name + '_' + build_name + '.png'
- print png_of_name
- png_mkr.make(res, png_of_name)
-
-
-if __name__ == "__main__":
- """
- This module takes 6 parameters from the command line:
- Docs directory
- Results directory
- Tests info XML file name
- Test name
- Build name
- Compiler name
- """
- usg = "make_graph.py <doc_dir> <res_dir> <test_info_file> <test_name> <build_name>\n"
- if len(sys.argv) != 6:
- sys.stderr.write(usg)
- raise exception
- main(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5])
diff --git a/contrib/libstdc++/scripts/make_graphs.py b/contrib/libstdc++/scripts/make_graphs.py
deleted file mode 100755
index 0b5daf24360c..000000000000
--- a/contrib/libstdc++/scripts/make_graphs.py
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import commands
-import re
-from xml.dom import minidom
-from BeautifulSoup import BeautifulSoup
-import make_graph
-
-class exception:
- pass
-
-res_div_re = re.compile('(.*?)_res_div')
-settings_div_re = re.compile('(.*?)_settings_div')
-
-
-gray_border_div_str = '<div style = "border-style: dotted; border-width: 1px; border-color: lightgray">'
-space_div_str = '<div style = "width: 100%; height: 20px">'
-
-
-
-def logical_build_from_build(build):
- if build == 'gcc':
- return 'g++'
- if build == 'msvc':
- return 'msvc++'
- if build == 'local':
- return 'local'
- sys.stderr.write(build)
- raise exception
-
-
-def img_title_from_origs(label, title, base_build_ref, build_name, logical_build_name):
- title = title.replace('_tt_', '<tt>')
- title = title.replace('_455tt_', '</tt>')
- title = title.replace('_b_', '<b>')
- title = title.replace('_455b_', '</b>')
- title = title.replace('_456', ',')
- title = title.replace('_457', '[]')
- title = title.replace('_', ' ')
- return '%s: %s - <a href = "%s_performance_tests.html#%s">%s</a>' % (
- label,
- title,
- base_build_ref,
- build_name,
- logical_build_name)
-
-
-def make_png(src_dir, doc_dir, res_dir, tests_info_xml_f_name, build_name, test_name):
- cmd_str = '%s/scripts/make_graph.py %s %s %s %s %s' % (
- src_dir, doc_dir,
- res_dir,
- tests_info_xml_f_name,
- test_name,
- build_name)
- # Must start a new process for pychart - otherwise pngs overlap.
- so = commands.getstatusoutput(cmd_str)
- if(so[0] != 0):
- sys.stderr.write(cmd_str + '\n')
- sys.stderr.write(so[1] + '\n')
- sys.exit(-1)
-
-
-def make_png_str(label, test_name, build):
- ret = '<h6 class="c1">'
- ret += '<a name="%s" id= "%s">' % (label, label)
- ret += '<img src="%s" ' % (test_name + '_' + build + '.png')
- ret += 'alt="no image" />'
- ret += '</a></h6>'
- return ret
-
-def process_html(html_f_name, src_dir, build_dir, htmls_xml_f_name, tests_info_xml_f_name, build_name, compiler_name):
- doc_dir = src_dir + "/docs/html/ext/pb_ds"
- res_dir = build_dir
- html_f = open(doc_dir + '/' + html_f_name)
- soup = BeautifulSoup(html_f.read())
- html_f.close()
- platform_comp_re = re.compile('platform_comp_%s' % build_name)
- for d in soup('div'):
- try:
- settings_m = settings_div_re.match(d['id'])
- res_m = res_div_re.match(d['id'])
- except:
- settings_m = None
- res_m = None
-
- if settings_m:
- build = settings_m.groups()[0]
- if build == build_name:
- logical_build_name = logical_build_from_build(build)
- info = gray_border_div_str
- info += '<h3><a name = "%s"><u>%s</u></a></h3>' % (build, logical_build_name)
- info += make_graph.comp_platform_info(compiler_name)
- info += '</div>%s</div>' % space_div_str
- d.contents = info
- elif res_m:
- label = res_m.groups()[0]
- d = d.divTag
-
- build = d['id'].replace('%s_' % label, '')
-
- if build == build_name:
- logical_build_name = logical_build_from_build(build)
- d = d.divTag
- test_name = d['id'].replace('%s_' % label, '')
- d = d.divTag
- base_build_ref = d['id'].replace('%s_' % label, '')
- d = d.divTag
- title = d['id'].replace('%s_' % label, '')
- img_title = img_title_from_origs(label, title, base_build_ref, build, logical_build_name)
-
- make_png(src_dir, doc_dir, res_dir, tests_info_xml_f_name, build_name, test_name)
- png_str = make_png_str(label, test_name, build)
- content = gray_border_div_str
- content += png_str
- content += img_title
-# content += make_graph.legend(doc_dir, res_dir, tests_info_xml_f_name, test_name, build_name)
- content += '</div>%s</div>' % space_div_str
- d.contents = content
-
- return soup
-
-
-
-if __name__ == "__main__":
- """
- Doc dir
- This module takes 6 parameters from the command line:
- Source directory
- Build directory
- HTMLs XML file name
- Tests info XML file name
- Build name
- Compiler name
- """
-
- usg = "make_graph.py <src_dir> <build_dir> <htmls_xml_f_name> <tests_info_xml_f_name> <build_name> <compiler_name>\n"
-
- if len(sys.argv) != 7:
- sys.stderr.write(usg)
- raise exception
-
- src_dir = sys.argv[1]
- build_dir = sys.argv[2]
- htmls_xml_f_name = sys.argv[3]
- tests_info_xml_f_name = sys.argv[4]
- build_name = sys.argv[5]
- compiler_name = sys.argv[6]
- doc_dir = src_dir + "/docs/html/ext/pb_ds"
- htmls_dat = minidom.parse(htmls_xml_f_name)
- for html in htmls_dat.getElementsByTagName('html'):
- html_f_name = html.attributes['name'].value
-
- new_soup = process_html(html_f_name, src_dir, build_dir, htmls_xml_f_name, tests_info_xml_f_name, build_name, compiler_name)
-
- html_f = open(doc_dir + '/' + html_f_name, 'w')
- html_f.write(str(new_soup))
- html_f.close()
-
-
diff --git a/contrib/libstdc++/scripts/testsuite_flags.in b/contrib/libstdc++/scripts/testsuite_flags.in
deleted file mode 100755
index 4b841ca5275f..000000000000
--- a/contrib/libstdc++/scripts/testsuite_flags.in
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-
-#
-# This script computes the various flags needed to run GNU C++ testsuites
-# (compiler specific as well as library specific).
-#
-# Written by Benjamin Kosnik <bkoz@redhat.com>
-# Gabriel Dos Reis <gdr@codesourcery.com>
-#
-
-# Print a message saying how this script is intended to be invoked
-print_usage() {
- cat <<EOF
-Usage:
- testsuite_flags --install-includes
- --build-includes
- --build-cxx
- --install-cxx
- --cxxflags
- --cxxpchflags
- --cxxldflags
-EOF
-}
-
-# Establish configure-generated directory structure.
-BUILD_DIR=@glibcxx_builddir@
-SRC_DIR=@glibcxx_srcdir@
-PREFIX_DIR=@glibcxx_prefixdir@
-query=$1
-
-case ${query} in
- --install-includes)
- INCLUDES="-I${SRC_DIR}/testsuite/util"
- echo ${INCLUDES}
- ;;
- --build-includes)
- INCLUDES="-nostdinc++ @GLIBCXX_INCLUDES@
- -I${SRC_DIR}/include/backward -I${SRC_DIR}/testsuite/util"
- echo ${INCLUDES}
- ;;
- --install-cxx)
- CXX=${PREFIX_DIR}/bin/g++
- echo ${CXX}
- ;;
- --build-cxx)
- CXX_build="@CXX@"
- CXX=`echo "$CXX_build" | sed 's,gcc/xgcc ,gcc/g++ ,'`
- echo ${CXX}
- ;;
- --cxxflags)
- CXXFLAGS_save="-g -O2 -D_GLIBCXX_ASSERT"
- CXXFLAGS_config='@SECTION_FLAGS@ -fmessage-length=0
- @CXXFLAGS@ @EXTRA_CXX_FLAGS@ '
- echo ${CXXFLAGS_save} ${CXXFLAGS_config}
- ;;
- --cxxpchflags)
- PCHFLAGS="@glibcxx_PCHFLAGS@"
- echo ${PCHFLAGS}
- ;;
- --cxxldflags)
- SECTIONLDFLAGS="@SECTION_LDFLAGS@"
- echo ${SECTIONLDFLAGS}
- ;;
- *)
- print_usage
- ;;
-esac
-
-exit 0
diff --git a/contrib/libstdc++/src/Makefile.am b/contrib/libstdc++/src/Makefile.am
deleted file mode 100644
index 47f8ceea2c55..000000000000
--- a/contrib/libstdc++/src/Makefile.am
+++ /dev/null
@@ -1,291 +0,0 @@
-## Makefile for the src subdirectory of the GNU C++ Standard library.
-##
-## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
-## Free Software Foundation, Inc.
-##
-## This file is part of the libstdc++ version 3 distribution.
-## Process this file with automake to produce Makefile.in.
-
-## 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.
-
-include $(top_srcdir)/fragment.am
-
-# Cross compiler support.
-toolexeclib_LTLIBRARIES = libstdc++.la
-
-# Symbol versioning for shared libraries.
-if ENABLE_SYMVERS
-libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \
- $(port_specific_symbol_files)
- cp ${glibcxx_srcdir}/$(SYMVER_FILE) ./libstdc++-symbols.ver
- if test "x$(port_specific_symbol_files)" != x; then \
- if grep '^# Appended to version file.' \
- $(port_specific_symbol_files) /dev/null > /dev/null 2>&1; then \
- cat $(port_specific_symbol_files) >> $@; \
- else \
- sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
- sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
- cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \
- rm tmp.top tmp.bottom; \
- fi; \
- fi
-
-if ENABLE_SYMVERS_GNU
-version_arg = -Wl,--version-script=libstdc++-symbols.ver
-version_dep = libstdc++-symbols.ver
-endif
-if ENABLE_SYMVERS_GNU_NAMESPACE
-version_arg = -Wl,--version-script=libstdc++-symbols.ver
-version_dep = libstdc++-symbols.ver
-endif
-if ENABLE_SYMVERS_DARWIN
-version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist
-version_dep = libstdc++-symbols.explist
-libstdc++-symbols.explist : libstdc++-symbols.ver \
- ${glibcxx_srcdir}/scripts/make_exports.pl \
- $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
- perl ${glibcxx_srcdir}/scripts/make_exports.pl \
- libstdc++-symbols.ver \
- $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
- `echo $(libstdc___la_LIBADD) | \
- sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
- > $@ || (rm -f $@ ; exit 1)
-endif
-else
-version_arg =
-version_dep =
-endif
-
-
-# Source files linked in via configuration/make substitution for a
-# particular host.
-host_sources = \
- atomicity.cc \
- codecvt_members.cc \
- collate_members.cc \
- ctype_members.cc \
- messages_members.cc \
- monetary_members.cc \
- numeric_members.cc \
- time_members.cc
-
-codecvt_members.cc: ${glibcxx_srcdir}/$(CCODECVT_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CCODECVT_CC) . || true
-
-collate_members.cc: ${glibcxx_srcdir}/$(CCOLLATE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CCOLLATE_CC) . || true
-
-ctype_members.cc: ${glibcxx_srcdir}/$(CCTYPE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CCTYPE_CC) . || true
-
-messages_members.cc: ${glibcxx_srcdir}/$(CMESSAGES_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_CC) . || true
-
-monetary_members.cc: ${glibcxx_srcdir}/$(CMONEY_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CMONEY_CC) . || true
-
-numeric_members.cc: ${glibcxx_srcdir}/$(CNUMERIC_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CNUMERIC_CC) . || true
-
-time_members.cc: ${glibcxx_srcdir}/$(CTIME_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CTIME_CC) . || true
-
-atomicity_file = ${glibcxx_srcdir}/$(ATOMICITY_SRCDIR)/atomicity.h
-atomicity.cc: ${atomicity_file}
- $(LN_S) ${atomicity_file} ./atomicity.cc || true
-
-# Source files linked in via configuration/make substitution for a
-# particular host, but with ad hoc naming rules.
-host_sources_extra = \
- basic_file.cc \
- c++locale.cc
-
-c++locale.cc: ${glibcxx_srcdir}/$(CLOCALE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_CC) ./$@ || true
-
-basic_file.cc: ${glibcxx_srcdir}/$(BASIC_FILE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_CC) ./$@ || true
-
-if GLIBCXX_LDBL_COMPAT
-ldbl_compat_sources = compatibility-ldbl.cc
-else
-ldbl_compat_sources =
-endif
-
-# Sources present in the src directory.
-sources = \
- bitmap_allocator.cc \
- pool_allocator.cc \
- mt_allocator.cc \
- codecvt.cc \
- compatibility.cc \
- complex_io.cc \
- ctype.cc \
- debug.cc \
- debug_list.cc \
- functexcept.cc \
- globals_io.cc \
- ios.cc \
- ios_failure.cc \
- ios_init.cc \
- ios_locale.cc \
- limits.cc \
- list.cc \
- locale.cc \
- locale_init.cc \
- locale_facets.cc \
- localename.cc \
- stdexcept.cc \
- strstream.cc \
- tree.cc \
- allocator-inst.cc \
- concept-inst.cc \
- fstream-inst.cc \
- ext-inst.cc \
- ios-inst.cc \
- iostream-inst.cc \
- istream-inst.cc \
- istream.cc \
- locale-inst.cc \
- misc-inst.cc \
- ostream-inst.cc \
- sstream-inst.cc \
- streambuf-inst.cc \
- streambuf.cc \
- string-inst.cc \
- valarray-inst.cc \
- wlocale-inst.cc \
- wstring-inst.cc \
- ${host_sources} \
- ${host_sources_extra} \
- ${ldbl_compat_sources}
-
-VPATH = $(top_srcdir)/src:$(top_srcdir)
-
-libstdc___la_SOURCES = $(sources)
-
-libstdc___la_LIBADD = \
- $(top_builddir)/libmath/libmath.la \
- $(top_builddir)/libsupc++/libsupc++convenience.la
-
-libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
-
-libstdc___la_LDFLAGS = \
- -version-info $(libtool_VERSION) ${version_arg} -lm
-
-# Use special rules for the deprecated source files so that they find
-# deprecated include files.
-GLIBCXX_INCLUDE_DIR=$(glibcxx_builddir)/include
-strstream.lo: strstream.cc
- $(LTCXXCOMPILE) -I$(GLIBCXX_INCLUDE_DIR)/backward -Wno-deprecated -c $<
-strstream.o: strstream.cc
- $(CXXCOMPILE) -I$(GLIBCXX_INCLUDE_DIR)/backward -Wno-deprecated -c $<
-
-# Use special rules for the concept-checking instantiations so that all
-# the generated template functions are also instantiated. Force the checks
-# to be on so that the instantiations are actually seen.
-concept-inst.lo: concept-inst.cc
- $(LTCXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
-concept-inst.o: concept-inst.cc
- $(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
-
-if GLIBCXX_LDBL_COMPAT
-# Use special rules for compatibility-ldbl.cc compilation, as we need to
-# pass -mlong-double-64.
-compatibility-ldbl.lo: compatibility-ldbl.cc
- $(LTCXXCOMPILE) -mlong-double-64 -c $<
-compatibility-ldbl.o: compatibility-ldbl.cc
- $(CXXCOMPILE) -mlong-double-64 -c $<
-endif
-
-# AM_CXXFLAGS needs to be in each subdirectory so that it can be
-# modified in a per-library or per-sub-library way. Need to manually
-# set this option because CONFIG_CXXFLAGS has to be after
-# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
-# as the occasion calls for it.
-AM_CXXFLAGS = \
- -fno-implicit-templates \
- $(WARN_CXXFLAGS) \
- $(OPTIMIZE_CXXFLAGS) \
- $(CONFIG_CXXFLAGS)
-
-
-# libstdc++ libtool notes
-
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
-# using the C++ compiler, because that will enable the settings
-# detected when C++ support was being configured. However, when no
-# such flag is given in the command line, libtool attempts to figure
-# it out by matching the compiler name in each configuration section
-# against a prefix of the command line. The problem is that, if the
-# compiler name and its initial flags stored in the libtool
-# configuration file don't match those in the command line, libtool
-# can't decide which configuration to use, and it gives up. The
-# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
-# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
-# attempt to infer which configuration to use
-LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-
-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
-
-# 3) We'd have a problem when building the shared libstdc++ object if
-# the rules automake generates would be used. We cannot allow g++ to
-# be used since this would add -lstdc++ to the link line which of
-# course is problematic at this point. So, we get the top-level
-# directory to configure libstdc++-v3 to use gcc as the C++
-# compilation driver.
-CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
-
-
-# Added bits to build debug library.
-if GLIBCXX_BUILD_DEBUG
-all-local: build_debug
-install-data-local: install_debug
-else
-all-local:
-install-data-local:
-endif
-
-debugdir = debug
-
-# Build parallel set of debug objects here.
-stamp-debug:
- if test ! -d ${debugdir}; then \
- mkdir -p ${debugdir}; \
- (cd ${debugdir}; \
- sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
- -e 's/srcdir = \.\./srcdir = ..\/../' \
- -e 's/glibcxx_basedir = \.\./glibcxx_basedir = ..\/../' \
- -e 's/all-local: build_debug/all-local:/' \
- -e 's/install-data-local: install_debug/install-data-local:/' \
- < ../Makefile > Makefile) ; \
- fi; \
- echo `date` > stamp-debug;
-
-build_debug: stamp-debug
- (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' all)
-
-# Install debug library here.
-install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
diff --git a/contrib/libstdc++/src/Makefile.in b/contrib/libstdc++/src/Makefile.in
deleted file mode 100644
index 6000d2167fad..000000000000
--- a/contrib/libstdc++/src/Makefile.in
+++ /dev/null
@@ -1,804 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/fragment.am
-subdir = src
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../config/enable.m4 \
- $(top_srcdir)/../config/lead-dot.m4 \
- $(top_srcdir)/../config/multi.m4 \
- $(top_srcdir)/../config/no-executables.m4 \
- $(top_srcdir)/../config/unwind_ipinfo.m4 \
- $(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
- $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(toolexeclibdir)"
-toolexeclibLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
-am__libstdc___la_SOURCES_DIST = bitmap_allocator.cc pool_allocator.cc \
- mt_allocator.cc codecvt.cc compatibility.cc complex_io.cc \
- ctype.cc debug.cc debug_list.cc functexcept.cc globals_io.cc \
- ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc \
- list.cc locale.cc locale_init.cc locale_facets.cc \
- localename.cc stdexcept.cc strstream.cc tree.cc \
- allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc \
- ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc \
- locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc \
- streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc \
- wlocale-inst.cc wstring-inst.cc atomicity.cc \
- codecvt_members.cc collate_members.cc ctype_members.cc \
- messages_members.cc monetary_members.cc numeric_members.cc \
- time_members.cc basic_file.cc c++locale.cc \
- compatibility-ldbl.cc
-am__objects_1 = atomicity.lo codecvt_members.lo collate_members.lo \
- ctype_members.lo messages_members.lo monetary_members.lo \
- numeric_members.lo time_members.lo
-am__objects_2 = basic_file.lo c++locale.lo
-@GLIBCXX_LDBL_COMPAT_TRUE@am__objects_3 = compatibility-ldbl.lo
-am__objects_4 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \
- codecvt.lo compatibility.lo complex_io.lo ctype.lo debug.lo \
- debug_list.lo functexcept.lo globals_io.lo ios.lo \
- ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \
- locale.lo locale_init.lo locale_facets.lo localename.lo \
- stdexcept.lo strstream.lo tree.lo allocator-inst.lo \
- concept-inst.lo fstream-inst.lo ext-inst.lo ios-inst.lo \
- iostream-inst.lo istream-inst.lo istream.lo locale-inst.lo \
- misc-inst.lo ostream-inst.lo sstream-inst.lo streambuf-inst.lo \
- streambuf.lo string-inst.lo valarray-inst.lo wlocale-inst.lo \
- wstring-inst.lo $(am__objects_1) $(am__objects_2) \
- $(am__objects_3)
-am_libstdc___la_OBJECTS = $(am__objects_4)
-libstdc___la_OBJECTS = $(am_libstdc___la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp =
-am__depfiles_maybe =
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-SOURCES = $(libstdc___la_SOURCES)
-DIST_SOURCES = $(am__libstdc___la_SOURCES_DIST)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-VPATH = $(top_srcdir)/src:$(top_srcdir)
-ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@
-ACLOCAL = @ACLOCAL@
-ALLOCATOR_H = @ALLOCATOR_H@
-ALLOCATOR_NAME = @ALLOCATOR_NAME@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@
-ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASIC_FILE_CC = @BASIC_FILE_CC@
-BASIC_FILE_H = @BASIC_FILE_H@
-CC = @CC@
-CCODECVT_CC = @CCODECVT_CC@
-CCOLLATE_CC = @CCOLLATE_CC@
-CCTYPE_CC = @CCTYPE_CC@
-CFLAGS = @CFLAGS@
-CLOCALE_CC = @CLOCALE_CC@
-CLOCALE_H = @CLOCALE_H@
-CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
-CMESSAGES_CC = @CMESSAGES_CC@
-CMESSAGES_H = @CMESSAGES_H@
-CMONEY_CC = @CMONEY_CC@
-CNUMERIC_CC = @CNUMERIC_CC@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
-CSTDIO_H = @CSTDIO_H@
-CTIME_CC = @CTIME_CC@
-CTIME_H = @CTIME_H@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-C_INCLUDE_DIR = @C_INCLUDE_DIR@
-DEBUG_FLAGS = @DEBUG_FLAGS@
-DEFS = @DEFS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
-ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
-ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
-ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_FALSE = @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@
-ENABLE_SYMVERS_GNU_NAMESPACE_TRUE = @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@
-ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
-ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
-ENABLE_VISIBILITY_FALSE = @ENABLE_VISIBILITY_FALSE@
-ENABLE_VISIBILITY_TRUE = @ENABLE_VISIBILITY_TRUE@
-EXEEXT = @EXEEXT@
-EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
-GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
-GLIBCXX_BUILD_DEBUG_TRUE = @GLIBCXX_BUILD_DEBUG_TRUE@
-GLIBCXX_BUILD_PCH_FALSE = @GLIBCXX_BUILD_PCH_FALSE@
-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_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_HOSTED_FALSE = @GLIBCXX_HOSTED_FALSE@
-GLIBCXX_HOSTED_TRUE = @GLIBCXX_HOSTED_TRUE@
-GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@
-GLIBCXX_LDBL_COMPAT_FALSE = @GLIBCXX_LDBL_COMPAT_FALSE@
-GLIBCXX_LDBL_COMPAT_TRUE = @GLIBCXX_LDBL_COMPAT_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LIBICONV = @LIBICONV@
-LIBMATHOBJS = @LIBMATHOBJS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-MAKEINFO = @MAKEINFO@
-OBJEXT = @OBJEXT@
-OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@
-OPT_LDFLAGS = @OPT_LDFLAGS@
-OS_INC_SRCDIR = @OS_INC_SRCDIR@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SECTION_FLAGS = @SECTION_FLAGS@
-SECTION_LDFLAGS = @SECTION_LDFLAGS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SYMVER_FILE = @SYMVER_FILE@
-TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WARN_FLAGS = @WARN_FLAGS@
-WERROR = @WERROR@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_STRIP = @ac_ct_STRIP@
-am__leading_dot = @am__leading_dot@
-am__tar = @am__tar@
-am__untar = @am__untar@
-baseline_dir = @baseline_dir@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-check_msgfmt = @check_msgfmt@
-datadir = @datadir@
-enable_shared = @enable_shared@
-enable_static = @enable_static@
-exec_prefix = @exec_prefix@
-glibcxx_MOFILES = @glibcxx_MOFILES@
-glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@
-glibcxx_POFILES = @glibcxx_POFILES@
-glibcxx_builddir = @glibcxx_builddir@
-glibcxx_localedir = @glibcxx_localedir@
-glibcxx_prefixdir = @glibcxx_prefixdir@
-glibcxx_srcdir = @glibcxx_srcdir@
-glibcxx_thread_h = @glibcxx_thread_h@
-glibcxx_toolexecdir = @glibcxx_toolexecdir@
-glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
-gxx_include_dir = @gxx_include_dir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-libtool_VERSION = @libtool_VERSION@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-multi_basedir = @multi_basedir@
-oldincludedir = @oldincludedir@
-port_specific_symbol_files = @port_specific_symbol_files@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-toplevel_srcdir = @toplevel_srcdir@
-
-# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
-MAINT_CHARSET = latin1
-mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
-PWD_COMMAND = $${PWDCMD-pwd}
-STAMP = echo timestamp >
-toolexecdir = $(glibcxx_toolexecdir)
-toolexeclibdir = $(glibcxx_toolexeclibdir)
-
-# These bits are all figured out from configure. Look in acinclude.m4
-# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
-CONFIG_CXXFLAGS = \
- $(SECTION_FLAGS) $(EXTRA_CXX_FLAGS)
-
-WARN_CXXFLAGS = \
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
-
-# -I/-D flags to pass when compiling.
-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-
-# Cross compiler support.
-toolexeclib_LTLIBRARIES = libstdc++.la
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist
-@ENABLE_SYMVERS_FALSE@version_arg =
-@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver
-@ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.explist
-@ENABLE_SYMVERS_FALSE@version_dep =
-@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver
-@ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver
-
-# Source files linked in via configuration/make substitution for a
-# particular host.
-host_sources = \
- atomicity.cc \
- codecvt_members.cc \
- collate_members.cc \
- ctype_members.cc \
- messages_members.cc \
- monetary_members.cc \
- numeric_members.cc \
- time_members.cc
-
-atomicity_file = ${glibcxx_srcdir}/$(ATOMICITY_SRCDIR)/atomicity.h
-
-# Source files linked in via configuration/make substitution for a
-# particular host, but with ad hoc naming rules.
-host_sources_extra = \
- basic_file.cc \
- c++locale.cc
-
-@GLIBCXX_LDBL_COMPAT_FALSE@ldbl_compat_sources =
-@GLIBCXX_LDBL_COMPAT_TRUE@ldbl_compat_sources = compatibility-ldbl.cc
-
-# Sources present in the src directory.
-sources = \
- bitmap_allocator.cc \
- pool_allocator.cc \
- mt_allocator.cc \
- codecvt.cc \
- compatibility.cc \
- complex_io.cc \
- ctype.cc \
- debug.cc \
- debug_list.cc \
- functexcept.cc \
- globals_io.cc \
- ios.cc \
- ios_failure.cc \
- ios_init.cc \
- ios_locale.cc \
- limits.cc \
- list.cc \
- locale.cc \
- locale_init.cc \
- locale_facets.cc \
- localename.cc \
- stdexcept.cc \
- strstream.cc \
- tree.cc \
- allocator-inst.cc \
- concept-inst.cc \
- fstream-inst.cc \
- ext-inst.cc \
- ios-inst.cc \
- iostream-inst.cc \
- istream-inst.cc \
- istream.cc \
- locale-inst.cc \
- misc-inst.cc \
- ostream-inst.cc \
- sstream-inst.cc \
- streambuf-inst.cc \
- streambuf.cc \
- string-inst.cc \
- valarray-inst.cc \
- wlocale-inst.cc \
- wstring-inst.cc \
- ${host_sources} \
- ${host_sources_extra} \
- ${ldbl_compat_sources}
-
-libstdc___la_SOURCES = $(sources)
-libstdc___la_LIBADD = \
- $(top_builddir)/libmath/libmath.la \
- $(top_builddir)/libsupc++/libsupc++convenience.la
-
-libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
-libstdc___la_LDFLAGS = \
- -version-info $(libtool_VERSION) ${version_arg} -lm
-
-
-# Use special rules for the deprecated source files so that they find
-# deprecated include files.
-GLIBCXX_INCLUDE_DIR = $(glibcxx_builddir)/include
-
-# AM_CXXFLAGS needs to be in each subdirectory so that it can be
-# modified in a per-library or per-sub-library way. Need to manually
-# set this option because CONFIG_CXXFLAGS has to be after
-# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden
-# as the occasion calls for it.
-AM_CXXFLAGS = \
- -fno-implicit-templates \
- $(WARN_CXXFLAGS) \
- $(OPTIMIZE_CXXFLAGS) \
- $(CONFIG_CXXFLAGS)
-
-
-# libstdc++ libtool notes
-
-# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is
-# last. (That way, things like -O2 passed down from the toplevel can
-# be overridden by --enable-debug.)
-
-# 2) In general, libtool expects an argument such as `--tag=CXX' when
-# using the C++ compiler, because that will enable the settings
-# detected when C++ support was being configured. However, when no
-# such flag is given in the command line, libtool attempts to figure
-# it out by matching the compiler name in each configuration section
-# against a prefix of the command line. The problem is that, if the
-# compiler name and its initial flags stored in the libtool
-# configuration file don't match those in the command line, libtool
-# can't decide which configuration to use, and it gives up. The
-# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe
-# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to
-# attempt to infer which configuration to use
-LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-
-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
-
-# 3) We'd have a problem when building the shared libstdc++ object if
-# the rules automake generates would be used. We cannot allow g++ to
-# be used since this would add -lstdc++ to the link line which of
-# course is problematic at this point. So, we get the top-level
-# directory to configure libstdc++-v3 to use gcc as the C++
-# compilation driver.
-CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
-
-debugdir = debug
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign --ignore-deps src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(toolexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(toolexeclibdir)"
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(toolexeclibdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(toolexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(toolexeclibdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-toolexeclibLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(toolexeclibdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(toolexeclibdir)/$$p"; \
- done
-
-clean-toolexeclibLTLIBRARIES:
- -test -z "$(toolexeclib_LTLIBRARIES)" || rm -f $(toolexeclib_LTLIBRARIES)
- @list='$(toolexeclib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES)
- $(CXXLINK) -rpath $(toolexeclibdir) $(libstdc___la_LDFLAGS) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-.cc.o:
- $(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/..
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) all-local
-installdirs:
- for dir in "$(DESTDIR)$(toolexeclibdir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-toolexeclibLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-exec-am: install-toolexeclibLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-toolexeclibLTLIBRARIES
-
-.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
- clean-generic clean-libtool clean-toolexeclibLTLIBRARIES ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-data-local install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip install-toolexeclibLTLIBRARIES installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-toolexeclibLTLIBRARIES
-
-
-# Symbol versioning for shared libraries.
-@ENABLE_SYMVERS_TRUE@libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \
-@ENABLE_SYMVERS_TRUE@ $(port_specific_symbol_files)
-@ENABLE_SYMVERS_TRUE@ cp ${glibcxx_srcdir}/$(SYMVER_FILE) ./libstdc++-symbols.ver
-@ENABLE_SYMVERS_TRUE@ if test "x$(port_specific_symbol_files)" != x; then \
-@ENABLE_SYMVERS_TRUE@ if grep '^# Appended to version file.' \
-@ENABLE_SYMVERS_TRUE@ $(port_specific_symbol_files) /dev/null > /dev/null 2>&1; then \
-@ENABLE_SYMVERS_TRUE@ cat $(port_specific_symbol_files) >> $@; \
-@ENABLE_SYMVERS_TRUE@ else \
-@ENABLE_SYMVERS_TRUE@ sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
-@ENABLE_SYMVERS_TRUE@ sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
-@ENABLE_SYMVERS_TRUE@ cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \
-@ENABLE_SYMVERS_TRUE@ rm tmp.top tmp.bottom; \
-@ENABLE_SYMVERS_TRUE@ fi; \
-@ENABLE_SYMVERS_TRUE@ fi
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@libstdc++-symbols.explist : libstdc++-symbols.ver \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ ${glibcxx_srcdir}/scripts/make_exports.pl \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.ver \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ `echo $(libstdc___la_LIBADD) | \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ > $@ || (rm -f $@ ; exit 1)
-
-codecvt_members.cc: ${glibcxx_srcdir}/$(CCODECVT_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CCODECVT_CC) . || true
-
-collate_members.cc: ${glibcxx_srcdir}/$(CCOLLATE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CCOLLATE_CC) . || true
-
-ctype_members.cc: ${glibcxx_srcdir}/$(CCTYPE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CCTYPE_CC) . || true
-
-messages_members.cc: ${glibcxx_srcdir}/$(CMESSAGES_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CMESSAGES_CC) . || true
-
-monetary_members.cc: ${glibcxx_srcdir}/$(CMONEY_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CMONEY_CC) . || true
-
-numeric_members.cc: ${glibcxx_srcdir}/$(CNUMERIC_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CNUMERIC_CC) . || true
-
-time_members.cc: ${glibcxx_srcdir}/$(CTIME_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CTIME_CC) . || true
-atomicity.cc: ${atomicity_file}
- $(LN_S) ${atomicity_file} ./atomicity.cc || true
-
-c++locale.cc: ${glibcxx_srcdir}/$(CLOCALE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(CLOCALE_CC) ./$@ || true
-
-basic_file.cc: ${glibcxx_srcdir}/$(BASIC_FILE_CC)
- $(LN_S) ${glibcxx_srcdir}/$(BASIC_FILE_CC) ./$@ || true
-strstream.lo: strstream.cc
- $(LTCXXCOMPILE) -I$(GLIBCXX_INCLUDE_DIR)/backward -Wno-deprecated -c $<
-strstream.o: strstream.cc
- $(CXXCOMPILE) -I$(GLIBCXX_INCLUDE_DIR)/backward -Wno-deprecated -c $<
-
-# Use special rules for the concept-checking instantiations so that all
-# the generated template functions are also instantiated. Force the checks
-# to be on so that the instantiations are actually seen.
-concept-inst.lo: concept-inst.cc
- $(LTCXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
-concept-inst.o: concept-inst.cc
- $(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
-
-# Use special rules for compatibility-ldbl.cc compilation, as we need to
-# pass -mlong-double-64.
-@GLIBCXX_LDBL_COMPAT_TRUE@compatibility-ldbl.lo: compatibility-ldbl.cc
-@GLIBCXX_LDBL_COMPAT_TRUE@ $(LTCXXCOMPILE) -mlong-double-64 -c $<
-@GLIBCXX_LDBL_COMPAT_TRUE@compatibility-ldbl.o: compatibility-ldbl.cc
-@GLIBCXX_LDBL_COMPAT_TRUE@ $(CXXCOMPILE) -mlong-double-64 -c $<
-
-# Added bits to build debug library.
-@GLIBCXX_BUILD_DEBUG_TRUE@all-local: build_debug
-@GLIBCXX_BUILD_DEBUG_TRUE@install-data-local: install_debug
-@GLIBCXX_BUILD_DEBUG_FALSE@all-local:
-@GLIBCXX_BUILD_DEBUG_FALSE@install-data-local:
-
-# Build parallel set of debug objects here.
-stamp-debug:
- if test ! -d ${debugdir}; then \
- mkdir -p ${debugdir}; \
- (cd ${debugdir}; \
- sed -e 's/top_builddir = \.\./top_builddir = ..\/../' \
- -e 's/srcdir = \.\./srcdir = ..\/../' \
- -e 's/glibcxx_basedir = \.\./glibcxx_basedir = ..\/../' \
- -e 's/all-local: build_debug/all-local:/' \
- -e 's/install-data-local: install_debug/install-data-local:/' \
- < ../Makefile > Makefile) ; \
- fi; \
- echo `date` > stamp-debug;
-
-build_debug: stamp-debug
- (cd ${debugdir} && $(MAKE) CXXFLAGS='$(DEBUG_FLAGS)' all)
-
-# Install debug library here.
-install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/contrib/libstdc++/src/allocator-inst.cc b/contrib/libstdc++/src/allocator-inst.cc
deleted file mode 100644
index aca019ca4962..000000000000
--- a/contrib/libstdc++/src/allocator-inst.cc
+++ /dev/null
@@ -1,42 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 1999, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <memory>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template class allocator<char>;
- template class allocator<wchar_t>;
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/bitmap_allocator.cc b/contrib/libstdc++/src/bitmap_allocator.cc
deleted file mode 100644
index 46b4d3c2babe..000000000000
--- a/contrib/libstdc++/src/bitmap_allocator.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// Bitmap Allocator. Out of line function definitions. -*- C++ -*-
-
-// Copyright (C) 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.
-
-#include <ext/bitmap_allocator.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- namespace __detail
- {
- template class __mini_vector<
- std::pair<bitmap_allocator<char>::_Alloc_block*,
- bitmap_allocator<char>::_Alloc_block*> >;
-
- template class __mini_vector<
- std::pair<bitmap_allocator<wchar_t>::_Alloc_block*,
- bitmap_allocator<wchar_t>::_Alloc_block*> >;
-
- template class __mini_vector<size_t*>;
-
- template size_t** __lower_bound(size_t**, size_t**, size_t const&,
- free_list::_LT_pointer_compare);
- }
-
- size_t*
- free_list::
- _M_get(size_t __sz) throw(std::bad_alloc)
- {
-#if defined __GTHREADS
- __mutex_type& __bfl_mutex = _M_get_mutex();
-#endif
- const vector_type& __free_list = _M_get_free_list();
- using __gnu_cxx::__detail::__lower_bound;
- iterator __tmp = __lower_bound(__free_list.begin(), __free_list.end(),
- __sz, _LT_pointer_compare());
-
- if (__tmp == __free_list.end() || !_M_should_i_give(**__tmp, __sz))
- {
- // We release the lock here, because operator new is
- // guaranteed to be thread-safe by the underlying
- // implementation.
-#if defined __GTHREADS
- __bfl_mutex.unlock();
-#endif
- // Try twice to get the memory: once directly, and the 2nd
- // time after clearing the free list. If both fail, then throw
- // std::bad_alloc().
- int __ctr = 2;
- while (__ctr)
- {
- size_t* __ret = 0;
- --__ctr;
- try
- {
- __ret = reinterpret_cast<size_t*>
- (::operator new(__sz + sizeof(size_t)));
- }
- catch(...)
- {
- this->_M_clear();
- }
- if (!__ret)
- continue;
- *__ret = __sz;
- return __ret + 1;
- }
- std::__throw_bad_alloc();
- }
- else
- {
- size_t* __ret = *__tmp;
- _M_get_free_list().erase(__tmp);
-#if defined __GTHREADS
- __bfl_mutex.unlock();
-#endif
- return __ret + 1;
- }
- }
-
- void
- free_list::
- _M_clear()
- {
-#if defined __GTHREADS
- __gnu_cxx::__scoped_lock __bfl_lock(_M_get_mutex());
-#endif
- vector_type& __free_list = _M_get_free_list();
- iterator __iter = __free_list.begin();
- while (__iter != __free_list.end())
- {
- ::operator delete((void*)*__iter);
- ++__iter;
- }
- __free_list.clear();
- }
-
- // Instantiations.
- template class bitmap_allocator<char>;
- template class bitmap_allocator<wchar_t>;
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/codecvt.cc b/contrib/libstdc++/src/codecvt.cc
deleted file mode 100644
index e602c75c00bd..000000000000
--- a/contrib/libstdc++/src/codecvt.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright (C) 2000, 2002, 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.
-
-// Written by Benjamin Kosnik <bkoz@redhat.com>
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Definitions for locale::id of standard facets that are specialized.
- locale::id codecvt<char, char, mbstate_t>::id;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- locale::id codecvt<wchar_t, char, mbstate_t>::id;
-#endif
-
- codecvt<char, char, mbstate_t>::
- codecvt(size_t __refs)
- : __codecvt_abstract_base<char, char, mbstate_t>(__refs),
- _M_c_locale_codecvt(_S_get_c_locale())
- { }
-
- codecvt<char, char, mbstate_t>::
- codecvt(__c_locale __cloc, size_t __refs)
- : __codecvt_abstract_base<char, char, mbstate_t>(__refs),
- _M_c_locale_codecvt(_S_clone_c_locale(__cloc))
- { }
-
- codecvt<char, char, mbstate_t>::
- ~codecvt()
- { _S_destroy_c_locale(_M_c_locale_codecvt); }
-
- codecvt_base::result
- codecvt<char, char, mbstate_t>::
- do_out(state_type&, const intern_type* __from,
- const intern_type*, const intern_type*& __from_next,
- extern_type* __to, extern_type*,
- extern_type*& __to_next) const
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // According to the resolution of DR19, "If returns noconv [...]
- // there are no changes to the values in [to, to_limit)."
- __from_next = __from;
- __to_next = __to;
- return noconv;
- }
-
- codecvt_base::result
- codecvt<char, char, mbstate_t>::
- do_unshift(state_type&, extern_type* __to,
- extern_type*, extern_type*& __to_next) const
- {
- __to_next = __to;
- return noconv;
- }
-
- codecvt_base::result
- codecvt<char, char, mbstate_t>::
- do_in(state_type&, const extern_type* __from,
- const extern_type*, const extern_type*& __from_next,
- intern_type* __to, intern_type*, intern_type*& __to_next) const
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // According to the resolution of DR19, "If returns noconv [...]
- // there are no changes to the values in [to, to_limit)."
- __from_next = __from;
- __to_next = __to;
- return noconv;
- }
-
- int
- codecvt<char, char, mbstate_t>::
- do_encoding() const throw()
- { return 1; }
-
- bool
- codecvt<char, char, mbstate_t>::
- do_always_noconv() const throw()
- { return true; }
-
- int
- codecvt<char, char, mbstate_t>::
- do_length (state_type&, const extern_type* __from,
- const extern_type* __end, size_t __max) const
- {
- size_t __d = static_cast<size_t>(__end - __from);
- return std::min(__max, __d);
- }
-
- int
- codecvt<char, char, mbstate_t>::
- do_max_length() const throw()
- { return 1; }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- // codecvt<wchar_t, char, mbstate_t> required specialization
- codecvt<wchar_t, char, mbstate_t>::
- codecvt(size_t __refs)
- : __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs),
- _M_c_locale_codecvt(_S_get_c_locale())
- { }
-
- codecvt<wchar_t, char, mbstate_t>::
- codecvt(__c_locale __cloc, size_t __refs)
- : __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs),
- _M_c_locale_codecvt(_S_clone_c_locale(__cloc))
- { }
-
- codecvt<wchar_t, char, mbstate_t>::
- ~codecvt()
- { _S_destroy_c_locale(_M_c_locale_codecvt); }
-
- codecvt_base::result
- codecvt<wchar_t, char, mbstate_t>::
- do_unshift(state_type&, extern_type* __to,
- extern_type*, extern_type*& __to_next) const
- {
- // XXX Probably wrong for stateful encodings
- __to_next = __to;
- return noconv;
- }
-
- bool
- codecvt<wchar_t, char, mbstate_t>::
- do_always_noconv() const throw()
- { return false; }
-#endif // _GLIBCXX_USE_WCHAR_T
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/compatibility-ldbl.cc b/contrib/libstdc++/src/compatibility-ldbl.cc
deleted file mode 100644
index 108790efabc6..000000000000
--- a/contrib/libstdc++/src/compatibility-ldbl.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-// Compatibility symbols for -mlong-double-64 compatibility -*- C++ -*-
-
-// Copyright (C) 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.
-
-#include <locale>
-
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-#ifdef __LONG_DOUBLE_128__
-#error "compatibility-ldbl.cc must be compiled with -mlong-double-64"
-#endif
-
-namespace std
-{
-#define C char
- template class num_get<C, istreambuf_iterator<C> >;
- template class num_put<C, ostreambuf_iterator<C> >;
- template class money_get<C, istreambuf_iterator<C> >;
- template class money_put<C, ostreambuf_iterator<C> >;
- template const num_put<C>& use_facet<num_put<C> >(const locale&);
- template const num_get<C>& use_facet<num_get<C> >(const locale&);
- template const money_put<C>& use_facet<money_put<C> >(const locale&);
- template const money_get<C>& use_facet<money_get<C> >(const locale&);
- template bool has_facet<num_put<C> >(const locale&);
- template bool has_facet<num_get<C> >(const locale&);
- template bool has_facet<money_put<C> >(const locale&);
- template bool has_facet<money_get<C> >(const locale&);
-#undef C
-#ifdef _GLIBCXX_USE_WCHAR_T
-#define C wchar_t
- template class num_get<C, istreambuf_iterator<C> >;
- template class num_put<C, ostreambuf_iterator<C> >;
- template class money_get<C, istreambuf_iterator<C> >;
- template class money_put<C, ostreambuf_iterator<C> >;
- template const num_put<C>& use_facet<num_put<C> >(const locale&);
- template const num_get<C>& use_facet<num_get<C> >(const locale&);
- template const money_put<C>& use_facet<money_put<C> >(const locale&);
- template const money_get<C>& use_facet<money_get<C> >(const locale&);
- template bool has_facet<num_put<C> >(const locale&);
- template bool has_facet<num_get<C> >(const locale&);
- template bool has_facet<money_put<C> >(const locale&);
- template bool has_facet<money_get<C> >(const locale&);
-#undef C
-#endif
-}
-
-#endif
diff --git a/contrib/libstdc++/src/compatibility.cc b/contrib/libstdc++/src/compatibility.cc
deleted file mode 100644
index f88fbc740d80..000000000000
--- a/contrib/libstdc++/src/compatibility.cc
+++ /dev/null
@@ -1,528 +0,0 @@
-// Compatibility symbols for previous versions -*- C++ -*-
-
-// Copyright (C) 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.
-
-#include <bits/c++config.h>
-
-#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC)
-#define istreambuf_iterator istreambuf_iteratorXX
-#define basic_fstream basic_fstreamXX
-#define basic_ifstream basic_ifstreamXX
-#define basic_ofstream basic_ofstreamXX
-#define _M_copy(a, b, c) _M_copyXX(a, b, c)
-#define _M_move(a, b, c) _M_moveXX(a, b, c)
-#define _M_assign(a, b, c) _M_assignXX(a, b, c)
-#define _M_disjunct(a) _M_disjunctXX(a)
-#define _M_check_length(a, b, c) _M_check_lengthXX(a, b, c)
-#define _M_set_length_and_sharable(a) _M_set_length_and_sharableXX(a)
-#define ignore ignoreXX
-#define eq eqXX
-#define _List_node_base _List_node_baseXX
-#endif
-
-#include <string>
-#include <istream>
-#include <fstream>
-#include <sstream>
-#include <cmath>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // std::istream ignore explicit specializations.
- template<>
- basic_istream<char>&
- basic_istream<char>::
- ignore(streamsize __n)
- {
- if (__n == 1)
- return ignore();
-
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb && __n > 0)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- // See comment in istream.tcc.
- bool __large_ignore = false;
- while (true)
- {
- while (_M_gcount < __n
- && !traits_type::eq_int_type(__c, __eof))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - _M_gcount));
- if (__size > 1)
- {
- __sb->gbump(__size);
- _M_gcount += __size;
- __c = __sb->sgetc();
- }
- else
- {
- ++_M_gcount;
- __c = __sb->snextc();
- }
- }
- if (__n == numeric_limits<streamsize>::max()
- && !traits_type::eq_int_type(__c, __eof))
- {
- _M_gcount = numeric_limits<streamsize>::min();
- __large_ignore = true;
- }
- else
- break;
- }
-
- if (__large_ignore)
- _M_gcount = numeric_limits<streamsize>::max();
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- basic_istream<wchar_t>&
- basic_istream<wchar_t>::
- ignore(streamsize __n)
- {
- if (__n == 1)
- return ignore();
-
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb && __n > 0)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- bool __large_ignore = false;
- while (true)
- {
- while (_M_gcount < __n
- && !traits_type::eq_int_type(__c, __eof))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - _M_gcount));
- if (__size > 1)
- {
- __sb->gbump(__size);
- _M_gcount += __size;
- __c = __sb->sgetc();
- }
- else
- {
- ++_M_gcount;
- __c = __sb->snextc();
- }
- }
- if (__n == numeric_limits<streamsize>::max()
- && !traits_type::eq_int_type(__c, __eof))
- {
- _M_gcount = numeric_limits<streamsize>::min();
- __large_ignore = true;
- }
- else
- break;
- }
-
- if (__large_ignore)
- _M_gcount = numeric_limits<streamsize>::max();
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-
-// NB: These symbols renames should go into the shared library only,
-// and only those shared libraries that support versioning.
-#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC)
-
-/* gcc-3.4.4
-_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv
-_ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv
- */
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template
- istreambuf_iterator<char>&
- istreambuf_iterator<char>::operator++();
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template
- istreambuf_iterator<wchar_t>&
- istreambuf_iterator<wchar_t>::operator++();
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-
-/* gcc-4.0.0
-_ZNSs4_Rep26_M_set_length_and_sharableEj
-_ZNSs7_M_copyEPcPKcj
-_ZNSs7_M_moveEPcPKcj
-_ZNSs9_M_assignEPcjc
-_ZNKSs11_M_disjunctEPKc
-_ZNKSs15_M_check_lengthEjjPKc
-_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj
-_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj
-_ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj
-_ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw
-_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw
-_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc
-
-_ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv
-_ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv
-_ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv
-_ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv
-_ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv
-_ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv
-
-_ZNSi6ignoreEi
-_ZNSi6ignoreEv
-_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi
-_ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv
-
-_ZNSt11char_traitsIcE2eqERKcS2_
-_ZNSt11char_traitsIwE2eqERKwS2_
- */
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // std::char_traits is explicitly specialized
- bool (* __p1)(const char&, const char&) = &char_traits<char>::eq;
-
- // std::string
- template
- void
- basic_string<char>::_M_copy(char*, const char*, size_t);
-
- template
- void
- basic_string<char>::_M_move(char*, const char*, size_t);
-
- template
- void
- basic_string<char>::_M_assign(char*, size_t, char);
-
- template
- bool
- basic_string<char>::_M_disjunct(const char*) const;
-
- template
- void
- basic_string<char>::_M_check_length(size_t, size_t, const char*) const;
-
- template
- void
- basic_string<char>::_Rep::_M_set_length_and_sharable(size_t);
-
-
- // std::istream
- template
- basic_istream<char>&
- basic_istream<char>::ignore();
-
- template
- bool
- basic_fstream<char>::is_open() const;
-
- template
- bool
- basic_ifstream<char>::is_open() const;
-
- template
- bool
- basic_ofstream<char>::is_open() const;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- bool (* __p2)(const wchar_t&, const wchar_t&) = &char_traits<wchar_t>::eq;
-
- // std::wstring
- template
- void
- basic_string<wchar_t>::_M_copy(wchar_t*, const wchar_t*, size_t);
-
- template
- void
- basic_string<wchar_t>::_M_move(wchar_t*, const wchar_t*, size_t);
-
- template
- void
- basic_string<wchar_t>::_M_assign(wchar_t*, size_t, wchar_t);
-
- template
- bool
- basic_string<wchar_t>::_M_disjunct(const wchar_t*) const;
-
- template
- void
- basic_string<wchar_t>::_M_check_length(size_t, size_t,
- const char*) const;
-
- template
- void
- basic_string<wchar_t>::_Rep::_M_set_length_and_sharable(size_t);
-
- template
- basic_istream<wchar_t>&
- basic_istream<wchar_t>::ignore();
-
- template
- bool
- basic_fstream<wchar_t>::is_open() const;
-
- template
- bool
- basic_ifstream<wchar_t>::is_open() const;
-
- template
- bool
- basic_ofstream<wchar_t>::is_open() const;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-// The rename syntax for default exported names is
-// asm (".symver name1,exportedname@GLIBCXX_3.4")
-// asm (".symver name2,exportedname@@GLIBCXX_3.4.5")
-// In the future, GLIBCXX_ABI > 6 should remove all uses of
-// _GLIBCXX_*_SYMVER macros in this file.
-
-#define _GLIBCXX_3_4_SYMVER(XXname, name) \
- extern "C" void \
- _X##name() \
- __attribute__ ((alias(#XXname))); \
- asm (".symver " "_X" #name "," #name "@GLIBCXX_3.4");
-
-#define _GLIBCXX_3_4_5_SYMVER(XXname, name) \
- extern "C" void \
- _Y##name() \
- __attribute__ ((alias(#XXname))); \
- asm (".symver " "_Y" #name "," #name "@@GLIBCXX_3.4.5");
-
-#define _GLIBCXX_ASM_SYMVER(cur, old, version) \
- asm (".symver " #cur "," #old "@@" #version);
-
-#define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_SYMVER
-#include <bits/compatibility.h>
-#undef _GLIBCXX_APPLY_SYMVER
-
-#define _GLIBCXX_APPLY_SYMVER _GLIBCXX_3_4_5_SYMVER
-#include <bits/compatibility.h>
-#undef _GLIBCXX_APPLY_SYMVER
-
-
-/* gcc-3.4.0
-_ZN10__gnu_norm15_List_node_base4hookEPS0_;
-_ZN10__gnu_norm15_List_node_base4swapERS0_S1_;
-_ZN10__gnu_norm15_List_node_base6unhookEv;
-_ZN10__gnu_norm15_List_node_base7reverseEv;
-_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_;
-*/
-#include "list.cc"
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX4hookEPS_, \
-_ZN10__gnu_norm15_List_node_base4hookEPS0_, \
-GLIBCXX_3.4)
-
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX4swapERS_S0_, \
-_ZN10__gnu_norm15_List_node_base4swapERS0_S1_, \
-GLIBCXX_3.4)
-
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX6unhookEv, \
-_ZN10__gnu_norm15_List_node_base6unhookEv, \
-GLIBCXX_3.4)
-
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX7reverseEv, \
-_ZN10__gnu_norm15_List_node_base7reverseEv, \
-GLIBCXX_3.4)
-
-_GLIBCXX_ASM_SYMVER(_ZNSt17_List_node_baseXX8transferEPS_S0_, \
-_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_, \
-GLIBCXX_3.4)
-#undef _List_node_base
-
-// gcc-4.1.0
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-#define _GLIBCXX_MATHL_WRAPPER(name, argdecl, args, ver) \
-extern "C" double \
-__ ## name ## l_wrapper argdecl \
-{ \
- return name args; \
-} \
-asm (".symver __" #name "l_wrapper, " #name "l@" #ver)
-
-#define _GLIBCXX_MATHL_WRAPPER1(name, ver) \
- _GLIBCXX_MATHL_WRAPPER (name, (double x), (x), ver)
-
-#define _GLIBCXX_MATHL_WRAPPER2(name, ver) \
- _GLIBCXX_MATHL_WRAPPER (name, (double x, double y), (x, y), ver)
-
-#ifdef _GLIBCXX_HAVE_ACOSL
-_GLIBCXX_MATHL_WRAPPER1 (acos, GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_ASINL
-_GLIBCXX_MATHL_WRAPPER1 (asin, GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_ATAN2L
-_GLIBCXX_MATHL_WRAPPER2 (atan2, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_ATANL
-_GLIBCXX_MATHL_WRAPPER1 (atan, GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_CEILL
-_GLIBCXX_MATHL_WRAPPER1 (ceil, GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_COSHL
-_GLIBCXX_MATHL_WRAPPER1 (cosh, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_COSL
-_GLIBCXX_MATHL_WRAPPER1 (cos, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_EXPL
-_GLIBCXX_MATHL_WRAPPER1 (exp, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_FLOORL
-_GLIBCXX_MATHL_WRAPPER1 (floor, GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_FMODL
-_GLIBCXX_MATHL_WRAPPER2 (fmod, GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_FREXPL
-_GLIBCXX_MATHL_WRAPPER (frexp, (double x, int *y), (x, y), GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_HYPOTL
-_GLIBCXX_MATHL_WRAPPER2 (hypot, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_LDEXPL
-_GLIBCXX_MATHL_WRAPPER (ldexp, (double x, int y), (x, y), GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_LOG10L
-_GLIBCXX_MATHL_WRAPPER1 (log10, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_LOGL
-_GLIBCXX_MATHL_WRAPPER1 (log, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_MODFL
-_GLIBCXX_MATHL_WRAPPER (modf, (double x, double *y), (x, y), GLIBCXX_3.4.3);
-#endif
-#ifdef _GLIBCXX_HAVE_POWL
-_GLIBCXX_MATHL_WRAPPER2 (pow, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_SINHL
-_GLIBCXX_MATHL_WRAPPER1 (sinh, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_SINL
-_GLIBCXX_MATHL_WRAPPER1 (sin, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_SQRTL
-_GLIBCXX_MATHL_WRAPPER1 (sqrt, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_TANHL
-_GLIBCXX_MATHL_WRAPPER1 (tanh, GLIBCXX_3.4);
-#endif
-#ifdef _GLIBCXX_HAVE_TANL
-_GLIBCXX_MATHL_WRAPPER1 (tan, GLIBCXX_3.4);
-#endif
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
-
-#endif
-
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-extern void *_ZTVN10__cxxabiv123__fundamental_type_infoE[];
-extern void *_ZTVN10__cxxabiv119__pointer_type_infoE[];
-extern __attribute__((used, weak)) const char _ZTSe[2] = "e";
-extern __attribute__((used, weak)) const char _ZTSPe[3] = "Pe";
-extern __attribute__((used, weak)) const char _ZTSPKe[4] = "PKe";
-extern __attribute__((used, weak)) const void *_ZTIe[2]
- = { (void *) &_ZTVN10__cxxabiv123__fundamental_type_infoE[2],
- (void *) _ZTSe };
-extern __attribute__((used, weak)) const void *_ZTIPe[4]
- = { (void *) &_ZTVN10__cxxabiv119__pointer_type_infoE[2],
- (void *) _ZTSPe, (void *) 0L, (void *) _ZTIe };
-extern __attribute__((used, weak)) const void *_ZTIPKe[4]
- = { (void *) &_ZTVN10__cxxabiv119__pointer_type_infoE[2],
- (void *) _ZTSPKe, (void *) 1L, (void *) _ZTIe };
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
-
-
-
-#ifdef _GLIBCXX_SYMVER_DARWIN
-#if (defined(__ppc__) || defined(__ppc64__)) && defined(PIC)
-/* __eprintf shouldn't have been made visible from libstdc++, or
- anywhere, but on Mac OS X 10.4 it was defined in
- libstdc++.6.0.3.dylib; so on that platform we have to keep defining
- it to keep binary compatibility. We can't just put the libgcc
- version in the export list, because that doesn't work; once a
- symbol is marked as hidden, it stays that way. */
-
-#include <cstdio>
-#include <cstdlib>
-
-using namespace std;
-
-extern "C" void
-__eprintf(const char *string, const char *expression,
- unsigned int line, const char *filename)
-{
- fprintf(stderr, string, expression, line, filename);
- fflush(stderr);
- abort();
-}
-#endif
-#endif
diff --git a/contrib/libstdc++/src/complex_io.cc b/contrib/libstdc++/src/complex_io.cc
deleted file mode 100644
index e65a22d8457e..000000000000
--- a/contrib/libstdc++/src/complex_io.cc
+++ /dev/null
@@ -1,111 +0,0 @@
-// The template and inlines for the -*- C++ -*- complex number classes.
-
-// Copyright (C) 2000, 2001, 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.
-
-#include <complex>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template
- basic_istream<char, char_traits<char> >&
- operator>>(basic_istream<char, char_traits<char> >&, complex<float>&);
-
- template
- basic_ostream<char, char_traits<char> >&
- operator<<(basic_ostream<char, char_traits<char> >&,
- const complex<float>&);
-
- template
- basic_istream<char, char_traits<char> >&
- operator>>(basic_istream<char, char_traits<char> >&, complex<double>&);
-
- template
- basic_ostream<char, char_traits<char> >&
- operator<<(basic_ostream<char, char_traits<char> >&,
- const complex<double>&);
-
- template
- basic_istream<char, char_traits<char> >&
- operator>>(basic_istream<char, char_traits<char> >&,
- complex<long double>&);
-
- template
- basic_ostream<char, char_traits<char> >&
- operator<<(basic_ostream<char, char_traits<char> >&,
- const complex<long double>&);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template
- basic_istream<wchar_t, char_traits<wchar_t> >&
- operator>>(basic_istream<wchar_t, char_traits<wchar_t> >&,
- complex<float>&);
-
- template
- basic_ostream<wchar_t, char_traits<wchar_t> >&
- operator<<(basic_ostream<wchar_t, char_traits<wchar_t> >&,
- const complex<float>&);
-
- template
- basic_istream<wchar_t, char_traits<wchar_t> >&
- operator>>(basic_istream<wchar_t, char_traits<wchar_t> >&,
- complex<double>&);
-
- template
- basic_ostream<wchar_t, char_traits<wchar_t> >&
- operator<<(basic_ostream<wchar_t, char_traits<wchar_t> >&,
- const complex<double>&);
-
- template
- basic_istream<wchar_t, char_traits<wchar_t> >&
- operator>>(basic_istream<wchar_t, char_traits<wchar_t> >&,
- complex<long double>&);
-
- template
- basic_ostream<wchar_t, char_traits<wchar_t> >&
- operator<<(basic_ostream<wchar_t, char_traits<wchar_t> >&,
- const complex<long double>&);
-#endif //_GLIBCXX_USE_WCHAR_T
-
-_GLIBCXX_END_NAMESPACE
-
-// XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
- extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
-
-_GLIBCXX_LDBL_COMPAT (_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E,
- _ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E);
-_GLIBCXX_LDBL_COMPAT (_ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E,
- _ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E);
-_GLIBCXX_LDBL_COMPAT (_ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E,
- _ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E);
-_GLIBCXX_LDBL_COMPAT (_ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E,
- _ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E);
-
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/contrib/libstdc++/src/concept-inst.cc b/contrib/libstdc++/src/concept-inst.cc
deleted file mode 100644
index 904f72becd68..000000000000
--- a/contrib/libstdc++/src/concept-inst.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-// Concept checking instantiations -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
-//
-// 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.
-
-// The implementation of some of the more complex checks uses the simple
-// checks (good reuse of code), thereby requiring that the simple checks
-// be instantiated somewhere. The simple checks use other simple checks,
-// and so on, until a couple hundred symbols all need instantiations. We
-// explicitly instantiate the initial set of symbols; compiling this file
-// with -fimplicit-templates will take care of the rest for us.
-
-#include <bits/concept_check.h>
-
-#ifdef _GLIBCXX_CONCEPT_CHECKS
-
-#include <memory>
-#include <iterator>
-#include <ostream>
-
-#define _Instantiate(...) template void __function_requires< __VA_ARGS__ > ()
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template void __aux_require_boolean_expr<bool>(bool const&);
-
- _Instantiate(_ConvertibleConcept<unsigned, unsigned> );
-
- _Instantiate(_InputIteratorConcept<char*> );
-
- _Instantiate(_InputIteratorConcept<char const*> );
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- _Instantiate(_InputIteratorConcept<wchar_t*> );
-
- _Instantiate(_InputIteratorConcept<wchar_t const*> );
-
- _Instantiate(_LessThanComparableConcept<wchar_t*> );
-#endif
-
- _Instantiate(_LessThanComparableConcept<char*> );
-
- _Instantiate(_LessThanComparableConcept<int> );
-
- _Instantiate(_LessThanComparableConcept<long> );
-
- _Instantiate(_LessThanComparableConcept<long long> );
-
- _Instantiate(_LessThanComparableConcept<unsigned> );
-
- _Instantiate(_OutputIteratorConcept<std::ostreambuf_iterator<
- char, std::char_traits<char> >, char> );
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- _Instantiate(_OutputIteratorConcept<std::ostreambuf_iterator<
- wchar_t, std::char_traits<wchar_t> >, wchar_t> );
-#endif
-
- _Instantiate(_RandomAccessIteratorConcept<char*> );
-
- _Instantiate(_RandomAccessIteratorConcept<char const*> );
-
- _Instantiate(_RandomAccessIteratorConcept<
- __normal_iterator<char const*, std::string> > );
-
- _Instantiate(_RandomAccessIteratorConcept<
- __normal_iterator<char*, std::string> > );
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- _Instantiate(_RandomAccessIteratorConcept<
- __normal_iterator<wchar_t const*,
- std::basic_string<wchar_t, std::char_traits<wchar_t>,
- std::allocator<wchar_t> > > > );
-
- _Instantiate(_RandomAccessIteratorConcept<
- __normal_iterator<wchar_t*,
- std::basic_string<wchar_t, std::char_traits<wchar_t>,
- std::allocator<wchar_t> > > > );
-
- _Instantiate(_RandomAccessIteratorConcept<wchar_t*> );
-
- _Instantiate(_RandomAccessIteratorConcept<wchar_t const*> );
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-#undef _Instantiate
-
-#endif
diff --git a/contrib/libstdc++/src/ctype.cc b/contrib/libstdc++/src/ctype.cc
deleted file mode 100644
index 634c135b2f9b..000000000000
--- a/contrib/libstdc++/src/ctype.cc
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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.
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Definitions for static const data members of ctype_base.
- const ctype_base::mask ctype_base::space;
- const ctype_base::mask ctype_base::print;
- const ctype_base::mask ctype_base::cntrl;
- const ctype_base::mask ctype_base::upper;
- const ctype_base::mask ctype_base::lower;
- const ctype_base::mask ctype_base::alpha;
- const ctype_base::mask ctype_base::digit;
- const ctype_base::mask ctype_base::punct;
- const ctype_base::mask ctype_base::xdigit;
- const ctype_base::mask ctype_base::alnum;
- const ctype_base::mask ctype_base::graph;
-
- // Definitions for locale::id of standard facets that are specialized.
- locale::id ctype<char>::id;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- locale::id ctype<wchar_t>::id;
-#endif
-
- template<>
- const ctype<char>&
- use_facet<ctype<char> >(const locale& __loc)
- {
- size_t __i = ctype<char>::id._M_id();
- const locale::_Impl* __tmp = __loc._M_impl;
- return static_cast<const ctype<char>&>(*(__tmp->_M_facets[__i]));
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- const ctype<wchar_t>&
- use_facet<ctype<wchar_t> >(const locale& __loc)
- {
- size_t __i = ctype<wchar_t>::id._M_id();
- const locale::_Impl* __tmp = __loc._M_impl;
- return static_cast<const ctype<wchar_t>&>(*(__tmp->_M_facets[__i]));
- }
-#endif
-
- // XXX At some point, just rename this file to ctype_configure_char.cc
- // and compile it as a separate file instead of including it here.
- // Platform-specific initialization code for ctype tables.
- #include <bits/ctype_noninline.h>
-
- const size_t ctype<char>::table_size;
-
- ctype<char>::~ctype()
- {
- _S_destroy_c_locale(_M_c_locale_ctype);
- if (_M_del)
- delete[] this->table();
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- ctype<wchar_t>::ctype(size_t __refs)
- : __ctype_abstract_base<wchar_t>(__refs),
- _M_c_locale_ctype(_S_get_c_locale()), _M_narrow_ok(false)
- { _M_initialize_ctype(); }
-
- ctype<wchar_t>::ctype(__c_locale __cloc, size_t __refs)
- : __ctype_abstract_base<wchar_t>(__refs),
- _M_c_locale_ctype(_S_clone_c_locale(__cloc)), _M_narrow_ok(false)
- { _M_initialize_ctype(); }
-
- ctype<wchar_t>::~ctype()
- { _S_destroy_c_locale(_M_c_locale_ctype); }
-
- template<>
- ctype_byname<wchar_t>::ctype_byname(const char* __s, size_t __refs)
- : ctype<wchar_t>(__refs)
- {
- if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
- {
- this->_S_destroy_c_locale(this->_M_c_locale_ctype);
- this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
- this->_M_initialize_ctype();
- }
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/debug.cc b/contrib/libstdc++/src/debug.cc
deleted file mode 100644
index be5ba01b7ea0..000000000000
--- a/contrib/libstdc++/src/debug.cc
+++ /dev/null
@@ -1,692 +0,0 @@
-// Debugging mode support code -*- C++ -*-
-
-// Copyright (C) 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.
-
-#include <debug/debug.h>
-#include <debug/safe_sequence.h>
-#include <debug/safe_iterator.h>
-#include <algorithm>
-#include <cassert>
-#include <cstring>
-#include <cctype>
-
-using namespace std;
-
-namespace
-{
- __gnu_cxx::__mutex safe_base_mutex;
-} // anonymous namespace
-
-namespace __gnu_debug
-{
- const char* _S_debug_messages[] =
- {
- "function requires a valid iterator range [%1.name;, %2.name;)",
- "attempt to insert into container with a singular iterator",
- "attempt to insert into container with an iterator"
- " from a different container",
- "attempt to erase from container with a %2.state; iterator",
- "attempt to erase from container with an iterator"
- " from a different container",
- "attempt to subscript container with out-of-bounds index %2;,"
- " but container only holds %3; elements",
- "attempt to access an element in an empty container",
- "elements in iterator range [%1.name;, %2.name;)"
- " are not partitioned by the value %3;",
- "elements in iterator range [%1.name;, %2.name;)"
- " are not partitioned by the predicate %3; and value %4;",
- "elements in iterator range [%1.name;, %2.name;) are not sorted",
- "elements in iterator range [%1.name;, %2.name;)"
- " are not sorted according to the predicate %3;",
- "elements in iterator range [%1.name;, %2.name;) do not form a heap",
- "elements in iterator range [%1.name;, %2.name;)"
- " do not form a heap with respect to the predicate %3;",
- "attempt to write through a singular bitset reference",
- "attempt to read from a singular bitset reference",
- "attempt to flip a singular bitset reference",
- "attempt to splice a list into itself",
- "attempt to splice lists with inequal allocators",
- "attempt to splice elements referenced by a %1.state; iterator",
- "attempt to splice an iterator from a different container",
- "splice destination %1.name;"
- " occurs within source range [%2.name;, %3.name;)",
- "attempt to initialize an iterator that will immediately become singular",
- "attempt to copy-construct an iterator from a singular iterator",
- "attempt to construct a constant iterator"
- " from a singular mutable iterator",
- "attempt to copy from a singular iterator",
- "attempt to dereference a %1.state; iterator",
- "attempt to increment a %1.state; iterator",
- "attempt to decrement a %1.state; iterator",
- "attempt to subscript a %1.state; iterator %2; step from"
- " its current position, which falls outside its dereferenceable range",
- "attempt to advance a %1.state; iterator %2; steps,"
- " which falls outside its valid range",
- "attempt to retreat a %1.state; iterator %2; steps,"
- " which falls outside its valid range",
- "attempt to compare a %1.state; iterator to a %2.state; iterator",
- "attempt to compare iterators from different sequences",
- "attempt to order a %1.state; iterator to a %2.state; iterator",
- "attempt to order iterators from different sequences",
- "attempt to compute the difference between a %1.state;"
- " iterator to a %2.state; iterator",
- "attempt to compute the different between two iterators"
- " from different sequences",
- "attempt to dereference an end-of-stream istream_iterator",
- "attempt to increment an end-of-stream istream_iterator",
- "attempt to output via an ostream_iterator with no associated stream",
- "attempt to dereference an end-of-stream istreambuf_iterator"
- " (this is a GNU extension)",
- "attempt to increment an end-of-stream istreambuf_iterator"
- };
-
- void
- _Safe_sequence_base::
- _M_detach_all()
- {
- __gnu_cxx::__scoped_lock sentry(safe_base_mutex);
- for (_Safe_iterator_base* __iter = _M_iterators; __iter;)
- {
- _Safe_iterator_base* __old = __iter;
- __iter = __iter->_M_next;
- __old->_M_detach_single();
- }
-
- for (_Safe_iterator_base* __iter2 = _M_const_iterators; __iter2;)
- {
- _Safe_iterator_base* __old = __iter2;
- __iter2 = __iter2->_M_next;
- __old->_M_detach_single();
- }
- }
-
- void
- _Safe_sequence_base::
- _M_detach_singular()
- {
- __gnu_cxx::__scoped_lock sentry(safe_base_mutex);
- for (_Safe_iterator_base* __iter = _M_iterators; __iter;)
- {
- _Safe_iterator_base* __old = __iter;
- __iter = __iter->_M_next;
- if (__old->_M_singular())
- __old->_M_detach_single();
- }
-
- for (_Safe_iterator_base* __iter2 = _M_const_iterators; __iter2;)
- {
- _Safe_iterator_base* __old = __iter2;
- __iter2 = __iter2->_M_next;
- if (__old->_M_singular())
- __old->_M_detach_single();
- }
- }
-
- void
- _Safe_sequence_base::
- _M_revalidate_singular()
- {
- __gnu_cxx::__scoped_lock sentry(safe_base_mutex);
- for (_Safe_iterator_base* __iter = _M_iterators; __iter;
- __iter = __iter->_M_next)
- __iter->_M_version = _M_version;
-
- for (_Safe_iterator_base* __iter2 = _M_const_iterators; __iter2;
- __iter2 = __iter2->_M_next)
- __iter2->_M_version = _M_version;
- }
-
- void
- _Safe_sequence_base::
- _M_swap(_Safe_sequence_base& __x)
- {
- __gnu_cxx::__scoped_lock sentry(safe_base_mutex);
- swap(_M_iterators, __x._M_iterators);
- swap(_M_const_iterators, __x._M_const_iterators);
- swap(_M_version, __x._M_version);
- _Safe_iterator_base* __iter;
- for (__iter = _M_iterators; __iter; __iter = __iter->_M_next)
- __iter->_M_sequence = this;
- for (__iter = __x._M_iterators; __iter; __iter = __iter->_M_next)
- __iter->_M_sequence = &__x;
- for (__iter = _M_const_iterators; __iter; __iter = __iter->_M_next)
- __iter->_M_sequence = this;
- for (__iter = __x._M_const_iterators; __iter; __iter = __iter->_M_next)
- __iter->_M_sequence = &__x;
- }
-
- __gnu_cxx::__mutex&
- _Safe_sequence_base::
- _M_get_mutex()
- { return safe_base_mutex; }
-
- void
- _Safe_iterator_base::
- _M_attach(_Safe_sequence_base* __seq, bool __constant)
- {
- __gnu_cxx::__scoped_lock sentry(safe_base_mutex);
- _M_attach_single(__seq, __constant);
- }
-
- void
- _Safe_iterator_base::
- _M_attach_single(_Safe_sequence_base* __seq, bool __constant)
- {
- _M_detach_single();
-
- // Attach to the new sequence (if there is one)
- if (__seq)
- {
- _M_sequence = __seq;
- _M_version = _M_sequence->_M_version;
- _M_prior = 0;
- if (__constant)
- {
- _M_next = _M_sequence->_M_const_iterators;
- if (_M_next)
- _M_next->_M_prior = this;
- _M_sequence->_M_const_iterators = this;
- }
- else
- {
- _M_next = _M_sequence->_M_iterators;
- if (_M_next)
- _M_next->_M_prior = this;
- _M_sequence->_M_iterators = this;
- }
- }
- }
-
- void
- _Safe_iterator_base::
- _M_detach()
- {
- __gnu_cxx::__scoped_lock sentry(safe_base_mutex);
- _M_detach_single();
- }
-
- void
- _Safe_iterator_base::
- _M_detach_single()
- {
- if (_M_sequence)
- {
- // Remove us from this sequence's list
- if (_M_prior)
- _M_prior->_M_next = _M_next;
- if (_M_next)
- _M_next->_M_prior = _M_prior;
-
- if (_M_sequence->_M_const_iterators == this)
- _M_sequence->_M_const_iterators = _M_next;
- if (_M_sequence->_M_iterators == this)
- _M_sequence->_M_iterators = _M_next;
- }
-
- _M_sequence = 0;
- _M_version = 0;
- _M_prior = 0;
- _M_next = 0;
- }
-
- bool
- _Safe_iterator_base::
- _M_singular() const
- { return !_M_sequence || _M_version != _M_sequence->_M_version; }
-
- bool
- _Safe_iterator_base::
- _M_can_compare(const _Safe_iterator_base& __x) const
- {
- return (!_M_singular()
- && !__x._M_singular() && _M_sequence == __x._M_sequence);
- }
-
- __gnu_cxx::__mutex&
- _Safe_iterator_base::
- _M_get_mutex()
- { return safe_base_mutex; }
-
- void
- _Error_formatter::_Parameter::
- _M_print_field(const _Error_formatter* __formatter, const char* __name) const
- {
- assert(this->_M_kind != _Parameter::__unused_param);
- const int __bufsize = 64;
- char __buf[__bufsize];
-
- if (_M_kind == __iterator)
- {
- if (strcmp(__name, "name") == 0)
- {
- assert(_M_variant._M_iterator._M_name);
- __formatter->_M_print_word(_M_variant._M_iterator._M_name);
- }
- else if (strcmp(__name, "address") == 0)
- {
- __formatter->_M_format_word(__buf, __bufsize, "%p",
- _M_variant._M_iterator._M_address);
- __formatter->_M_print_word(__buf);
- }
- else if (strcmp(__name, "type") == 0)
- {
- assert(_M_variant._M_iterator._M_type);
- // TBD: demangle!
- __formatter->_M_print_word(_M_variant._M_iterator._M_type->name());
- }
- else if (strcmp(__name, "constness") == 0)
- {
- static const char* __constness_names[__last_constness] =
- {
- "<unknown>",
- "constant",
- "mutable"
- };
- __formatter->_M_print_word(__constness_names[_M_variant._M_iterator._M_constness]);
- }
- else if (strcmp(__name, "state") == 0)
- {
- static const char* __state_names[__last_state] =
- {
- "<unknown>",
- "singular",
- "dereferenceable (start-of-sequence)",
- "dereferenceable",
- "past-the-end"
- };
- __formatter->_M_print_word(__state_names[_M_variant._M_iterator._M_state]);
- }
- else if (strcmp(__name, "sequence") == 0)
- {
- assert(_M_variant._M_iterator._M_sequence);
- __formatter->_M_format_word(__buf, __bufsize, "%p",
- _M_variant._M_iterator._M_sequence);
- __formatter->_M_print_word(__buf);
- }
- else if (strcmp(__name, "seq_type") == 0)
- {
- // TBD: demangle!
- assert(_M_variant._M_iterator._M_seq_type);
- __formatter->_M_print_word(_M_variant._M_iterator._M_seq_type->name());
- }
- else
- assert(false);
- }
- else if (_M_kind == __sequence)
- {
- if (strcmp(__name, "name") == 0)
- {
- assert(_M_variant._M_sequence._M_name);
- __formatter->_M_print_word(_M_variant._M_sequence._M_name);
- }
- else if (strcmp(__name, "address") == 0)
- {
- assert(_M_variant._M_sequence._M_address);
- __formatter->_M_format_word(__buf, __bufsize, "%p",
- _M_variant._M_sequence._M_address);
- __formatter->_M_print_word(__buf);
- }
- else if (strcmp(__name, "type") == 0)
- {
- // TBD: demangle!
- assert(_M_variant._M_sequence._M_type);
- __formatter->_M_print_word(_M_variant._M_sequence._M_type->name());
- }
- else
- assert(false);
- }
- else if (_M_kind == __integer)
- {
- if (strcmp(__name, "name") == 0)
- {
- assert(_M_variant._M_integer._M_name);
- __formatter->_M_print_word(_M_variant._M_integer._M_name);
- }
- else
- assert(false);
- }
- else if (_M_kind == __string)
- {
- if (strcmp(__name, "name") == 0)
- {
- assert(_M_variant._M_string._M_name);
- __formatter->_M_print_word(_M_variant._M_string._M_name);
- }
- else
- assert(false);
- }
- else
- {
- assert(false);
- }
- }
-
- void
- _Error_formatter::_Parameter::
- _M_print_description(const _Error_formatter* __formatter) const
- {
- const int __bufsize = 128;
- char __buf[__bufsize];
-
- if (_M_kind == __iterator)
- {
- __formatter->_M_print_word("iterator ");
- if (_M_variant._M_iterator._M_name)
- {
- __formatter->_M_format_word(__buf, __bufsize, "\"%s\" ",
- _M_variant._M_iterator._M_name);
- __formatter->_M_print_word(__buf);
- }
-
- __formatter->_M_format_word(__buf, __bufsize, "@ 0x%p {\n",
- _M_variant._M_iterator._M_address);
- __formatter->_M_print_word(__buf);
- if (_M_variant._M_iterator._M_type)
- {
- __formatter->_M_print_word("type = ");
- _M_print_field(__formatter, "type");
-
- if (_M_variant._M_iterator._M_constness != __unknown_constness)
- {
- __formatter->_M_print_word(" (");
- _M_print_field(__formatter, "constness");
- __formatter->_M_print_word(" iterator)");
- }
- __formatter->_M_print_word(";\n");
- }
-
- if (_M_variant._M_iterator._M_state != __unknown_state)
- {
- __formatter->_M_print_word(" state = ");
- _M_print_field(__formatter, "state");
- __formatter->_M_print_word(";\n");
- }
-
- if (_M_variant._M_iterator._M_sequence)
- {
- __formatter->_M_print_word(" references sequence ");
- if (_M_variant._M_iterator._M_seq_type)
- {
- __formatter->_M_print_word("with type `");
- _M_print_field(__formatter, "seq_type");
- __formatter->_M_print_word("' ");
- }
-
- __formatter->_M_format_word(__buf, __bufsize, "@ 0x%p\n",
- _M_variant._M_sequence._M_address);
- __formatter->_M_print_word(__buf);
- }
- __formatter->_M_print_word("}\n");
- }
- else if (_M_kind == __sequence)
- {
- __formatter->_M_print_word("sequence ");
- if (_M_variant._M_sequence._M_name)
- {
- __formatter->_M_format_word(__buf, __bufsize, "\"%s\" ",
- _M_variant._M_sequence._M_name);
- __formatter->_M_print_word(__buf);
- }
-
- __formatter->_M_format_word(__buf, __bufsize, "@ 0x%p {\n",
- _M_variant._M_sequence._M_address);
- __formatter->_M_print_word(__buf);
-
- if (_M_variant._M_sequence._M_type)
- {
- __formatter->_M_print_word(" type = ");
- _M_print_field(__formatter, "type");
- __formatter->_M_print_word(";\n");
- }
- __formatter->_M_print_word("}\n");
- }
- }
-
- const _Error_formatter&
- _Error_formatter::_M_message(_Debug_msg_id __id) const
- { return this->_M_message(_S_debug_messages[__id]); }
-
- void
- _Error_formatter::_M_error() const
- {
- const int __bufsize = 128;
- char __buf[__bufsize];
-
- // Emit file & line number information
- _M_column = 1;
- _M_wordwrap = false;
- if (_M_file)
- {
- _M_format_word(__buf, __bufsize, "%s:", _M_file);
- _M_print_word(__buf);
- _M_column += strlen(__buf);
- }
-
- if (_M_line > 0)
- {
- _M_format_word(__buf, __bufsize, "%u:", _M_line);
- _M_print_word(__buf);
- _M_column += strlen(__buf);
- }
-
- _M_wordwrap = true;
- _M_print_word("error: ");
-
- // Print the error message
- assert(_M_text);
- _M_print_string(_M_text);
- _M_print_word(".\n");
-
- // Emit descriptions of the objects involved in the operation
- _M_wordwrap = false;
- bool __has_noninteger_parameters = false;
- for (unsigned int __i = 0; __i < _M_num_parameters; ++__i)
- {
- if (_M_parameters[__i]._M_kind == _Parameter::__iterator
- || _M_parameters[__i]._M_kind == _Parameter::__sequence)
- {
- if (!__has_noninteger_parameters)
- {
- _M_first_line = true;
- _M_print_word("\nObjects involved in the operation:\n");
- __has_noninteger_parameters = true;
- }
- _M_parameters[__i]._M_print_description(this);
- }
- }
-
- abort();
- }
-
- template<typename _Tp>
- void
- _Error_formatter::_M_format_word(char* __buf,
- int __n __attribute__ ((__unused__)),
- const char* __fmt, _Tp __s) const
- {
-#ifdef _GLIBCXX_USE_C99
- std::snprintf(__buf, __n, __fmt, __s);
-#else
- std::sprintf(__buf, __fmt, __s);
-#endif
- }
-
-
- void
- _Error_formatter::_M_print_word(const char* __word) const
- {
- if (!_M_wordwrap)
- {
- fprintf(stderr, "%s", __word);
- return;
- }
-
- size_t __length = strlen(__word);
- if (__length == 0)
- return;
-
- if ((_M_column + __length < _M_max_length)
- || (__length >= _M_max_length && _M_column == 1))
- {
- // If this isn't the first line, indent
- if (_M_column == 1 && !_M_first_line)
- {
- char __spacing[_M_indent + 1];
- for (int i = 0; i < _M_indent; ++i)
- __spacing[i] = ' ';
- __spacing[_M_indent] = '\0';
- fprintf(stderr, "%s", __spacing);
- _M_column += _M_indent;
- }
-
- fprintf(stderr, "%s", __word);
- _M_column += __length;
-
- if (__word[__length - 1] == '\n')
- {
- _M_first_line = false;
- _M_column = 1;
- }
- }
- else
- {
- _M_column = 1;
- _M_print_word("\n");
- _M_print_word(__word);
- }
- }
-
- void
- _Error_formatter::
- _M_print_string(const char* __string) const
- {
- const char* __start = __string;
- const char* __finish = __start;
- const int __bufsize = 128;
- char __buf[__bufsize];
-
- while (*__start)
- {
- if (*__start != '%')
- {
- // [__start, __finish) denotes the next word
- __finish = __start;
- while (isalnum(*__finish))
- ++__finish;
- if (__start == __finish)
- ++__finish;
- if (isspace(*__finish))
- ++__finish;
-
- const ptrdiff_t __len = __finish - __start;
- assert(__len < __bufsize);
- memcpy(__buf, __start, __len);
- __buf[__len] = '\0';
- _M_print_word(__buf);
- __start = __finish;
-
- // Skip extra whitespace
- while (*__start == ' ')
- ++__start;
-
- continue;
- }
-
- ++__start;
- assert(*__start);
- if (*__start == '%')
- {
- _M_print_word("%");
- ++__start;
- continue;
- }
-
- // Get the parameter number
- assert(*__start >= '1' && *__start <= '9');
- size_t __param = *__start - '0';
- --__param;
- assert(__param < _M_num_parameters);
-
- // '.' separates the parameter number from the field
- // name, if there is one.
- ++__start;
- if (*__start != '.')
- {
- assert(*__start == ';');
- ++__start;
- __buf[0] = '\0';
- if (_M_parameters[__param]._M_kind == _Parameter::__integer)
- {
- _M_format_word(__buf, __bufsize, "%ld",
- _M_parameters[__param]._M_variant._M_integer._M_value);
- _M_print_word(__buf);
- }
- else if (_M_parameters[__param]._M_kind == _Parameter::__string)
- _M_print_string(_M_parameters[__param]._M_variant._M_string._M_value);
- continue;
- }
-
- // Extract the field name we want
- enum { __max_field_len = 16 };
- char __field[__max_field_len];
- int __field_idx = 0;
- ++__start;
- while (*__start != ';')
- {
- assert(*__start);
- assert(__field_idx < __max_field_len-1);
- __field[__field_idx++] = *__start++;
- }
- ++__start;
- __field[__field_idx] = 0;
-
- _M_parameters[__param]._M_print_field(this, __field);
- }
- }
-
- // Instantiations.
- template
- void
- _Error_formatter::_M_format_word(char*, int, const char*,
- const void*) const;
-
- template
- void
- _Error_formatter::_M_format_word(char*, int, const char*, long) const;
-
- template
- void
- _Error_formatter::_M_format_word(char*, int, const char*,
- std::size_t) const;
-
- template
- void
- _Error_formatter::_M_format_word(char*, int, const char*,
- const char*) const;
-} // namespace __gnu_debug
diff --git a/contrib/libstdc++/src/debug_list.cc b/contrib/libstdc++/src/debug_list.cc
deleted file mode 100644
index cec2c3885b6c..000000000000
--- a/contrib/libstdc++/src/debug_list.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-// Debugging mode support code for list -*- C++ -*-
-
-// Copyright (C) 2004 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.
-
-#define _GLIBCXX_DEBUG
-
-#include "list.cc"
-
diff --git a/contrib/libstdc++/src/ext-inst.cc b/contrib/libstdc++/src/ext-inst.cc
deleted file mode 100644
index 7f98b415b4ad..000000000000
--- a/contrib/libstdc++/src/ext-inst.cc
+++ /dev/null
@@ -1,68 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 2001, 2002, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <ext/rope>
-#include <ext/stdio_filebuf.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- namespace
- {
- const int min_len = __detail::_S_max_rope_depth + 1;
- }
-
- template
- const unsigned long
- rope<char, std::allocator<char> >::_S_min_len[min_len];
-
- template
- char
- rope<char, std::allocator<char> >::
- _S_fetch(_Rope_RopeRep<char, std::allocator<char> >*, size_type);
-
- template class stdio_filebuf<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template
- const unsigned long
- rope<wchar_t, std::allocator<wchar_t> >::_S_min_len[min_len];
-
- template
- wchar_t
- rope<wchar_t, std::allocator<wchar_t> >::
- _S_fetch(_Rope_RopeRep<wchar_t, std::allocator<wchar_t> >*, size_type);
-
- template class stdio_filebuf<wchar_t>;
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/fstream-inst.cc b/contrib/libstdc++/src/fstream-inst.cc
deleted file mode 100644
index 762ccb8a9d60..000000000000
--- a/contrib/libstdc++/src/fstream-inst.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <fstream>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template class basic_filebuf<char, char_traits<char> >;
- template class basic_ifstream<char>;
- template class basic_ofstream<char>;
- template class basic_fstream<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template class basic_filebuf<wchar_t, char_traits<wchar_t> >;
- template class basic_ifstream<wchar_t>;
- template class basic_ofstream<wchar_t>;
- template class basic_fstream<wchar_t>;
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/functexcept.cc b/contrib/libstdc++/src/functexcept.cc
deleted file mode 100644
index 5e53f052d84d..000000000000
--- a/contrib/libstdc++/src/functexcept.cc
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright (C) 2001, 2002, 2003, 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.
-
-#include <bits/functexcept.h>
-#include <cstdlib>
-#include <exception>
-#include <stdexcept>
-#include <new>
-#include <typeinfo>
-#include <ios>
-
-#ifdef _GLIBCXX_USE_NLS
-# include <libintl.h>
-# define _(msgid) gettext (msgid)
-#else
-# define _(msgid) (msgid)
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
-#if __EXCEPTIONS
- void
- __throw_bad_exception(void)
- { throw bad_exception(); }
-
- void
- __throw_bad_alloc(void)
- { throw bad_alloc(); }
-
- void
- __throw_bad_cast(void)
- { throw bad_cast(); }
-
- void
- __throw_bad_typeid(void)
- { throw bad_typeid(); }
-
- void
- __throw_logic_error(const char* __s)
- { throw logic_error(_(__s)); }
-
- void
- __throw_domain_error(const char* __s)
- { throw domain_error(_(__s)); }
-
- void
- __throw_invalid_argument(const char* __s)
- { throw invalid_argument(_(__s)); }
-
- void
- __throw_length_error(const char* __s)
- { throw length_error(_(__s)); }
-
- void
- __throw_out_of_range(const char* __s)
- { throw out_of_range(_(__s)); }
-
- void
- __throw_runtime_error(const char* __s)
- { throw runtime_error(_(__s)); }
-
- void
- __throw_range_error(const char* __s)
- { throw range_error(_(__s)); }
-
- void
- __throw_overflow_error(const char* __s)
- { throw overflow_error(_(__s)); }
-
- void
- __throw_underflow_error(const char* __s)
- { throw underflow_error(_(__s)); }
-
- void
- __throw_ios_failure(const char* __s)
- { throw ios_base::failure(_(__s)); }
-#else
- void
- __throw_bad_exception(void)
- { std::abort(); }
-
- void
- __throw_bad_alloc(void)
- { std::abort(); }
-
- void
- __throw_bad_cast(void)
- { std::abort(); }
-
- void
- __throw_bad_typeid(void)
- { std::abort(); }
-
- void
- __throw_logic_error(const char*)
- { std::abort(); }
-
- void
- __throw_domain_error(const char*)
- { std::abort(); }
-
- void
- __throw_invalid_argument(const char*)
- { std::abort(); }
-
- void
- __throw_length_error(const char*)
- { std::abort(); }
-
- void
- __throw_out_of_range(const char*)
- { std::abort(); }
-
- void
- __throw_runtime_error(const char*)
- { std::abort(); }
-
- void
- __throw_range_error(const char*)
- { std::abort(); }
-
- void
- __throw_overflow_error(const char*)
- { std::abort(); }
-
- void
- __throw_underflow_error(const char*)
- { std::abort(); }
-
- void
- __throw_ios_failure(const char*)
- { std::abort(); }
-#endif //__EXCEPTIONS
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/globals_io.cc b/contrib/libstdc++/src/globals_io.cc
deleted file mode 100644
index 3d67cf58b289..000000000000
--- a/contrib/libstdc++/src/globals_io.cc
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright (C) 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.
-
-#include "bits/c++config.h"
-#include <fstream>
-#include <istream>
-#include <ostream>
-#include <ext/stdio_filebuf.h>
-#include <ext/stdio_sync_filebuf.h>
-
-// On AIX, and perhaps other systems, library initialization order is
-// not guaranteed. For example, the static initializers for the main
-// program might run before the static initializers for this library.
-// That means that we cannot rely on static initialization in the
-// library; there is no guarantee that things will get initialized in
-// time. This file contains definitions of all global variables that
-// require initialization as arrays of characters.
-
-// NB: asm directives can rename these non-exported, namespace
-// __gnu_cxx symbols into exported, namespace std symbols with the
-// appropriate symbol version name.
-// The rename syntax is
-// asm (".symver currentname,oldname@@GLIBCXX_3.2")
-// In macro form:
-// _GLIBCXX_ASM_SYMVER(currentname, oldname, GLIBCXX_3.2)
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Standard stream objects.
- // NB: Iff <iostream> is included, these definitions become wonky.
- typedef char fake_istream[sizeof(istream)]
- __attribute__ ((aligned(__alignof__(istream))));
- typedef char fake_ostream[sizeof(ostream)]
- __attribute__ ((aligned(__alignof__(ostream))));
- fake_istream cin;
- fake_ostream cout;
- fake_ostream cerr;
- fake_ostream clog;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- typedef char fake_wistream[sizeof(wistream)]
- __attribute__ ((aligned(__alignof__(wistream))));
- typedef char fake_wostream[sizeof(wostream)]
- __attribute__ ((aligned(__alignof__(wostream))));
- fake_wistream wcin;
- fake_wostream wcout;
- fake_wostream wcerr;
- fake_wostream wclog;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-namespace __gnu_internal _GLIBCXX_VISIBILITY(hidden)
-{
- using namespace std;
- using namespace __gnu_cxx;
-
- // We use different stream buffer types depending on whether
- // ios_base::sync_with_stdio(false) has been called.
- typedef char fake_stdiobuf[sizeof(stdio_sync_filebuf<char>)]
- __attribute__ ((aligned(__alignof__(stdio_sync_filebuf<char>))));
- fake_stdiobuf buf_cout_sync;
- fake_stdiobuf buf_cin_sync;
- fake_stdiobuf buf_cerr_sync;
-
- typedef char fake_filebuf[sizeof(stdio_filebuf<char>)]
- __attribute__ ((aligned(__alignof__(stdio_filebuf<char>))));
- fake_filebuf buf_cout;
- fake_filebuf buf_cin;
- fake_filebuf buf_cerr;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- typedef char fake_wstdiobuf[sizeof(stdio_sync_filebuf<wchar_t>)]
- __attribute__ ((aligned(__alignof__(stdio_sync_filebuf<wchar_t>))));
- fake_wstdiobuf buf_wcout_sync;
- fake_wstdiobuf buf_wcin_sync;
- fake_wstdiobuf buf_wcerr_sync;
-
- typedef char fake_wfilebuf[sizeof(stdio_filebuf<wchar_t>)]
- __attribute__ ((aligned(__alignof__(stdio_filebuf<wchar_t>))));
- fake_wfilebuf buf_wcout;
- fake_wfilebuf buf_wcin;
- fake_wfilebuf buf_wcerr;
-#endif
-} // namespace __gnu_internal
diff --git a/contrib/libstdc++/src/ios-inst.cc b/contrib/libstdc++/src/ios-inst.cc
deleted file mode 100644
index 27f3e5bb1f95..000000000000
--- a/contrib/libstdc++/src/ios-inst.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <ios>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template class basic_ios<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template class basic_ios<wchar_t>;
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/ios.cc b/contrib/libstdc++/src/ios.cc
deleted file mode 100644
index 3fbee2cad4e9..000000000000
--- a/contrib/libstdc++/src/ios.cc
+++ /dev/null
@@ -1,194 +0,0 @@
-// Iostreams base classes -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 27.4 Iostreams base classes
-//
-
-#include <ios>
-#include <limits>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Definitions for static const members of ios_base.
- const ios_base::fmtflags ios_base::boolalpha;
- const ios_base::fmtflags ios_base::dec;
- const ios_base::fmtflags ios_base::fixed;
- const ios_base::fmtflags ios_base::hex;
- const ios_base::fmtflags ios_base::internal;
- const ios_base::fmtflags ios_base::left;
- const ios_base::fmtflags ios_base::oct;
- const ios_base::fmtflags ios_base::right;
- const ios_base::fmtflags ios_base::scientific;
- const ios_base::fmtflags ios_base::showbase;
- const ios_base::fmtflags ios_base::showpoint;
- const ios_base::fmtflags ios_base::showpos;
- const ios_base::fmtflags ios_base::skipws;
- const ios_base::fmtflags ios_base::unitbuf;
- const ios_base::fmtflags ios_base::uppercase;
- const ios_base::fmtflags ios_base::adjustfield;
- const ios_base::fmtflags ios_base::basefield;
- const ios_base::fmtflags ios_base::floatfield;
-
- const ios_base::iostate ios_base::badbit;
- const ios_base::iostate ios_base::eofbit;
- const ios_base::iostate ios_base::failbit;
- const ios_base::iostate ios_base::goodbit;
-
- const ios_base::openmode ios_base::app;
- const ios_base::openmode ios_base::ate;
- const ios_base::openmode ios_base::binary;
- const ios_base::openmode ios_base::in;
- const ios_base::openmode ios_base::out;
- const ios_base::openmode ios_base::trunc;
-
- const ios_base::seekdir ios_base::beg;
- const ios_base::seekdir ios_base::cur;
- const ios_base::seekdir ios_base::end;
-
- _Atomic_word ios_base::Init::_S_refcount;
-
- bool ios_base::Init::_S_synced_with_stdio = true;
-
- ios_base::ios_base()
- : _M_precision(), _M_width(), _M_flags(), _M_exception(),
- _M_streambuf_state(), _M_callbacks(0), _M_word_zero(),
- _M_word_size(_S_local_word_size), _M_word(_M_local_word), _M_ios_locale()
- {
- // Do nothing: basic_ios::init() does it.
- // NB: _M_callbacks and _M_word must be zero for non-initialized
- // ios_base to go through ~ios_base gracefully.
- }
-
- // 27.4.2.7 ios_base constructors/destructors
- ios_base::~ios_base()
- {
- _M_call_callbacks(erase_event);
- _M_dispose_callbacks();
- if (_M_word != _M_local_word)
- {
- delete [] _M_word;
- _M_word = 0;
- }
- }
-
- // 27.4.2.5 ios_base storage functions
- int
- ios_base::xalloc() throw()
- {
- // Implementation note: Initialize top to zero to ensure that
- // initialization occurs before main() is started.
- static _Atomic_word _S_top = 0;
- return __gnu_cxx::__exchange_and_add_dispatch(&_S_top, 1) + 4;
- }
-
- void
- ios_base::register_callback(event_callback __fn, int __index)
- { _M_callbacks = new _Callback_list(__fn, __index, _M_callbacks); }
-
- // 27.4.2.5 iword/pword storage
- ios_base::_Words&
- ios_base::_M_grow_words(int __ix, bool __iword)
- {
- // Precondition: _M_word_size <= __ix
- int __newsize = _S_local_word_size;
- _Words* __words = _M_local_word;
- if (__ix > _S_local_word_size - 1)
- {
- if (__ix < numeric_limits<int>::max())
- {
- __newsize = __ix + 1;
- try
- { __words = new _Words[__newsize]; }
- catch (...)
- {
- _M_streambuf_state |= badbit;
- if (_M_streambuf_state & _M_exception)
- __throw_ios_failure(__N("ios_base::_M_grow_words "
- "allocation failed"));
- if (__iword)
- _M_word_zero._M_iword = 0;
- else
- _M_word_zero._M_pword = 0;
- return _M_word_zero;
- }
- for (int __i = 0; __i < _M_word_size; __i++)
- __words[__i] = _M_word[__i];
- if (_M_word && _M_word != _M_local_word)
- {
- delete [] _M_word;
- _M_word = 0;
- }
- }
- else
- {
- _M_streambuf_state |= badbit;
- if (_M_streambuf_state & _M_exception)
- __throw_ios_failure(__N("ios_base::_M_grow_words is not valid"));
- if (__iword)
- _M_word_zero._M_iword = 0;
- else
- _M_word_zero._M_pword = 0;
- return _M_word_zero;
- }
- }
- _M_word = __words;
- _M_word_size = __newsize;
- return _M_word[__ix];
- }
-
- void
- ios_base::_M_call_callbacks(event __e) throw()
- {
- _Callback_list* __p = _M_callbacks;
- while (__p)
- {
- try
- { (*__p->_M_fn) (__e, *this, __p->_M_index); }
- catch (...)
- { }
- __p = __p->_M_next;
- }
- }
-
- void
- ios_base::_M_dispose_callbacks(void)
- {
- _Callback_list* __p = _M_callbacks;
- while (__p && __p->_M_remove_reference() == 0)
- {
- _Callback_list* __next = __p->_M_next;
- delete __p;
- __p = __next;
- }
- _M_callbacks = 0;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/ios_failure.cc b/contrib/libstdc++/src/ios_failure.cc
deleted file mode 100644
index 33d7ffcd4e1f..000000000000
--- a/contrib/libstdc++/src/ios_failure.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-// Iostreams base classes -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 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.
-
-//
-// ISO C++ 14882: 27.4.2.1.1 Class ios_base::failure
-//
-
-#include <ios>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- ios_base::failure::failure(const string& __str) throw()
- : _M_msg(__str) { }
-
- ios_base::failure::~failure() throw()
- { }
-
- const char*
- ios_base::failure::what() const throw()
- { return _M_msg.c_str(); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/ios_init.cc b/contrib/libstdc++/src/ios_init.cc
deleted file mode 100644
index 5c7ab2e8322b..000000000000
--- a/contrib/libstdc++/src/ios_init.cc
+++ /dev/null
@@ -1,203 +0,0 @@
-// Iostreams base classes -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 27.4 Iostreams base classes
-//
-
-#include <ios>
-#include <ostream>
-#include <istream>
-#include <fstream>
-#include <ext/stdio_filebuf.h>
-#include <ext/stdio_sync_filebuf.h>
-
-namespace __gnu_internal _GLIBCXX_VISIBILITY(hidden)
-{
- using namespace __gnu_cxx;
-
- // Extern declarations for global objects in src/globals.cc.
- extern stdio_sync_filebuf<char> buf_cout_sync;
- extern stdio_sync_filebuf<char> buf_cin_sync;
- extern stdio_sync_filebuf<char> buf_cerr_sync;
-
- extern stdio_filebuf<char> buf_cout;
- extern stdio_filebuf<char> buf_cin;
- extern stdio_filebuf<char> buf_cerr;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern stdio_sync_filebuf<wchar_t> buf_wcout_sync;
- extern stdio_sync_filebuf<wchar_t> buf_wcin_sync;
- extern stdio_sync_filebuf<wchar_t> buf_wcerr_sync;
-
- extern stdio_filebuf<wchar_t> buf_wcout;
- extern stdio_filebuf<wchar_t> buf_wcin;
- extern stdio_filebuf<wchar_t> buf_wcerr;
-#endif
-} // namespace __gnu_internal
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- using namespace __gnu_internal;
-
- extern istream cin;
- extern ostream cout;
- extern ostream cerr;
- extern ostream clog;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- extern wistream wcin;
- extern wostream wcout;
- extern wostream wcerr;
- extern wostream wclog;
-#endif
-
- ios_base::Init::Init()
- {
- if (__gnu_cxx::__exchange_and_add_dispatch(&_S_refcount, 1) == 0)
- {
- // Standard streams default to synced with "C" operations.
- _S_synced_with_stdio = true;
-
- new (&buf_cout_sync) stdio_sync_filebuf<char>(stdout);
- new (&buf_cin_sync) stdio_sync_filebuf<char>(stdin);
- new (&buf_cerr_sync) stdio_sync_filebuf<char>(stderr);
-
- // The standard streams are constructed once only and never
- // destroyed.
- new (&cout) ostream(&buf_cout_sync);
- new (&cin) istream(&buf_cin_sync);
- new (&cerr) ostream(&buf_cerr_sync);
- new (&clog) ostream(&buf_cerr_sync);
- cin.tie(&cout);
- cerr.flags(ios_base::unitbuf);
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 455. cerr::tie() and wcerr::tie() are overspecified.
- cerr.tie(&cout);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- new (&buf_wcout_sync) stdio_sync_filebuf<wchar_t>(stdout);
- new (&buf_wcin_sync) stdio_sync_filebuf<wchar_t>(stdin);
- new (&buf_wcerr_sync) stdio_sync_filebuf<wchar_t>(stderr);
-
- new (&wcout) wostream(&buf_wcout_sync);
- new (&wcin) wistream(&buf_wcin_sync);
- new (&wcerr) wostream(&buf_wcerr_sync);
- new (&wclog) wostream(&buf_wcerr_sync);
- wcin.tie(&wcout);
- wcerr.flags(ios_base::unitbuf);
- wcerr.tie(&wcout);
-#endif
-
- // NB: Have to set refcount above one, so that standard
- // streams are not re-initialized with uses of ios_base::Init
- // besides <iostream> static object, ie just using <ios> with
- // ios_base::Init objects.
- __gnu_cxx::__atomic_add_dispatch(&_S_refcount, 1);
- }
- }
-
- ios_base::Init::~Init()
- {
- if (__gnu_cxx::__exchange_and_add_dispatch(&_S_refcount, -1) == 2)
- {
- // Catch any exceptions thrown by basic_ostream::flush()
- try
- {
- // Flush standard output streams as required by 27.4.2.1.6
- cout.flush();
- cerr.flush();
- clog.flush();
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- wcout.flush();
- wcerr.flush();
- wclog.flush();
-#endif
- }
- catch (...)
- { }
- }
- }
-
- bool
- ios_base::sync_with_stdio(bool __sync)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 49. Underspecification of ios_base::sync_with_stdio
- bool __ret = ios_base::Init::_S_synced_with_stdio;
-
- // Turn off sync with C FILE* for cin, cout, cerr, clog iff
- // currently synchronized.
- if (!__sync && __ret)
- {
- // Make sure the standard streams are constructed.
- ios_base::Init __init;
-
- ios_base::Init::_S_synced_with_stdio = __sync;
-
- // Explicitly call dtors to free any memory that is
- // dynamically allocated by filebuf ctor or member functions,
- // but don't deallocate all memory by calling operator delete.
- buf_cout_sync.~stdio_sync_filebuf<char>();
- buf_cin_sync.~stdio_sync_filebuf<char>();
- buf_cerr_sync.~stdio_sync_filebuf<char>();
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- buf_wcout_sync.~stdio_sync_filebuf<wchar_t>();
- buf_wcin_sync.~stdio_sync_filebuf<wchar_t>();
- buf_wcerr_sync.~stdio_sync_filebuf<wchar_t>();
-#endif
-
- // Create stream buffers for the standard streams and use
- // those buffers without destroying and recreating the
- // streams.
- new (&buf_cout) stdio_filebuf<char>(stdout, ios_base::out);
- new (&buf_cin) stdio_filebuf<char>(stdin, ios_base::in);
- new (&buf_cerr) stdio_filebuf<char>(stderr, ios_base::out);
- cout.rdbuf(&buf_cout);
- cin.rdbuf(&buf_cin);
- cerr.rdbuf(&buf_cerr);
- clog.rdbuf(&buf_cerr);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- new (&buf_wcout) stdio_filebuf<wchar_t>(stdout, ios_base::out);
- new (&buf_wcin) stdio_filebuf<wchar_t>(stdin, ios_base::in);
- new (&buf_wcerr) stdio_filebuf<wchar_t>(stderr, ios_base::out);
- wcout.rdbuf(&buf_wcout);
- wcin.rdbuf(&buf_wcin);
- wcerr.rdbuf(&buf_wcerr);
- wclog.rdbuf(&buf_wcerr);
-#endif
- }
- return __ret;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/ios_locale.cc b/contrib/libstdc++/src/ios_locale.cc
deleted file mode 100644
index 5be1c9255bd4..000000000000
--- a/contrib/libstdc++/src/ios_locale.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-// Iostreams base classes -*- C++ -*-
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 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.
-
-//
-// ISO C++ 14882: 27.4 Iostreams base classes
-//
-
-#include <ios>
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Called only by basic_ios<>::init.
- void
- ios_base::_M_init()
- {
- // NB: May be called more than once
- _M_precision = 6;
- _M_width = 0;
- _M_flags = skipws | dec;
- _M_ios_locale = locale();
- }
-
- // 27.4.2.3 ios_base locale functions
- locale
- ios_base::imbue(const locale& __loc)
- {
- locale __old = _M_ios_locale;
- _M_ios_locale = __loc;
- _M_call_callbacks(imbue_event);
- return __old;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/iostream-inst.cc b/contrib/libstdc++/src/iostream-inst.cc
deleted file mode 100644
index 7e1df3d605ed..000000000000
--- a/contrib/libstdc++/src/iostream-inst.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <iomanip>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template class _Setfill<char>;
- template _Setfill<char> setfill(char);
- template class basic_iostream<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template class _Setfill<wchar_t>;
- template _Setfill<wchar_t> setfill(wchar_t);
- template class basic_iostream<wchar_t>;
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/istream-inst.cc b/contrib/libstdc++/src/istream-inst.cc
deleted file mode 100644
index 7140ab27ba12..000000000000
--- a/contrib/libstdc++/src/istream-inst.cc
+++ /dev/null
@@ -1,113 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <istream>
-#include <iomanip>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template class basic_istream<char>;
- template istream& ws(istream&);
- template istream& operator>>(istream&, char&);
- template istream& operator>>(istream&, unsigned char&);
- template istream& operator>>(istream&, signed char&);
- template istream& operator>>(istream&, char*);
- template istream& operator>>(istream&, unsigned char*);
- template istream& operator>>(istream&, signed char*);
-
- template istream& operator>>(istream&, _Setfill<char>);
- template istream& operator>>(istream&, _Setiosflags);
- template istream& operator>>(istream&, _Resetiosflags);
- template istream& operator>>(istream&, _Setbase);
- template istream& operator>>(istream&, _Setprecision);
- template istream& operator>>(istream&, _Setw);
-
- template istream& istream::_M_extract(unsigned short&);
- template istream& istream::_M_extract(unsigned int&);
- template istream& istream::_M_extract(long&);
- template istream& istream::_M_extract(unsigned long&);
- template istream& istream::_M_extract(bool&);
-#ifdef _GLIBCXX_USE_LONG_LONG
- template istream& istream::_M_extract(long long&);
- template istream& istream::_M_extract(unsigned long long&);
-#endif
- template istream& istream::_M_extract(float&);
- template istream& istream::_M_extract(double&);
- template istream& istream::_M_extract(long double&);
- template istream& istream::_M_extract(void*&);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template class basic_istream<wchar_t>;
- template wistream& ws(wistream&);
- template wistream& operator>>(wistream&, wchar_t&);
- template wistream& operator>>(wistream&, wchar_t*);
-
- template wistream& operator>>(wistream&, _Setfill<wchar_t>);
- template wistream& operator>>(wistream&, _Setiosflags);
- template wistream& operator>>(wistream&, _Resetiosflags);
- template wistream& operator>>(wistream&, _Setbase);
- template wistream& operator>>(wistream&, _Setprecision);
- template wistream& operator>>(wistream&, _Setw);
-
- template wistream& wistream::_M_extract(unsigned short&);
- template wistream& wistream::_M_extract(unsigned int&);
- template wistream& wistream::_M_extract(long&);
- template wistream& wistream::_M_extract(unsigned long&);
- template wistream& wistream::_M_extract(bool&);
-#ifdef _GLIBCXX_USE_LONG_LONG
- template wistream& wistream::_M_extract(long long&);
- template wistream& wistream::_M_extract(unsigned long long&);
-#endif
- template wistream& wistream::_M_extract(float&);
- template wistream& wistream::_M_extract(double&);
- template wistream& wistream::_M_extract(long double&);
- template wistream& wistream::_M_extract(void*&);
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-// XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
- extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
-_GLIBCXX_LDBL_COMPAT (_ZNSirsERd, _ZNSirsERe);
-_GLIBCXX_LDBL_COMPAT (_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd,
- _ZNSt13basic_istreamIwSt11char_traitsIwEErsERe);
-_GLIBCXX_LDBL_COMPAT (_ZNSi10_M_extractIdEERSiRT_,
- _ZNSi10_M_extractIeEERSiRT_);
-_GLIBCXX_LDBL_COMPAT (_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_,
- _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_);
-
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/contrib/libstdc++/src/istream.cc b/contrib/libstdc++/src/istream.cc
deleted file mode 100644
index 688ad1658355..000000000000
--- a/contrib/libstdc++/src/istream.cc
+++ /dev/null
@@ -1,647 +0,0 @@
-// Input streams -*- C++ -*-
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882: 27.6.1 Input streams
-//
-
-#include <istream>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<>
- basic_istream<char>&
- basic_istream<char>::
- getline(char_type* __s, streamsize __n, char_type __delim)
- {
- _M_gcount = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, true);
- if (__cerb)
- {
- try
- {
- const int_type __idelim = traits_type::to_int_type(__delim);
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- while (_M_gcount + 1 < __n
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __idelim))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - _M_gcount
- - 1));
- if (__size > 1)
- {
- const char_type* __p = traits_type::find(__sb->gptr(),
- __size,
- __delim);
- if (__p)
- __size = __p - __sb->gptr();
- traits_type::copy(__s, __sb->gptr(), __size);
- __s += __size;
- __sb->gbump(__size);
- _M_gcount += __size;
- __c = __sb->sgetc();
- }
- else
- {
- *__s++ = traits_type::to_char_type(__c);
- ++_M_gcount;
- __c = __sb->snextc();
- }
- }
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (traits_type::eq_int_type(__c, __idelim))
- {
- ++_M_gcount;
- __sb->sbumpc();
- }
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- }
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 243. get and getline when sentry reports failure.
- if (__n > 0)
- *__s = char_type();
- if (!_M_gcount)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<>
- basic_istream<char>&
- basic_istream<char>::
- ignore(streamsize __n, int_type __delim)
- {
- if (traits_type::eq_int_type(__delim, traits_type::eof()))
- return ignore(__n);
-
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb && __n > 0)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const char_type __cdelim = traits_type::to_char_type(__delim);
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- bool __large_ignore = false;
- while (true)
- {
- while (_M_gcount < __n
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __delim))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - _M_gcount));
- if (__size > 1)
- {
- const char_type* __p = traits_type::find(__sb->gptr(),
- __size,
- __cdelim);
- if (__p)
- __size = __p - __sb->gptr();
- __sb->gbump(__size);
- _M_gcount += __size;
- __c = __sb->sgetc();
- }
- else
- {
- ++_M_gcount;
- __c = __sb->snextc();
- }
- }
- if (__n == numeric_limits<streamsize>::max()
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __delim))
- {
- _M_gcount = numeric_limits<streamsize>::min();
- __large_ignore = true;
- }
- else
- break;
- }
-
- if (__large_ignore)
- _M_gcount = numeric_limits<streamsize>::max();
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (traits_type::eq_int_type(__c, __delim))
- {
- if (_M_gcount < numeric_limits<streamsize>::max())
- ++_M_gcount;
- __sb->sbumpc();
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<>
- basic_istream<char>&
- operator>>(basic_istream<char>& __in, char* __s)
- {
- typedef basic_istream<char> __istream_type;
- typedef __istream_type::int_type __int_type;
- typedef __istream_type::char_type __char_type;
- typedef __istream_type::traits_type __traits_type;
- typedef __istream_type::__streambuf_type __streambuf_type;
- typedef __istream_type::__ctype_type __ctype_type;
-
- streamsize __extracted = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __istream_type::sentry __cerb(__in, false);
- if (__cerb)
- {
- try
- {
- // Figure out how many characters to extract.
- streamsize __num = __in.width();
- if (__num <= 0)
- __num = numeric_limits<streamsize>::max();
-
- const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
-
- const __int_type __eof = __traits_type::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __num - 1
- && !__traits_type::eq_int_type(__c, __eof)
- && !__ct.is(ctype_base::space,
- __traits_type::to_char_type(__c)))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__num - __extracted
- - 1));
- if (__size > 1)
- {
- __size = (__ct.scan_is(ctype_base::space,
- __sb->gptr() + 1,
- __sb->gptr() + __size)
- - __sb->gptr());
- __traits_type::copy(__s, __sb->gptr(), __size);
- __s += __size;
- __sb->gbump(__size);
- __extracted += __size;
- __c = __sb->sgetc();
- }
- else
- {
- *__s++ = __traits_type::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- }
-
- if (__traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 68. Extractors for char* should store null at end
- *__s = __char_type();
- __in.width(0);
- }
- catch(...)
- { __in._M_setstate(ios_base::badbit); }
- }
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
- template<>
- basic_istream<char>&
- operator>>(basic_istream<char>& __in, basic_string<char>& __str)
- {
- typedef basic_istream<char> __istream_type;
- typedef __istream_type::int_type __int_type;
- typedef __istream_type::char_type __char_type;
- typedef __istream_type::traits_type __traits_type;
- typedef __istream_type::__streambuf_type __streambuf_type;
- typedef __istream_type::__ctype_type __ctype_type;
- typedef basic_string<char> __string_type;
- typedef __string_type::size_type __size_type;
-
- __size_type __extracted = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __istream_type::sentry __cerb(__in, false);
- if (__cerb)
- {
- try
- {
- __str.erase();
- const streamsize __w = __in.width();
- const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
- : __str.max_size();
- const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
- const __int_type __eof = __traits_type::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __n
- && !__traits_type::eq_int_type(__c, __eof)
- && !__ct.is(ctype_base::space,
- __traits_type::to_char_type(__c)))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - __extracted));
- if (__size > 1)
- {
- __size = (__ct.scan_is(ctype_base::space,
- __sb->gptr() + 1,
- __sb->gptr() + __size)
- - __sb->gptr());
- __str.append(__sb->gptr(), __size);
- __sb->gbump(__size);
- __extracted += __size;
- __c = __sb->sgetc();
- }
- else
- {
- __str += __traits_type::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- }
-
- if (__traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- __in.width(0);
- }
- catch(...)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 91. Description of operator>> and getline() for string<>
- // might cause endless loop
- __in._M_setstate(ios_base::badbit);
- }
- }
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
- template<>
- basic_istream<char>&
- getline(basic_istream<char>& __in, basic_string<char>& __str,
- char __delim)
- {
- typedef basic_istream<char> __istream_type;
- typedef __istream_type::int_type __int_type;
- typedef __istream_type::char_type __char_type;
- typedef __istream_type::traits_type __traits_type;
- typedef __istream_type::__streambuf_type __streambuf_type;
- typedef __istream_type::__ctype_type __ctype_type;
- typedef basic_string<char> __string_type;
- typedef __string_type::size_type __size_type;
-
- __size_type __extracted = 0;
- const __size_type __n = __str.max_size();
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __istream_type::sentry __cerb(__in, true);
- if (__cerb)
- {
- try
- {
- __str.erase();
- const __int_type __idelim = __traits_type::to_int_type(__delim);
- const __int_type __eof = __traits_type::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __n
- && !__traits_type::eq_int_type(__c, __eof)
- && !__traits_type::eq_int_type(__c, __idelim))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - __extracted));
- if (__size > 1)
- {
- const __char_type* __p = __traits_type::find(__sb->gptr(),
- __size,
- __delim);
- if (__p)
- __size = __p - __sb->gptr();
- __str.append(__sb->gptr(), __size);
- __sb->gbump(__size);
- __extracted += __size;
- __c = __sb->sgetc();
- }
- else
- {
- __str += __traits_type::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- }
-
- if (__traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (__traits_type::eq_int_type(__c, __idelim))
- {
- ++__extracted;
- __sb->sbumpc();
- }
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 91. Description of operator>> and getline() for string<>
- // might cause endless loop
- __in._M_setstate(ios_base::badbit);
- }
- }
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- basic_istream<wchar_t>&
- basic_istream<wchar_t>::
- getline(char_type* __s, streamsize __n, char_type __delim)
- {
- _M_gcount = 0;
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- sentry __cerb(*this, true);
- if (__cerb)
- {
- try
- {
- const int_type __idelim = traits_type::to_int_type(__delim);
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- while (_M_gcount + 1 < __n
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __idelim))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - _M_gcount
- - 1));
- if (__size > 1)
- {
- const char_type* __p = traits_type::find(__sb->gptr(),
- __size,
- __delim);
- if (__p)
- __size = __p - __sb->gptr();
- traits_type::copy(__s, __sb->gptr(), __size);
- __s += __size;
- __sb->gbump(__size);
- _M_gcount += __size;
- __c = __sb->sgetc();
- }
- else
- {
- *__s++ = traits_type::to_char_type(__c);
- ++_M_gcount;
- __c = __sb->snextc();
- }
- }
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (traits_type::eq_int_type(__c, __idelim))
- {
- ++_M_gcount;
- __sb->sbumpc();
- }
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- }
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 243. get and getline when sentry reports failure.
- if (__n > 0)
- *__s = char_type();
- if (!_M_gcount)
- __err |= ios_base::failbit;
- if (__err)
- this->setstate(__err);
- return *this;
- }
-
- template<>
- basic_istream<wchar_t>&
- basic_istream<wchar_t>::
- ignore(streamsize __n, int_type __delim)
- {
- if (traits_type::eq_int_type(__delim, traits_type::eof()))
- return ignore(__n);
-
- _M_gcount = 0;
- sentry __cerb(*this, true);
- if (__cerb && __n > 0)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const char_type __cdelim = traits_type::to_char_type(__delim);
- const int_type __eof = traits_type::eof();
- __streambuf_type* __sb = this->rdbuf();
- int_type __c = __sb->sgetc();
-
- bool __large_ignore = false;
- while (true)
- {
- while (_M_gcount < __n
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __delim))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - _M_gcount));
- if (__size > 1)
- {
- const char_type* __p = traits_type::find(__sb->gptr(),
- __size,
- __cdelim);
- if (__p)
- __size = __p - __sb->gptr();
- __sb->gbump(__size);
- _M_gcount += __size;
- __c = __sb->sgetc();
- }
- else
- {
- ++_M_gcount;
- __c = __sb->snextc();
- }
- }
- if (__n == numeric_limits<streamsize>::max()
- && !traits_type::eq_int_type(__c, __eof)
- && !traits_type::eq_int_type(__c, __delim))
- {
- _M_gcount = numeric_limits<streamsize>::min();
- __large_ignore = true;
- }
- else
- break;
- }
-
- if (__large_ignore)
- _M_gcount = numeric_limits<streamsize>::max();
-
- if (traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (traits_type::eq_int_type(__c, __delim))
- {
- if (_M_gcount < numeric_limits<streamsize>::max())
- ++_M_gcount;
- __sb->sbumpc();
- }
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<>
- basic_istream<wchar_t>&
- getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
- wchar_t __delim)
- {
- typedef basic_istream<wchar_t> __istream_type;
- typedef __istream_type::int_type __int_type;
- typedef __istream_type::char_type __char_type;
- typedef __istream_type::traits_type __traits_type;
- typedef __istream_type::__streambuf_type __streambuf_type;
- typedef __istream_type::__ctype_type __ctype_type;
- typedef basic_string<wchar_t> __string_type;
- typedef __string_type::size_type __size_type;
-
- __size_type __extracted = 0;
- const __size_type __n = __str.max_size();
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- __istream_type::sentry __cerb(__in, true);
- if (__cerb)
- {
- try
- {
- __str.erase();
- const __int_type __idelim = __traits_type::to_int_type(__delim);
- const __int_type __eof = __traits_type::eof();
- __streambuf_type* __sb = __in.rdbuf();
- __int_type __c = __sb->sgetc();
-
- while (__extracted < __n
- && !__traits_type::eq_int_type(__c, __eof)
- && !__traits_type::eq_int_type(__c, __idelim))
- {
- streamsize __size = std::min(streamsize(__sb->egptr()
- - __sb->gptr()),
- streamsize(__n - __extracted));
- if (__size > 1)
- {
- const __char_type* __p = __traits_type::find(__sb->gptr(),
- __size,
- __delim);
- if (__p)
- __size = __p - __sb->gptr();
- __str.append(__sb->gptr(), __size);
- __sb->gbump(__size);
- __extracted += __size;
- __c = __sb->sgetc();
- }
- else
- {
- __str += __traits_type::to_char_type(__c);
- ++__extracted;
- __c = __sb->snextc();
- }
- }
-
- if (__traits_type::eq_int_type(__c, __eof))
- __err |= ios_base::eofbit;
- else if (__traits_type::eq_int_type(__c, __idelim))
- {
- ++__extracted;
- __sb->sbumpc();
- }
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 91. Description of operator>> and getline() for string<>
- // might cause endless loop
- __in._M_setstate(ios_base::badbit);
- }
- }
- if (!__extracted)
- __err |= ios_base::failbit;
- if (__err)
- __in.setstate(__err);
- return __in;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/limits.cc b/contrib/libstdc++/src/limits.cc
deleted file mode 100644
index 5771bc32a7ca..000000000000
--- a/contrib/libstdc++/src/limits.cc
+++ /dev/null
@@ -1,481 +0,0 @@
-// Static data members of -*- C++ -*- numeric_limits classes
-
-// Copyright (C) 1999, 2001, 2002, 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.
-
-// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
-
-//
-// ISO C++ 14882:1998
-// 18.2.1
-//
-
-#include <limits>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- const bool __numeric_limits_base::is_specialized;
- const int __numeric_limits_base::digits;
- const int __numeric_limits_base::digits10;
- const bool __numeric_limits_base::is_signed;
- const bool __numeric_limits_base::is_integer;
- const bool __numeric_limits_base::is_exact;
- const int __numeric_limits_base::radix;
- const int __numeric_limits_base::min_exponent;
- const int __numeric_limits_base::min_exponent10;
- const int __numeric_limits_base::max_exponent;
- const int __numeric_limits_base::max_exponent10;
- const bool __numeric_limits_base::has_infinity;
- const bool __numeric_limits_base::has_quiet_NaN;
- const bool __numeric_limits_base::has_signaling_NaN;
- const float_denorm_style __numeric_limits_base::has_denorm;
- const bool __numeric_limits_base::has_denorm_loss;
- const bool __numeric_limits_base::is_iec559;
- const bool __numeric_limits_base::is_bounded;
- const bool __numeric_limits_base::is_modulo;
- const bool __numeric_limits_base::traps;
- const bool __numeric_limits_base::tinyness_before;
- const float_round_style __numeric_limits_base::round_style;
-
- // bool
- const bool numeric_limits<bool>::is_specialized;
- const int numeric_limits<bool>::digits;
- const int numeric_limits<bool>::digits10;
- const bool numeric_limits<bool>::is_signed;
- const bool numeric_limits<bool>::is_integer;
- const bool numeric_limits<bool>::is_exact;
- const int numeric_limits<bool>::radix;
- const int numeric_limits<bool>::min_exponent;
- const int numeric_limits<bool>::min_exponent10;
- const int numeric_limits<bool>::max_exponent;
- const int numeric_limits<bool>::max_exponent10;
- const bool numeric_limits<bool>::has_infinity;
- const bool numeric_limits<bool>::has_quiet_NaN;
- const bool numeric_limits<bool>::has_signaling_NaN;
- const float_denorm_style numeric_limits<bool>::has_denorm;
- const bool numeric_limits<bool>::has_denorm_loss;
- const bool numeric_limits<bool>::is_iec559;
- const bool numeric_limits<bool>::is_bounded;
- const bool numeric_limits<bool>::is_modulo;
- const bool numeric_limits<bool>::traps;
- const bool numeric_limits<bool>::tinyness_before;
- const float_round_style numeric_limits<bool>::round_style;
-
- // char
- const bool numeric_limits<char>::is_specialized;
- const int numeric_limits<char>::digits;
- const int numeric_limits<char>::digits10;
- const bool numeric_limits<char>::is_signed;
- const bool numeric_limits<char>::is_integer;
- const bool numeric_limits<char>::is_exact;
- const int numeric_limits<char>::radix;
- const int numeric_limits<char>::min_exponent;
- const int numeric_limits<char>::min_exponent10;
- const int numeric_limits<char>::max_exponent;
- const int numeric_limits<char>::max_exponent10;
- const bool numeric_limits<char>::has_infinity;
- const bool numeric_limits<char>::has_quiet_NaN;
- const bool numeric_limits<char>::has_signaling_NaN;
- const float_denorm_style numeric_limits<char>::has_denorm;
- const bool numeric_limits<char>::has_denorm_loss;
- const bool numeric_limits<char>::is_iec559;
- const bool numeric_limits<char>::is_bounded;
- const bool numeric_limits<char>::is_modulo;
- const bool numeric_limits<char>::traps;
- const bool numeric_limits<char>::tinyness_before;
- const float_round_style numeric_limits<char>::round_style;
-
- // signed char
- const bool numeric_limits<signed char>::is_specialized;
- const int numeric_limits<signed char>::digits;
- const int numeric_limits<signed char>::digits10;
- const bool numeric_limits<signed char>::is_signed;
- const bool numeric_limits<signed char>::is_integer;
- const bool numeric_limits<signed char>::is_exact;
- const int numeric_limits<signed char>::radix;
- const int numeric_limits<signed char>::min_exponent;
- const int numeric_limits<signed char>::min_exponent10;
- const int numeric_limits<signed char>::max_exponent;
- const int numeric_limits<signed char>::max_exponent10;
- const bool numeric_limits<signed char>::has_infinity;
- const bool numeric_limits<signed char>::has_quiet_NaN;
- const bool numeric_limits<signed char>::has_signaling_NaN;
- const float_denorm_style numeric_limits<signed char>::has_denorm;
- const bool numeric_limits<signed char>::has_denorm_loss;
- const bool numeric_limits<signed char>::is_iec559;
- const bool numeric_limits<signed char>::is_bounded;
- const bool numeric_limits<signed char>::is_modulo;
- const bool numeric_limits<signed char>::traps;
- const bool numeric_limits<signed char>::tinyness_before;
- const float_round_style numeric_limits<signed char>::round_style;
-
- // unsigned char
- const bool numeric_limits<unsigned char>::is_specialized;
- const int numeric_limits<unsigned char>::digits;
- const int numeric_limits<unsigned char>::digits10;
- const bool numeric_limits<unsigned char>::is_signed;
- const bool numeric_limits<unsigned char>::is_integer;
- const bool numeric_limits<unsigned char>::is_exact;
- const int numeric_limits<unsigned char>::radix;
- const int numeric_limits<unsigned char>::min_exponent;
- const int numeric_limits<unsigned char>::min_exponent10;
- const int numeric_limits<unsigned char>::max_exponent;
- const int numeric_limits<unsigned char>::max_exponent10;
- const bool numeric_limits<unsigned char>::has_infinity;
- const bool numeric_limits<unsigned char>::has_quiet_NaN;
- const bool numeric_limits<unsigned char>::has_signaling_NaN;
- const float_denorm_style numeric_limits<unsigned char>::has_denorm;
- const bool numeric_limits<unsigned char>::has_denorm_loss;
- const bool numeric_limits<unsigned char>::is_iec559;
- const bool numeric_limits<unsigned char>::is_bounded;
- const bool numeric_limits<unsigned char>::is_modulo;
- const bool numeric_limits<unsigned char>::traps;
- const bool numeric_limits<unsigned char>::tinyness_before;
- const float_round_style numeric_limits<unsigned char>::round_style;
-
- // wchar_t
- // This used to be problematic...
-#ifdef _GLIBCXX_USE_WCHAR_T
- const bool numeric_limits<wchar_t>::is_specialized;
- const int numeric_limits<wchar_t>::digits;
- const int numeric_limits<wchar_t>::digits10;
- const bool numeric_limits<wchar_t>::is_signed;
- const bool numeric_limits<wchar_t>::is_integer;
- const bool numeric_limits<wchar_t>::is_exact;
- const int numeric_limits<wchar_t>::radix;
- const int numeric_limits<wchar_t>::min_exponent;
- const int numeric_limits<wchar_t>::min_exponent10;
- const int numeric_limits<wchar_t>::max_exponent;
- const int numeric_limits<wchar_t>::max_exponent10;
- const bool numeric_limits<wchar_t>::has_infinity;
- const bool numeric_limits<wchar_t>::has_quiet_NaN;
- const bool numeric_limits<wchar_t>::has_signaling_NaN;
- const float_denorm_style numeric_limits<wchar_t>::has_denorm;
- const bool numeric_limits<wchar_t>::has_denorm_loss;
- const bool numeric_limits<wchar_t>::is_iec559;
- const bool numeric_limits<wchar_t>::is_bounded;
- const bool numeric_limits<wchar_t>::is_modulo;
- const bool numeric_limits<wchar_t>::traps;
- const bool numeric_limits<wchar_t>::tinyness_before;
- const float_round_style numeric_limits<wchar_t>::round_style;
-#endif // _GLIBCXX_USE_WCHAR_T
-
- // short
- const bool numeric_limits<short>::is_specialized;
- const int numeric_limits<short>::digits;
- const int numeric_limits<short>::digits10;
- const bool numeric_limits<short>::is_signed;
- const bool numeric_limits<short>::is_integer;
- const bool numeric_limits<short>::is_exact;
- const int numeric_limits<short>::radix;
- const int numeric_limits<short>::min_exponent;
- const int numeric_limits<short>::min_exponent10;
- const int numeric_limits<short>::max_exponent;
- const int numeric_limits<short>::max_exponent10;
- const bool numeric_limits<short>::has_infinity;
- const bool numeric_limits<short>::has_quiet_NaN;
- const bool numeric_limits<short>::has_signaling_NaN;
- const float_denorm_style numeric_limits<short>::has_denorm;
- const bool numeric_limits<short>::has_denorm_loss;
- const bool numeric_limits<short>::is_iec559;
- const bool numeric_limits<short>::is_bounded;
- const bool numeric_limits<short>::is_modulo;
- const bool numeric_limits<short>::traps;
- const bool numeric_limits<short>::tinyness_before;
- const float_round_style numeric_limits<short>::round_style;
-
- // unsigned short
- const bool numeric_limits<unsigned short>::is_specialized;
- const int numeric_limits<unsigned short>::digits;
- const int numeric_limits<unsigned short>::digits10;
- const bool numeric_limits<unsigned short>::is_signed;
- const bool numeric_limits<unsigned short>::is_integer;
- const bool numeric_limits<unsigned short>::is_exact;
- const int numeric_limits<unsigned short>::radix;
- const int numeric_limits<unsigned short>::min_exponent;
- const int numeric_limits<unsigned short>::min_exponent10;
- const int numeric_limits<unsigned short>::max_exponent;
- const int numeric_limits<unsigned short>::max_exponent10;
- const bool numeric_limits<unsigned short>::has_infinity;
- const bool numeric_limits<unsigned short>::has_quiet_NaN;
- const bool numeric_limits<unsigned short>::has_signaling_NaN;
- const float_denorm_style numeric_limits<unsigned short>::has_denorm;
- const bool numeric_limits<unsigned short>::has_denorm_loss;
- const bool numeric_limits<unsigned short>::is_iec559;
- const bool numeric_limits<unsigned short>::is_bounded;
- const bool numeric_limits<unsigned short>::is_modulo;
- const bool numeric_limits<unsigned short>::traps;
- const bool numeric_limits<unsigned short>::tinyness_before;
- const float_round_style numeric_limits<unsigned short>::round_style;
-
- // int
- const bool numeric_limits<int>::is_specialized;
- const int numeric_limits<int>::digits;
- const int numeric_limits<int>::digits10;
- const bool numeric_limits<int>::is_signed;
- const bool numeric_limits<int>::is_integer;
- const bool numeric_limits<int>::is_exact;
- const int numeric_limits<int>::radix;
- const int numeric_limits<int>::min_exponent;
- const int numeric_limits<int>::min_exponent10;
- const int numeric_limits<int>::max_exponent;
- const int numeric_limits<int>::max_exponent10;
- const bool numeric_limits<int>::has_infinity;
- const bool numeric_limits<int>::has_quiet_NaN;
- const bool numeric_limits<int>::has_signaling_NaN;
- const float_denorm_style numeric_limits<int>::has_denorm;
- const bool numeric_limits<int>::has_denorm_loss;
- const bool numeric_limits<int>::is_iec559;
- const bool numeric_limits<int>::is_bounded;
- const bool numeric_limits<int>::is_modulo;
- const bool numeric_limits<int>::traps;
- const bool numeric_limits<int>::tinyness_before;
- const float_round_style numeric_limits<int>::round_style;
-
- // unsigned int
- const bool numeric_limits<unsigned int>::is_specialized;
- const int numeric_limits<unsigned int>::digits;
- const int numeric_limits<unsigned int>::digits10;
- const bool numeric_limits<unsigned int>::is_signed;
- const bool numeric_limits<unsigned int>::is_integer;
- const bool numeric_limits<unsigned int>::is_exact;
- const int numeric_limits<unsigned int>::radix;
- const int numeric_limits<unsigned int>::min_exponent;
- const int numeric_limits<unsigned int>::min_exponent10;
- const int numeric_limits<unsigned int>::max_exponent;
- const int numeric_limits<unsigned int>::max_exponent10;
- const bool numeric_limits<unsigned int>::has_infinity;
- const bool numeric_limits<unsigned int>::has_quiet_NaN;
- const bool numeric_limits<unsigned int>::has_signaling_NaN;
- const float_denorm_style numeric_limits<unsigned int>::has_denorm;
- const bool numeric_limits<unsigned int>::has_denorm_loss;
- const bool numeric_limits<unsigned int>::is_iec559;
- const bool numeric_limits<unsigned int>::is_bounded;
- const bool numeric_limits<unsigned int>::is_modulo;
- const bool numeric_limits<unsigned int>::traps;
- const bool numeric_limits<unsigned int>::tinyness_before;
- const float_round_style numeric_limits<unsigned int>::round_style;
-
- // long
- const bool numeric_limits<long>::is_specialized;
- const int numeric_limits<long>::digits;
- const int numeric_limits<long>::digits10;
- const bool numeric_limits<long>::is_signed;
- const bool numeric_limits<long>::is_integer;
- const bool numeric_limits<long>::is_exact;
- const int numeric_limits<long>::radix;
- const int numeric_limits<long>::min_exponent;
- const int numeric_limits<long>::min_exponent10;
- const int numeric_limits<long>::max_exponent;
- const int numeric_limits<long>::max_exponent10;
- const bool numeric_limits<long>::has_infinity;
- const bool numeric_limits<long>::has_quiet_NaN;
- const bool numeric_limits<long>::has_signaling_NaN;
- const float_denorm_style numeric_limits<long>::has_denorm;
- const bool numeric_limits<long>::has_denorm_loss;
- const bool numeric_limits<long>::is_iec559;
- const bool numeric_limits<long>::is_bounded;
- const bool numeric_limits<long>::is_modulo;
- const bool numeric_limits<long>::traps;
- const bool numeric_limits<long>::tinyness_before;
- const float_round_style numeric_limits<long>::round_style;
-
- // unsigned long
- const bool numeric_limits<unsigned long>::is_specialized;
- const int numeric_limits<unsigned long>::digits;
- const int numeric_limits<unsigned long>::digits10;
- const bool numeric_limits<unsigned long>::is_signed;
- const bool numeric_limits<unsigned long>::is_integer;
- const bool numeric_limits<unsigned long>::is_exact;
- const int numeric_limits<unsigned long>::radix;
- const int numeric_limits<unsigned long>::min_exponent;
- const int numeric_limits<unsigned long>::min_exponent10;
- const int numeric_limits<unsigned long>::max_exponent;
- const int numeric_limits<unsigned long>::max_exponent10;
- const bool numeric_limits<unsigned long>::has_infinity;
- const bool numeric_limits<unsigned long>::has_quiet_NaN;
- const bool numeric_limits<unsigned long>::has_signaling_NaN;
- const float_denorm_style numeric_limits<unsigned long>::has_denorm;
- const bool numeric_limits<unsigned long>::has_denorm_loss;
- const bool numeric_limits<unsigned long>::is_iec559;
- const bool numeric_limits<unsigned long>::is_bounded;
- const bool numeric_limits<unsigned long>::is_modulo;
- const bool numeric_limits<unsigned long>::traps;
- const bool numeric_limits<unsigned long>::tinyness_before;
- const float_round_style numeric_limits<unsigned long>::round_style;
-
- // NOTA BENE: long long is an extension
- const bool numeric_limits<long long>::is_specialized;
- const int numeric_limits<long long>::digits;
- const int numeric_limits<long long>::digits10;
- const bool numeric_limits<long long>::is_signed;
- const bool numeric_limits<long long>::is_integer;
- const bool numeric_limits<long long>::is_exact;
- const int numeric_limits<long long>::radix;
- const int numeric_limits<long long>::min_exponent;
- const int numeric_limits<long long>::min_exponent10;
- const int numeric_limits<long long>::max_exponent;
- const int numeric_limits<long long>::max_exponent10;
- const bool numeric_limits<long long>::has_infinity;
- const bool numeric_limits<long long>::has_quiet_NaN;
- const bool numeric_limits<long long>::has_signaling_NaN;
- const float_denorm_style numeric_limits<long long>::has_denorm;
- const bool numeric_limits<long long>::has_denorm_loss;
- const bool numeric_limits<long long>::is_iec559;
- const bool numeric_limits<long long>::is_bounded;
- const bool numeric_limits<long long>::is_modulo;
- const bool numeric_limits<long long>::traps;
- const bool numeric_limits<long long>::tinyness_before;
- const float_round_style numeric_limits<long long>::round_style;
-
- const bool numeric_limits<unsigned long long>::is_specialized;
- const int numeric_limits<unsigned long long>::digits;
- const int numeric_limits<unsigned long long>::digits10;
- const bool numeric_limits<unsigned long long>::is_signed;
- const bool numeric_limits<unsigned long long>::is_integer;
- const bool numeric_limits<unsigned long long>::is_exact;
- const int numeric_limits<unsigned long long>::radix;
- const int numeric_limits<unsigned long long>::min_exponent;
- const int numeric_limits<unsigned long long>::min_exponent10;
- const int numeric_limits<unsigned long long>::max_exponent;
- const int numeric_limits<unsigned long long>::max_exponent10;
- const bool numeric_limits<unsigned long long>::has_infinity;
- const bool numeric_limits<unsigned long long>::has_quiet_NaN;
- const bool numeric_limits<unsigned long long>::has_signaling_NaN;
- const float_denorm_style numeric_limits<unsigned long long>::has_denorm;
- const bool numeric_limits<unsigned long long>::has_denorm_loss;
- const bool numeric_limits<unsigned long long>::is_iec559;
- const bool numeric_limits<unsigned long long>::is_bounded;
- const bool numeric_limits<unsigned long long>::is_modulo;
- const bool numeric_limits<unsigned long long>::traps;
- const bool numeric_limits<unsigned long long>::tinyness_before;
- const float_round_style numeric_limits<unsigned long long>::round_style;
-
- // float
- const bool numeric_limits<float>::is_specialized;
- const int numeric_limits<float>::digits;
- const int numeric_limits<float>::digits10;
- const bool numeric_limits<float>::is_signed;
- const bool numeric_limits<float>::is_integer;
- const bool numeric_limits<float>::is_exact;
- const int numeric_limits<float>::radix;
- const int numeric_limits<float>::min_exponent;
- const int numeric_limits<float>::min_exponent10;
- const int numeric_limits<float>::max_exponent;
- const int numeric_limits<float>::max_exponent10;
- const bool numeric_limits<float>::has_infinity;
- const bool numeric_limits<float>::has_quiet_NaN;
- const bool numeric_limits<float>::has_signaling_NaN;
- const float_denorm_style numeric_limits<float>::has_denorm;
- const bool numeric_limits<float>::has_denorm_loss;
- const bool numeric_limits<float>::is_iec559;
- const bool numeric_limits<float>::is_bounded;
- const bool numeric_limits<float>::is_modulo;
- const bool numeric_limits<float>::traps;
- const bool numeric_limits<float>::tinyness_before;
- const float_round_style numeric_limits<float>::round_style;
-
- // double
- const bool numeric_limits<double>::is_specialized;
- const int numeric_limits<double>::digits;
- const int numeric_limits<double>::digits10;
- const bool numeric_limits<double>::is_signed;
- const bool numeric_limits<double>::is_integer;
- const bool numeric_limits<double>::is_exact;
- const int numeric_limits<double>::radix;
- const int numeric_limits<double>::min_exponent;
- const int numeric_limits<double>::min_exponent10;
- const int numeric_limits<double>::max_exponent;
- const int numeric_limits<double>::max_exponent10;
- const bool numeric_limits<double>::has_infinity;
- const bool numeric_limits<double>::has_quiet_NaN;
- const bool numeric_limits<double>::has_signaling_NaN;
- const float_denorm_style numeric_limits<double>::has_denorm;
- const bool numeric_limits<double>::has_denorm_loss;
- const bool numeric_limits<double>::is_iec559;
- const bool numeric_limits<double>::is_bounded;
- const bool numeric_limits<double>::is_modulo;
- const bool numeric_limits<double>::traps;
- const bool numeric_limits<double>::tinyness_before;
- const float_round_style numeric_limits<double>::round_style;
-
- // long double
- const bool numeric_limits<long double>::is_specialized;
- const int numeric_limits<long double>::digits;
- const int numeric_limits<long double>::digits10;
- const bool numeric_limits<long double>::is_signed;
- const bool numeric_limits<long double>::is_integer;
- const bool numeric_limits<long double>::is_exact;
- const int numeric_limits<long double>::radix;
- const int numeric_limits<long double>::min_exponent;
- const int numeric_limits<long double>::min_exponent10;
- const int numeric_limits<long double>::max_exponent;
- const int numeric_limits<long double>::max_exponent10;
- const bool numeric_limits<long double>::has_infinity;
- const bool numeric_limits<long double>::has_quiet_NaN;
- const bool numeric_limits<long double>::has_signaling_NaN;
- const float_denorm_style numeric_limits<long double>::has_denorm;
- const bool numeric_limits<long double>::has_denorm_loss;
- const bool numeric_limits<long double>::is_iec559;
- const bool numeric_limits<long double>::is_bounded;
- const bool numeric_limits<long double>::is_modulo;
- const bool numeric_limits<long double>::traps;
- const bool numeric_limits<long double>::tinyness_before;
- const float_round_style numeric_limits<long double>::round_style;
-
-_GLIBCXX_END_NAMESPACE
-
-// XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-#define _GLIBCXX_NUM_LIM_COMPAT(type, member, len) \
- extern "C" type _ZNSt14numeric_limitsIeE ## len ## member ## E \
- __attribute__ ((alias ("_ZNSt14numeric_limitsIdE" #len #member "E")))
-_GLIBCXX_NUM_LIM_COMPAT (bool, is_specialized, 14);
-_GLIBCXX_NUM_LIM_COMPAT (int, digits, 6);
-_GLIBCXX_NUM_LIM_COMPAT (int, digits10, 8);
-_GLIBCXX_NUM_LIM_COMPAT (bool, is_signed, 9);
-_GLIBCXX_NUM_LIM_COMPAT (bool, is_integer, 10);
-_GLIBCXX_NUM_LIM_COMPAT (bool, is_exact, 8);
-_GLIBCXX_NUM_LIM_COMPAT (int, radix, 5);
-_GLIBCXX_NUM_LIM_COMPAT (int, min_exponent, 12);
-_GLIBCXX_NUM_LIM_COMPAT (int, min_exponent10, 14);
-_GLIBCXX_NUM_LIM_COMPAT (int, max_exponent, 12);
-_GLIBCXX_NUM_LIM_COMPAT (int, max_exponent10, 14);
-_GLIBCXX_NUM_LIM_COMPAT (bool, has_infinity, 12);
-_GLIBCXX_NUM_LIM_COMPAT (bool, has_quiet_NaN, 13);
-_GLIBCXX_NUM_LIM_COMPAT (bool, has_signaling_NaN, 17);
-_GLIBCXX_NUM_LIM_COMPAT (std::float_denorm_style, has_denorm, 10);
-_GLIBCXX_NUM_LIM_COMPAT (bool, has_denorm_loss, 15);
-_GLIBCXX_NUM_LIM_COMPAT (bool, is_iec559, 9);
-_GLIBCXX_NUM_LIM_COMPAT (bool, is_bounded, 10);
-_GLIBCXX_NUM_LIM_COMPAT (bool, is_modulo, 9);
-_GLIBCXX_NUM_LIM_COMPAT (bool, traps, 5);
-_GLIBCXX_NUM_LIM_COMPAT (bool, tinyness_before, 15);
-_GLIBCXX_NUM_LIM_COMPAT (std::float_round_style, round_style, 11);
-
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/contrib/libstdc++/src/list.cc b/contrib/libstdc++/src/list.cc
deleted file mode 100644
index fe68ba1d7a46..000000000000
--- a/contrib/libstdc++/src/list.cc
+++ /dev/null
@@ -1,141 +0,0 @@
-// std::list utilities implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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.
-
-/*
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-#include <list>
-
-_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
-
- void
- _List_node_base::swap(_List_node_base& __x, _List_node_base& __y)
- {
- if ( __x._M_next != &__x )
- {
- if ( __y._M_next != &__y )
- {
- // Both __x and __y are not empty.
- std::swap(__x._M_next,__y._M_next);
- std::swap(__x._M_prev,__y._M_prev);
- __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
- __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
- }
- else
- {
- // __x is not empty, __y is empty.
- __y._M_next = __x._M_next;
- __y._M_prev = __x._M_prev;
- __y._M_next->_M_prev = __y._M_prev->_M_next = &__y;
- __x._M_next = __x._M_prev = &__x;
- }
- }
- else if ( __y._M_next != &__y )
- {
- // __x is empty, __y is not empty.
- __x._M_next = __y._M_next;
- __x._M_prev = __y._M_prev;
- __x._M_next->_M_prev = __x._M_prev->_M_next = &__x;
- __y._M_next = __y._M_prev = &__y;
- }
- }
-
- void
- _List_node_base::transfer(_List_node_base * const __first,
- _List_node_base * const __last)
- {
- if (this != __last)
- {
- // Remove [first, last) from its old position.
- __last->_M_prev->_M_next = this;
- __first->_M_prev->_M_next = __last;
- this->_M_prev->_M_next = __first;
-
- // Splice [first, last) into its new position.
- _List_node_base* const __tmp = this->_M_prev;
- this->_M_prev = __last->_M_prev;
- __last->_M_prev = __first->_M_prev;
- __first->_M_prev = __tmp;
- }
- }
-
- void
- _List_node_base::reverse()
- {
- _List_node_base* __tmp = this;
- do
- {
- std::swap(__tmp->_M_next, __tmp->_M_prev);
- __tmp = __tmp->_M_prev; // Old next node is now prev.
- }
- while (__tmp != this);
- }
-
- void
- _List_node_base::hook(_List_node_base* const __position)
- {
- this->_M_next = __position;
- this->_M_prev = __position->_M_prev;
- __position->_M_prev->_M_next = this;
- __position->_M_prev = this;
- }
-
- void
- _List_node_base::unhook()
- {
- _List_node_base* const __next_node = this->_M_next;
- _List_node_base* const __prev_node = this->_M_prev;
- __prev_node->_M_next = __next_node;
- __next_node->_M_prev = __prev_node;
- }
-
-_GLIBCXX_END_NESTED_NAMESPACE
diff --git a/contrib/libstdc++/src/locale-inst.cc b/contrib/libstdc++/src/locale-inst.cc
deleted file mode 100644
index c6ab9a46b5a1..000000000000
--- a/contrib/libstdc++/src/locale-inst.cc
+++ /dev/null
@@ -1,363 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-#include <locale>
-
-// Instantiation configuration.
-#ifndef C
-# define C char
-# define C_is_char
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // moneypunct, money_get, and money_put
- template class moneypunct<C, false>;
- template class moneypunct<C, true>;
- template struct __moneypunct_cache<C, false>;
- template struct __moneypunct_cache<C, true>;
- template class moneypunct_byname<C, false>;
- template class moneypunct_byname<C, true>;
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
- template class money_get<C, istreambuf_iterator<C> >;
- template class money_put<C, ostreambuf_iterator<C> >;
- template
- istreambuf_iterator<C>
- money_get<C, istreambuf_iterator<C> >::
- _M_extract<true>(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&, string&) const;
-
- template
- istreambuf_iterator<C>
- money_get<C, istreambuf_iterator<C> >::
- _M_extract<false>(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&, string&) const;
-
- template
- ostreambuf_iterator<C>
- money_put<C, ostreambuf_iterator<C> >::
- _M_insert<true>(ostreambuf_iterator<C>, ios_base&, C,
- const string_type&) const;
-
- template
- ostreambuf_iterator<C>
- money_put<C, ostreambuf_iterator<C> >::
- _M_insert<false>(ostreambuf_iterator<C>, ios_base&, C,
- const string_type&) const;
-_GLIBCXX_END_LDBL_NAMESPACE
-
- // numpunct, numpunct_byname, num_get, and num_put
- template class numpunct<C>;
- template struct __numpunct_cache<C>;
- template class numpunct_byname<C>;
-_GLIBCXX_BEGIN_LDBL_NAMESPACE
- template class num_get<C, istreambuf_iterator<C> >;
- template class num_put<C, ostreambuf_iterator<C> >;
- template
- istreambuf_iterator<C>
- num_get<C, istreambuf_iterator<C> >::
- _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&,
- long&) const;
-
- template
- istreambuf_iterator<C>
- num_get<C, istreambuf_iterator<C> >::
- _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&,
- unsigned short&) const;
-
- template
- istreambuf_iterator<C>
- num_get<C, istreambuf_iterator<C> >::
- _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&,
- unsigned int&) const;
-
- template
- istreambuf_iterator<C>
- num_get<C, istreambuf_iterator<C> >::
- _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&,
- unsigned long&) const;
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- template
- istreambuf_iterator<C>
- num_get<C, istreambuf_iterator<C> >::
- _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&,
- long long&) const;
-
- template
- istreambuf_iterator<C>
- num_get<C, istreambuf_iterator<C> >::
- _M_extract_int(istreambuf_iterator<C>, istreambuf_iterator<C>,
- ios_base&, ios_base::iostate&,
- unsigned long long&) const;
-#endif
-
- template
- ostreambuf_iterator<C>
- num_put<C, ostreambuf_iterator<C> >::
- _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
- long) const;
-
- template
- ostreambuf_iterator<C>
- num_put<C, ostreambuf_iterator<C> >::
- _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
- unsigned long) const;
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- template
- ostreambuf_iterator<C>
- num_put<C, ostreambuf_iterator<C> >::
- _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
- long long) const;
-
- template
- ostreambuf_iterator<C>
- num_put<C, ostreambuf_iterator<C> >::
- _M_insert_int(ostreambuf_iterator<C>, ios_base&, C,
- unsigned long long) const;
-#endif
-
- template
- ostreambuf_iterator<C>
- num_put<C, ostreambuf_iterator<C> >::
- _M_insert_float(ostreambuf_iterator<C>, ios_base&, C, char,
- double) const;
-
- template
- ostreambuf_iterator<C>
- num_put<C, ostreambuf_iterator<C> >::
- _M_insert_float(ostreambuf_iterator<C>, ios_base&, C, char,
- long double) const;
-_GLIBCXX_END_LDBL_NAMESPACE
-
- // time_get and time_put
- template class __timepunct<C>;
- template struct __timepunct_cache<C>;
- template class time_put<C, ostreambuf_iterator<C> >;
- template class time_put_byname<C, ostreambuf_iterator<C> >;
- template class time_get<C, istreambuf_iterator<C> >;
- template class time_get_byname<C, istreambuf_iterator<C> >;
-
- // messages
- template class messages<C>;
- template class messages_byname<C>;
-
- // ctype
- template class __ctype_abstract_base<C>;
- template class ctype_byname<C>;
-
- // codecvt
- template class __codecvt_abstract_base<C, char, mbstate_t>;
- template class codecvt_byname<C, char, mbstate_t>;
-
- // collate
- template class collate<C>;
- template class collate_byname<C>;
-
- // use_facet
- // NB: use_facet<ctype> is specialized
- template
- const codecvt<C, char, mbstate_t>&
- use_facet<codecvt<C, char, mbstate_t> >(const locale&);
-
- template
- const collate<C>&
- use_facet<collate<C> >(const locale&);
-
- template
- const numpunct<C>&
- use_facet<numpunct<C> >(const locale&);
-
- template
- const num_put<C>&
- use_facet<num_put<C> >(const locale&);
-
- template
- const num_get<C>&
- use_facet<num_get<C> >(const locale&);
-
- template
- const moneypunct<C, true>&
- use_facet<moneypunct<C, true> >(const locale&);
-
- template
- const moneypunct<C, false>&
- use_facet<moneypunct<C, false> >(const locale&);
-
- template
- const money_put<C>&
- use_facet<money_put<C> >(const locale&);
-
- template
- const money_get<C>&
- use_facet<money_get<C> >(const locale&);
-
- template
- const __timepunct<C>&
- use_facet<__timepunct<C> >(const locale&);
-
- template
- const time_put<C>&
- use_facet<time_put<C> >(const locale&);
-
- template
- const time_get<C>&
- use_facet<time_get<C> >(const locale&);
-
- template
- const messages<C>&
- use_facet<messages<C> >(const locale&);
-
- // has_facet
- template
- bool
- has_facet<ctype<C> >(const locale&);
-
- template
- bool
- has_facet<codecvt<C, char, mbstate_t> >(const locale&);
-
- template
- bool
- has_facet<collate<C> >(const locale&);
-
- template
- bool
- has_facet<numpunct<C> >(const locale&);
-
- template
- bool
- has_facet<num_put<C> >(const locale&);
-
- template
- bool
- has_facet<num_get<C> >(const locale&);
-
- template
- bool
- has_facet<moneypunct<C> >(const locale&);
-
- template
- bool
- has_facet<money_put<C> >(const locale&);
-
- template
- bool
- has_facet<money_get<C> >(const locale&);
-
- template
- bool
- has_facet<__timepunct<C> >(const locale&);
-
- template
- bool
- has_facet<time_put<C> >(const locale&);
-
- template
- bool
- has_facet<time_get<C> >(const locale&);
-
- template
- bool
- has_facet<messages<C> >(const locale&);
-
-
- // locale functions.
- template
- C*
- __add_grouping<C>(C*, C, char const*, size_t,
- C const*, C const*);
-
- template class __pad<C, char_traits<C> >;
-
- template
- int
- __int_to_char(C*, unsigned long, const C*,
- ios_base::fmtflags, bool);
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- template
- int
- __int_to_char(C*, unsigned long long, const C*,
- ios_base::fmtflags, bool);
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-// XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined C_is_char
-
-#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
- extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
-
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_,
- _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_,
- _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_,
- _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_,
- _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_,
- _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_,
- _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs,
- _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs,
- _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs,
- _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs,
- _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs);
-
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/contrib/libstdc++/src/locale.cc b/contrib/libstdc++/src/locale.cc
deleted file mode 100644
index a7609948a817..000000000000
--- a/contrib/libstdc++/src/locale.cc
+++ /dev/null
@@ -1,440 +0,0 @@
-// 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.
-
-#include <clocale>
-#include <cstring>
-#include <cstdlib> // For getenv
-#include <cctype>
-#include <cwctype> // For towupper, etc.
-#include <locale>
-#include <ext/concurrence.h>
-
-namespace
-{
- __gnu_cxx::__mutex locale_cache_mutex;
-} // anonymous namespace
-
-// XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-# define _GLIBCXX_LOC_ID(mangled) extern std::locale::id mangled
-_GLIBCXX_LOC_ID (_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
-_GLIBCXX_LOC_ID (_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
-_GLIBCXX_LOC_ID (_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
-_GLIBCXX_LOC_ID (_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
-# ifdef _GLIBCXX_USE_WCHAR_T
-_GLIBCXX_LOC_ID (_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE);
-_GLIBCXX_LOC_ID (_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE);
-_GLIBCXX_LOC_ID (_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE);
-_GLIBCXX_LOC_ID (_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE);
-# endif
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Definitions for static const data members of locale.
- const locale::category locale::none;
- const locale::category locale::ctype;
- const locale::category locale::numeric;
- const locale::category locale::collate;
- const locale::category locale::time;
- const locale::category locale::monetary;
- const locale::category locale::messages;
- const locale::category locale::all;
-
- // These are no longer exported.
- locale::_Impl* locale::_S_classic;
- locale::_Impl* locale::_S_global;
-
-#ifdef __GTHREADS
- __gthread_once_t locale::_S_once = __GTHREAD_ONCE_INIT;
-#endif
-
- locale::locale(const locale& __other) throw()
- : _M_impl(__other._M_impl)
- { _M_impl->_M_add_reference(); }
-
- // This is used to initialize global and classic locales, and
- // assumes that the _Impl objects are constructed correctly.
- // The lack of a reference increment is intentional.
- locale::locale(_Impl* __ip) throw() : _M_impl(__ip)
- { }
-
- locale::~locale() throw()
- { _M_impl->_M_remove_reference(); }
-
- bool
- locale::operator==(const locale& __rhs) const throw()
- {
- // Deal first with the common cases, fast to process: refcopies,
- // unnamed (i.e., !_M_names[0]), "simple" (!_M_names[1] => all the
- // categories same name, i.e., _M_names[0]). Otherwise fall back
- // to the general locale::name().
- bool __ret;
- if (_M_impl == __rhs._M_impl)
- __ret = true;
- else if (!_M_impl->_M_names[0] || !__rhs._M_impl->_M_names[0]
- || std::strcmp(_M_impl->_M_names[0],
- __rhs._M_impl->_M_names[0]) != 0)
- __ret = false;
- else if (!_M_impl->_M_names[1] && !__rhs._M_impl->_M_names[1])
- __ret = true;
- else
- __ret = this->name() == __rhs.name();
- return __ret;
- }
-
- const locale&
- locale::operator=(const locale& __other) throw()
- {
- __other._M_impl->_M_add_reference();
- _M_impl->_M_remove_reference();
- _M_impl = __other._M_impl;
- return *this;
- }
-
- string
- locale::name() const
- {
- string __ret;
- if (!_M_impl->_M_names[0])
- __ret = '*';
- else if (_M_impl->_M_check_same_name())
- __ret = _M_impl->_M_names[0];
- else
- {
- __ret.reserve(128);
- __ret += _S_categories[0];
- __ret += '=';
- __ret += _M_impl->_M_names[0];
- for (size_t __i = 1; __i < _S_categories_size; ++__i)
- {
- __ret += ';';
- __ret += _S_categories[__i];
- __ret += '=';
- __ret += _M_impl->_M_names[__i];
- }
- }
- return __ret;
- }
-
- locale::category
- locale::_S_normalize_category(category __cat)
- {
- int __ret = 0;
- if (__cat == none || ((__cat & all) && !(__cat & ~all)))
- __ret = __cat;
- else
- {
- // NB: May be a C-style "LC_ALL" category; convert.
- switch (__cat)
- {
- case LC_COLLATE:
- __ret = collate;
- break;
- case LC_CTYPE:
- __ret = ctype;
- break;
- case LC_MONETARY:
- __ret = monetary;
- break;
- case LC_NUMERIC:
- __ret = numeric;
- break;
- case LC_TIME:
- __ret = time;
- break;
-#ifdef _GLIBCXX_HAVE_LC_MESSAGES
- case LC_MESSAGES:
- __ret = messages;
- break;
-#endif
- case LC_ALL:
- __ret = all;
- break;
- default:
- __throw_runtime_error(__N("locale::_S_normalize_category "
- "category not found"));
- }
- }
- return __ret;
- }
-
- // locale::facet
- __c_locale locale::facet::_S_c_locale;
-
- const char locale::facet::_S_c_name[2] = "C";
-
-#ifdef __GTHREADS
- __gthread_once_t locale::facet::_S_once = __GTHREAD_ONCE_INIT;
-#endif
-
- void
- locale::facet::_S_initialize_once()
- {
- // Initialize the underlying locale model.
- _S_create_c_locale(_S_c_locale, _S_c_name);
- }
-
- __c_locale
- locale::facet::_S_get_c_locale()
- {
-#ifdef __GHTREADS
- if (__gthread_active_p())
- __gthread_once(&_S_once, _S_initialize_once);
- else
-#endif
- {
- if (!_S_c_locale)
- _S_initialize_once();
- }
- return _S_c_locale;
- }
-
- const char*
- locale::facet::_S_get_c_name()
- { return _S_c_name; }
-
- locale::facet::
- ~facet() { }
-
- // locale::_Impl
- locale::_Impl::
- ~_Impl() throw()
- {
- if (_M_facets)
- for (size_t __i = 0; __i < _M_facets_size; ++__i)
- if (_M_facets[__i])
- _M_facets[__i]->_M_remove_reference();
- delete [] _M_facets;
-
- if (_M_caches)
- for (size_t __i = 0; __i < _M_facets_size; ++__i)
- if (_M_caches[__i])
- _M_caches[__i]->_M_remove_reference();
- delete [] _M_caches;
-
- if (_M_names)
- for (size_t __i = 0; __i < _S_categories_size; ++__i)
- delete [] _M_names[__i];
- delete [] _M_names;
- }
-
- // Clone existing _Impl object.
- locale::_Impl::
- _Impl(const _Impl& __imp, size_t __refs)
- : _M_refcount(__refs), _M_facets(0), _M_facets_size(__imp._M_facets_size),
- _M_caches(0), _M_names(0)
- {
- try
- {
- _M_facets = new const facet*[_M_facets_size];
- for (size_t __i = 0; __i < _M_facets_size; ++__i)
- {
- _M_facets[__i] = __imp._M_facets[__i];
- if (_M_facets[__i])
- _M_facets[__i]->_M_add_reference();
- }
- _M_caches = new const facet*[_M_facets_size];
- for (size_t __j = 0; __j < _M_facets_size; ++__j)
- {
- _M_caches[__j] = __imp._M_caches[__j];
- if (_M_caches[__j])
- _M_caches[__j]->_M_add_reference();
- }
- _M_names = new char*[_S_categories_size];
- for (size_t __k = 0; __k < _S_categories_size; ++__k)
- _M_names[__k] = 0;
-
- // Name the categories.
- for (size_t __l = 0; (__l < _S_categories_size
- && __imp._M_names[__l]); ++__l)
- {
- const size_t __len = std::strlen(__imp._M_names[__l]) + 1;
- _M_names[__l] = new char[__len];
- std::memcpy(_M_names[__l], __imp._M_names[__l], __len);
- }
- }
- catch(...)
- {
- this->~_Impl();
- __throw_exception_again;
- }
- }
-
- void
- locale::_Impl::
- _M_replace_category(const _Impl* __imp,
- const locale::id* const* __idpp)
- {
- for (; *__idpp; ++__idpp)
- _M_replace_facet(__imp, *__idpp);
- }
-
- void
- locale::_Impl::
- _M_replace_facet(const _Impl* __imp, const locale::id* __idp)
- {
- size_t __index = __idp->_M_id();
- if ((__index > (__imp->_M_facets_size - 1))
- || !__imp->_M_facets[__index])
- __throw_runtime_error(__N("locale::_Impl::_M_replace_facet"));
- _M_install_facet(__idp, __imp->_M_facets[__index]);
- }
-
- void
- locale::_Impl::
- _M_install_facet(const locale::id* __idp, const facet* __fp)
- {
- if (__fp)
- {
- size_t __index = __idp->_M_id();
-
- // Check size of facet vector to ensure adequate room.
- if (__index > _M_facets_size - 1)
- {
- const size_t __new_size = __index + 4;
-
- // New facet array.
- const facet** __oldf = _M_facets;
- const facet** __newf;
- __newf = new const facet*[__new_size];
- for (size_t __i = 0; __i < _M_facets_size; ++__i)
- __newf[__i] = _M_facets[__i];
- for (size_t __l = _M_facets_size; __l < __new_size; ++__l)
- __newf[__l] = 0;
-
- // New cache array.
- const facet** __oldc = _M_caches;
- const facet** __newc;
- try
- {
- __newc = new const facet*[__new_size];
- }
- catch(...)
- {
- delete [] __newf;
- __throw_exception_again;
- }
- for (size_t __j = 0; __j < _M_facets_size; ++__j)
- __newc[__j] = _M_caches[__j];
- for (size_t __k = _M_facets_size; __k < __new_size; ++__k)
- __newc[__k] = 0;
-
- _M_facets_size = __new_size;
- _M_facets = __newf;
- _M_caches = __newc;
- delete [] __oldf;
- delete [] __oldc;
- }
-
- __fp->_M_add_reference();
- const facet*& __fpr = _M_facets[__index];
- if (__fpr)
- {
- // Replacing an existing facet. Order matters.
- __fpr->_M_remove_reference();
- __fpr = __fp;
- }
- else
- {
- // Installing a newly created facet into an empty
- // _M_facets container, say a newly-constructed,
- // swanky-fresh _Impl.
- _M_facets[__index] = __fp;
- }
-
- // Ideally, it would be nice to only remove the caches that
- // are now incorrect. However, some of the caches depend on
- // multiple facets, and we only know about one facet
- // here. It's no great loss: the first use of the new facet
- // will create a new, correctly cached facet anyway.
- for (size_t __i = 0; __i < _M_facets_size; ++__i)
- {
- const facet* __cpr = _M_caches[__i];
- if (__cpr)
- {
- __cpr->_M_remove_reference();
- _M_caches[__i] = 0;
- }
- }
- }
- }
-
- void
- locale::_Impl::
- _M_install_cache(const facet* __cache, size_t __index)
- {
- __gnu_cxx::__scoped_lock sentry(locale_cache_mutex);
- if (_M_caches[__index] != 0)
- {
- // Some other thread got in first.
- delete __cache;
- }
- else
- {
- __cache->_M_add_reference();
- _M_caches[__index] = __cache;
- }
- }
-
- // locale::id
- // Definitions for static const data members of locale::id
- _Atomic_word locale::id::_S_refcount; // init'd to 0 by linker
-
- size_t
- locale::id::_M_id() const
- {
- if (!_M_index)
- {
- // XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
- locale::id *f = 0;
-# define _GLIBCXX_SYNC_ID(facet, mangled) \
- if (this == &::mangled) \
- f = &facet::id
- _GLIBCXX_SYNC_ID (num_get<char>, _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
- _GLIBCXX_SYNC_ID (num_put<char>, _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
- _GLIBCXX_SYNC_ID (money_get<char>, _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
- _GLIBCXX_SYNC_ID (money_put<char>, _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
-# ifdef _GLIBCXX_USE_WCHAR_T
- _GLIBCXX_SYNC_ID (num_get<wchar_t>, _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE);
- _GLIBCXX_SYNC_ID (num_put<wchar_t>, _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE);
- _GLIBCXX_SYNC_ID (money_get<wchar_t>, _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE);
- _GLIBCXX_SYNC_ID (money_put<wchar_t>, _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE);
-# endif
- if (f)
- _M_index = 1 + f->_M_id();
- else
-#endif
- _M_index = 1 + __gnu_cxx::__exchange_and_add_dispatch(&_S_refcount,
- 1);
- }
- return _M_index - 1;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/locale_facets.cc b/contrib/libstdc++/src/locale_facets.cc
deleted file mode 100644
index 46de583d5137..000000000000
--- a/contrib/libstdc++/src/locale_facets.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-// 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.
-
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Definitions for static const data members of time_base.
- template<>
- const char*
- __timepunct_cache<char>::_S_timezones[14] =
- {
- "GMT", "HST", "AKST", "PST", "MST", "CST", "EST", "AST", "NST", "CET",
- "IST", "EET", "CST", "JST"
- };
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- const wchar_t*
- __timepunct_cache<wchar_t>::_S_timezones[14] =
- {
- L"GMT", L"HST", L"AKST", L"PST", L"MST", L"CST", L"EST", L"AST",
- L"NST", L"CET", L"IST", L"EET", L"CST", L"JST"
- };
-#endif
-
- // Definitions for static const data members of money_base.
- const money_base::pattern
- money_base::_S_default_pattern = { {symbol, sign, none, value} };
-
- const char* money_base::_S_atoms = "-0123456789";
-
- const char* __num_base::_S_atoms_in = "-+xX0123456789abcdefABCDEF";
- const char* __num_base::_S_atoms_out ="-+xX0123456789abcdef0123456789ABCDEF";
-
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // According to the resolution of DR 231, about 22.2.2.2.2, p11,
- // "str.precision() is specified in the conversion specification".
- void
- __num_base::_S_format_float(const ios_base& __io, char* __fptr, char __mod)
- {
- ios_base::fmtflags __flags = __io.flags();
- *__fptr++ = '%';
- // [22.2.2.2.2] Table 60
- if (__flags & ios_base::showpos)
- *__fptr++ = '+';
- if (__flags & ios_base::showpoint)
- *__fptr++ = '#';
-
- // As per DR 231: _always_, not only when
- // __flags & ios_base::fixed || __prec > 0
- *__fptr++ = '.';
- *__fptr++ = '*';
-
- if (__mod)
- *__fptr++ = __mod;
- ios_base::fmtflags __fltfield = __flags & ios_base::floatfield;
- // [22.2.2.2.2] Table 58
- if (__fltfield == ios_base::fixed)
- *__fptr++ = 'f';
- else if (__fltfield == ios_base::scientific)
- *__fptr++ = (__flags & ios_base::uppercase) ? 'E' : 'e';
- else
- *__fptr++ = (__flags & ios_base::uppercase) ? 'G' : 'g';
- *__fptr = '\0';
- }
-
-_GLIBCXX_END_NAMESPACE
-
diff --git a/contrib/libstdc++/src/locale_init.cc b/contrib/libstdc++/src/locale_init.cc
deleted file mode 100644
index 28ee484112f8..000000000000
--- a/contrib/libstdc++/src/locale_init.cc
+++ /dev/null
@@ -1,460 +0,0 @@
-// 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.
-
-#include <clocale>
-#include <cstring>
-#include <cstdlib> // For getenv, free.
-#include <cctype>
-#include <cwctype> // For towupper, etc.
-#include <locale>
-#include <ext/concurrence.h>
-
-namespace
-{
- __gnu_cxx::__mutex&
- get_locale_mutex()
- {
- static __gnu_cxx::__mutex locale_mutex;
- return locale_mutex;
- }
-
- using namespace std;
-
- typedef char fake_locale_Impl[sizeof(locale::_Impl)]
- __attribute__ ((aligned(__alignof__(locale::_Impl))));
- fake_locale_Impl c_locale_impl;
-
- typedef char fake_locale[sizeof(locale)]
- __attribute__ ((aligned(__alignof__(locale))));
- fake_locale c_locale;
-
- typedef char fake_name_vec[sizeof(char*)]
- __attribute__ ((aligned(__alignof__(char*))));
- fake_name_vec name_vec[6 + _GLIBCXX_NUM_CATEGORIES];
-
- typedef char fake_names[sizeof(char[2])]
- __attribute__ ((aligned(__alignof__(char[2]))));
- fake_names name_c[6 + _GLIBCXX_NUM_CATEGORIES];
-
- typedef char fake_facet_vec[sizeof(locale::facet*)]
- __attribute__ ((aligned(__alignof__(locale::facet*))));
- fake_facet_vec facet_vec[_GLIBCXX_NUM_FACETS];
-
- typedef char fake_cache_vec[sizeof(locale::facet*)]
- __attribute__ ((aligned(__alignof__(locale::facet*))));
- fake_cache_vec cache_vec[_GLIBCXX_NUM_FACETS];
-
- typedef char fake_ctype_c[sizeof(std::ctype<char>)]
- __attribute__ ((aligned(__alignof__(std::ctype<char>))));
- fake_ctype_c ctype_c;
-
- typedef char fake_collate_c[sizeof(std::collate<char>)]
- __attribute__ ((aligned(__alignof__(std::collate<char>))));
- fake_collate_c collate_c;
-
- typedef char fake_numpunct_c[sizeof(numpunct<char>)]
- __attribute__ ((aligned(__alignof__(numpunct<char>))));
- fake_numpunct_c numpunct_c;
-
- typedef char fake_num_get_c[sizeof(num_get<char>)]
- __attribute__ ((aligned(__alignof__(num_get<char>))));
- fake_num_get_c num_get_c;
-
- typedef char fake_num_put_c[sizeof(num_put<char>)]
- __attribute__ ((aligned(__alignof__(num_put<char>))));
- fake_num_put_c num_put_c;
-
- typedef char fake_codecvt_c[sizeof(codecvt<char, char, mbstate_t>)]
- __attribute__ ((aligned(__alignof__(codecvt<char, char, mbstate_t>))));
- fake_codecvt_c codecvt_c;
-
- typedef char fake_moneypunct_c[sizeof(moneypunct<char, true>)]
- __attribute__ ((aligned(__alignof__(moneypunct<char, true>))));
- fake_moneypunct_c moneypunct_ct;
- fake_moneypunct_c moneypunct_cf;
-
- typedef char fake_money_get_c[sizeof(money_get<char>)]
- __attribute__ ((aligned(__alignof__(money_get<char>))));
- fake_money_get_c money_get_c;
-
- typedef char fake_money_put_c[sizeof(money_put<char>)]
- __attribute__ ((aligned(__alignof__(money_put<char>))));
- fake_money_put_c money_put_c;
-
- typedef char fake_timepunct_c[sizeof(__timepunct<char>)]
- __attribute__ ((aligned(__alignof__(__timepunct<char>))));
- fake_timepunct_c timepunct_c;
-
- typedef char fake_time_get_c[sizeof(time_get<char>)]
- __attribute__ ((aligned(__alignof__(time_get<char>))));
- fake_time_get_c time_get_c;
-
- typedef char fake_time_put_c[sizeof(time_put<char>)]
- __attribute__ ((aligned(__alignof__(time_put<char>))));
- fake_time_put_c time_put_c;
-
- typedef char fake_messages_c[sizeof(messages<char>)]
- __attribute__ ((aligned(__alignof__(messages<char>))));
- fake_messages_c messages_c;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- typedef char fake_wtype_w[sizeof(std::ctype<wchar_t>)]
- __attribute__ ((aligned(__alignof__(std::ctype<wchar_t>))));
- fake_wtype_w ctype_w;
-
- typedef char fake_wollate_w[sizeof(std::collate<wchar_t>)]
- __attribute__ ((aligned(__alignof__(std::collate<wchar_t>))));
- fake_wollate_w collate_w;
-
- typedef char fake_numpunct_w[sizeof(numpunct<wchar_t>)]
- __attribute__ ((aligned(__alignof__(numpunct<wchar_t>))));
- fake_numpunct_w numpunct_w;
-
- typedef char fake_num_get_w[sizeof(num_get<wchar_t>)]
- __attribute__ ((aligned(__alignof__(num_get<wchar_t>))));
- fake_num_get_w num_get_w;
-
- typedef char fake_num_put_w[sizeof(num_put<wchar_t>)]
- __attribute__ ((aligned(__alignof__(num_put<wchar_t>))));
- fake_num_put_w num_put_w;
-
- typedef char fake_wodecvt_w[sizeof(codecvt<wchar_t, char, mbstate_t>)]
- __attribute__ ((aligned(__alignof__(codecvt<wchar_t, char, mbstate_t>))));
- fake_wodecvt_w codecvt_w;
-
- typedef char fake_moneypunct_w[sizeof(moneypunct<wchar_t, true>)]
- __attribute__ ((aligned(__alignof__(moneypunct<wchar_t, true>))));
- fake_moneypunct_w moneypunct_wt;
- fake_moneypunct_w moneypunct_wf;
-
- typedef char fake_money_get_w[sizeof(money_get<wchar_t>)]
- __attribute__ ((aligned(__alignof__(money_get<wchar_t>))));
- fake_money_get_w money_get_w;
-
- typedef char fake_money_put_w[sizeof(money_put<wchar_t>)]
- __attribute__ ((aligned(__alignof__(money_put<wchar_t>))));
- fake_money_put_w money_put_w;
-
- typedef char fake_timepunct_w[sizeof(__timepunct<wchar_t>)]
- __attribute__ ((aligned(__alignof__(__timepunct<wchar_t>))));
- fake_timepunct_w timepunct_w;
-
- typedef char fake_time_get_w[sizeof(time_get<wchar_t>)]
- __attribute__ ((aligned(__alignof__(time_get<wchar_t>))));
- fake_time_get_w time_get_w;
-
- typedef char fake_time_put_w[sizeof(time_put<wchar_t>)]
- __attribute__ ((aligned(__alignof__(time_put<wchar_t>))));
- fake_time_put_w time_put_w;
-
- typedef char fake_messages_w[sizeof(messages<wchar_t>)]
- __attribute__ ((aligned(__alignof__(messages<wchar_t>))));
- fake_messages_w messages_w;
-#endif
-
- // Storage for "C" locale caches.
- typedef char fake_num_cache_c[sizeof(std::__numpunct_cache<char>)]
- __attribute__ ((aligned(__alignof__(std::__numpunct_cache<char>))));
- fake_num_cache_c numpunct_cache_c;
-
- typedef char fake_money_cache_c[sizeof(std::__moneypunct_cache<char, true>)]
- __attribute__ ((aligned(__alignof__(std::__moneypunct_cache<char, true>))));
- fake_money_cache_c moneypunct_cache_ct;
- fake_money_cache_c moneypunct_cache_cf;
-
- typedef char fake_time_cache_c[sizeof(std::__timepunct_cache<char>)]
- __attribute__ ((aligned(__alignof__(std::__timepunct_cache<char>))));
- fake_time_cache_c timepunct_cache_c;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- typedef char fake_num_cache_w[sizeof(std::__numpunct_cache<wchar_t>)]
- __attribute__ ((aligned(__alignof__(std::__numpunct_cache<wchar_t>))));
- fake_num_cache_w numpunct_cache_w;
-
- typedef char fake_money_cache_w[sizeof(std::__moneypunct_cache<wchar_t,true>)]
- __attribute__ ((aligned(__alignof__(std::__moneypunct_cache<wchar_t,true>))));
- fake_money_cache_w moneypunct_cache_wt;
- fake_money_cache_w moneypunct_cache_wf;
-
- typedef char fake_time_cache_w[sizeof(std::__timepunct_cache<wchar_t>)]
- __attribute__ ((aligned(__alignof__(std::__timepunct_cache<wchar_t>))));
- fake_time_cache_w timepunct_cache_w;
-#endif
-} // anonymous namespace
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- locale::locale() throw() : _M_impl(0)
- {
- _S_initialize();
- __gnu_cxx::__scoped_lock sentry(get_locale_mutex());
- _S_global->_M_add_reference();
- _M_impl = _S_global;
- }
-
- locale
- locale::global(const locale& __other)
- {
- _S_initialize();
- _Impl* __old;
- {
- __gnu_cxx::__scoped_lock sentry(get_locale_mutex());
- __old = _S_global;
- __other._M_impl->_M_add_reference();
- _S_global = __other._M_impl;
- const string __other_name = __other.name();
- if (__other_name != "*")
- setlocale(LC_ALL, __other_name.c_str());
- }
-
- // Reference count sanity check: one reference removed for the
- // subsition of __other locale, one added by return-by-value. Net
- // difference: zero. When the returned locale object's destrutor
- // is called, then the reference count is decremented and possibly
- // destroyed.
- return locale(__old);
- }
-
- const locale&
- locale::classic()
- {
- _S_initialize();
- return reinterpret_cast<const locale&>(c_locale);
- }
-
- void
- locale::_S_initialize_once()
- {
- // 2 references.
- // One reference for _S_classic, one for _S_global
- _S_classic = new (&c_locale_impl) _Impl(2);
- _S_global = _S_classic;
- new (&c_locale) locale(_S_classic);
- }
-
- void
- locale::_S_initialize()
- {
-#ifdef __GTHREADS
- if (__gthread_active_p())
- __gthread_once(&_S_once, _S_initialize_once);
-#endif
- if (!_S_classic)
- _S_initialize_once();
- }
-
- // Definitions for static const data members of locale::_Impl
- const locale::id* const
- locale::_Impl::_S_id_ctype[] =
- {
- &std::ctype<char>::id,
- &codecvt<char, char, mbstate_t>::id,
-#ifdef _GLIBCXX_USE_WCHAR_T
- &std::ctype<wchar_t>::id,
- &codecvt<wchar_t, char, mbstate_t>::id,
-#endif
- 0
- };
-
- const locale::id* const
- locale::_Impl::_S_id_numeric[] =
- {
- &num_get<char>::id,
- &num_put<char>::id,
- &numpunct<char>::id,
-#ifdef _GLIBCXX_USE_WCHAR_T
- &num_get<wchar_t>::id,
- &num_put<wchar_t>::id,
- &numpunct<wchar_t>::id,
-#endif
- 0
- };
-
- const locale::id* const
- locale::_Impl::_S_id_collate[] =
- {
- &std::collate<char>::id,
-#ifdef _GLIBCXX_USE_WCHAR_T
- &std::collate<wchar_t>::id,
-#endif
- 0
- };
-
- const locale::id* const
- locale::_Impl::_S_id_time[] =
- {
- &__timepunct<char>::id,
- &time_get<char>::id,
- &time_put<char>::id,
-#ifdef _GLIBCXX_USE_WCHAR_T
- &__timepunct<wchar_t>::id,
- &time_get<wchar_t>::id,
- &time_put<wchar_t>::id,
-#endif
- 0
- };
-
- const locale::id* const
- locale::_Impl::_S_id_monetary[] =
- {
- &money_get<char>::id,
- &money_put<char>::id,
- &moneypunct<char, false>::id,
- &moneypunct<char, true >::id,
-#ifdef _GLIBCXX_USE_WCHAR_T
- &money_get<wchar_t>::id,
- &money_put<wchar_t>::id,
- &moneypunct<wchar_t, false>::id,
- &moneypunct<wchar_t, true >::id,
-#endif
- 0
- };
-
- const locale::id* const
- locale::_Impl::_S_id_messages[] =
- {
- &std::messages<char>::id,
-#ifdef _GLIBCXX_USE_WCHAR_T
- &std::messages<wchar_t>::id,
-#endif
- 0
- };
-
- const locale::id* const* const
- locale::_Impl::_S_facet_categories[] =
- {
- // Order must match the decl order in class locale.
- locale::_Impl::_S_id_ctype,
- locale::_Impl::_S_id_numeric,
- locale::_Impl::_S_id_collate,
- locale::_Impl::_S_id_time,
- locale::_Impl::_S_id_monetary,
- locale::_Impl::_S_id_messages,
- 0
- };
-
- // Construct "C" _Impl.
- locale::_Impl::
- _Impl(size_t __refs) throw()
- : _M_refcount(__refs), _M_facets(0), _M_facets_size(_GLIBCXX_NUM_FACETS),
- _M_caches(0), _M_names(0)
- {
- _M_facets = new (&facet_vec) const facet*[_M_facets_size];
- _M_caches = new (&cache_vec) const facet*[_M_facets_size];
- for (size_t __i = 0; __i < _M_facets_size; ++__i)
- _M_facets[__i] = _M_caches[__i] = 0;
-
- // Name the categories.
- _M_names = new (&name_vec) char*[_S_categories_size];
- _M_names[0] = new (&name_c[0]) char[2];
- std::memcpy(_M_names[0], locale::facet::_S_get_c_name(), 2);
- for (size_t __j = 1; __j < _S_categories_size; ++__j)
- _M_names[__j] = 0;
-
- // This is needed as presently the C++ version of "C" locales
- // != data in the underlying locale model for __timepunct,
- // numpunct, and moneypunct. Also, the "C" locales must be
- // constructed in a way such that they are pre-allocated.
- // NB: Set locale::facets(ref) count to one so that each individual
- // facet is not destroyed when the locale (and thus locale::_Impl) is
- // destroyed.
- _M_init_facet(new (&ctype_c) std::ctype<char>(0, false, 1));
- _M_init_facet(new (&codecvt_c) codecvt<char, char, mbstate_t>(1));
-
- typedef __numpunct_cache<char> num_cache_c;
- num_cache_c* __npc = new (&numpunct_cache_c) num_cache_c(2);
- _M_init_facet(new (&numpunct_c) numpunct<char>(__npc, 1));
-
- _M_init_facet(new (&num_get_c) num_get<char>(1));
- _M_init_facet(new (&num_put_c) num_put<char>(1));
- _M_init_facet(new (&collate_c) std::collate<char>(1));
-
- typedef __moneypunct_cache<char, false> money_cache_cf;
- typedef __moneypunct_cache<char, true> money_cache_ct;
- money_cache_cf* __mpcf = new (&moneypunct_cache_cf) money_cache_cf(2);
- _M_init_facet(new (&moneypunct_cf) moneypunct<char, false>(__mpcf, 1));
- money_cache_ct* __mpct = new (&moneypunct_cache_ct) money_cache_ct(2);
- _M_init_facet(new (&moneypunct_ct) moneypunct<char, true>(__mpct, 1));
-
- _M_init_facet(new (&money_get_c) money_get<char>(1));
- _M_init_facet(new (&money_put_c) money_put<char>(1));
-
- typedef __timepunct_cache<char> time_cache_c;
- time_cache_c* __tpc = new (&timepunct_cache_c) time_cache_c(2);
- _M_init_facet(new (&timepunct_c) __timepunct<char>(__tpc, 1));
-
- _M_init_facet(new (&time_get_c) time_get<char>(1));
- _M_init_facet(new (&time_put_c) time_put<char>(1));
- _M_init_facet(new (&messages_c) std::messages<char>(1));
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- _M_init_facet(new (&ctype_w) std::ctype<wchar_t>(1));
- _M_init_facet(new (&codecvt_w) codecvt<wchar_t, char, mbstate_t>(1));
-
- typedef __numpunct_cache<wchar_t> num_cache_w;
- num_cache_w* __npw = new (&numpunct_cache_w) num_cache_w(2);
- _M_init_facet(new (&numpunct_w) numpunct<wchar_t>(__npw, 1));
-
- _M_init_facet(new (&num_get_w) num_get<wchar_t>(1));
- _M_init_facet(new (&num_put_w) num_put<wchar_t>(1));
- _M_init_facet(new (&collate_w) std::collate<wchar_t>(1));
-
- typedef __moneypunct_cache<wchar_t, false> money_cache_wf;
- typedef __moneypunct_cache<wchar_t, true> money_cache_wt;
- money_cache_wf* __mpwf = new (&moneypunct_cache_wf) money_cache_wf(2);
- _M_init_facet(new (&moneypunct_wf) moneypunct<wchar_t, false>(__mpwf, 1));
- money_cache_wt* __mpwt = new (&moneypunct_cache_wt) money_cache_wt(2);
- _M_init_facet(new (&moneypunct_wt) moneypunct<wchar_t, true>(__mpwt, 1));
-
- _M_init_facet(new (&money_get_w) money_get<wchar_t>(1));
- _M_init_facet(new (&money_put_w) money_put<wchar_t>(1));
-
- typedef __timepunct_cache<wchar_t> time_cache_w;
- time_cache_w* __tpw = new (&timepunct_cache_w) time_cache_w(2);
- _M_init_facet(new (&timepunct_w) __timepunct<wchar_t>(__tpw, 1));
-
- _M_init_facet(new (&time_get_w) time_get<wchar_t>(1));
- _M_init_facet(new (&time_put_w) time_put<wchar_t>(1));
- _M_init_facet(new (&messages_w) std::messages<wchar_t>(1));
-#endif
-
- // This locale is safe to pre-cache, after all the facets have
- // been created and installed.
- _M_caches[numpunct<char>::id._M_id()] = __npc;
- _M_caches[moneypunct<char, false>::id._M_id()] = __mpcf;
- _M_caches[moneypunct<char, true>::id._M_id()] = __mpct;
- _M_caches[__timepunct<char>::id._M_id()] = __tpc;
-#ifdef _GLIBCXX_USE_WCHAR_T
- _M_caches[numpunct<wchar_t>::id._M_id()] = __npw;
- _M_caches[moneypunct<wchar_t, false>::id._M_id()] = __mpwf;
- _M_caches[moneypunct<wchar_t, true>::id._M_id()] = __mpwt;
- _M_caches[__timepunct<wchar_t>::id._M_id()] = __tpw;
-#endif
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/localename.cc b/contrib/libstdc++/src/localename.cc
deleted file mode 100644
index ff8c369ce118..000000000000
--- a/contrib/libstdc++/src/localename.cc
+++ /dev/null
@@ -1,313 +0,0 @@
-// 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.
-
-#include <clocale>
-#include <cstring>
-#include <locale>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- using namespace __gnu_cxx;
-
- locale::locale(const char* __s) : _M_impl(0)
- {
- if (__s)
- {
- _S_initialize();
- if (std::strcmp(__s, "C") == 0 || std::strcmp(__s, "POSIX") == 0)
- (_M_impl = _S_classic)->_M_add_reference();
- else if (std::strcmp(__s, "") != 0)
- _M_impl = new _Impl(__s, 1);
- else
- {
- // Get it from the environment.
- char* __env = std::getenv("LC_ALL");
- // If LC_ALL is set we are done.
- if (__env && std::strcmp(__env, "") != 0)
- {
- if (std::strcmp(__env, "C") == 0
- || std::strcmp(__env, "POSIX") == 0)
- (_M_impl = _S_classic)->_M_add_reference();
- else
- _M_impl = new _Impl(__env, 1);
- }
- else
- {
- // LANG may set a default different from "C".
- string __lang;
- __env = std::getenv("LANG");
- if (!__env || std::strcmp(__env, "") == 0
- || std::strcmp(__env, "C") == 0
- || std::strcmp(__env, "POSIX") == 0)
- __lang = "C";
- else
- __lang = __env;
-
- // Scan the categories looking for the first one
- // different from LANG.
- size_t __i = 0;
- if (__lang == "C")
- for (; __i < _S_categories_size; ++__i)
- {
- __env = std::getenv(_S_categories[__i]);
- if (__env && std::strcmp(__env, "") != 0
- && std::strcmp(__env, "C") != 0
- && std::strcmp(__env, "POSIX") != 0)
- break;
- }
- else
- for (; __i < _S_categories_size; ++__i)
- {
- __env = std::getenv(_S_categories[__i]);
- if (__env && std::strcmp(__env, "") != 0
- && __lang != __env)
- break;
- }
-
- // If one is found, build the complete string of
- // the form LC_CTYPE=xxx;LC_NUMERIC=yyy; and so on...
- if (__i < _S_categories_size)
- {
- string __str;
- __str.reserve(128);
- for (size_t __j = 0; __j < __i; ++__j)
- {
- __str += _S_categories[__j];
- __str += '=';
- __str += __lang;
- __str += ';';
- }
- __str += _S_categories[__i];
- __str += '=';
- __str += __env;
- __str += ';';
- ++__i;
- for (; __i < _S_categories_size; ++__i)
- {
- __env = std::getenv(_S_categories[__i]);
- __str += _S_categories[__i];
- if (!__env || std::strcmp(__env, "") == 0)
- {
- __str += '=';
- __str += __lang;
- __str += ';';
- }
- else if (std::strcmp(__env, "C") == 0
- || std::strcmp(__env, "POSIX") == 0)
- __str += "=C;";
- else
- {
- __str += '=';
- __str += __env;
- __str += ';';
- }
- }
- __str.erase(__str.end() - 1);
- _M_impl = new _Impl(__str.c_str(), 1);
- }
- // ... otherwise either an additional instance of
- // the "C" locale or LANG.
- else if (__lang == "C")
- (_M_impl = _S_classic)->_M_add_reference();
- else
- _M_impl = new _Impl(__lang.c_str(), 1);
- }
- }
- }
- else
- __throw_runtime_error(__N("locale::locale NULL not valid"));
- }
-
- locale::locale(const locale& __base, const char* __s, category __cat)
- : _M_impl(0)
- {
- // NB: There are complicated, yet more efficient ways to do
- // this. Building up locales on a per-category way is tedious, so
- // let's do it this way until people complain.
- locale __add(__s);
- _M_coalesce(__base, __add, __cat);
- }
-
- locale::locale(const locale& __base, const locale& __add, category __cat)
- : _M_impl(0)
- { _M_coalesce(__base, __add, __cat); }
-
- void
- locale::_M_coalesce(const locale& __base, const locale& __add,
- category __cat)
- {
- __cat = _S_normalize_category(__cat);
- _M_impl = new _Impl(*__base._M_impl, 1);
-
- try
- { _M_impl->_M_replace_categories(__add._M_impl, __cat); }
- catch (...)
- {
- _M_impl->_M_remove_reference();
- __throw_exception_again;
- }
- }
-
- // Construct named _Impl.
- locale::_Impl::
- _Impl(const char* __s, size_t __refs)
- : _M_refcount(__refs), _M_facets(0), _M_facets_size(_GLIBCXX_NUM_FACETS),
- _M_caches(0), _M_names(0)
- {
- // Initialize the underlying locale model, which also checks to
- // see if the given name is valid.
- __c_locale __cloc;
- locale::facet::_S_create_c_locale(__cloc, __s);
-
- try
- {
- _M_facets = new const facet*[_M_facets_size];
- for (size_t __i = 0; __i < _M_facets_size; ++__i)
- _M_facets[__i] = 0;
- _M_caches = new const facet*[_M_facets_size];
- for (size_t __j = 0; __j < _M_facets_size; ++__j)
- _M_caches[__j] = 0;
- _M_names = new char*[_S_categories_size];
- for (size_t __k = 0; __k < _S_categories_size; ++__k)
- _M_names[__k] = 0;
-
- // Name the categories.
- const size_t __len = std::strlen(__s);
- if (!std::memchr(__s, ';', __len))
- {
- _M_names[0] = new char[__len + 1];
- std::memcpy(_M_names[0], __s, __len + 1);
- }
- else
- {
- const char* __end = __s;
- for (size_t __i = 0; __i < _S_categories_size; ++__i)
- {
- const char* __beg = std::strchr(__end + 1, '=') + 1;
- __end = std::strchr(__beg, ';');
- if (!__end)
- __end = __s + __len;
- _M_names[__i] = new char[__end - __beg + 1];
- std::memcpy(_M_names[__i], __beg, __end - __beg);
- _M_names[__i][__end - __beg] = '\0';
- }
- }
-
- // Construct all standard facets and add them to _M_facets.
- _M_init_facet(new std::ctype<char>(__cloc, 0, false));
- _M_init_facet(new codecvt<char, char, mbstate_t>(__cloc));
- _M_init_facet(new numpunct<char>(__cloc));
- _M_init_facet(new num_get<char>);
- _M_init_facet(new num_put<char>);
- _M_init_facet(new std::collate<char>(__cloc));
- _M_init_facet(new moneypunct<char, false>(__cloc, __s));
- _M_init_facet(new moneypunct<char, true>(__cloc, __s));
- _M_init_facet(new money_get<char>);
- _M_init_facet(new money_put<char>);
- _M_init_facet(new __timepunct<char>(__cloc, __s));
- _M_init_facet(new time_get<char>);
- _M_init_facet(new time_put<char>);
- _M_init_facet(new std::messages<char>(__cloc, __s));
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- _M_init_facet(new std::ctype<wchar_t>(__cloc));
- _M_init_facet(new codecvt<wchar_t, char, mbstate_t>(__cloc));
- _M_init_facet(new numpunct<wchar_t>(__cloc));
- _M_init_facet(new num_get<wchar_t>);
- _M_init_facet(new num_put<wchar_t>);
- _M_init_facet(new std::collate<wchar_t>(__cloc));
- _M_init_facet(new moneypunct<wchar_t, false>(__cloc, __s));
- _M_init_facet(new moneypunct<wchar_t, true>(__cloc, __s));
- _M_init_facet(new money_get<wchar_t>);
- _M_init_facet(new money_put<wchar_t>);
- _M_init_facet(new __timepunct<wchar_t>(__cloc, __s));
- _M_init_facet(new time_get<wchar_t>);
- _M_init_facet(new time_put<wchar_t>);
- _M_init_facet(new std::messages<wchar_t>(__cloc, __s));
-#endif
- locale::facet::_S_destroy_c_locale(__cloc);
- }
- catch(...)
- {
- locale::facet::_S_destroy_c_locale(__cloc);
- this->~_Impl();
- __throw_exception_again;
- }
- }
-
- void
- locale::_Impl::
- _M_replace_categories(const _Impl* __imp, category __cat)
- {
- category __mask = 1;
- const bool __have_names = _M_names[0] && __imp->_M_names[0];
- for (size_t __ix = 0; __ix < _S_categories_size; ++__ix, __mask <<= 1)
- {
- if (__mask & __cat)
- {
- // Need to replace entry in _M_facets with other locale's info.
- _M_replace_category(__imp, _S_facet_categories[__ix]);
- // If both have names, go ahead and mangle.
- if (__have_names)
- {
- if (!_M_names[1])
- {
- // A full set of _M_names must be prepared, all identical
- // to _M_names[0] to begin with. Then, below, a few will
- // be replaced by the corresponding __imp->_M_names. I.e.,
- // not a "simple" locale anymore (see locale::operator==).
- const size_t __len = std::strlen(_M_names[0]) + 1;
- for (size_t __i = 1; __i < _S_categories_size; ++__i)
- {
- _M_names[__i] = new char[__len];
- std::memcpy(_M_names[__i], _M_names[0], __len);
- }
- }
-
- // FIXME: Hack for libstdc++/29217: the numerical encodings
- // of the time and collate categories are swapped vs the
- // order of the names in locale::_S_categories. We'd like to
- // adjust the former (the latter is dictated by compatibility
- // with glibc) but we can't for binary compatibility.
- size_t __ix_name = __ix;
- if (__ix == 2 || __ix == 3)
- __ix_name = 5 - __ix;
-
- char* __src = __imp->_M_names[__ix_name] ?
- __imp->_M_names[__ix_name] : __imp->_M_names[0];
- const size_t __len = std::strlen(__src) + 1;
- char* __new = new char[__len];
- std::memcpy(__new, __src, __len);
- delete [] _M_names[__ix_name];
- _M_names[__ix_name] = __new;
- }
- }
- }
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/misc-inst.cc b/contrib/libstdc++/src/misc-inst.cc
deleted file mode 100644
index 8cc39e3747a3..000000000000
--- a/contrib/libstdc++/src/misc-inst.cc
+++ /dev/null
@@ -1,81 +0,0 @@
-// Explicit instantiation file.
-
-// 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <string>
-#include <istream>
-#include <ostream>
-#include <ext/stdio_sync_filebuf.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // string related to iostreams
- template
- basic_istream<char>&
- operator>>(basic_istream<char>&, string&);
- template
- basic_ostream<char>&
- operator<<(basic_ostream<char>&, const string&);
- template
- basic_istream<char>&
- getline(basic_istream<char>&, string&, char);
- template
- basic_istream<char>&
- getline(basic_istream<char>&, string&);
-#ifdef _GLIBCXX_USE_WCHAR_T
- template
- basic_istream<wchar_t>&
- operator>>(basic_istream<wchar_t>&, wstring&);
- template
- basic_ostream<wchar_t>&
- operator<<(basic_ostream<wchar_t>&, const wstring&);
- template
- basic_istream<wchar_t>&
- getline(basic_istream<wchar_t>&, wstring&, wchar_t);
- template
- basic_istream<wchar_t>&
- getline(basic_istream<wchar_t>&, wstring&);
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template class stdio_sync_filebuf<char>;
-#ifdef _GLIBCXX_USE_WCHAR_T
- template class stdio_sync_filebuf<wchar_t>;
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-
diff --git a/contrib/libstdc++/src/mt_allocator.cc b/contrib/libstdc++/src/mt_allocator.cc
deleted file mode 100644
index 6738953e92ab..000000000000
--- a/contrib/libstdc++/src/mt_allocator.cc
+++ /dev/null
@@ -1,804 +0,0 @@
-// Allocator details.
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <bits/c++config.h>
-#include <ext/concurrence.h>
-#include <ext/mt_allocator.h>
-#include <cstring>
-
-namespace
-{
-#ifdef __GTHREADS
- struct __freelist
- {
- typedef __gnu_cxx::__pool<true>::_Thread_record _Thread_record;
- _Thread_record* _M_thread_freelist;
- _Thread_record* _M_thread_freelist_array;
- size_t _M_max_threads;
- __gthread_key_t _M_key;
-
- ~__freelist()
- {
- if (_M_thread_freelist_array)
- {
- __gthread_key_delete(_M_key);
- ::operator delete(static_cast<void*>(_M_thread_freelist_array));
- }
- }
- };
-
- // Ensure freelist is constructed first.
- static __freelist freelist;
- __gnu_cxx::__mutex freelist_mutex;
-
- static void
- _M_destroy_thread_key(void* __id)
- {
- // Return this thread id record to the front of thread_freelist.
- __gnu_cxx::__scoped_lock sentry(freelist_mutex);
- size_t _M_id = reinterpret_cast<size_t>(__id);
-
- typedef __gnu_cxx::__pool<true>::_Thread_record _Thread_record;
- _Thread_record* __tr = &freelist._M_thread_freelist_array[_M_id - 1];
- __tr->_M_next = freelist._M_thread_freelist;
- freelist._M_thread_freelist = __tr;
- }
-#endif
-} // anonymous namespace
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- void
- __pool<false>::_M_destroy() throw()
- {
- if (_M_init && !_M_options._M_force_new)
- {
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- while (__bin._M_address)
- {
- _Block_address* __tmp = __bin._M_address->_M_next;
- ::operator delete(__bin._M_address->_M_initial);
- __bin._M_address = __tmp;
- }
- ::operator delete(__bin._M_first);
- }
- ::operator delete(_M_bin);
- ::operator delete(_M_binmap);
- }
- }
-
- void
- __pool<false>::_M_reclaim_block(char* __p, size_t __bytes)
- {
- // Round up to power of 2 and figure out which bin to use.
- const size_t __which = _M_binmap[__bytes];
- _Bin_record& __bin = _M_bin[__which];
-
- char* __c = __p - _M_get_align();
- _Block_record* __block_record = reinterpret_cast<_Block_record*>(__c);
-
- // Single threaded application - return to global pool.
- __block_record->_M_next = __bin._M_first[0];
- __bin._M_first[0] = __block_record;
- }
-
- char*
- __pool<false>::_M_reserve_block(size_t __bytes, const size_t __thread_id)
- {
- // Round up to power of 2 and figure out which bin to use.
- const size_t __which = _M_binmap[__bytes];
- _Bin_record& __bin = _M_bin[__which];
- const _Tune& __options = _M_get_options();
- const size_t __bin_size = (__options._M_min_bin << __which)
- + __options._M_align;
- size_t __block_count = __options._M_chunk_size - sizeof(_Block_address);
- __block_count /= __bin_size;
-
- // Get a new block dynamically, set it up for use.
- void* __v = ::operator new(__options._M_chunk_size);
- _Block_address* __address = static_cast<_Block_address*>(__v);
- __address->_M_initial = __v;
- __address->_M_next = __bin._M_address;
- __bin._M_address = __address;
-
- char* __c = static_cast<char*>(__v) + sizeof(_Block_address);
- _Block_record* __block_record = reinterpret_cast<_Block_record*>(__c);
- __bin._M_first[__thread_id] = __block_record;
- while (--__block_count > 0)
- {
- __c += __bin_size;
- __block_record->_M_next = reinterpret_cast<_Block_record*>(__c);
- __block_record = __block_record->_M_next;
- }
- __block_record->_M_next = NULL;
-
- __block_record = __bin._M_first[__thread_id];
- __bin._M_first[__thread_id] = __block_record->_M_next;
-
- // NB: For alignment reasons, we can't use the first _M_align
- // bytes, even when sizeof(_Block_record) < _M_align.
- return reinterpret_cast<char*>(__block_record) + __options._M_align;
- }
-
- void
- __pool<false>::_M_initialize()
- {
- // _M_force_new must not change after the first allocate(), which
- // in turn calls this method, so if it's false, it's false forever
- // and we don't need to return here ever again.
- if (_M_options._M_force_new)
- {
- _M_init = true;
- return;
- }
-
- // Create the bins.
- // Calculate the number of bins required based on _M_max_bytes.
- // _M_bin_size is statically-initialized to one.
- size_t __bin_size = _M_options._M_min_bin;
- while (_M_options._M_max_bytes > __bin_size)
- {
- __bin_size <<= 1;
- ++_M_bin_size;
- }
-
- // Setup the bin map for quick lookup of the relevant bin.
- const size_t __j = (_M_options._M_max_bytes + 1) * sizeof(_Binmap_type);
- _M_binmap = static_cast<_Binmap_type*>(::operator new(__j));
- _Binmap_type* __bp = _M_binmap;
- _Binmap_type __bin_max = _M_options._M_min_bin;
- _Binmap_type __bint = 0;
- for (_Binmap_type __ct = 0; __ct <= _M_options._M_max_bytes; ++__ct)
- {
- if (__ct > __bin_max)
- {
- __bin_max <<= 1;
- ++__bint;
- }
- *__bp++ = __bint;
- }
-
- // Initialize _M_bin and its members.
- void* __v = ::operator new(sizeof(_Bin_record) * _M_bin_size);
- _M_bin = static_cast<_Bin_record*>(__v);
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- __v = ::operator new(sizeof(_Block_record*));
- __bin._M_first = static_cast<_Block_record**>(__v);
- __bin._M_first[0] = NULL;
- __bin._M_address = NULL;
- }
- _M_init = true;
- }
-
-
-#ifdef __GTHREADS
- void
- __pool<true>::_M_destroy() throw()
- {
- if (_M_init && !_M_options._M_force_new)
- {
- if (__gthread_active_p())
- {
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- while (__bin._M_address)
- {
- _Block_address* __tmp = __bin._M_address->_M_next;
- ::operator delete(__bin._M_address->_M_initial);
- __bin._M_address = __tmp;
- }
- ::operator delete(__bin._M_first);
- ::operator delete(__bin._M_free);
- ::operator delete(__bin._M_used);
- ::operator delete(__bin._M_mutex);
- }
- }
- else
- {
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- while (__bin._M_address)
- {
- _Block_address* __tmp = __bin._M_address->_M_next;
- ::operator delete(__bin._M_address->_M_initial);
- __bin._M_address = __tmp;
- }
- ::operator delete(__bin._M_first);
- }
- }
- ::operator delete(_M_bin);
- ::operator delete(_M_binmap);
- }
- }
-
- void
- __pool<true>::_M_reclaim_block(char* __p, size_t __bytes)
- {
- // Round up to power of 2 and figure out which bin to use.
- const size_t __which = _M_binmap[__bytes];
- const _Bin_record& __bin = _M_bin[__which];
-
- // Know __p not null, assume valid block.
- char* __c = __p - _M_get_align();
- _Block_record* __block_record = reinterpret_cast<_Block_record*>(__c);
- if (__gthread_active_p())
- {
- // Calculate the number of records to remove from our freelist:
- // in order to avoid too much contention we wait until the
- // number of records is "high enough".
- const size_t __thread_id = _M_get_thread_id();
- const _Tune& __options = _M_get_options();
- const size_t __limit = (100 * (_M_bin_size - __which)
- * __options._M_freelist_headroom);
-
- size_t __remove = __bin._M_free[__thread_id];
- __remove *= __options._M_freelist_headroom;
-
- // NB: We assume that reads of _Atomic_words are atomic.
- const size_t __max_threads = __options._M_max_threads + 1;
- _Atomic_word* const __reclaimed_base =
- reinterpret_cast<_Atomic_word*>(__bin._M_used + __max_threads);
- const _Atomic_word __reclaimed = __reclaimed_base[__thread_id];
- const size_t __net_used = __bin._M_used[__thread_id] - __reclaimed;
-
- // NB: For performance sake we don't resync every time, in order
- // to spare atomic ops. Note that if __reclaimed increased by,
- // say, 1024, since the last sync, it means that the other
- // threads executed the atomic in the else below at least the
- // same number of times (at least, because _M_reserve_block may
- // have decreased the counter), therefore one more cannot hurt.
- if (__reclaimed > 1024)
- {
- __bin._M_used[__thread_id] -= __reclaimed;
- __atomic_add(&__reclaimed_base[__thread_id], -__reclaimed);
- }
-
- if (__remove >= __net_used)
- __remove -= __net_used;
- else
- __remove = 0;
- if (__remove > __limit && __remove > __bin._M_free[__thread_id])
- {
- _Block_record* __first = __bin._M_first[__thread_id];
- _Block_record* __tmp = __first;
- __remove /= __options._M_freelist_headroom;
- const size_t __removed = __remove;
- while (--__remove > 0)
- __tmp = __tmp->_M_next;
- __bin._M_first[__thread_id] = __tmp->_M_next;
- __bin._M_free[__thread_id] -= __removed;
-
- __gthread_mutex_lock(__bin._M_mutex);
- __tmp->_M_next = __bin._M_first[0];
- __bin._M_first[0] = __first;
- __bin._M_free[0] += __removed;
- __gthread_mutex_unlock(__bin._M_mutex);
- }
-
- // Return this block to our list and update counters and
- // owner id as needed.
- if (__block_record->_M_thread_id == __thread_id)
- --__bin._M_used[__thread_id];
- else
- __atomic_add(&__reclaimed_base[__block_record->_M_thread_id], 1);
-
- __block_record->_M_next = __bin._M_first[__thread_id];
- __bin._M_first[__thread_id] = __block_record;
-
- ++__bin._M_free[__thread_id];
- }
- else
- {
- // Not using threads, so single threaded application - return
- // to global pool.
- __block_record->_M_next = __bin._M_first[0];
- __bin._M_first[0] = __block_record;
- }
- }
-
- char*
- __pool<true>::_M_reserve_block(size_t __bytes, const size_t __thread_id)
- {
- // Round up to power of 2 and figure out which bin to use.
- const size_t __which = _M_binmap[__bytes];
- const _Tune& __options = _M_get_options();
- const size_t __bin_size = ((__options._M_min_bin << __which)
- + __options._M_align);
- size_t __block_count = __options._M_chunk_size - sizeof(_Block_address);
- __block_count /= __bin_size;
-
- // Are we using threads?
- // - Yes, check if there are free blocks on the global
- // list. If so, grab up to __block_count blocks in one
- // lock and change ownership. If the global list is
- // empty, we allocate a new chunk and add those blocks
- // directly to our own freelist (with us as owner).
- // - No, all operations are made directly to global pool 0
- // no need to lock or change ownership but check for free
- // blocks on global list (and if not add new ones) and
- // get the first one.
- _Bin_record& __bin = _M_bin[__which];
- _Block_record* __block_record = NULL;
- if (__gthread_active_p())
- {
- // Resync the _M_used counters.
- const size_t __max_threads = __options._M_max_threads + 1;
- _Atomic_word* const __reclaimed_base =
- reinterpret_cast<_Atomic_word*>(__bin._M_used + __max_threads);
- const _Atomic_word __reclaimed = __reclaimed_base[__thread_id];
- __bin._M_used[__thread_id] -= __reclaimed;
- __atomic_add(&__reclaimed_base[__thread_id], -__reclaimed);
-
- __gthread_mutex_lock(__bin._M_mutex);
- if (__bin._M_first[0] == NULL)
- {
- void* __v = ::operator new(__options._M_chunk_size);
- _Block_address* __address = static_cast<_Block_address*>(__v);
- __address->_M_initial = __v;
- __address->_M_next = __bin._M_address;
- __bin._M_address = __address;
- __gthread_mutex_unlock(__bin._M_mutex);
-
- // No need to hold the lock when we are adding a whole
- // chunk to our own list.
- char* __c = static_cast<char*>(__v) + sizeof(_Block_address);
- __block_record = reinterpret_cast<_Block_record*>(__c);
- __bin._M_free[__thread_id] = __block_count;
- __bin._M_first[__thread_id] = __block_record;
- while (--__block_count > 0)
- {
- __c += __bin_size;
- __block_record->_M_next = reinterpret_cast<_Block_record*>(__c);
- __block_record = __block_record->_M_next;
- }
- __block_record->_M_next = NULL;
- }
- else
- {
- // Is the number of required blocks greater than or equal
- // to the number that can be provided by the global free
- // list?
- __bin._M_first[__thread_id] = __bin._M_first[0];
- if (__block_count >= __bin._M_free[0])
- {
- __bin._M_free[__thread_id] = __bin._M_free[0];
- __bin._M_free[0] = 0;
- __bin._M_first[0] = NULL;
- }
- else
- {
- __bin._M_free[__thread_id] = __block_count;
- __bin._M_free[0] -= __block_count;
- __block_record = __bin._M_first[0];
- while (--__block_count > 0)
- __block_record = __block_record->_M_next;
- __bin._M_first[0] = __block_record->_M_next;
- __block_record->_M_next = NULL;
- }
- __gthread_mutex_unlock(__bin._M_mutex);
- }
- }
- else
- {
- void* __v = ::operator new(__options._M_chunk_size);
- _Block_address* __address = static_cast<_Block_address*>(__v);
- __address->_M_initial = __v;
- __address->_M_next = __bin._M_address;
- __bin._M_address = __address;
-
- char* __c = static_cast<char*>(__v) + sizeof(_Block_address);
- __block_record = reinterpret_cast<_Block_record*>(__c);
- __bin._M_first[0] = __block_record;
- while (--__block_count > 0)
- {
- __c += __bin_size;
- __block_record->_M_next = reinterpret_cast<_Block_record*>(__c);
- __block_record = __block_record->_M_next;
- }
- __block_record->_M_next = NULL;
- }
-
- __block_record = __bin._M_first[__thread_id];
- __bin._M_first[__thread_id] = __block_record->_M_next;
-
- if (__gthread_active_p())
- {
- __block_record->_M_thread_id = __thread_id;
- --__bin._M_free[__thread_id];
- ++__bin._M_used[__thread_id];
- }
-
- // NB: For alignment reasons, we can't use the first _M_align
- // bytes, even when sizeof(_Block_record) < _M_align.
- return reinterpret_cast<char*>(__block_record) + __options._M_align;
- }
-
- void
- __pool<true>::_M_initialize()
- {
- // _M_force_new must not change after the first allocate(),
- // which in turn calls this method, so if it's false, it's false
- // forever and we don't need to return here ever again.
- if (_M_options._M_force_new)
- {
- _M_init = true;
- return;
- }
-
- // Create the bins.
- // Calculate the number of bins required based on _M_max_bytes.
- // _M_bin_size is statically-initialized to one.
- size_t __bin_size = _M_options._M_min_bin;
- while (_M_options._M_max_bytes > __bin_size)
- {
- __bin_size <<= 1;
- ++_M_bin_size;
- }
-
- // Setup the bin map for quick lookup of the relevant bin.
- const size_t __j = (_M_options._M_max_bytes + 1) * sizeof(_Binmap_type);
- _M_binmap = static_cast<_Binmap_type*>(::operator new(__j));
- _Binmap_type* __bp = _M_binmap;
- _Binmap_type __bin_max = _M_options._M_min_bin;
- _Binmap_type __bint = 0;
- for (_Binmap_type __ct = 0; __ct <= _M_options._M_max_bytes; ++__ct)
- {
- if (__ct > __bin_max)
- {
- __bin_max <<= 1;
- ++__bint;
- }
- *__bp++ = __bint;
- }
-
- // Initialize _M_bin and its members.
- void* __v = ::operator new(sizeof(_Bin_record) * _M_bin_size);
- _M_bin = static_cast<_Bin_record*>(__v);
-
- // If __gthread_active_p() create and initialize the list of
- // free thread ids. Single threaded applications use thread id 0
- // directly and have no need for this.
- if (__gthread_active_p())
- {
- {
- __gnu_cxx::__scoped_lock sentry(freelist_mutex);
-
- if (!freelist._M_thread_freelist_array
- || freelist._M_max_threads < _M_options._M_max_threads)
- {
- const size_t __k = sizeof(_Thread_record)
- * _M_options._M_max_threads;
- __v = ::operator new(__k);
- _M_thread_freelist = static_cast<_Thread_record*>(__v);
-
- // NOTE! The first assignable thread id is 1 since the
- // global pool uses id 0
- size_t __i;
- for (__i = 1; __i < _M_options._M_max_threads; ++__i)
- {
- _Thread_record& __tr = _M_thread_freelist[__i - 1];
- __tr._M_next = &_M_thread_freelist[__i];
- __tr._M_id = __i;
- }
-
- // Set last record.
- _M_thread_freelist[__i - 1]._M_next = NULL;
- _M_thread_freelist[__i - 1]._M_id = __i;
-
- if (!freelist._M_thread_freelist_array)
- {
- // Initialize per thread key to hold pointer to
- // _M_thread_freelist.
- __gthread_key_create(&freelist._M_key,
- ::_M_destroy_thread_key);
- freelist._M_thread_freelist = _M_thread_freelist;
- }
- else
- {
- _Thread_record* _M_old_freelist
- = freelist._M_thread_freelist;
- _Thread_record* _M_old_array
- = freelist._M_thread_freelist_array;
- freelist._M_thread_freelist
- = &_M_thread_freelist[_M_old_freelist - _M_old_array];
- while (_M_old_freelist)
- {
- size_t next_id;
- if (_M_old_freelist->_M_next)
- next_id = _M_old_freelist->_M_next - _M_old_array;
- else
- next_id = freelist._M_max_threads;
- _M_thread_freelist[_M_old_freelist->_M_id - 1]._M_next
- = &_M_thread_freelist[next_id];
- _M_old_freelist = _M_old_freelist->_M_next;
- }
- ::operator delete(static_cast<void*>(_M_old_array));
- }
- freelist._M_thread_freelist_array = _M_thread_freelist;
- freelist._M_max_threads = _M_options._M_max_threads;
- }
- }
-
- const size_t __max_threads = _M_options._M_max_threads + 1;
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- __v = ::operator new(sizeof(_Block_record*) * __max_threads);
- std::memset(__v, 0, sizeof(_Block_record*) * __max_threads);
- __bin._M_first = static_cast<_Block_record**>(__v);
-
- __bin._M_address = NULL;
-
- __v = ::operator new(sizeof(size_t) * __max_threads);
- std::memset(__v, 0, sizeof(size_t) * __max_threads);
-
- __bin._M_free = static_cast<size_t*>(__v);
-
- __v = ::operator new(sizeof(size_t) * __max_threads
- + sizeof(_Atomic_word) * __max_threads);
- std::memset(__v, 0, (sizeof(size_t) * __max_threads
- + sizeof(_Atomic_word) * __max_threads));
- __bin._M_used = static_cast<size_t*>(__v);
-
- __v = ::operator new(sizeof(__gthread_mutex_t));
- __bin._M_mutex = static_cast<__gthread_mutex_t*>(__v);
-
-#ifdef __GTHREAD_MUTEX_INIT
- {
- // Do not copy a POSIX/gthr mutex once in use.
- __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
- *__bin._M_mutex = __tmp;
- }
-#else
- { __GTHREAD_MUTEX_INIT_FUNCTION(__bin._M_mutex); }
-#endif
- }
- }
- else
- {
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- __v = ::operator new(sizeof(_Block_record*));
- __bin._M_first = static_cast<_Block_record**>(__v);
- __bin._M_first[0] = NULL;
- __bin._M_address = NULL;
- }
- }
- _M_init = true;
- }
-
- size_t
- __pool<true>::_M_get_thread_id()
- {
- // If we have thread support and it's active we check the thread
- // key value and return its id or if it's not set we take the
- // first record from _M_thread_freelist and sets the key and
- // returns it's id.
- if (__gthread_active_p())
- {
- void* v = __gthread_getspecific(freelist._M_key);
- size_t _M_id = (size_t)v;
- if (_M_id == 0)
- {
- {
- __gnu_cxx::__scoped_lock sentry(freelist_mutex);
- if (freelist._M_thread_freelist)
- {
- _M_id = freelist._M_thread_freelist->_M_id;
- freelist._M_thread_freelist
- = freelist._M_thread_freelist->_M_next;
- }
- }
-
- __gthread_setspecific(freelist._M_key, (void*)_M_id);
- }
- return _M_id >= _M_options._M_max_threads ? 0 : _M_id;
- }
-
- // Otherwise (no thread support or inactive) all requests are
- // served from the global pool 0.
- return 0;
- }
-
- // XXX GLIBCXX_ABI Deprecated
- void
- __pool<true>::_M_destroy_thread_key(void*) { }
-
- // XXX GLIBCXX_ABI Deprecated
- void
- __pool<true>::_M_initialize(__destroy_handler)
- {
- // _M_force_new must not change after the first allocate(),
- // which in turn calls this method, so if it's false, it's false
- // forever and we don't need to return here ever again.
- if (_M_options._M_force_new)
- {
- _M_init = true;
- return;
- }
-
- // Create the bins.
- // Calculate the number of bins required based on _M_max_bytes.
- // _M_bin_size is statically-initialized to one.
- size_t __bin_size = _M_options._M_min_bin;
- while (_M_options._M_max_bytes > __bin_size)
- {
- __bin_size <<= 1;
- ++_M_bin_size;
- }
-
- // Setup the bin map for quick lookup of the relevant bin.
- const size_t __j = (_M_options._M_max_bytes + 1) * sizeof(_Binmap_type);
- _M_binmap = static_cast<_Binmap_type*>(::operator new(__j));
- _Binmap_type* __bp = _M_binmap;
- _Binmap_type __bin_max = _M_options._M_min_bin;
- _Binmap_type __bint = 0;
- for (_Binmap_type __ct = 0; __ct <= _M_options._M_max_bytes; ++__ct)
- {
- if (__ct > __bin_max)
- {
- __bin_max <<= 1;
- ++__bint;
- }
- *__bp++ = __bint;
- }
-
- // Initialize _M_bin and its members.
- void* __v = ::operator new(sizeof(_Bin_record) * _M_bin_size);
- _M_bin = static_cast<_Bin_record*>(__v);
-
- // If __gthread_active_p() create and initialize the list of
- // free thread ids. Single threaded applications use thread id 0
- // directly and have no need for this.
- if (__gthread_active_p())
- {
- {
- __gnu_cxx::__scoped_lock sentry(freelist_mutex);
-
- if (!freelist._M_thread_freelist_array
- || freelist._M_max_threads < _M_options._M_max_threads)
- {
- const size_t __k = sizeof(_Thread_record)
- * _M_options._M_max_threads;
- __v = ::operator new(__k);
- _M_thread_freelist = static_cast<_Thread_record*>(__v);
-
- // NOTE! The first assignable thread id is 1 since the
- // global pool uses id 0
- size_t __i;
- for (__i = 1; __i < _M_options._M_max_threads; ++__i)
- {
- _Thread_record& __tr = _M_thread_freelist[__i - 1];
- __tr._M_next = &_M_thread_freelist[__i];
- __tr._M_id = __i;
- }
-
- // Set last record.
- _M_thread_freelist[__i - 1]._M_next = NULL;
- _M_thread_freelist[__i - 1]._M_id = __i;
-
- if (!freelist._M_thread_freelist_array)
- {
- // Initialize per thread key to hold pointer to
- // _M_thread_freelist.
- __gthread_key_create(&freelist._M_key,
- ::_M_destroy_thread_key);
- freelist._M_thread_freelist = _M_thread_freelist;
- }
- else
- {
- _Thread_record* _M_old_freelist
- = freelist._M_thread_freelist;
- _Thread_record* _M_old_array
- = freelist._M_thread_freelist_array;
- freelist._M_thread_freelist
- = &_M_thread_freelist[_M_old_freelist - _M_old_array];
- while (_M_old_freelist)
- {
- size_t next_id;
- if (_M_old_freelist->_M_next)
- next_id = _M_old_freelist->_M_next - _M_old_array;
- else
- next_id = freelist._M_max_threads;
- _M_thread_freelist[_M_old_freelist->_M_id - 1]._M_next
- = &_M_thread_freelist[next_id];
- _M_old_freelist = _M_old_freelist->_M_next;
- }
- ::operator delete(static_cast<void*>(_M_old_array));
- }
- freelist._M_thread_freelist_array = _M_thread_freelist;
- freelist._M_max_threads = _M_options._M_max_threads;
- }
- }
-
- const size_t __max_threads = _M_options._M_max_threads + 1;
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- __v = ::operator new(sizeof(_Block_record*) * __max_threads);
- std::memset(__v, 0, sizeof(_Block_record*) * __max_threads);
- __bin._M_first = static_cast<_Block_record**>(__v);
-
- __bin._M_address = NULL;
-
- __v = ::operator new(sizeof(size_t) * __max_threads);
- std::memset(__v, 0, sizeof(size_t) * __max_threads);
- __bin._M_free = static_cast<size_t*>(__v);
-
- __v = ::operator new(sizeof(size_t) * __max_threads +
- sizeof(_Atomic_word) * __max_threads);
- std::memset(__v, 0, (sizeof(size_t) * __max_threads
- + sizeof(_Atomic_word) * __max_threads));
- __bin._M_used = static_cast<size_t*>(__v);
-
- __v = ::operator new(sizeof(__gthread_mutex_t));
- __bin._M_mutex = static_cast<__gthread_mutex_t*>(__v);
-
-#ifdef __GTHREAD_MUTEX_INIT
- {
- // Do not copy a POSIX/gthr mutex once in use.
- __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT;
- *__bin._M_mutex = __tmp;
- }
-#else
- { __GTHREAD_MUTEX_INIT_FUNCTION(__bin._M_mutex); }
-#endif
- }
- }
- else
- {
- for (size_t __n = 0; __n < _M_bin_size; ++__n)
- {
- _Bin_record& __bin = _M_bin[__n];
- __v = ::operator new(sizeof(_Block_record*));
- __bin._M_first = static_cast<_Block_record**>(__v);
- __bin._M_first[0] = NULL;
- __bin._M_address = NULL;
- }
- }
- _M_init = true;
- }
-#endif
-
- // Instantiations.
- template class __mt_alloc<char>;
- template class __mt_alloc<wchar_t>;
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/ostream-inst.cc b/contrib/libstdc++/src/ostream-inst.cc
deleted file mode 100644
index 33c68151f6cf..000000000000
--- a/contrib/libstdc++/src/ostream-inst.cc
+++ /dev/null
@@ -1,116 +0,0 @@
-// Explicit instantiation file.
-
-// 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <ostream>
-#include <iomanip>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // ostream
- template class basic_ostream<char>;
- template ostream& endl(ostream&);
- template ostream& ends(ostream&);
- template ostream& flush(ostream&);
- template ostream& operator<<(ostream&, char);
- template ostream& operator<<(ostream&, unsigned char);
- template ostream& operator<<(ostream&, signed char);
- template ostream& operator<<(ostream&, const char*);
- template ostream& operator<<(ostream&, const unsigned char*);
- template ostream& operator<<(ostream&, const signed char*);
-
- template ostream& operator<<(ostream&, _Setfill<char>);
- template ostream& operator<<(ostream&, _Setiosflags);
- template ostream& operator<<(ostream&, _Resetiosflags);
- template ostream& operator<<(ostream&, _Setbase);
- template ostream& operator<<(ostream&, _Setprecision);
- template ostream& operator<<(ostream&, _Setw);
- template ostream& __ostream_insert(ostream&, const char*, streamsize);
-
- template ostream& ostream::_M_insert(long);
- template ostream& ostream::_M_insert(unsigned long);
- template ostream& ostream::_M_insert(bool);
-#ifdef _GLIBCXX_USE_LONG_LONG
- template ostream& ostream::_M_insert(long long);
- template ostream& ostream::_M_insert(unsigned long long);
-#endif
- template ostream& ostream::_M_insert(double);
- template ostream& ostream::_M_insert(long double);
- template ostream& ostream::_M_insert(const void*);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template class basic_ostream<wchar_t>;
- template wostream& endl(wostream&);
- template wostream& ends(wostream&);
- template wostream& flush(wostream&);
- template wostream& operator<<(wostream&, wchar_t);
- template wostream& operator<<(wostream&, char);
- template wostream& operator<<(wostream&, const wchar_t*);
- template wostream& operator<<(wostream&, const char*);
-
- template wostream& operator<<(wostream&, _Setfill<wchar_t>);
- template wostream& operator<<(wostream&, _Setiosflags);
- template wostream& operator<<(wostream&, _Resetiosflags);
- template wostream& operator<<(wostream&, _Setbase);
- template wostream& operator<<(wostream&, _Setprecision);
- template wostream& operator<<(wostream&, _Setw);
- template wostream& __ostream_insert(wostream&, const wchar_t*, streamsize);
-
- template wostream& wostream::_M_insert(long);
- template wostream& wostream::_M_insert(unsigned long);
- template wostream& wostream::_M_insert(bool);
-#ifdef _GLIBCXX_USE_LONG_LONG
- template wostream& wostream::_M_insert(long long);
- template wostream& wostream::_M_insert(unsigned long long);
-#endif
- template wostream& wostream::_M_insert(double);
- template wostream& wostream::_M_insert(long double);
- template wostream& wostream::_M_insert(const void*);
-#endif
-
-_GLIBCXX_END_NAMESPACE
-
-// XXX GLIBCXX_ABI Deprecated
-#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
-
-#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
- extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
-_GLIBCXX_LDBL_COMPAT (_ZNSolsEd, _ZNSolsEe);
-_GLIBCXX_LDBL_COMPAT (_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd,
- _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe);
-_GLIBCXX_LDBL_COMPAT (_ZNSo9_M_insertIdEERSoT_,
- _ZNSo9_M_insertIeEERSoT_);
-_GLIBCXX_LDBL_COMPAT (_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_,
- _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_);
-
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
diff --git a/contrib/libstdc++/src/pool_allocator.cc b/contrib/libstdc++/src/pool_allocator.cc
deleted file mode 100644
index c7593271b1dc..000000000000
--- a/contrib/libstdc++/src/pool_allocator.cc
+++ /dev/null
@@ -1,174 +0,0 @@
-// Allocator details.
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <bits/c++config.h>
-#include <cstdlib>
-#include <ext/pool_allocator.h>
-
-namespace
-{
- __gnu_cxx::__mutex palloc_init_mutex;
-} // anonymous namespace
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- // Definitions for __pool_alloc_base.
- __pool_alloc_base::_Obj* volatile*
- __pool_alloc_base::_M_get_free_list(size_t __bytes)
- {
- size_t __i = ((__bytes + (size_t)_S_align - 1) / (size_t)_S_align - 1);
- return _S_free_list + __i;
- }
-
- __mutex&
- __pool_alloc_base::_M_get_mutex()
- { return palloc_init_mutex; }
-
- // Allocate memory in large chunks in order to avoid fragmenting the
- // heap too much. Assume that __n is properly aligned. We hold the
- // allocation lock.
- char*
- __pool_alloc_base::_M_allocate_chunk(size_t __n, int& __nobjs)
- {
- char* __result;
- size_t __total_bytes = __n * __nobjs;
- size_t __bytes_left = _S_end_free - _S_start_free;
-
- if (__bytes_left >= __total_bytes)
- {
- __result = _S_start_free;
- _S_start_free += __total_bytes;
- return __result ;
- }
- else if (__bytes_left >= __n)
- {
- __nobjs = (int)(__bytes_left / __n);
- __total_bytes = __n * __nobjs;
- __result = _S_start_free;
- _S_start_free += __total_bytes;
- return __result;
- }
- else
- {
- // Try to make use of the left-over piece.
- if (__bytes_left > 0)
- {
- _Obj* volatile* __free_list = _M_get_free_list(__bytes_left);
- ((_Obj*)(void*)_S_start_free)->_M_free_list_link = *__free_list;
- *__free_list = (_Obj*)(void*)_S_start_free;
- }
-
- size_t __bytes_to_get = (2 * __total_bytes
- + _M_round_up(_S_heap_size >> 4));
- try
- {
- _S_start_free = static_cast<char*>(::operator new(__bytes_to_get));
- }
- catch (...)
- {
- // Try to make do with what we have. That can't hurt. We
- // do not try smaller requests, since that tends to result
- // in disaster on multi-process machines.
- size_t __i = __n;
- for (; __i <= (size_t) _S_max_bytes; __i += (size_t) _S_align)
- {
- _Obj* volatile* __free_list = _M_get_free_list(__i);
- _Obj* __p = *__free_list;
- if (__p != 0)
- {
- *__free_list = __p->_M_free_list_link;
- _S_start_free = (char*)__p;
- _S_end_free = _S_start_free + __i;
- return _M_allocate_chunk(__n, __nobjs);
- // Any leftover piece will eventually make it to the
- // right free list.
- }
- }
- // What we have wasn't enough. Rethrow.
- _S_start_free = _S_end_free = 0; // We have no chunk.
- __throw_exception_again;
- }
- _S_heap_size += __bytes_to_get;
- _S_end_free = _S_start_free + __bytes_to_get;
- return _M_allocate_chunk(__n, __nobjs);
- }
- }
-
- // Returns an object of size __n, and optionally adds to "size
- // __n"'s free list. We assume that __n is properly aligned. We
- // hold the allocation lock.
- void*
- __pool_alloc_base::_M_refill(size_t __n)
- {
- int __nobjs = 20;
- char* __chunk = _M_allocate_chunk(__n, __nobjs);
- _Obj* volatile* __free_list;
- _Obj* __result;
- _Obj* __current_obj;
- _Obj* __next_obj;
-
- if (__nobjs == 1)
- return __chunk;
- __free_list = _M_get_free_list(__n);
-
- // Build free list in chunk.
- __result = (_Obj*)(void*)__chunk;
- *__free_list = __next_obj = (_Obj*)(void*)(__chunk + __n);
- for (int __i = 1; ; __i++)
- {
- __current_obj = __next_obj;
- __next_obj = (_Obj*)(void*)((char*)__next_obj + __n);
- if (__nobjs - 1 == __i)
- {
- __current_obj->_M_free_list_link = 0;
- break;
- }
- else
- __current_obj->_M_free_list_link = __next_obj;
- }
- return __result;
- }
-
- __pool_alloc_base::_Obj* volatile __pool_alloc_base::_S_free_list[_S_free_list_size];
-
- char* __pool_alloc_base::_S_start_free = 0;
-
- char* __pool_alloc_base::_S_end_free = 0;
-
- size_t __pool_alloc_base::_S_heap_size = 0;
-
- // Instantiations.
- template class __pool_alloc<char>;
- template class __pool_alloc<wchar_t>;
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/sstream-inst.cc b/contrib/libstdc++/src/sstream-inst.cc
deleted file mode 100644
index a6f41baccbcb..000000000000
--- a/contrib/libstdc++/src/sstream-inst.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <sstream>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template class basic_stringbuf<char>;
- template class basic_istringstream<char>;
- template class basic_ostringstream<char>;
- template class basic_stringstream<char>;
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template class basic_stringbuf<wchar_t>;
- template class basic_istringstream<wchar_t>;
- template class basic_ostringstream<wchar_t>;
- template class basic_stringstream<wchar_t>;
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/stdexcept.cc b/contrib/libstdc++/src/stdexcept.cc
deleted file mode 100644
index 19ac5779eb52..000000000000
--- a/contrib/libstdc++/src/stdexcept.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-// Methods for Exception Support for -*- C++ -*-
-
-// Copyright (C) 1997, 1999, 2001, 2002, 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.
-
-//
-// ISO C++ 14882: 19.1 Exception classes
-//
-
-#include <string>
-#include <stdexcept>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- logic_error::logic_error(const string& __arg)
- : exception(), _M_msg(__arg) { }
-
- logic_error::~logic_error() throw() { }
-
- const char*
- logic_error::what() const throw()
- { return _M_msg.c_str(); }
-
- domain_error::domain_error(const string& __arg)
- : logic_error(__arg) { }
-
- invalid_argument::invalid_argument(const string& __arg)
- : logic_error(__arg) { }
-
- length_error::length_error(const string& __arg)
- : logic_error(__arg) { }
-
- out_of_range::out_of_range(const string& __arg)
- : logic_error(__arg) { }
-
- runtime_error::runtime_error(const string& __arg)
- : exception(), _M_msg(__arg) { }
-
- runtime_error::~runtime_error() throw() { }
-
- const char*
- runtime_error::what() const throw()
- { return _M_msg.c_str(); }
-
- range_error::range_error(const string& __arg)
- : runtime_error(__arg) { }
-
- overflow_error::overflow_error(const string& __arg)
- : runtime_error(__arg) { }
-
- underflow_error::underflow_error(const string& __arg)
- : runtime_error(__arg) { }
-
-_GLIBCXX_END_NAMESPACE
-
diff --git a/contrib/libstdc++/src/streambuf-inst.cc b/contrib/libstdc++/src/streambuf-inst.cc
deleted file mode 100644
index 38fb0d4c3fa9..000000000000
--- a/contrib/libstdc++/src/streambuf-inst.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-// Explicit instantiation file.
-
-// 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <ios>
-#include <streambuf>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // streambuf
- template class basic_streambuf<char>;
-
- template
- streamsize
- __copy_streambufs(basic_streambuf<char>*, basic_streambuf<char>*);
-
- template
- streamsize
- __copy_streambufs_eof(basic_streambuf<char>*,
- basic_streambuf<char>*, bool&);
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- // wstreambuf
- template class basic_streambuf<wchar_t>;
-
- template
- streamsize
- __copy_streambufs(basic_streambuf<wchar_t>*, basic_streambuf<wchar_t>*);
-
- template
- streamsize
- __copy_streambufs_eof(basic_streambuf<wchar_t>*,
- basic_streambuf<wchar_t>*, bool&);
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/streambuf.cc b/contrib/libstdc++/src/streambuf.cc
deleted file mode 100644
index 31863145f75c..000000000000
--- a/contrib/libstdc++/src/streambuf.cc
+++ /dev/null
@@ -1,118 +0,0 @@
-// Stream buffer classes -*- C++ -*-
-
-// Copyright (C) 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.
-
-//
-// ISO C++ 14882: 27.5 Stream buffers
-//
-
-#include <streambuf>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- template<>
- streamsize
- __copy_streambufs_eof(basic_streambuf<char>* __sbin,
- basic_streambuf<char>* __sbout, bool& __ineof)
- {
- typedef basic_streambuf<char>::traits_type traits_type;
- streamsize __ret = 0;
- __ineof = true;
- traits_type::int_type __c = __sbin->sgetc();
- while (!traits_type::eq_int_type(__c, traits_type::eof()))
- {
- const streamsize __n = __sbin->egptr() - __sbin->gptr();
- if (__n > 1)
- {
- const streamsize __wrote = __sbout->sputn(__sbin->gptr(), __n);
- __sbin->gbump(__wrote);
- __ret += __wrote;
- if (__wrote < __n)
- {
- __ineof = false;
- break;
- }
- __c = __sbin->underflow();
- }
- else
- {
- __c = __sbout->sputc(traits_type::to_char_type(__c));
- if (traits_type::eq_int_type(__c, traits_type::eof()))
- {
- __ineof = false;
- break;
- }
- ++__ret;
- __c = __sbin->snextc();
- }
- }
- return __ret;
- }
-
-#ifdef _GLIBCXX_USE_WCHAR_T
- template<>
- streamsize
- __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
- basic_streambuf<wchar_t>* __sbout, bool& __ineof)
- {
- typedef basic_streambuf<wchar_t>::traits_type traits_type;
- streamsize __ret = 0;
- __ineof = true;
- traits_type::int_type __c = __sbin->sgetc();
- while (!traits_type::eq_int_type(__c, traits_type::eof()))
- {
- const streamsize __n = __sbin->egptr() - __sbin->gptr();
- if (__n > 1)
- {
- const streamsize __wrote = __sbout->sputn(__sbin->gptr(), __n);
- __sbin->gbump(__wrote);
- __ret += __wrote;
- if (__wrote < __n)
- {
- __ineof = false;
- break;
- }
- __c = __sbin->underflow();
- }
- else
- {
- __c = __sbout->sputc(traits_type::to_char_type(__c));
- if (traits_type::eq_int_type(__c, traits_type::eof()))
- {
- __ineof = false;
- break;
- }
- ++__ret;
- __c = __sbin->snextc();
- }
- }
- return __ret;
- }
-#endif
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/string-inst.cc b/contrib/libstdc++/src/string-inst.cc
deleted file mode 100644
index c17862b17727..000000000000
--- a/contrib/libstdc++/src/string-inst.cc
+++ /dev/null
@@ -1,88 +0,0 @@
-// Components for manipulating sequences of characters -*- C++ -*-
-
-// 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.
-
-//
-// ISO C++ 14882: 21 Strings library
-//
-
-// Written by Jason Merrill based upon the specification by Takanori Adachi
-// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers.
-
-#include <string>
-
-// Instantiation configuration.
-#ifndef C
-# define C char
-#endif
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- typedef basic_string<C> S;
-
- template class basic_string<C>;
- template S operator+(const C*, const S&);
- template S operator+(C, const S&);
- template S operator+(const S&, const S&);
-
- // Only one template keyword allowed here.
- // See core issue #46 (NAD)
- // http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_closed.html#46
- template
- S::basic_string(C*, C*, const allocator<C>&);
-
- template
- S::basic_string(const C*, const C*, const allocator<C>&);
-
- template
- S::basic_string(S::iterator, S::iterator, const allocator<C>&);
-
- template
- C*
- S::_S_construct(S::iterator, S::iterator,
- const allocator<C>&, forward_iterator_tag);
-
- template
- C*
- S::_S_construct(C*, C*, const allocator<C>&, forward_iterator_tag);
-
- template
- C*
- S::_S_construct(const C*, const C*, const allocator<C>&,
- forward_iterator_tag);
-
-_GLIBCXX_END_NAMESPACE
-
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::S;
- template bool operator==(const S::iterator&, const S::iterator&);
- template bool operator==(const S::const_iterator&, const S::const_iterator&);
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/strstream.cc b/contrib/libstdc++/src/strstream.cc
deleted file mode 100644
index f2214549ab7c..000000000000
--- a/contrib/libstdc++/src/strstream.cc
+++ /dev/null
@@ -1,419 +0,0 @@
-// strstream definitions -*- C++ -*-
-
-// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
-//
-// 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.
-
-/*
- * Copyright (c) 1998
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- */
-
-// Implementation of the classes in header <strstream>.
-// WARNING: The classes defined in <strstream> are DEPRECATED. This
-// header is defined in section D.7.1 of the C++ standard, and it
-// MAY BE REMOVED in a future standard revision. You should use the
-// header <sstream> instead.
-
-#include <strstream>
-#include <algorithm>
-#include <new>
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- strstreambuf::strstreambuf(streamsize initial_capacity)
- : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(true),
- _M_frozen(false), _M_constant(false)
- {
- streamsize n = std::max(initial_capacity, streamsize(16));
-
- char* buf = _M_alloc(n);
- if (buf)
- {
- setp(buf, buf + n);
- setg(buf, buf, buf);
- }
- }
-
- strstreambuf::strstreambuf(void* (*alloc_f)(size_t), void (*free_f)(void*))
- : _Base(), _M_alloc_fun(alloc_f), _M_free_fun(free_f), _M_dynamic(true),
- _M_frozen(false), _M_constant(false)
- {
- streamsize n = 16;
-
- char* buf = _M_alloc(n);
- if (buf)
- {
- setp(buf, buf + n);
- setg(buf, buf, buf);
- }
- }
-
- strstreambuf::strstreambuf(char* get, streamsize n, char* put)
- : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(false),
- _M_frozen(false), _M_constant(false)
- { _M_setup(get, put, n); }
-
- strstreambuf::strstreambuf(signed char* get, streamsize n, signed char* put)
- : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(false),
- _M_frozen(false), _M_constant(false)
- { _M_setup(reinterpret_cast<char*>(get), reinterpret_cast<char*>(put), n); }
-
- strstreambuf::strstreambuf(unsigned char* get, streamsize n,
- unsigned char* put)
- : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(false),
- _M_frozen(false), _M_constant(false)
- { _M_setup(reinterpret_cast<char*>(get), reinterpret_cast<char*>(put), n); }
-
- strstreambuf::strstreambuf(const char* get, streamsize n)
- : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(false),
- _M_frozen(false), _M_constant(true)
- { _M_setup(const_cast<char*>(get), 0, n); }
-
- strstreambuf::strstreambuf(const signed char* get, streamsize n)
- : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(false),
- _M_frozen(false), _M_constant(true)
- { _M_setup(reinterpret_cast<char*>(const_cast<signed char*>(get)), 0, n); }
-
- strstreambuf::strstreambuf(const unsigned char* get, streamsize n)
- : _Base(), _M_alloc_fun(0), _M_free_fun(0), _M_dynamic(false),
- _M_frozen(false), _M_constant(true)
- { _M_setup(reinterpret_cast<char*>(const_cast<unsigned char*>(get)), 0, n); }
-
- strstreambuf::~strstreambuf()
- {
- if (_M_dynamic && !_M_frozen)
- _M_free(eback());
- }
-
- void
- strstreambuf::freeze(bool frozenflag)
- {
- if (_M_dynamic)
- _M_frozen = frozenflag;
- }
-
- char*
- strstreambuf::str()
- {
- freeze(true);
- return eback();
- }
-
- int
- strstreambuf::pcount() const
- { return pptr() ? pptr() - pbase() : 0; }
-
- strstreambuf::int_type
- strstreambuf::overflow(int_type c)
- {
- if (c == traits_type::eof())
- return traits_type::not_eof(c);
-
- // Try to expand the buffer.
- if (pptr() == epptr() && _M_dynamic && !_M_frozen && !_M_constant)
- {
- ptrdiff_t old_size = epptr() - pbase();
- ptrdiff_t new_size = std::max(ptrdiff_t(2 * old_size), ptrdiff_t(1));
-
- char* buf = _M_alloc(new_size);
- if (buf)
- {
- memcpy(buf, pbase(), old_size);
- char* old_buffer = pbase();
- bool reposition_get = false;
- ptrdiff_t old_get_offset;
- if (gptr() != 0)
- {
- reposition_get = true;
- old_get_offset = gptr() - eback();
- }
-
- setp(buf, buf + new_size);
- pbump(old_size);
-
- if (reposition_get)
- setg(buf, buf + old_get_offset, buf +
- std::max(old_get_offset, old_size));
-
- _M_free(old_buffer);
- }
- }
-
- if (pptr() != epptr())
- {
- *pptr() = c;
- pbump(1);
- return c;
- }
- else
- return traits_type::eof();
- }
-
- strstreambuf::int_type
- strstreambuf::pbackfail(int_type c)
- {
- if (gptr() != eback())
- {
- if (c == _Traits::eof())
- {
- gbump(-1);
- return _Traits::not_eof(c);
- }
- else if (c == _Traits::to_int_type(gptr()[-1]))
- { // KLUDGE
- gbump(-1);
- return c;
- }
- else if (!_M_constant)
- {
- gbump(-1);
- *gptr() = c;
- return c;
- }
- }
- return _Traits::eof();
- }
-
- strstreambuf::int_type
- strstreambuf::underflow()
- {
- if (gptr() == egptr() && pptr() && pptr() > egptr())
- setg(eback(), gptr(), pptr());
-
- if (gptr() != egptr())
- return (unsigned char) *gptr();
- else
- return _Traits::eof();
- }
-
- basic_streambuf<char, char_traits<char> >*
- strstreambuf::setbuf(char*, streamsize)
- { return this; }
-
- strstreambuf::pos_type
- strstreambuf::seekoff(off_type off, ios_base::seekdir dir,
- ios_base::openmode mode)
- {
- bool do_get = false;
- bool do_put = false;
-
- if ((mode & (ios_base::in | ios_base::out))
- == (ios_base::in | ios_base::out) &&
- (dir == ios_base::beg || dir == ios_base::end))
- do_get = do_put = true;
- else if (mode & ios_base::in)
- do_get = true;
- else if (mode & ios_base::out)
- do_put = true;
-
- // !gptr() is here because, according to D.7.1 paragraph 4, the seekable
- // area is undefined if there is no get area.
- if ((!do_get && !do_put) || (do_put && !pptr()) || !gptr())
- return pos_type(off_type(-1));
-
- char* seeklow = eback();
- char* seekhigh = epptr() ? epptr() : egptr();
-
- off_type newoff;
- switch (dir)
- {
- case ios_base::beg:
- newoff = 0;
- break;
- case ios_base::end:
- newoff = seekhigh - seeklow;
- break;
- case ios_base::cur:
- newoff = do_put ? pptr() - seeklow : gptr() - seeklow;
- break;
- default:
- return pos_type(off_type(-1));
- }
-
- off += newoff;
- if (off < 0 || off > seekhigh - seeklow)
- return pos_type(off_type(-1));
-
- if (do_put)
- {
- if (seeklow + off < pbase())
- {
- setp(seeklow, epptr());
- pbump(off);
- }
- else
- {
- setp(pbase(), epptr());
- pbump(off - (pbase() - seeklow));
- }
- }
- if (do_get)
- {
- if (off <= egptr() - seeklow)
- setg(seeklow, seeklow + off, egptr());
- else if (off <= pptr() - seeklow)
- setg(seeklow, seeklow + off, pptr());
- else
- setg(seeklow, seeklow + off, epptr());
- }
- return pos_type(newoff);
- }
-
- strstreambuf::pos_type
- strstreambuf::seekpos(pos_type pos, ios_base::openmode mode)
- { return seekoff(pos - pos_type(off_type(0)), ios_base::beg, mode); }
-
- char*
- strstreambuf::_M_alloc(size_t n)
- {
- if (_M_alloc_fun)
- return static_cast<char*>(_M_alloc_fun(n));
- else
- return new char[n];
- }
-
- void
- strstreambuf::_M_free(char* p)
- {
- if (p)
- {
- if (_M_free_fun)
- _M_free_fun(p);
- else
- delete[] p;
- }
- }
-
- void
- strstreambuf::_M_setup(char* get, char* put, streamsize n)
- {
- if (get)
- {
- size_t N = n > 0 ? size_t(n) : n == 0 ? strlen(get) : size_t(INT_MAX);
-
- if (put)
- {
- setg(get, get, put);
- setp(put, put + N);
- }
- else
- setg(get, get, get + N);
- }
- }
-
- istrstream::istrstream(char* s)
- : basic_ios<char>(), basic_istream<char>(0), _M_buf(s, 0)
- { basic_ios<char>::init(&_M_buf); }
-
- istrstream::istrstream(const char* s)
- : basic_ios<char>(), basic_istream<char>(0), _M_buf(s, 0)
- { basic_ios<char>::init(&_M_buf); }
-
- istrstream::istrstream(char* s, streamsize n)
- : basic_ios<char>(), basic_istream<char>(0), _M_buf(s, n)
- { basic_ios<char>::init(&_M_buf); }
-
- istrstream::istrstream(const char* s, streamsize n)
- : basic_ios<char>(), basic_istream<char>(0), _M_buf(s, n)
- { basic_ios<char>::init(&_M_buf); }
-
- istrstream::~istrstream() { }
-
- strstreambuf*
- istrstream::rdbuf() const
- { return const_cast<strstreambuf*>(&_M_buf); }
-
- char*
- istrstream::str()
- { return _M_buf.str(); }
-
- ostrstream::ostrstream()
- : basic_ios<char>(), basic_ostream<char>(0), _M_buf()
- { basic_ios<char>::init(&_M_buf); }
-
- ostrstream::ostrstream(char* s, int n, ios_base::openmode mode)
- : basic_ios<char>(), basic_ostream<char>(0),
- _M_buf(s, n, mode & ios_base::app ? s + strlen(s) : s)
- { basic_ios<char>::init(&_M_buf); }
-
- ostrstream::~ostrstream() {}
-
- strstreambuf*
- ostrstream::rdbuf() const
- { return const_cast<strstreambuf*>(&_M_buf); }
-
- void
- ostrstream::freeze(bool freezeflag)
- { _M_buf.freeze(freezeflag); }
-
- char*
- ostrstream::str()
- { return _M_buf.str(); }
-
- int
- ostrstream::pcount() const
- { return _M_buf.pcount(); }
-
- strstream::strstream()
- : basic_ios<char>(), basic_iostream<char>(0), _M_buf()
- { basic_ios<char>::init(&_M_buf); }
-
- strstream::strstream(char* s, int n, ios_base::openmode mode)
- : basic_ios<char>(), basic_iostream<char>(0),
- _M_buf(s, n, mode & ios_base::app ? s + strlen(s) : s)
- { basic_ios<char>::init(&_M_buf); }
-
- strstream::~strstream() { }
-
- strstreambuf*
- strstream::rdbuf() const
- { return const_cast<strstreambuf*>(&_M_buf); }
-
- void
- strstream::freeze(bool freezeflag)
- { _M_buf.freeze(freezeflag); }
-
- int
- strstream::pcount() const
- { return _M_buf.pcount(); }
-
- char*
- strstream::str()
- { return _M_buf.str(); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/tree.cc b/contrib/libstdc++/src/tree.cc
deleted file mode 100644
index b23ca8e8fa7f..000000000000
--- a/contrib/libstdc++/src/tree.cc
+++ /dev/null
@@ -1,436 +0,0 @@
-// RB tree utilities implementation -*- C++ -*-
-
-// Copyright (C) 2003, 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.
-
-/*
- *
- * Copyright (c) 1996,1997
- * Silicon Graphics Computer Systems, Inc.
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Silicon Graphics makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- * Copyright (c) 1994
- * Hewlett-Packard Company
- *
- * Permission to use, copy, modify, distribute and sell this software
- * and its documentation for any purpose is hereby granted without fee,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation. Hewlett-Packard Company makes no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied warranty.
- *
- *
- */
-
-#include <bits/stl_tree.h>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- _Rb_tree_node_base*
- _Rb_tree_increment(_Rb_tree_node_base* __x)
- {
- if (__x->_M_right != 0)
- {
- __x = __x->_M_right;
- while (__x->_M_left != 0)
- __x = __x->_M_left;
- }
- else
- {
- _Rb_tree_node_base* __y = __x->_M_parent;
- while (__x == __y->_M_right)
- {
- __x = __y;
- __y = __y->_M_parent;
- }
- if (__x->_M_right != __y)
- __x = __y;
- }
- return __x;
- }
-
- const _Rb_tree_node_base*
- _Rb_tree_increment(const _Rb_tree_node_base* __x)
- {
- return _Rb_tree_increment(const_cast<_Rb_tree_node_base*>(__x));
- }
-
- _Rb_tree_node_base*
- _Rb_tree_decrement(_Rb_tree_node_base* __x)
- {
- if (__x->_M_color == _S_red
- && __x->_M_parent->_M_parent == __x)
- __x = __x->_M_right;
- else if (__x->_M_left != 0)
- {
- _Rb_tree_node_base* __y = __x->_M_left;
- while (__y->_M_right != 0)
- __y = __y->_M_right;
- __x = __y;
- }
- else
- {
- _Rb_tree_node_base* __y = __x->_M_parent;
- while (__x == __y->_M_left)
- {
- __x = __y;
- __y = __y->_M_parent;
- }
- __x = __y;
- }
- return __x;
- }
-
- const _Rb_tree_node_base*
- _Rb_tree_decrement(const _Rb_tree_node_base* __x)
- {
- return _Rb_tree_decrement(const_cast<_Rb_tree_node_base*>(__x));
- }
-
- void
- _Rb_tree_rotate_left(_Rb_tree_node_base* const __x,
- _Rb_tree_node_base*& __root)
- {
- _Rb_tree_node_base* const __y = __x->_M_right;
-
- __x->_M_right = __y->_M_left;
- if (__y->_M_left !=0)
- __y->_M_left->_M_parent = __x;
- __y->_M_parent = __x->_M_parent;
-
- if (__x == __root)
- __root = __y;
- else if (__x == __x->_M_parent->_M_left)
- __x->_M_parent->_M_left = __y;
- else
- __x->_M_parent->_M_right = __y;
- __y->_M_left = __x;
- __x->_M_parent = __y;
- }
-
- void
- _Rb_tree_rotate_right(_Rb_tree_node_base* const __x,
- _Rb_tree_node_base*& __root)
- {
- _Rb_tree_node_base* const __y = __x->_M_left;
-
- __x->_M_left = __y->_M_right;
- if (__y->_M_right != 0)
- __y->_M_right->_M_parent = __x;
- __y->_M_parent = __x->_M_parent;
-
- if (__x == __root)
- __root = __y;
- else if (__x == __x->_M_parent->_M_right)
- __x->_M_parent->_M_right = __y;
- else
- __x->_M_parent->_M_left = __y;
- __y->_M_right = __x;
- __x->_M_parent = __y;
- }
-
- void
- _Rb_tree_insert_and_rebalance(const bool __insert_left,
- _Rb_tree_node_base* __x,
- _Rb_tree_node_base* __p,
- _Rb_tree_node_base& __header)
- {
- _Rb_tree_node_base *& __root = __header._M_parent;
-
- // Initialize fields in new node to insert.
- __x->_M_parent = __p;
- __x->_M_left = 0;
- __x->_M_right = 0;
- __x->_M_color = _S_red;
-
- // Insert.
- // Make new node child of parent and maintain root, leftmost and
- // rightmost nodes.
- // N.B. First node is always inserted left.
- if (__insert_left)
- {
- __p->_M_left = __x; // also makes leftmost = __x when __p == &__header
-
- if (__p == &__header)
- {
- __header._M_parent = __x;
- __header._M_right = __x;
- }
- else if (__p == __header._M_left)
- __header._M_left = __x; // maintain leftmost pointing to min node
- }
- else
- {
- __p->_M_right = __x;
-
- if (__p == __header._M_right)
- __header._M_right = __x; // maintain rightmost pointing to max node
- }
- // Rebalance.
- while (__x != __root
- && __x->_M_parent->_M_color == _S_red)
- {
- _Rb_tree_node_base* const __xpp = __x->_M_parent->_M_parent;
-
- if (__x->_M_parent == __xpp->_M_left)
- {
- _Rb_tree_node_base* const __y = __xpp->_M_right;
- if (__y && __y->_M_color == _S_red)
- {
- __x->_M_parent->_M_color = _S_black;
- __y->_M_color = _S_black;
- __xpp->_M_color = _S_red;
- __x = __xpp;
- }
- else
- {
- if (__x == __x->_M_parent->_M_right)
- {
- __x = __x->_M_parent;
- _Rb_tree_rotate_left(__x, __root);
- }
- __x->_M_parent->_M_color = _S_black;
- __xpp->_M_color = _S_red;
- _Rb_tree_rotate_right(__xpp, __root);
- }
- }
- else
- {
- _Rb_tree_node_base* const __y = __xpp->_M_left;
- if (__y && __y->_M_color == _S_red)
- {
- __x->_M_parent->_M_color = _S_black;
- __y->_M_color = _S_black;
- __xpp->_M_color = _S_red;
- __x = __xpp;
- }
- else
- {
- if (__x == __x->_M_parent->_M_left)
- {
- __x = __x->_M_parent;
- _Rb_tree_rotate_right(__x, __root);
- }
- __x->_M_parent->_M_color = _S_black;
- __xpp->_M_color = _S_red;
- _Rb_tree_rotate_left(__xpp, __root);
- }
- }
- }
- __root->_M_color = _S_black;
- }
-
- _Rb_tree_node_base*
- _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
- _Rb_tree_node_base& __header)
- {
- _Rb_tree_node_base *& __root = __header._M_parent;
- _Rb_tree_node_base *& __leftmost = __header._M_left;
- _Rb_tree_node_base *& __rightmost = __header._M_right;
- _Rb_tree_node_base* __y = __z;
- _Rb_tree_node_base* __x = 0;
- _Rb_tree_node_base* __x_parent = 0;
-
- if (__y->_M_left == 0) // __z has at most one non-null child. y == z.
- __x = __y->_M_right; // __x might be null.
- else
- if (__y->_M_right == 0) // __z has exactly one non-null child. y == z.
- __x = __y->_M_left; // __x is not null.
- else
- {
- // __z has two non-null children. Set __y to
- __y = __y->_M_right; // __z's successor. __x might be null.
- while (__y->_M_left != 0)
- __y = __y->_M_left;
- __x = __y->_M_right;
- }
- if (__y != __z)
- {
- // relink y in place of z. y is z's successor
- __z->_M_left->_M_parent = __y;
- __y->_M_left = __z->_M_left;
- if (__y != __z->_M_right)
- {
- __x_parent = __y->_M_parent;
- if (__x) __x->_M_parent = __y->_M_parent;
- __y->_M_parent->_M_left = __x; // __y must be a child of _M_left
- __y->_M_right = __z->_M_right;
- __z->_M_right->_M_parent = __y;
- }
- else
- __x_parent = __y;
- if (__root == __z)
- __root = __y;
- else if (__z->_M_parent->_M_left == __z)
- __z->_M_parent->_M_left = __y;
- else
- __z->_M_parent->_M_right = __y;
- __y->_M_parent = __z->_M_parent;
- std::swap(__y->_M_color, __z->_M_color);
- __y = __z;
- // __y now points to node to be actually deleted
- }
- else
- { // __y == __z
- __x_parent = __y->_M_parent;
- if (__x)
- __x->_M_parent = __y->_M_parent;
- if (__root == __z)
- __root = __x;
- else
- if (__z->_M_parent->_M_left == __z)
- __z->_M_parent->_M_left = __x;
- else
- __z->_M_parent->_M_right = __x;
- if (__leftmost == __z)
- {
- if (__z->_M_right == 0) // __z->_M_left must be null also
- __leftmost = __z->_M_parent;
- // makes __leftmost == _M_header if __z == __root
- else
- __leftmost = _Rb_tree_node_base::_S_minimum(__x);
- }
- if (__rightmost == __z)
- {
- if (__z->_M_left == 0) // __z->_M_right must be null also
- __rightmost = __z->_M_parent;
- // makes __rightmost == _M_header if __z == __root
- else // __x == __z->_M_left
- __rightmost = _Rb_tree_node_base::_S_maximum(__x);
- }
- }
- if (__y->_M_color != _S_red)
- {
- while (__x != __root && (__x == 0 || __x->_M_color == _S_black))
- if (__x == __x_parent->_M_left)
- {
- _Rb_tree_node_base* __w = __x_parent->_M_right;
- if (__w->_M_color == _S_red)
- {
- __w->_M_color = _S_black;
- __x_parent->_M_color = _S_red;
- _Rb_tree_rotate_left(__x_parent, __root);
- __w = __x_parent->_M_right;
- }
- if ((__w->_M_left == 0 ||
- __w->_M_left->_M_color == _S_black) &&
- (__w->_M_right == 0 ||
- __w->_M_right->_M_color == _S_black))
- {
- __w->_M_color = _S_red;
- __x = __x_parent;
- __x_parent = __x_parent->_M_parent;
- }
- else
- {
- if (__w->_M_right == 0
- || __w->_M_right->_M_color == _S_black)
- {
- __w->_M_left->_M_color = _S_black;
- __w->_M_color = _S_red;
- _Rb_tree_rotate_right(__w, __root);
- __w = __x_parent->_M_right;
- }
- __w->_M_color = __x_parent->_M_color;
- __x_parent->_M_color = _S_black;
- if (__w->_M_right)
- __w->_M_right->_M_color = _S_black;
- _Rb_tree_rotate_left(__x_parent, __root);
- break;
- }
- }
- else
- {
- // same as above, with _M_right <-> _M_left.
- _Rb_tree_node_base* __w = __x_parent->_M_left;
- if (__w->_M_color == _S_red)
- {
- __w->_M_color = _S_black;
- __x_parent->_M_color = _S_red;
- _Rb_tree_rotate_right(__x_parent, __root);
- __w = __x_parent->_M_left;
- }
- if ((__w->_M_right == 0 ||
- __w->_M_right->_M_color == _S_black) &&
- (__w->_M_left == 0 ||
- __w->_M_left->_M_color == _S_black))
- {
- __w->_M_color = _S_red;
- __x = __x_parent;
- __x_parent = __x_parent->_M_parent;
- }
- else
- {
- if (__w->_M_left == 0 || __w->_M_left->_M_color == _S_black)
- {
- __w->_M_right->_M_color = _S_black;
- __w->_M_color = _S_red;
- _Rb_tree_rotate_left(__w, __root);
- __w = __x_parent->_M_left;
- }
- __w->_M_color = __x_parent->_M_color;
- __x_parent->_M_color = _S_black;
- if (__w->_M_left)
- __w->_M_left->_M_color = _S_black;
- _Rb_tree_rotate_right(__x_parent, __root);
- break;
- }
- }
- if (__x) __x->_M_color = _S_black;
- }
- return __y;
- }
-
- unsigned int
- _Rb_tree_black_count(const _Rb_tree_node_base* __node,
- const _Rb_tree_node_base* __root)
- {
- if (__node == 0)
- return 0;
- unsigned int __sum = 0;
- do
- {
- if (__node->_M_color == _S_black)
- ++__sum;
- if (__node == __root)
- break;
- __node = __node->_M_parent;
- }
- while (1);
- return __sum;
- }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/valarray-inst.cc b/contrib/libstdc++/src/valarray-inst.cc
deleted file mode 100644
index e63c52f229db..000000000000
--- a/contrib/libstdc++/src/valarray-inst.cc
+++ /dev/null
@@ -1,116 +0,0 @@
-// Explicit instantiation file.
-
-// Copyright (C) 2001, 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.
-
-//
-// ISO C++ 14882:
-//
-
-#include <valarray>
-
-_GLIBCXX_BEGIN_NAMESPACE(std)
-
- // Some explicit instantiations.
- template void
- __valarray_fill(size_t* __restrict__, size_t, const size_t&);
-
- template void
- __valarray_copy(const size_t* __restrict__, size_t, size_t* __restrict__);
-
- template valarray<size_t>::valarray(size_t);
- template valarray<size_t>::valarray(const valarray<size_t>&);
- template valarray<size_t>::~valarray();
- template size_t valarray<size_t>::size() const;
- template size_t& valarray<size_t>::operator[](size_t);
-
- inline size_t
- __valarray_product(const valarray<size_t>& __a)
- {
- typedef const size_t* __restrict__ _Tp;
- const size_t __n = __a.size();
- // XXX: This ugly cast is necessary because
- // valarray::operator[]() const return a VALUE!
- // Try to get the committee to correct that gross error.
- valarray<size_t>& __t = const_cast<valarray<size_t>&>(__a);
- return __valarray_product(&__t[0], &__t[0] + __n);
- }
-
- // Map a gslice, described by its multidimensional LENGTHS
- // and corresponding STRIDES, to a linear array of INDEXES
- // for the purpose of indexing a flat, one-dimensional array
- // representation of a gslice_array.
- void
- __gslice_to_index(size_t __o, const valarray<size_t>& __l,
- const valarray<size_t>& __s, valarray<size_t>& __i)
- {
- // There are as many dimensions as there are strides.
- size_t __n = __l.size();
-
- // Get a buffer to hold current multi-index as we go through
- // the gslice for the purpose of computing its linear-image.
- size_t* const __t = static_cast<size_t*>
- (__builtin_alloca(__n * sizeof (size_t)));
- __valarray_fill(__t, __n, size_t(0));
-
- // Note that this should match the product of all numbers appearing
- // in __l which describes the multidimensional sizes of the
- // the generalized slice.
- const size_t __z = __i.size();
-
- for (size_t __j = 0; __j < __z; ++__j)
- {
- // Compute the linear-index image of (t_0, ... t_{n-1}).
- // Normaly, we should use inner_product<>(), but we do it the
- // the hard way here to avoid link-time can of worms.
- size_t __a = __o;
- for (size_t __k = 0; __k < __n; ++__k)
- __a += __s[__k] * __t[__k];
-
- __i[__j] = __a;
-
- // Process the next multi-index. The loop ought to be
- // backward since we're making a lexicagraphical visit.
- ++__t[__n - 1];
- for (size_t __k2 = __n - 1; __k2; --__k2)
- {
- if (__t[__k2] >= __l[__k2])
- {
- __t[__k2] = 0;
- ++__t[__k2 - 1];
- }
- }
- }
- }
-
- gslice::_Indexer::_Indexer(size_t __o, const valarray<size_t>& __l,
- const valarray<size_t>& __s)
- : _M_count(1), _M_start(__o), _M_size(__l), _M_stride(__s),
- _M_index(__l.size() == 0 ? 0 : __valarray_product(__l))
- { __gslice_to_index(__o, __l, __s, _M_index); }
-
-_GLIBCXX_END_NAMESPACE
diff --git a/contrib/libstdc++/src/wlocale-inst.cc b/contrib/libstdc++/src/wlocale-inst.cc
deleted file mode 100644
index b776cd24c59f..000000000000
--- a/contrib/libstdc++/src/wlocale-inst.cc
+++ /dev/null
@@ -1,81 +0,0 @@
-// Locale support -*- C++ -*-
-
-// Copyright (C) 1999, 2000, 2001, 2002, 2003, 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.
-
-//
-// ISO C++ 14882: 22.1 Locales
-//
-
-#include <bits/c++config.h>
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-#define C wchar_t
-#include "locale-inst.cc"
-
-// XXX GLIBCXX_ABI Deprecated
-#if defined _GLIBCXX_LONG_DOUBLE_COMPAT
-
-#define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \
- extern "C" void ldbl (void) __attribute__ ((alias (#dbl), weak))
-
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_,
- _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_,
- _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_,
- _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_,
- _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_,
- _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_,
- _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_,
- _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs,
- _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs,
- _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE,
- _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE);
-_GLIBCXX_LDBL_COMPAT(_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE,
- _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE);
-
-#endif // _GLIBCXX_LONG_DOUBLE_COMPAT
-#endif
diff --git a/contrib/libstdc++/src/wstring-inst.cc b/contrib/libstdc++/src/wstring-inst.cc
deleted file mode 100644
index 576a20ad8c7b..000000000000
--- a/contrib/libstdc++/src/wstring-inst.cc
+++ /dev/null
@@ -1,39 +0,0 @@
-// wide string support -*- C++ -*-
-
-// Copyright (C) 1999, 2000, 2001, 2002, 2003 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.
-
-//
-// ISO C++ 14882: 21 Strings library
-//
-
-#include <bits/c++config.h>
-
-#ifdef _GLIBCXX_USE_WCHAR_T
-#define C wchar_t
-#include "string-inst.cc"
-#endif